
/* WARNING: Unknown calling convention */

int initconn(void)

{
  undefined8 uVar1;
  ushort uVar2;
  uint uVar3;
  int iVar4;
  uint *puVar5;
  int *piVar6;
  uint uVar7;
  long in_FS_OFFSET;
  bool bVar8;
  undefined8 uVar9;
  undefined8 uVar10;
  undefined8 uVar11;
  undefined8 uVar12;
  undefined8 uVar13;
  undefined8 uVar14;
  undefined8 uVar15;
  undefined8 uVar16;
  undefined8 uVar17;
  undefined8 uVar18;
  undefined8 uVar19;
  undefined8 uVar20;
  undefined8 uVar21;
  undefined8 uVar22;
  int on;
  uint32_t a0;
  uint32_t a1;
  uint32_t a2;
  uint32_t a3;
  uint32_t p0;
  uint32_t p1;
  uint32_t port;
  uint32_t af;
  uint32_t hal;
  socklen_t len;
  uint32_t h [16];
  uint local_48 [2];
  long local_40;
  
  local_40 = *(long *)(in_FS_OFFSET + 0x28);
  on = 1;
  if (passivemode == 0) {
    uVar7 = 0;
LAB_0010cba4:
    uVar1._2_1_ = myctladdr.__ss_padding[0];
    uVar1._3_1_ = myctladdr.__ss_padding[1];
    uVar1._4_1_ = myctladdr.__ss_padding[2];
    uVar1._5_1_ = myctladdr.__ss_padding[3];
    uVar1._6_1_ = myctladdr.__ss_padding[4];
    uVar1._7_1_ = myctladdr.__ss_padding[5];
    uVar1._0_2_ = myctladdr.ss_family;
    uVar9._0_1_ = myctladdr.__ss_padding[6];
    uVar9._1_1_ = myctladdr.__ss_padding[7];
    uVar9._2_1_ = myctladdr.__ss_padding[8];
    uVar9._3_1_ = myctladdr.__ss_padding[9];
    uVar9._4_1_ = myctladdr.__ss_padding[10];
    uVar9._5_1_ = myctladdr.__ss_padding[0xb];
    uVar9._6_1_ = myctladdr.__ss_padding[0xc];
    uVar9._7_1_ = myctladdr.__ss_padding[0xd];
    data_addr.__ss_padding[6] = myctladdr.__ss_padding[6];
    data_addr.__ss_padding[7] = myctladdr.__ss_padding[7];
    data_addr.__ss_padding[8] = myctladdr.__ss_padding[8];
    data_addr.__ss_padding[9] = myctladdr.__ss_padding[9];
    data_addr.__ss_padding[10] = myctladdr.__ss_padding[10];
    data_addr.__ss_padding[0xb] = myctladdr.__ss_padding[0xb];
    data_addr.__ss_padding[0xc] = myctladdr.__ss_padding[0xc];
    data_addr.__ss_padding[0xd] = myctladdr.__ss_padding[0xd];
    uVar10._0_1_ = myctladdr.__ss_padding[0xe];
    uVar10._1_1_ = myctladdr.__ss_padding[0xf];
    uVar10._2_1_ = myctladdr.__ss_padding[0x10];
    uVar10._3_1_ = myctladdr.__ss_padding[0x11];
    uVar10._4_1_ = myctladdr.__ss_padding[0x12];
    uVar10._5_1_ = myctladdr.__ss_padding[0x13];
    uVar10._6_1_ = myctladdr.__ss_padding[0x14];
    uVar10._7_1_ = myctladdr.__ss_padding[0x15];
    uVar11._0_1_ = myctladdr.__ss_padding[0x16];
    uVar11._1_1_ = myctladdr.__ss_padding[0x17];
    uVar11._2_1_ = myctladdr.__ss_padding[0x18];
    uVar11._3_1_ = myctladdr.__ss_padding[0x19];
    uVar11._4_1_ = myctladdr.__ss_padding[0x1a];
    uVar11._5_1_ = myctladdr.__ss_padding[0x1b];
    uVar11._6_1_ = myctladdr.__ss_padding[0x1c];
    uVar11._7_1_ = myctladdr.__ss_padding[0x1d];
    data_addr.__ss_padding[0xe] = myctladdr.__ss_padding[0xe];
    data_addr.__ss_padding[0xf] = myctladdr.__ss_padding[0xf];
    data_addr.__ss_padding[0x10] = myctladdr.__ss_padding[0x10];
    data_addr.__ss_padding[0x11] = myctladdr.__ss_padding[0x11];
    data_addr.__ss_padding[0x12] = myctladdr.__ss_padding[0x12];
    data_addr.__ss_padding[0x13] = myctladdr.__ss_padding[0x13];
    data_addr.__ss_padding[0x14] = myctladdr.__ss_padding[0x14];
    data_addr.__ss_padding[0x15] = myctladdr.__ss_padding[0x15];
    data_addr.__ss_padding[0x16] = myctladdr.__ss_padding[0x16];
    data_addr.__ss_padding[0x17] = myctladdr.__ss_padding[0x17];
    data_addr.__ss_padding[0x18] = myctladdr.__ss_padding[0x18];
    data_addr.__ss_padding[0x19] = myctladdr.__ss_padding[0x19];
    data_addr.__ss_padding[0x1a] = myctladdr.__ss_padding[0x1a];
    data_addr.__ss_padding[0x1b] = myctladdr.__ss_padding[0x1b];
    data_addr.__ss_padding[0x1c] = myctladdr.__ss_padding[0x1c];
    data_addr.__ss_padding[0x1d] = myctladdr.__ss_padding[0x1d];
    uVar12._0_1_ = myctladdr.__ss_padding[0x1e];
    uVar12._1_1_ = myctladdr.__ss_padding[0x1f];
    uVar12._2_1_ = myctladdr.__ss_padding[0x20];
    uVar12._3_1_ = myctladdr.__ss_padding[0x21];
    uVar12._4_1_ = myctladdr.__ss_padding[0x22];
    uVar12._5_1_ = myctladdr.__ss_padding[0x23];
    uVar12._6_1_ = myctladdr.__ss_padding[0x24];
    uVar12._7_1_ = myctladdr.__ss_padding[0x25];
    uVar13._0_1_ = myctladdr.__ss_padding[0x26];
    uVar13._1_1_ = myctladdr.__ss_padding[0x27];
    uVar13._2_1_ = myctladdr.__ss_padding[0x28];
    uVar13._3_1_ = myctladdr.__ss_padding[0x29];
    uVar13._4_1_ = myctladdr.__ss_padding[0x2a];
    uVar13._5_1_ = myctladdr.__ss_padding[0x2b];
    uVar13._6_1_ = myctladdr.__ss_padding[0x2c];
    uVar13._7_1_ = myctladdr.__ss_padding[0x2d];
    data_addr.__ss_padding[0x1e] = myctladdr.__ss_padding[0x1e];
    data_addr.__ss_padding[0x1f] = myctladdr.__ss_padding[0x1f];
    data_addr.__ss_padding[0x20] = myctladdr.__ss_padding[0x20];
    data_addr.__ss_padding[0x21] = myctladdr.__ss_padding[0x21];
    data_addr.__ss_padding[0x22] = myctladdr.__ss_padding[0x22];
    data_addr.__ss_padding[0x23] = myctladdr.__ss_padding[0x23];
    data_addr.__ss_padding[0x24] = myctladdr.__ss_padding[0x24];
    data_addr.__ss_padding[0x25] = myctladdr.__ss_padding[0x25];
    data_addr.__ss_padding[0x26] = myctladdr.__ss_padding[0x26];
    data_addr.__ss_padding[0x27] = myctladdr.__ss_padding[0x27];
    data_addr.__ss_padding[0x28] = myctladdr.__ss_padding[0x28];
    data_addr.__ss_padding[0x29] = myctladdr.__ss_padding[0x29];
    data_addr.__ss_padding[0x2a] = myctladdr.__ss_padding[0x2a];
    data_addr.__ss_padding[0x2b] = myctladdr.__ss_padding[0x2b];
    data_addr.__ss_padding[0x2c] = myctladdr.__ss_padding[0x2c];
    data_addr.__ss_padding[0x2d] = myctladdr.__ss_padding[0x2d];
    uVar14._0_1_ = myctladdr.__ss_padding[0x2e];
    uVar14._1_1_ = myctladdr.__ss_padding[0x2f];
    uVar14._2_1_ = myctladdr.__ss_padding[0x30];
    uVar14._3_1_ = myctladdr.__ss_padding[0x31];
    uVar14._4_1_ = myctladdr.__ss_padding[0x32];
    uVar14._5_1_ = myctladdr.__ss_padding[0x33];
    uVar14._6_1_ = myctladdr.__ss_padding[0x34];
    uVar14._7_1_ = myctladdr.__ss_padding[0x35];
    uVar15._0_1_ = myctladdr.__ss_padding[0x36];
    uVar15._1_1_ = myctladdr.__ss_padding[0x37];
    uVar15._2_1_ = myctladdr.__ss_padding[0x38];
    uVar15._3_1_ = myctladdr.__ss_padding[0x39];
    uVar15._4_1_ = myctladdr.__ss_padding[0x3a];
    uVar15._5_1_ = myctladdr.__ss_padding[0x3b];
    uVar15._6_1_ = myctladdr.__ss_padding[0x3c];
    uVar15._7_1_ = myctladdr.__ss_padding[0x3d];
    data_addr.__ss_padding[0x2e] = myctladdr.__ss_padding[0x2e];
    data_addr.__ss_padding[0x2f] = myctladdr.__ss_padding[0x2f];
    data_addr.__ss_padding[0x30] = myctladdr.__ss_padding[0x30];
    data_addr.__ss_padding[0x31] = myctladdr.__ss_padding[0x31];
    data_addr.__ss_padding[0x32] = myctladdr.__ss_padding[0x32];
    data_addr.__ss_padding[0x33] = myctladdr.__ss_padding[0x33];
    data_addr.__ss_padding[0x34] = myctladdr.__ss_padding[0x34];
    data_addr.__ss_padding[0x35] = myctladdr.__ss_padding[0x35];
    data_addr.__ss_padding[0x36] = myctladdr.__ss_padding[0x36];
    data_addr.__ss_padding[0x37] = myctladdr.__ss_padding[0x37];
    data_addr.__ss_padding[0x38] = myctladdr.__ss_padding[0x38];
    data_addr.__ss_padding[0x39] = myctladdr.__ss_padding[0x39];
    data_addr.__ss_padding[0x3a] = myctladdr.__ss_padding[0x3a];
    data_addr.__ss_padding[0x3b] = myctladdr.__ss_padding[0x3b];
    data_addr.__ss_padding[0x3c] = myctladdr.__ss_padding[0x3c];
    data_addr.__ss_padding[0x3d] = myctladdr.__ss_padding[0x3d];
    uVar16._0_1_ = myctladdr.__ss_padding[0x3e];
    uVar16._1_1_ = myctladdr.__ss_padding[0x3f];
    uVar16._2_1_ = myctladdr.__ss_padding[0x40];
    uVar16._3_1_ = myctladdr.__ss_padding[0x41];
    uVar16._4_1_ = myctladdr.__ss_padding[0x42];
    uVar16._5_1_ = myctladdr.__ss_padding[0x43];
    uVar16._6_1_ = myctladdr.__ss_padding[0x44];
    uVar16._7_1_ = myctladdr.__ss_padding[0x45];
    uVar17._0_1_ = myctladdr.__ss_padding[0x46];
    uVar17._1_1_ = myctladdr.__ss_padding[0x47];
    uVar17._2_1_ = myctladdr.__ss_padding[0x48];
    uVar17._3_1_ = myctladdr.__ss_padding[0x49];
    uVar17._4_1_ = myctladdr.__ss_padding[0x4a];
    uVar17._5_1_ = myctladdr.__ss_padding[0x4b];
    uVar17._6_1_ = myctladdr.__ss_padding[0x4c];
    uVar17._7_1_ = myctladdr.__ss_padding[0x4d];
    data_addr.__ss_padding[0x3e] = myctladdr.__ss_padding[0x3e];
    data_addr.__ss_padding[0x3f] = myctladdr.__ss_padding[0x3f];
    data_addr.__ss_padding[0x40] = myctladdr.__ss_padding[0x40];
    data_addr.__ss_padding[0x41] = myctladdr.__ss_padding[0x41];
    data_addr.__ss_padding[0x42] = myctladdr.__ss_padding[0x42];
    data_addr.__ss_padding[0x43] = myctladdr.__ss_padding[0x43];
    data_addr.__ss_padding[0x44] = myctladdr.__ss_padding[0x44];
    data_addr.__ss_padding[0x45] = myctladdr.__ss_padding[0x45];
    data_addr.__ss_padding[0x46] = myctladdr.__ss_padding[0x46];
    data_addr.__ss_padding[0x47] = myctladdr.__ss_padding[0x47];
    data_addr.__ss_padding[0x48] = myctladdr.__ss_padding[0x48];
    data_addr.__ss_padding[0x49] = myctladdr.__ss_padding[0x49];
    data_addr.__ss_padding[0x4a] = myctladdr.__ss_padding[0x4a];
    data_addr.__ss_padding[0x4b] = myctladdr.__ss_padding[0x4b];
    data_addr.__ss_padding[0x4c] = myctladdr.__ss_padding[0x4c];
    data_addr.__ss_padding[0x4d] = myctladdr.__ss_padding[0x4d];
    uVar18._0_1_ = myctladdr.__ss_padding[0x4e];
    uVar18._1_1_ = myctladdr.__ss_padding[0x4f];
    uVar18._2_1_ = myctladdr.__ss_padding[0x50];
    uVar18._3_1_ = myctladdr.__ss_padding[0x51];
    uVar18._4_1_ = myctladdr.__ss_padding[0x52];
    uVar18._5_1_ = myctladdr.__ss_padding[0x53];
    uVar18._6_1_ = myctladdr.__ss_padding[0x54];
    uVar18._7_1_ = myctladdr.__ss_padding[0x55];
    uVar19._0_1_ = myctladdr.__ss_padding[0x56];
    uVar19._1_1_ = myctladdr.__ss_padding[0x57];
    uVar19._2_1_ = myctladdr.__ss_padding[0x58];
    uVar19._3_1_ = myctladdr.__ss_padding[0x59];
    uVar19._4_1_ = myctladdr.__ss_padding[0x5a];
    uVar19._5_1_ = myctladdr.__ss_padding[0x5b];
    uVar19._6_1_ = myctladdr.__ss_padding[0x5c];
    uVar19._7_1_ = myctladdr.__ss_padding[0x5d];
    data_addr.__ss_padding[0x4e] = myctladdr.__ss_padding[0x4e];
    data_addr.__ss_padding[0x4f] = myctladdr.__ss_padding[0x4f];
    data_addr.__ss_padding[0x50] = myctladdr.__ss_padding[0x50];
    data_addr.__ss_padding[0x51] = myctladdr.__ss_padding[0x51];
    data_addr.__ss_padding[0x52] = myctladdr.__ss_padding[0x52];
    data_addr.__ss_padding[0x53] = myctladdr.__ss_padding[0x53];
    data_addr.__ss_padding[0x54] = myctladdr.__ss_padding[0x54];
    data_addr.__ss_padding[0x55] = myctladdr.__ss_padding[0x55];
    data_addr.__ss_padding[0x56] = myctladdr.__ss_padding[0x56];
    data_addr.__ss_padding[0x57] = myctladdr.__ss_padding[0x57];
    data_addr.__ss_padding[0x58] = myctladdr.__ss_padding[0x58];
    data_addr.__ss_padding[0x59] = myctladdr.__ss_padding[0x59];
    data_addr.__ss_padding[0x5a] = myctladdr.__ss_padding[0x5a];
    data_addr.__ss_padding[0x5b] = myctladdr.__ss_padding[0x5b];
    data_addr.__ss_padding[0x5c] = myctladdr.__ss_padding[0x5c];
    data_addr.__ss_padding[0x5d] = myctladdr.__ss_padding[0x5d];
    uVar20._0_1_ = myctladdr.__ss_padding[0x5e];
    uVar20._1_1_ = myctladdr.__ss_padding[0x5f];
    uVar20._2_1_ = myctladdr.__ss_padding[0x60];
    uVar20._3_1_ = myctladdr.__ss_padding[0x61];
    uVar20._4_1_ = myctladdr.__ss_padding[0x62];
    uVar20._5_1_ = myctladdr.__ss_padding[99];
    uVar20._6_1_ = myctladdr.__ss_padding[100];
    uVar20._7_1_ = myctladdr.__ss_padding[0x65];
    uVar21._0_1_ = myctladdr.__ss_padding[0x66];
    uVar21._1_1_ = myctladdr.__ss_padding[0x67];
    uVar21._2_1_ = myctladdr.__ss_padding[0x68];
    uVar21._3_1_ = myctladdr.__ss_padding[0x69];
    uVar21._4_1_ = myctladdr.__ss_padding[0x6a];
    uVar21._5_1_ = myctladdr.__ss_padding[0x6b];
    uVar21._6_1_ = myctladdr.__ss_padding[0x6c];
    uVar21._7_1_ = myctladdr.__ss_padding[0x6d];
    data_addr.__ss_padding[0x5e] = myctladdr.__ss_padding[0x5e];
    data_addr.__ss_padding[0x5f] = myctladdr.__ss_padding[0x5f];
    data_addr.__ss_padding[0x60] = myctladdr.__ss_padding[0x60];
    data_addr.__ss_padding[0x61] = myctladdr.__ss_padding[0x61];
    data_addr.__ss_padding[0x62] = myctladdr.__ss_padding[0x62];
    data_addr.__ss_padding[99] = myctladdr.__ss_padding[99];
    data_addr.__ss_padding[100] = myctladdr.__ss_padding[100];
    data_addr.__ss_padding[0x65] = myctladdr.__ss_padding[0x65];
    data_addr.__ss_padding[0x66] = myctladdr.__ss_padding[0x66];
    data_addr.__ss_padding[0x67] = myctladdr.__ss_padding[0x67];
    data_addr.__ss_padding[0x68] = myctladdr.__ss_padding[0x68];
    data_addr.__ss_padding[0x69] = myctladdr.__ss_padding[0x69];
    data_addr.__ss_padding[0x6a] = myctladdr.__ss_padding[0x6a];
    data_addr.__ss_padding[0x6b] = myctladdr.__ss_padding[0x6b];
    data_addr.__ss_padding[0x6c] = myctladdr.__ss_padding[0x6c];
    data_addr.__ss_padding[0x6d] = myctladdr.__ss_padding[0x6d];
    uVar22._0_1_ = myctladdr.__ss_padding[0x6e];
    uVar22._1_1_ = myctladdr.__ss_padding[0x6f];
    uVar22._2_1_ = myctladdr.__ss_padding[0x70];
    uVar22._3_1_ = myctladdr.__ss_padding[0x71];
    uVar22._4_1_ = myctladdr.__ss_padding[0x72];
    uVar22._5_1_ = myctladdr.__ss_padding[0x73];
    uVar22._6_1_ = myctladdr.__ss_padding[0x74];
    uVar22._7_1_ = myctladdr.__ss_padding[0x75];
    data_addr.__ss_align = myctladdr.__ss_align;
    data_addr.__ss_padding[0x6e] = myctladdr.__ss_padding[0x6e];
    data_addr.__ss_padding[0x6f] = myctladdr.__ss_padding[0x6f];
    data_addr.__ss_padding[0x70] = myctladdr.__ss_padding[0x70];
    data_addr.__ss_padding[0x71] = myctladdr.__ss_padding[0x71];
    data_addr.__ss_padding[0x72] = myctladdr.__ss_padding[0x72];
    data_addr.__ss_padding[0x73] = myctladdr.__ss_padding[0x73];
    data_addr.__ss_padding[0x74] = myctladdr.__ss_padding[0x74];
    data_addr.__ss_padding[0x75] = myctladdr.__ss_padding[0x75];
    if (sendport != 0) {
      data_addr.__ss_padding._2_4_ = SUB64(myctladdr.__ss_padding._0_6_,2);
      if (myctladdr.ss_family == 2) {
        data_addr.ss_family = 2;
        data_addr.__ss_padding[0] = '\0';
        data_addr.__ss_padding[1] = '\0';
        uVar1 = data_addr._0_8_;
      }
      else if (myctladdr.ss_family == 10) {
        data_addr.ss_family = 10;
        data_addr.__ss_padding[0] = '\0';
        data_addr.__ss_padding[1] = '\0';
        uVar1 = data_addr._0_8_;
      }
    }
    data_addr._0_8_ = uVar1;
    if (data != -1) {
      data_addr.__ss_padding._6_8_ = uVar9;
      data_addr.__ss_padding._14_8_ = uVar10;
      data_addr.__ss_padding._22_8_ = uVar11;
      data_addr.__ss_padding._30_8_ = uVar12;
      data_addr.__ss_padding._38_8_ = uVar13;
      data_addr.__ss_padding._46_8_ = uVar14;
      data_addr.__ss_padding._54_8_ = uVar15;
      data_addr.__ss_padding._62_8_ = uVar16;
      data_addr.__ss_padding._70_8_ = uVar17;
      data_addr.__ss_padding._78_8_ = uVar18;
      data_addr.__ss_padding._86_8_ = uVar19;
      data_addr.__ss_padding._94_8_ = uVar20;
      data_addr.__ss_padding._102_8_ = uVar21;
      data_addr.__ss_padding._110_8_ = uVar22;
      close(data);
    }
    data = socket((uint)myctladdr.ss_family,1,0);
    if (data < 0) {
      piVar6 = __errno_location();
      error(0,*piVar6,"socket");
      if (uVar7 == 0) {
        uVar7 = 1;
      }
      else {
        sendport = 1;
      }
      goto LAB_0010ca2b;
    }
    if (sendport == 0) {
      iVar4 = setsockopt(data,1,2,&on,4);
      if (-1 < iVar4) goto LAB_0010cc9e;
      piVar6 = __errno_location();
      error(0,*piVar6,"setsockopt (reuse address)");
LAB_0010ca03:
      close(data);
      data = -1;
      if (uVar7 == 0) {
        uVar7 = 1;
      }
      else {
        sendport = 1;
      }
      goto LAB_0010ca2b;
    }
LAB_0010cc9e:
    iVar4 = bind(data,(sockaddr *)&data_addr,ctladdrlen);
    if (iVar4 < 0) {
      piVar6 = __errno_location();
      error(0,*piVar6,&DAT_0011a4df);
      goto LAB_0010ca03;
    }
    if (((byte)options & 1) != 0) {
      iVar4 = setsockopt(data,1,1,&on,4);
      if (iVar4 < 0) {
        piVar6 = __errno_location();
        if (*piVar6 != 0xd) {
          error(0,*piVar6,"setsockopt DEBUG (ignored)");
        }
      }
    }
    len = 0x80;
    iVar4 = getsockname(data,(sockaddr *)&data_addr,&len);
    if (iVar4 < 0) {
      piVar6 = __errno_location();
      error(0,*piVar6,"getsockname");
      goto LAB_0010ca03;
    }
    iVar4 = listen(data,1);
    if (iVar4 < 0) {
      piVar6 = __errno_location();
      error(0,*piVar6,"listen");
    }
    if (sendport == 0) {
      if (uVar7 != 0) {
        sendport = 1;
      }
      on = 8;
      uVar7 = 0;
      if (data_addr.ss_family == 2) {
        iVar4 = setsockopt(data,0,1,&on,4);
        if (iVar4 < 0) {
          piVar6 = __errno_location();
          error(0,*piVar6,"setsockopt TOS (ignored)");
        }
      }
      goto LAB_0010ca2b;
    }
    if ((data_addr.ss_family == 2) && (doepsv4 == 0)) {
      bVar8 = true;
LAB_0010cd36:
      if (!bVar8) {
        iVar4 = 2;
LAB_0010cd3f:
        uVar7 = (uint)(iVar4 != 2);
        goto LAB_0010ca2b;
      }
LAB_0010cd6c:
      iVar4 = command("PORT %d,%d,%d,%d,%d,%d",(ulong)data_addr._0_8_ >> 0x20 & 0xff,
                      (ulong)data_addr._0_8_ >> 0x28 & 0xff,(ulong)data_addr._0_8_ >> 0x30 & 0xff,
                      (ulong)data_addr._0_8_ >> 0x38,(ulong)data_addr._0_8_ >> 0x10 & 0xff,
                      (ulong)data_addr._0_8_ >> 0x18 & 0xff);
    }
    else {
      getnameinfo((sockaddr *)&data_addr,ctladdrlen,ia,0x2e,portstr,10,3);
      iVar4 = command("EPRT |%d|%s|%s|",(ulong)((data_addr.ss_family != 2) + 1),ia,portstr);
      if (data_addr.ss_family == 2) {
        bVar8 = iVar4 != 2;
        if ((doepsv4 == 0) || (!bVar8)) goto LAB_0010cd36;
        doepsv4 = 0;
        goto LAB_0010cd6c;
      }
    }
    if (iVar4 == 2) goto LAB_0010cd3f;
    if (data_addr.ss_family == 2) {
      iVar4 = command("LPRT 4,4,%u,%u,%u,%u,2,%u,%u",(ulong)data_addr._0_8_ >> 0x20 & 0xff,
                      (ulong)data_addr._0_8_ >> 0x28 & 0xff,(ulong)data_addr._0_8_ >> 0x30 & 0xff,
                      (ulong)data_addr._0_8_ >> 0x38,(ulong)(byte)data_addr.__ss_padding[0],
                      (ulong)(byte)data_addr.__ss_padding[1]);
    }
    else if (data_addr.ss_family == 10) {
      iVar4 = command("LPRT 6,16,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,2,%u,%u",
                      data_addr.__ss_padding._6_8_ & 0xff,
                      (ulong)data_addr.__ss_padding._6_8_ >> 8 & 0xff,
                      (ulong)data_addr.__ss_padding._6_8_ >> 0x10 & 0xff,
                      (ulong)data_addr.__ss_padding._6_8_ >> 0x18 & 0xff,
                      (ulong)data_addr.__ss_padding._6_8_ >> 0x20 & 0xff,
                      (ulong)data_addr.__ss_padding._6_8_ >> 0x28 & 0xff,
                      (ulong)data_addr.__ss_padding._6_8_ >> 0x30 & 0xff,
                      (ulong)data_addr.__ss_padding._6_8_ >> 0x38,
                      data_addr.__ss_padding._14_8_ & 0xff,
                      (ulong)data_addr.__ss_padding._14_8_ >> 8 & 0xff,
                      (ulong)data_addr.__ss_padding._14_8_ >> 0x10 & 0xff,
                      (ulong)data_addr.__ss_padding._14_8_ >> 0x18 & 0xff,
                      (ulong)data_addr.__ss_padding._14_8_ >> 0x20 & 0xff,
                      (ulong)data_addr.__ss_padding._14_8_ >> 0x28 & 0xff,
                      (ulong)data_addr.__ss_padding._14_8_ >> 0x30 & 0xff,
                      (ulong)data_addr.__ss_padding._14_8_ >> 0x38,
                      (ulong)(byte)data_addr.__ss_padding[0],(ulong)(byte)data_addr.__ss_padding[1])
      ;
    }
    if ((iVar4 != 5) || (sendport != -1)) goto LAB_0010cd3f;
    sendport = 0;
    uVar7 = 1;
    goto LAB_0010cba4;
  }
  data = socket((uint)myctladdr.ss_family,1,0);
  if (data < 0) {
    perror("ftp: socket");
    uVar7 = 1;
    goto LAB_0010ca2b;
  }
  if (((byte)options & 1) != 0) {
    iVar4 = setsockopt(data,1,1,&on,4);
    if (iVar4 < 0) {
      piVar6 = __errno_location();
      if (*piVar6 != 0xd) {
        error(0,*piVar6,"setsockopt DEBUG (ignored)");
      }
    }
  }
  if (myctladdr.ss_family == 2) {
    if (doepsv4 != 0) {
      iVar4 = command("EPSV");
      if (iVar4 == 2) goto LAB_0010c336;
      if (doepsv4 != 0) {
        doepsv4 = 0;
      }
    }
    iVar4 = command("PASV");
    if (iVar4 == 2) goto LAB_0010c499;
    iVar4 = command("LPSV");
    if (iVar4 == 2) {
LAB_0010c62c:
      if (myctladdr.ss_family == 2) {
        iVar4 = sscanf(pasv,"%u,%u,%u,%u,%u,%u,%u,%u,%u",&af,&hal,h,h + 1,h + 2,h + 3,&len,&p0,&p1);
        if ((((iVar4 == 9) && (af == 4)) && (hal == 4)) && (len == 2)) {
          puVar5 = h;
          do {
            *puVar5 = *puVar5 & 0xff;
            puVar5 = puVar5 + 1;
          } while (puVar5 != h + 4);
          uVar2 = (ushort)(byte)p1 << 8 | (ushort)p0 & 0xff;
          data_addr.__ss_padding[0] = (char)uVar2;
          data_addr.__ss_padding[1] = (char)(uVar2 >> 8);
          data_addr.ss_family = 2;
          uVar7 = h[0] << 0x18 | h[1] << 0x10 | h[3] | h[2] << 8;
          uVar7 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | h[3] << 0x18;
          data_addr.__ss_padding[2] = (char)uVar7;
          data_addr.__ss_padding[3] = (char)(uVar7 >> 8);
          data_addr.__ss_padding[4] = (char)(uVar7 >> 0x10);
          data_addr.__ss_padding[5] = (char)(uVar7 >> 0x18);
          uVar1 = data_addr._0_8_;
          goto LAB_0010c540;
        }
        puts("Passive mode address scan failure. Shouldn\'t happen!");
        command("ABOR");
        goto LAB_0010c703;
      }
      iVar4 = sscanf(pasv,"%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u",&af,&hal,
                     h,h + 1,h + 2,h + 3,h + 4,h + 5,h + 6,h + 7,h + 8,h + 9,h + 10,h + 0xb,h + 0xc,
                     h + 0xd,h + 0xe,h + 0xf,&len,&p0,&p1);
      if (((iVar4 != 0x15) || (af != 6)) || ((hal != 0x10 || (len != 2)))) {
        puts("Passive mode address scan failure. Shouldn\'t happen!");
        command("ABOR");
        goto LAB_0010c703;
      }
      puVar5 = h;
      do {
        *puVar5 = *puVar5 & 0xff;
        puVar5 = puVar5 + 1;
      } while (puVar5 != local_48);
      uVar2 = (ushort)(byte)p1 << 8 | (ushort)p0 & 0xff;
      data_addr.__ss_padding[0] = (char)uVar2;
      data_addr.__ss_padding[1] = (char)(uVar2 >> 8);
      data_addr.ss_family = 10;
      uVar7 = h[0] << 0x18 | h[1] << 0x10 | h[3] | h[2] << 8;
      uVar7 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | h[3] << 0x18;
      uVar3 = h[4] << 0x18 | h[5] << 0x10 | h[7] | h[6] << 8;
      uVar3 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | h[7] << 0x18;
      data_addr.__ss_padding[10] = (char)uVar3;
      data_addr.__ss_padding[0xb] = (char)(uVar3 >> 8);
      data_addr.__ss_padding[0xc] = (char)(uVar3 >> 0x10);
      data_addr.__ss_padding[0xd] = (char)(uVar3 >> 0x18);
      data_addr.__ss_padding[6] = (char)uVar7;
      data_addr.__ss_padding[7] = (char)(uVar7 >> 8);
      data_addr.__ss_padding[8] = (char)(uVar7 >> 0x10);
      data_addr.__ss_padding[9] = (char)(uVar7 >> 0x18);
      uVar7 = h[8] << 0x18 | h[9] << 0x10 | h[0xb] | h[10] << 8;
      uVar7 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | h[0xb] << 0x18;
      uVar3 = h[0xc] << 0x18 | h[0xd] << 0x10 | h[0xf] | h[0xe] << 8;
      uVar3 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | h[0xf] << 0x18;
      data_addr.__ss_padding[0x12] = (char)uVar3;
      data_addr.__ss_padding[0x13] = (char)(uVar3 >> 8);
      data_addr.__ss_padding[0x14] = (char)(uVar3 >> 0x10);
      data_addr.__ss_padding[0x15] = (char)(uVar3 >> 0x18);
      data_addr.__ss_padding[0xe] = (char)uVar7;
      data_addr.__ss_padding[0xf] = (char)(uVar7 >> 8);
      data_addr.__ss_padding[0x10] = (char)(uVar7 >> 0x10);
      data_addr.__ss_padding[0x11] = (char)(uVar7 >> 0x18);
      uVar1 = data_addr._0_8_;
      goto LAB_0010c540;
    }
    puts("Passive mode refused.");
  }
  else {
    if (myctladdr.ss_family == 10) {
      iVar4 = command("EPSV");
      if (iVar4 == 2) {
LAB_0010c336:
        iVar4 = sscanf(pasv,"%u|",&port);
        if (iVar4 == 1) {
          data_addr.ss_family = hisctladdr.ss_family;
          data_addr.__ss_padding[0] = hisctladdr.__ss_padding[0];
          data_addr.__ss_padding[1] = hisctladdr.__ss_padding[1];
          data_addr.__ss_padding[2] = hisctladdr.__ss_padding[2];
          data_addr.__ss_padding[3] = hisctladdr.__ss_padding[3];
          data_addr.__ss_padding[4] = hisctladdr.__ss_padding[4];
          data_addr.__ss_padding[5] = hisctladdr.__ss_padding[5];
          uVar1 = data_addr._0_8_;
          data_addr.__ss_padding[6] = hisctladdr.__ss_padding[6];
          data_addr.__ss_padding[7] = hisctladdr.__ss_padding[7];
          data_addr.__ss_padding[8] = hisctladdr.__ss_padding[8];
          data_addr.__ss_padding[9] = hisctladdr.__ss_padding[9];
          data_addr.__ss_padding[10] = hisctladdr.__ss_padding[10];
          data_addr.__ss_padding[0xb] = hisctladdr.__ss_padding[0xb];
          data_addr.__ss_padding[0xc] = hisctladdr.__ss_padding[0xc];
          data_addr.__ss_padding[0xd] = hisctladdr.__ss_padding[0xd];
          data_addr.__ss_padding[0xe] = hisctladdr.__ss_padding[0xe];
          data_addr.__ss_padding[0xf] = hisctladdr.__ss_padding[0xf];
          data_addr.__ss_padding[0x10] = hisctladdr.__ss_padding[0x10];
          data_addr.__ss_padding[0x11] = hisctladdr.__ss_padding[0x11];
          data_addr.__ss_padding[0x12] = hisctladdr.__ss_padding[0x12];
          data_addr.__ss_padding[0x13] = hisctladdr.__ss_padding[0x13];
          data_addr.__ss_padding[0x14] = hisctladdr.__ss_padding[0x14];
          data_addr.__ss_padding[0x15] = hisctladdr.__ss_padding[0x15];
          data_addr.__ss_padding[0x16] = hisctladdr.__ss_padding[0x16];
          data_addr.__ss_padding[0x17] = hisctladdr.__ss_padding[0x17];
          data_addr.__ss_padding[0x18] = hisctladdr.__ss_padding[0x18];
          data_addr.__ss_padding[0x19] = hisctladdr.__ss_padding[0x19];
          data_addr.__ss_padding[0x1a] = hisctladdr.__ss_padding[0x1a];
          data_addr.__ss_padding[0x1b] = hisctladdr.__ss_padding[0x1b];
          data_addr.__ss_padding[0x1c] = hisctladdr.__ss_padding[0x1c];
          data_addr.__ss_padding[0x1d] = hisctladdr.__ss_padding[0x1d];
          data_addr.__ss_padding[0x1e] = hisctladdr.__ss_padding[0x1e];
          data_addr.__ss_padding[0x1f] = hisctladdr.__ss_padding[0x1f];
          data_addr.__ss_padding[0x20] = hisctladdr.__ss_padding[0x20];
          data_addr.__ss_padding[0x21] = hisctladdr.__ss_padding[0x21];
          data_addr.__ss_padding[0x22] = hisctladdr.__ss_padding[0x22];
          data_addr.__ss_padding[0x23] = hisctladdr.__ss_padding[0x23];
          data_addr.__ss_padding[0x24] = hisctladdr.__ss_padding[0x24];
          data_addr.__ss_padding[0x25] = hisctladdr.__ss_padding[0x25];
          data_addr.__ss_padding[0x26] = hisctladdr.__ss_padding[0x26];
          data_addr.__ss_padding[0x27] = hisctladdr.__ss_padding[0x27];
          data_addr.__ss_padding[0x28] = hisctladdr.__ss_padding[0x28];
          data_addr.__ss_padding[0x29] = hisctladdr.__ss_padding[0x29];
          data_addr.__ss_padding[0x2a] = hisctladdr.__ss_padding[0x2a];
          data_addr.__ss_padding[0x2b] = hisctladdr.__ss_padding[0x2b];
          data_addr.__ss_padding[0x2c] = hisctladdr.__ss_padding[0x2c];
          data_addr.__ss_padding[0x2d] = hisctladdr.__ss_padding[0x2d];
          data_addr.__ss_padding[0x2e] = hisctladdr.__ss_padding[0x2e];
          data_addr.__ss_padding[0x2f] = hisctladdr.__ss_padding[0x2f];
          data_addr.__ss_padding[0x30] = hisctladdr.__ss_padding[0x30];
          data_addr.__ss_padding[0x31] = hisctladdr.__ss_padding[0x31];
          data_addr.__ss_padding[0x32] = hisctladdr.__ss_padding[0x32];
          data_addr.__ss_padding[0x33] = hisctladdr.__ss_padding[0x33];
          data_addr.__ss_padding[0x34] = hisctladdr.__ss_padding[0x34];
          data_addr.__ss_padding[0x35] = hisctladdr.__ss_padding[0x35];
          data_addr.__ss_padding[0x36] = hisctladdr.__ss_padding[0x36];
          data_addr.__ss_padding[0x37] = hisctladdr.__ss_padding[0x37];
          data_addr.__ss_padding[0x38] = hisctladdr.__ss_padding[0x38];
          data_addr.__ss_padding[0x39] = hisctladdr.__ss_padding[0x39];
          data_addr.__ss_padding[0x3a] = hisctladdr.__ss_padding[0x3a];
          data_addr.__ss_padding[0x3b] = hisctladdr.__ss_padding[0x3b];
          data_addr.__ss_padding[0x3c] = hisctladdr.__ss_padding[0x3c];
          data_addr.__ss_padding[0x3d] = hisctladdr.__ss_padding[0x3d];
          data_addr.__ss_padding[0x3e] = hisctladdr.__ss_padding[0x3e];
          data_addr.__ss_padding[0x3f] = hisctladdr.__ss_padding[0x3f];
          data_addr.__ss_padding[0x40] = hisctladdr.__ss_padding[0x40];
          data_addr.__ss_padding[0x41] = hisctladdr.__ss_padding[0x41];
          data_addr.__ss_padding[0x42] = hisctladdr.__ss_padding[0x42];
          data_addr.__ss_padding[0x43] = hisctladdr.__ss_padding[0x43];
          data_addr.__ss_padding[0x44] = hisctladdr.__ss_padding[0x44];
          data_addr.__ss_padding[0x45] = hisctladdr.__ss_padding[0x45];
          data_addr.__ss_padding[0x46] = hisctladdr.__ss_padding[0x46];
          data_addr.__ss_padding[0x47] = hisctladdr.__ss_padding[0x47];
          data_addr.__ss_padding[0x48] = hisctladdr.__ss_padding[0x48];
          data_addr.__ss_padding[0x49] = hisctladdr.__ss_padding[0x49];
          data_addr.__ss_padding[0x4a] = hisctladdr.__ss_padding[0x4a];
          data_addr.__ss_padding[0x4b] = hisctladdr.__ss_padding[0x4b];
          data_addr.__ss_padding[0x4c] = hisctladdr.__ss_padding[0x4c];
          data_addr.__ss_padding[0x4d] = hisctladdr.__ss_padding[0x4d];
          data_addr.__ss_padding[0x4e] = hisctladdr.__ss_padding[0x4e];
          data_addr.__ss_padding[0x4f] = hisctladdr.__ss_padding[0x4f];
          data_addr.__ss_padding[0x50] = hisctladdr.__ss_padding[0x50];
          data_addr.__ss_padding[0x51] = hisctladdr.__ss_padding[0x51];
          data_addr.__ss_padding[0x52] = hisctladdr.__ss_padding[0x52];
          data_addr.__ss_padding[0x53] = hisctladdr.__ss_padding[0x53];
          data_addr.__ss_padding[0x54] = hisctladdr.__ss_padding[0x54];
          data_addr.__ss_padding[0x55] = hisctladdr.__ss_padding[0x55];
          data_addr.__ss_padding[0x56] = hisctladdr.__ss_padding[0x56];
          data_addr.__ss_padding[0x57] = hisctladdr.__ss_padding[0x57];
          data_addr.__ss_padding[0x58] = hisctladdr.__ss_padding[0x58];
          data_addr.__ss_padding[0x59] = hisctladdr.__ss_padding[0x59];
          data_addr.__ss_padding[0x5a] = hisctladdr.__ss_padding[0x5a];
          data_addr.__ss_padding[0x5b] = hisctladdr.__ss_padding[0x5b];
          data_addr.__ss_padding[0x5c] = hisctladdr.__ss_padding[0x5c];
          data_addr.__ss_padding[0x5d] = hisctladdr.__ss_padding[0x5d];
          data_addr.__ss_padding[0x5e] = hisctladdr.__ss_padding[0x5e];
          data_addr.__ss_padding[0x5f] = hisctladdr.__ss_padding[0x5f];
          data_addr.__ss_padding[0x60] = hisctladdr.__ss_padding[0x60];
          data_addr.__ss_padding[0x61] = hisctladdr.__ss_padding[0x61];
          data_addr.__ss_padding[0x62] = hisctladdr.__ss_padding[0x62];
          data_addr.__ss_padding[99] = hisctladdr.__ss_padding[99];
          data_addr.__ss_padding[100] = hisctladdr.__ss_padding[100];
          data_addr.__ss_padding[0x65] = hisctladdr.__ss_padding[0x65];
          data_addr.__ss_padding[0x66] = hisctladdr.__ss_padding[0x66];
          data_addr.__ss_padding[0x67] = hisctladdr.__ss_padding[0x67];
          data_addr.__ss_padding[0x68] = hisctladdr.__ss_padding[0x68];
          data_addr.__ss_padding[0x69] = hisctladdr.__ss_padding[0x69];
          data_addr.__ss_padding[0x6a] = hisctladdr.__ss_padding[0x6a];
          data_addr.__ss_padding[0x6b] = hisctladdr.__ss_padding[0x6b];
          data_addr.__ss_padding[0x6c] = hisctladdr.__ss_padding[0x6c];
          data_addr.__ss_padding[0x6d] = hisctladdr.__ss_padding[0x6d];
          data_addr.__ss_padding[0x6e] = hisctladdr.__ss_padding[0x6e];
          data_addr.__ss_padding[0x6f] = hisctladdr.__ss_padding[0x6f];
          data_addr.__ss_padding[0x70] = hisctladdr.__ss_padding[0x70];
          data_addr.__ss_padding[0x71] = hisctladdr.__ss_padding[0x71];
          data_addr.__ss_padding[0x72] = hisctladdr.__ss_padding[0x72];
          data_addr.__ss_padding[0x73] = hisctladdr.__ss_padding[0x73];
          data_addr.__ss_padding[0x74] = hisctladdr.__ss_padding[0x74];
          data_addr.__ss_padding[0x75] = hisctladdr.__ss_padding[0x75];
          data_addr.__ss_align = hisctladdr.__ss_align;
          data_addr.__ss_padding._2_4_ = SUB84(hisctladdr._0_8_,4);
          if ((sa_family_t)hisctladdr._0_8_ == 2) {
            uVar2 = (ushort)port << 8 | (ushort)port >> 8;
            data_addr.__ss_padding[0] = (char)uVar2;
            data_addr.__ss_padding[1] = (char)(uVar2 >> 8);
            data_addr.ss_family = 2;
            uVar1 = data_addr._0_8_;
          }
          else if ((sa_family_t)hisctladdr._0_8_ == 10) {
            uVar2 = (ushort)port << 8 | (ushort)port >> 8;
            data_addr.__ss_padding[0] = (char)uVar2;
            data_addr.__ss_padding[1] = (char)(uVar2 >> 8);
            data_addr.ss_family = 10;
            uVar1 = data_addr._0_8_;
          }
          goto LAB_0010c540;
        }
        puts("Extended passive mode scan failure. Should not happen!");
        command("ABOR");
      }
      else {
        iVar4 = command("LPSV");
        if (iVar4 == 2) goto LAB_0010c62c;
        puts("Passive mode refused.");
      }
      goto LAB_0010c703;
    }
LAB_0010c499:
    if (myctladdr.ss_family == 2) {
      iVar4 = sscanf(pasv,"%u,%u,%u,%u,%u,%u",&a0,&a1,&a2,&a3,&p0,&p1);
      if (iVar4 == 6) {
        uVar7 = a0 & 0xff | ((a1 & 0xff) << 0x10) >> 8 | (a2 & 0xff) << 0x10 |
                (uint)(byte)a3 << 0x18;
        uVar2 = (ushort)(byte)p1 << 8 | (ushort)p0 & 0xff;
        data_addr.__ss_padding[0] = (char)uVar2;
        data_addr.__ss_padding[1] = (char)(uVar2 >> 8);
        data_addr.ss_family = 2;
        data_addr.__ss_padding[2] = (char)uVar7;
        data_addr.__ss_padding[3] = (char)(uVar7 >> 8);
        data_addr.__ss_padding[4] = (char)(uVar7 >> 0x10);
        data_addr.__ss_padding[5] = (char)(uVar7 >> 0x18);
        uVar1 = data_addr._0_8_;
LAB_0010c540:
        data_addr._0_8_ = uVar1;
        iVar4 = connect(data,(sockaddr *)&data_addr,ctladdrlen);
        if (-1 < iVar4) {
          on = 8;
          uVar7 = 0;
          if (data_addr.ss_family == 2) {
            iVar4 = setsockopt(data,0,1,&on,4);
            if (iVar4 < 0) {
              perror("ftp: setsockopt TOS (ignored)");
            }
          }
          goto LAB_0010ca2b;
        }
        perror("ftp: connect");
      }
      else {
        puts("Passive mode address scan failure. Shouldn\'t happen!");
        command("ABOR");
      }
    }
    else {
      puts("Passive mode address scan failure. Shouldn\'t happen!");
    }
  }
LAB_0010c703:
  close(data);
  data = -1;
  uVar7 = 1;
LAB_0010ca2b:
  if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {
    return uVar7;
  }
                    /* WARNING: Subroutine does not return */
  __stack_chk_fail();
}



/* WARNING: Type propagation algorithm not settling */
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */

bool FUN_0010c27f(void)

{
  ulong uVar1;
  uint uVar2;
  uint uVar3;
  int iVar4;
  uint *puVar5;
  int *piVar6;
  long in_FS_OFFSET;
  bool bVar7;
  undefined4 local_b4;
  uint local_b0;
  uint local_ac;
  uint local_a8;
  byte local_a4 [4];
  ushort local_a0 [2];
  byte local_9c [4];
  ushort local_98 [2];
  int local_94;
  int local_90;
  socklen_t local_8c;
  uint local_88 [16];
  uint local_48 [2];
  long local_40;
  
  local_40 = *(long *)(in_FS_OFFSET + 0x28);
  local_b4 = 1;
  if (DAT_00127ac4 == 0) {
    bVar7 = false;
LAB_0010cba4:
    _DAT_00126448 = uRam0000000000124208;
    _DAT_00126450 = _DAT_00124210;
    uRam0000000000126458 = uRam0000000000124218;
    _DAT_00126460 = _DAT_00124220;
    uRam0000000000126468 = uRam0000000000124228;
    _DAT_00126470 = _DAT_00124230;
    uRam0000000000126478 = uRam0000000000124238;
    _DAT_00126480 = _DAT_00124240;
    uRam0000000000126488 = uRam0000000000124248;
    _DAT_00126490 = _DAT_00124250;
    uRam0000000000126498 = uRam0000000000124258;
    _DAT_001264a0 = _DAT_00124260;
    uRam00000000001264a8 = uRam0000000000124268;
    _DAT_001264b0 = _DAT_00124270;
    uRam00000000001264b8 = uRam0000000000124278;
    uVar1 = CONCAT62(uRam0000000000124202,DAT_00124200);
    if (DAT_00127b64 != 0) {
      _DAT_00126444 = (undefined4)((uint6)uRam0000000000124202 >> 0x10);
      if (DAT_00124200 == 2) {
        _DAT_00126440 = CONCAT44(_DAT_00126444,2);
        uVar1 = _DAT_00126440;
      }
      else if (DAT_00124200 == 10) {
        _DAT_00126440 = CONCAT44(_DAT_00126444,10);
        uVar1 = _DAT_00126440;
      }
    }
    _DAT_00126440 = uVar1;
    if (DAT_001216e0 != -1) {
      close(DAT_001216e0);
    }
    DAT_001216e0 = socket((uint)DAT_00124200,1,0);
    if (DAT_001216e0 < 0) {
      piVar6 = __errno_location();
      error(0,*piVar6,"socket");
      if (bVar7 == false) {
        bVar7 = true;
      }
      else {
        DAT_00127b64 = 1;
      }
      goto LAB_0010ca2b;
    }
    if (DAT_00127b64 == 0) {
      iVar4 = setsockopt(DAT_001216e0,1,2,&local_b4,4);
      if (-1 < iVar4) goto LAB_0010cc9e;
      piVar6 = __errno_location();
      error(0,*piVar6,"setsockopt (reuse address)");
LAB_0010ca03:
      close(DAT_001216e0);
      DAT_001216e0 = -1;
      if (bVar7 == false) {
        bVar7 = true;
      }
      else {
        DAT_00127b64 = 1;
      }
      goto LAB_0010ca2b;
    }
LAB_0010cc9e:
    iVar4 = bind(DAT_001216e0,(sockaddr *)&DAT_00126440,DAT_001264c0);
    if (iVar4 < 0) {
      piVar6 = __errno_location();
      error(0,*piVar6,&DAT_0011a4df);
      goto LAB_0010ca03;
    }
    if ((DAT_001267d0 & 1) != 0) {
      iVar4 = setsockopt(DAT_001216e0,1,1,&local_b4,4);
      if (iVar4 < 0) {
        piVar6 = __errno_location();
        if (*piVar6 != 0xd) {
          error(0,*piVar6,"setsockopt DEBUG (ignored)");
        }
      }
    }
    local_8c = 0x80;
    iVar4 = getsockname(DAT_001216e0,(sockaddr *)&DAT_00126440,&local_8c);
    if (iVar4 < 0) {
      piVar6 = __errno_location();
      error(0,*piVar6,"getsockname");
      goto LAB_0010ca03;
    }
    iVar4 = listen(DAT_001216e0,1);
    if (iVar4 < 0) {
      piVar6 = __errno_location();
      error(0,*piVar6,"listen");
    }
    if (DAT_00127b64 == 0) {
      if (bVar7 != false) {
        DAT_00127b64 = 1;
      }
      local_b4 = 8;
      bVar7 = false;
      if (DAT_00126440 == 2) {
        iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);
        if (iVar4 < 0) {
          piVar6 = __errno_location();
          error(0,*piVar6,"setsockopt TOS (ignored)");
        }
      }
      goto LAB_0010ca2b;
    }
    if ((DAT_00126440 == 2) && (DAT_001266e0 == 0)) {
      bVar7 = true;
LAB_0010cd36:
      if (!bVar7) {
        iVar4 = 2;
LAB_0010cd3f:
        bVar7 = iVar4 != 2;
        goto LAB_0010ca2b;
      }
LAB_0010cd6c:
      iVar4 = FUN_0010bb32("PORT %d,%d,%d,%d,%d,%d",DAT_00126444,DAT_00126445,DAT_00126446,
                           DAT_00126447,DAT_00126442,_DAT_00126440 >> 0x18 & 0xff);
    }
    else {
      getnameinfo((sockaddr *)&DAT_00126440,DAT_001264c0,&DAT_00121ec0,0x2e,&DAT_00121eb0,10,3);
      iVar4 = FUN_0010bb32("EPRT |%d|%s|%s|",(DAT_00126440 != 2) + '\x01',&DAT_00121ec0,
                           &DAT_00121eb0);
      if (DAT_00126440 == 2) {
        bVar7 = iVar4 != 2;
        if ((DAT_001266e0 == 0) || (!bVar7)) goto LAB_0010cd36;
        DAT_001266e0 = 0;
        goto LAB_0010cd6c;
      }
    }
    if (iVar4 == 2) goto LAB_0010cd3f;
    if (DAT_00126440 == 2) {
      iVar4 = FUN_0010bb32("LPRT 4,4,%u,%u,%u,%u,2,%u,%u",DAT_00126444,DAT_00126445,DAT_00126446,
                           DAT_00126447,DAT_00126442,DAT_00126443);
    }
    else if (DAT_00126440 == 10) {
      iVar4 = FUN_0010bb32("LPRT 6,16,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,2,%u,%u",
                           DAT_00126448,DAT_00126449,DAT_0012644a,DAT_0012644b,DAT_0012644c,
                           _DAT_00126448 >> 0x28 & 0xff,_DAT_00126448 >> 0x30 & 0xff,
                           _DAT_00126448 >> 0x38,_DAT_00126450 & 0xff,_DAT_00126450 >> 8 & 0xff,
                           _DAT_00126450 >> 0x10 & 0xff,_DAT_00126450 >> 0x18 & 0xff,
                           _DAT_00126450 >> 0x20 & 0xff,_DAT_00126450 >> 0x28 & 0xff,
                           _DAT_00126450 >> 0x30 & 0xff,_DAT_00126450 >> 0x38,DAT_00126442,
                           DAT_00126443);
    }
    if ((iVar4 != 5) || (DAT_00127b64 != -1)) goto LAB_0010cd3f;
    DAT_00127b64 = 0;
    bVar7 = true;
    goto LAB_0010cba4;
  }
  DAT_001216e0 = socket((uint)DAT_00124200,1,0);
  if (DAT_001216e0 < 0) {
    perror("ftp: socket");
    bVar7 = true;
    goto LAB_0010ca2b;
  }
  if ((DAT_001267d0 & 1) != 0) {
    iVar4 = setsockopt(DAT_001216e0,1,1,&local_b4,4);
    if (iVar4 < 0) {
      piVar6 = __errno_location();
      if (*piVar6 != 0xd) {
        error(0,*piVar6,"setsockopt DEBUG (ignored)");
      }
    }
  }
  if (DAT_00124200 == 2) {
    if (DAT_001266e0 != 0) {
      iVar4 = FUN_0010bb32(&DAT_0011a450);
      if (iVar4 == 2) goto LAB_0010c336;
      if (DAT_001266e0 != 0) {
        DAT_001266e0 = 0;
      }
    }
    iVar4 = FUN_0010bb32(&DAT_0011a455);
    if (iVar4 == 2) goto LAB_0010c499;
    iVar4 = FUN_0010bb32(&DAT_0011a45a);
    if (iVar4 == 2) {
LAB_0010c62c:
      if (DAT_00124200 == 2) {
        iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u,%u,%u,%u",&local_94,&local_90,local_88,
                       local_88 + 1,local_88 + 2,local_88 + 3,&local_8c,local_a0,local_9c);
        if ((((iVar4 == 9) && (local_94 == 4)) && (local_90 == 4)) && (local_8c == 2)) {
          puVar5 = local_88;
          do {
            *puVar5 = *puVar5 & 0xff;
            puVar5 = puVar5 + 1;
          } while (puVar5 != local_88 + 4);
          _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2);
          uVar2 = local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3] | local_88[2] << 8;
          _DAT_00126440 =
               CONCAT44(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |
                        local_88[3] << 0x18,_DAT_00126440);
          uVar1 = _DAT_00126440;
          goto LAB_0010c540;
        }
        puts("Passive mode address scan failure. Shouldn\'t happen!");
        FUN_0010bb32(&DAT_0011a479);
        goto LAB_0010c703;
      }
      iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u",
                     &local_94,&local_90,local_88,local_88 + 1,local_88 + 2,local_88 + 3,
                     local_88 + 4,local_88 + 5,local_88 + 6,local_88 + 7,local_88 + 8,local_88 + 9,
                     local_88 + 10,local_88 + 0xb,local_88 + 0xc,local_88 + 0xd,local_88 + 0xe,
                     local_88 + 0xf,&local_8c,local_a0,local_9c);
      if (((iVar4 != 0x15) || (local_94 != 6)) || ((local_90 != 0x10 || (local_8c != 2)))) {
        puts("Passive mode address scan failure. Shouldn\'t happen!");
        FUN_0010bb32(&DAT_0011a479);
        goto LAB_0010c703;
      }
      puVar5 = local_88;
      do {
        *puVar5 = *puVar5 & 0xff;
        puVar5 = puVar5 + 1;
      } while (puVar5 != local_48);
      _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,10);
      uVar2 = local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3] | local_88[2] << 8;
      uVar3 = local_88[4] << 0x18 | local_88[5] << 0x10 | local_88[7] | local_88[6] << 8;
      _DAT_00126448 =
           CONCAT44(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |
                    local_88[7] << 0x18,
                    uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |
                    local_88[3] << 0x18);
      uVar2 = local_88[8] << 0x18 | local_88[9] << 0x10 | local_88[0xb] | local_88[10] << 8;
      uVar3 = local_88[0xc] << 0x18 | local_88[0xd] << 0x10 | local_88[0xf] | local_88[0xe] << 8;
      _DAT_00126450 =
           CONCAT44(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |
                    local_88[0xf] << 0x18,
                    uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |
                    local_88[0xb] << 0x18);
      uVar1 = _DAT_00126440;
      goto LAB_0010c540;
    }
    puts("Passive mode refused.");
  }
  else {
    if (DAT_00124200 == 10) {
      iVar4 = FUN_0010bb32(&DAT_0011a450);
      if (iVar4 == 2) {
LAB_0010c336:
        iVar4 = sscanf(&DAT_00127a80,"%u|",local_98);
        if (iVar4 == 1) {
          _DAT_00126440 = DAT_00124160;
          uVar1 = _DAT_00126440;
          _DAT_00126448 = DAT_00124168;
          _DAT_00126450 = _DAT_00124170;
          uRam0000000000126458 = uRam0000000000124178;
          _DAT_00126460 = _DAT_00124180;
          uRam0000000000126468 = uRam0000000000124188;
          _DAT_00126470 = _DAT_00124190;
          uRam0000000000126478 = uRam0000000000124198;
          _DAT_00126480 = _DAT_001241a0;
          uRam0000000000126488 = uRam00000000001241a8;
          _DAT_00126490 = _DAT_001241b0;
          uRam0000000000126498 = uRam00000000001241b8;
          _DAT_001264a0 = _DAT_001241c0;
          uRam00000000001264a8 = uRam00000000001241c8;
          _DAT_001264b0 = _DAT_001241d0;
          uRam00000000001264b8 = uRam00000000001241d8;
          _DAT_00126444 = (undefined4)(DAT_00124160 >> 0x20);
          if ((short)DAT_00124160 == 2) {
            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,2);
            uVar1 = _DAT_00126440;
          }
          else if ((short)DAT_00124160 == 10) {
            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,10);
            uVar1 = _DAT_00126440;
          }
          goto LAB_0010c540;
        }
        puts("Extended passive mode scan failure. Should not happen!");
        FUN_0010bb32(&DAT_0011a479);
      }
      else {
        iVar4 = FUN_0010bb32(&DAT_0011a45a);
        if (iVar4 == 2) goto LAB_0010c62c;
        puts("Passive mode refused.");
      }
      goto LAB_0010c703;
    }
LAB_0010c499:
    if (DAT_00124200 == 2) {
      iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u",&local_b0,&local_ac,&local_a8,local_a4,
                     local_a0,local_9c);
      if (iVar4 == 6) {
        _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2);
        _DAT_00126440 =
             CONCAT44(local_b0 & 0xff | ((local_ac & 0xff) << 0x10) >> 8 | (local_a8 & 0xff) << 0x10
                      | (uint)local_a4[0] << 0x18,_DAT_00126440);
        uVar1 = _DAT_00126440;
LAB_0010c540:
        _DAT_00126440 = uVar1;
        iVar4 = connect(DAT_001216e0,(sockaddr *)&DAT_00126440,DAT_001264c0);
        if (-1 < iVar4) {
          local_b4 = 8;
          bVar7 = false;
          if (DAT_00126440 == 2) {
            iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);
            if (iVar4 < 0) {
              perror("ftp: setsockopt TOS (ignored)");
            }
          }
          goto LAB_0010ca2b;
        }
        perror("ftp: connect");
      }
      else {
        puts("Passive mode address scan failure. Shouldn\'t happen!");
        FUN_0010bb32(&DAT_0011a479);
      }
    }
    else {
      puts("Passive mode address scan failure. Shouldn\'t happen!");
    }
  }
LAB_0010c703:
  close(DAT_001216e0);
  DAT_001216e0 = -1;
  bVar7 = true;
LAB_0010ca2b:
  if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {
    return bVar7;
  }
                    /* WARNING: Subroutine does not return */
  __stack_chk_fail();
}


PUSH R15
PUSH R14
PUSH R13
PUSH R12
PUSH RBP
PUSH RBX
SUB RSP,0x88
MOV RAX,qword ptr FS:[0x28]
MOV qword ptr [RSP + 0x78],RAX
XOR EAX,EAX
MOV dword ptr [RSP + 0x4],0x1
MOV R14D,dword ptr [0x00127ac4]
TEST R14D,R14D
JNZ 0x0010c2d0
LEA RBP,[RSP + 0x4]
LEA R13,[0x11a435]
LEA RBX,[RSP + 0x2c]
MOV R12D,0x1
JMP 0x0010cba4
MOVZX EDI,word ptr [0x00124200]
MOV EDX,0x0
MOV ESI,0x1
CALL 0x00105820
MOV dword ptr [0x001216e0],EAX
TEST EAX,EAX
JS 0x0010c40c
TEST byte ptr [0x001267d0],0x1
JNZ 0x0010c423
MOVZX EAX,word ptr [0x00124200]
CMP AX,0x2
JZ 0x0010c472
CMP AX,0xa
JNZ 0x0010c499
LEA RDI,[0x11a450]
MOV EAX,0x0
CALL 0x0010bb32
CMP EAX,0x2
JNZ 0x0010c612
LEA RDX,[RSP + 0x20]
LEA RSI,[0x11a475]
LEA RDI,[0x127a80]
MOV EAX,0x0
CALL 0x00105530
CMP EAX,0x1
JNZ 0x0010c731
MOV RDX,qword ptr [0x00124160]
MOV EAX,EDX
MOV qword ptr [0x00126440],RDX
MOV RDX,qword ptr [0x00124168]
MOV qword ptr [0x00126448],RDX
MOVDQU XMM0,xmmword ptr [0x00124170]
MOVUPS xmmword ptr [0x00126450],XMM0
MOVDQU XMM1,xmmword ptr [0x00124180]
MOVUPS xmmword ptr [0x00126460],XMM1
MOVDQU XMM2,xmmword ptr [0x00124190]
MOVUPS xmmword ptr [0x00126470],XMM2
MOVDQU XMM3,xmmword ptr [0x001241a0]
MOVUPS xmmword ptr [0x00126480],XMM3
MOVDQU XMM4,xmmword ptr [0x001241b0]
MOVUPS xmmword ptr [0x00126490],XMM4
MOVDQU XMM5,xmmword ptr [0x001241c0]
MOVUPS xmmword ptr [0x001264a0],XMM5
MOVDQU XMM6,xmmword ptr [0x001241d0]
MOVUPS xmmword ptr [0x001264b0],XMM6
CMP AX,0x2
JZ 0x0010c750
CMP AX,0xa
JNZ 0x0010c540
MOVZX EAX,word ptr [RSP + 0x20]
ROL AX,0x8
MOV word ptr [0x00126442],AX
JMP 0x0010c540
LEA RDI,[0x11a429]
CALL 0x001056a0
MOV R14D,0x1
JMP 0x0010ca2b
LEA RCX,[RSP + 0x4]
MOV R8D,0x4
MOV EDX,0x1
MOV ESI,0x1
MOV EDI,EAX
CALL 0x00105150
TEST EAX,EAX
JNS 0x0010c301
CALL 0x001050c0
MOV ESI,dword ptr [RAX]
CMP ESI,0xd
JZ 0x0010c301
LEA RDX,[0x11a435]
MOV EDI,0x0
MOV EAX,0x0
CALL 0x00105650
JMP 0x0010c301
CMP dword ptr [0x001266e0],0x0
JNZ 0x0010c5b5
LEA RDI,[0x11a455]
MOV EAX,0x0
CALL 0x0010bb32
CMP EAX,0x2
JNZ 0x0010c5eb
CMP word ptr [0x00124200],0x2
JNZ 0x0010c94d
LEA RCX,[RSP + 0xc]
LEA RDX,[RSP + 0x8]
LEA RAX,[RSP + 0x1c]
PUSH RAX
LEA RAX,[RSP + 0x20]
PUSH RAX
LEA R9,[RSP + 0x24]
LEA R8,[RSP + 0x20]
LEA RSI,[0x11a487]
LEA RDI,[0x127a80]
MOV EAX,0x0
CALL 0x00105530
ADD RSP,0x10
CMP EAX,0x6
JNZ 0x0010c92b
MOV word ptr [0x00126440],0x2
MOV EAX,dword ptr [RSP + 0x8]
SHL EAX,0x18
MOVZX EDX,byte ptr [RSP + 0x14]
OR EAX,EDX
MOV EDX,dword ptr [RSP + 0xc]
SHL EDX,0x10
AND EDX,0xff0000
OR EAX,EDX
MOV EDX,dword ptr [RSP + 0x10]
SHL EDX,0x8
MOVZX EDX,DX
OR EAX,EDX
BSWAP EAX
MOV dword ptr [0x00126444],EAX
MOVZX EAX,word ptr [RSP + 0x18]
SHL EAX,0x8
MOVZX EDX,byte ptr [RSP + 0x1c]
OR EAX,EDX
ROL AX,0x8
MOV word ptr [0x00126442],AX
MOV EDX,dword ptr [0x001264c0]
LEA RSI,[0x126440]
MOV EDI,dword ptr [0x001216e0]
CALL 0x00105720
TEST EAX,EAX
JS 0x0010c95e
MOV dword ptr [RSP + 0x4],0x8
MOV R14D,0x0
CMP word ptr [0x00126440],0x2
JNZ 0x0010ca2b
LEA RCX,[RSP + 0x4]
MOV R8D,0x4
MOV EDX,0x1
MOV ESI,0x0
MOV EDI,dword ptr [0x001216e0]
CALL 0x00105150
TEST EAX,EAX
JNS 0x0010ca2b
LEA RDI,[0x11a4a6]
CALL 0x001056a0
JMP 0x0010ca2b
LEA RDI,[0x11a450]
MOV EAX,0x0
CALL 0x0010bb32
CMP EAX,0x2
JZ 0x0010c336
CMP dword ptr [0x001266e0],0x0
JZ 0x0010c47f
MOV dword ptr [0x001266e0],0x0
JMP 0x0010c47f
LEA RDI,[0x11a45a]
MOV EAX,0x0
CALL 0x0010bb32
CMP EAX,0x2
JZ 0x0010c62c
LEA RDI,[0x11a45f]
CALL 0x00105110
JMP 0x0010c703
LEA RDI,[0x11a45a]
MOV EAX,0x0
CALL 0x0010bb32
CMP EAX,0x2
JNZ 0x0010c723
CMP word ptr [0x00124200],0x2
JZ 0x0010c765
LEA R8,[RSP + 0x30]
LEA RCX,[RSP + 0x28]
LEA RDX,[RSP + 0x24]
SUB RSP,0x8
LEA RAX,[RSP + 0x24]
PUSH RAX
LEA RAX,[RSP + 0x28]
PUSH RAX
LEA RAX,[RSP + 0x44]
PUSH RAX
LEA RAX,[R8 + 0x3c]
PUSH RAX
LEA RAX,[R8 + 0x38]
PUSH RAX
LEA RAX,[R8 + 0x34]
PUSH RAX
LEA RAX,[R8 + 0x30]
PUSH RAX
LEA RAX,[R8 + 0x2c]
PUSH RAX
LEA RAX,[R8 + 0x28]
PUSH RAX
LEA RAX,[R8 + 0x24]
PUSH RAX
LEA RAX,[R8 + 0x20]
PUSH RAX
LEA RAX,[R8 + 0x1c]
PUSH RAX
LEA RAX,[R8 + 0x18]
PUSH RAX
LEA RAX,[R8 + 0x14]
PUSH RAX
LEA RAX,[R8 + 0x10]
PUSH RAX
LEA RAX,[R8 + 0xc]
PUSH RAX
LEA RAX,[R8 + 0x8]
PUSH RAX
LEA R9,[R8 + 0x4]
LEA RSI,[0x11a1d8]
LEA RDI,[0x127a80]
MOV EAX,0x0
CALL 0x00105530
ADD RSP,0x90
CMP EAX,0x15
JNZ 0x0010c6e6
CMP dword ptr [RSP + 0x24],0x6
JNZ 0x0010c6e6
CMP dword ptr [RSP + 0x28],0x10
JNZ 0x0010c6e6
CMP dword ptr [RSP + 0x2c],0x2
JZ 0x0010c856
LEA RDI,[0x11a1a0]
CALL 0x00105110
LEA RDI,[0x11a479]
MOV EAX,0x0
CALL 0x0010bb32
MOV EDI,dword ptr [0x001216e0]
CALL 0x00105320
MOV dword ptr [0x001216e0],0xffffffff
MOV R14D,0x1
JMP 0x0010ca2b
LEA RDI,[0x11a45f]
CALL 0x00105110
JMP 0x0010c703
LEA RDI,[0x11a168]
CALL 0x00105110
LEA RDI,[0x11a479]
MOV EAX,0x0
CALL 0x0010bb32
JMP 0x0010c703
MOVZX EAX,word ptr [RSP + 0x20]
ROL AX,0x8
MOV word ptr [0x00126442],AX
JMP 0x0010c540
LEA R8,[RSP + 0x30]
LEA RCX,[RSP + 0x28]
LEA RDX,[RSP + 0x24]
SUB RSP,0x8
LEA RAX,[RSP + 0x24]
PUSH RAX
LEA RAX,[RSP + 0x28]
PUSH RAX
LEA RAX,[RSP + 0x44]
PUSH RAX
LEA RAX,[R8 + 0xc]
PUSH RAX
LEA RAX,[R8 + 0x8]
PUSH RAX
LEA R9,[R8 + 0x4]
LEA RSI,[0x11a47e]
LEA RDI,[0x127a80]
MOV EAX,0x0
CALL 0x00105530
ADD RSP,0x30
CMP EAX,0x9
JNZ 0x0010c7ce
CMP dword ptr [RSP + 0x24],0x4
JNZ 0x0010c7ce
CMP dword ptr [RSP + 0x28],0x4
JNZ 0x0010c7ce
CMP dword ptr [RSP + 0x2c],0x2
JZ 0x0010c7f0
LEA RDI,[0x11a1a0]
CALL 0x00105110
LEA RDI,[0x11a479]
MOV EAX,0x0
CALL 0x0010bb32
JMP 0x0010c703
LEA RAX,[RSP + 0x30]
LEA RDX,[RSP + 0x40]
AND dword ptr [RAX],0xff
ADD RAX,0x4
CMP RAX,RDX
JNZ 0x0010c7fa
MOV word ptr [0x00126440],0x2
MOVZX EAX,word ptr [RSP + 0x18]
SHL EAX,0x8
MOVZX EDX,byte ptr [RSP + 0x1c]
OR EAX,EDX
ROL AX,0x8
MOV word ptr [0x00126442],AX
MOV EAX,dword ptr [RSP + 0x30]
SHL EAX,0x18
MOV EDX,dword ptr [RSP + 0x34]
SHL EDX,0x10
OR EAX,EDX
OR EAX,dword ptr [RSP + 0x3c]
MOV EDX,dword ptr [RSP + 0x38]
SHL EDX,0x8
OR EAX,EDX
BSWAP EAX
MOV dword ptr [0x00126444],EAX
JMP 0x0010c540
LEA RAX,[RSP + 0x30]
LEA RDX,[RSP + 0x70]
AND dword ptr [RAX],0xff
ADD RAX,0x4
CMP RAX,RDX
JNZ 0x0010c860
MOV word ptr [0x00126440],0xa
MOVZX EAX,word ptr [RSP + 0x18]
SHL EAX,0x8
MOVZX EDX,byte ptr [RSP + 0x1c]
OR EAX,EDX
ROL AX,0x8
MOV word ptr [0x00126442],AX
MOV EAX,dword ptr [RSP + 0x30]
SHL EAX,0x18
MOV EDX,dword ptr [RSP + 0x34]
SHL EDX,0x10
OR EAX,EDX
OR EAX,dword ptr [RSP + 0x3c]
MOV EDX,dword ptr [RSP + 0x38]
SHL EDX,0x8
OR EAX,EDX
BSWAP EAX
MOV dword ptr [0x00126448],EAX
MOV EAX,dword ptr [RSP + 0x40]
SHL EAX,0x18
MOV EDX,dword ptr [RSP + 0x44]
SHL EDX,0x10
OR EAX,EDX
OR EAX,dword ptr [RSP + 0x4c]
MOV EDX,dword ptr [RSP + 0x48]
SHL EDX,0x8
OR EAX,EDX
BSWAP EAX
MOV dword ptr [0x0012644c],EAX
MOV EAX,dword ptr [RSP + 0x50]
SHL EAX,0x18
MOV EDX,dword ptr [RSP + 0x54]
SHL EDX,0x10
OR EAX,EDX
OR EAX,dword ptr [RSP + 0x5c]
MOV EDX,dword ptr [RSP + 0x58]
SHL EDX,0x8
OR EAX,EDX
BSWAP EAX
MOV dword ptr [0x00126450],EAX
MOV EAX,dword ptr [RSP + 0x60]
SHL EAX,0x18
MOV EDX,dword ptr [RSP + 0x64]
SHL EDX,0x10
OR EAX,EDX
OR EAX,dword ptr [RSP + 0x6c]
MOV EDX,dword ptr [RSP + 0x68]
SHL EDX,0x8
OR EAX,EDX
BSWAP EAX
MOV dword ptr [0x00126454],EAX
JMP 0x0010c540
LEA RDI,[0x11a1a0]
CALL 0x00105110
LEA RDI,[0x11a479]
MOV EAX,0x0
CALL 0x0010bb32
JMP 0x0010c703
LEA RDI,[0x11a1a0]
CALL 0x00105110
JMP 0x0010c703
LEA RDI,[0x11a499]
CALL 0x001056a0
JMP 0x0010c703
MOV word ptr [0x00126442],0x0
JMP 0x0010cc40
MOV word ptr [0x00126442],0x0
JMP 0x0010cc40
CALL 0x00105320
JMP 0x0010cc4f
CALL 0x001050c0
LEA RDX,[0x11a42e]
MOV ESI,dword ptr [RAX]
MOV EDI,0x0
MOV EAX,0x0
CALL 0x00105650
TEST R14D,R14D
JZ 0x0010cf1f
MOV dword ptr [0x00127b64],0x1
JMP 0x0010ca2b
CALL 0x001050c0
LEA RDX,[0x11a4c4]
MOV ESI,dword ptr [RAX]
MOV EDI,0x0
MOV EAX,0x0
CALL 0x00105650
JMP 0x0010ca03
CALL 0x001050c0
LEA RDX,[0x11a4df]
MOV ESI,dword ptr [RAX]
MOV EDI,0x0
MOV EAX,0x0
CALL 0x00105650
MOV EDI,dword ptr [0x001216e0]
CALL 0x00105320
MOV dword ptr [0x001216e0],0xffffffff
TEST R14D,R14D
JZ 0x0010cf2a
MOV dword ptr [0x00127b64],0x1
MOV EAX,R14D
MOV RBX,qword ptr [RSP + 0x78]
XOR RBX,qword ptr FS:[0x28]
JNZ 0x0010cf35
ADD RSP,0x88
POP RBX
POP RBP
POP R12
POP R13
POP R14
POP R15
RET
MOV R8D,0x4
MOV RCX,RBP
MOV EDX,0x1
MOV ESI,0x1
MOV EDI,dword ptr [0x001216e0]
CALL 0x00105150
TEST EAX,EAX
JNS 0x0010cccb
CALL 0x001050c0
MOV ESI,dword ptr [RAX]
CMP ESI,0xd
JZ 0x0010cccb
MOV RDX,R13
MOV EDI,0x0
MOV EAX,0x0
CALL 0x00105650
JMP 0x0010cccb
CALL 0x001050c0
LEA RDX,[0x11a3af]
MOV ESI,dword ptr [RAX]
MOV EDI,0x0
MOV EAX,0x0
CALL 0x00105650
JMP 0x0010ca03
CALL 0x001050c0
LEA RDX,[0x11a4e4]
MOV ESI,dword ptr [RAX]
MOV EDI,0x0
MOV EAX,0x0
CALL 0x00105650
JMP 0x0010cd08
SUB RSP,0x8
PUSH 0x3
MOV R9D,0xa
LEA R8,[0x121eb0]
MOV ECX,0x2e
LEA RDX,[0x121ec0]
MOV ESI,dword ptr [0x001264c0]
LEA RDI,[0x126440]
CALL 0x00105330
ADD RSP,0x10
CMP word ptr [0x00126440],0x2
SETNZ SIL
MOVZX ESI,SIL
ADD ESI,0x1
LEA RCX,[0x121eb0]
LEA RDX,[0x121ec0]
LEA RDI,[0x11a4eb]
MOV EAX,0x0
CALL 0x0010bb32
CMP word ptr [0x00126440],0x2
JZ 0x0010cd4f
CMP EAX,0x2
JZ 0x0010cd3f
MOVZX EDX,word ptr [0x00126440]
CMP DX,0x2
JZ 0x0010cdb7
CMP DX,0xa
JZ 0x0010ce02
CMP EAX,0x5
JNZ 0x0010cd3f
CMP dword ptr [0x00127b64],-0x1
JNZ 0x0010cd3f
MOV dword ptr [0x00127b64],0x0
MOV R14D,0x1
MOVDQU XMM0,xmmword ptr [0x00124200]
MOVUPS xmmword ptr [0x00126440],XMM0
MOVDQU XMM1,xmmword ptr [0x00124210]
MOVUPS xmmword ptr [0x00126450],XMM1
MOVDQU XMM2,xmmword ptr [0x00124220]
MOVUPS xmmword ptr [0x00126460],XMM2
MOVDQU XMM3,xmmword ptr [0x00124230]
MOVUPS xmmword ptr [0x00126470],XMM3
MOVDQU XMM4,xmmword ptr [0x00124240]
MOVUPS xmmword ptr [0x00126480],XMM4
MOVDQU XMM5,xmmword ptr [0x00124250]
MOVUPS xmmword ptr [0x00126490],XMM5
MOVDQU XMM6,xmmword ptr [0x00124260]
MOVUPS xmmword ptr [0x001264a0],XMM6
MOVDQU XMM7,xmmword ptr [0x00124270]
MOVUPS xmmword ptr [0x001264b0],XMM7
CMP dword ptr [0x00127b64],0x0
JZ 0x0010cc40
MOVZX EAX,word ptr [0x00124200]
CMP AX,0x2
JZ 0x0010c96f
CMP AX,0xa
JZ 0x0010c97d
MOV EDI,dword ptr [0x001216e0]
CMP EDI,-0x1
JNZ 0x0010c98b
MOVZX EDI,word ptr [0x00124200]
MOV EDX,0x0
MOV ESI,0x1
CALL 0x00105820
MOV dword ptr [0x001216e0],EAX
TEST EAX,EAX
JS 0x0010c995
CMP dword ptr [0x00127b64],0x0
JNZ 0x0010cc9e
MOV R8D,0x4
MOV RCX,RBP
MOV EDX,0x2
MOV ESI,0x1
MOV EDI,EAX
CALL 0x00105150
TEST EAX,EAX
JS 0x0010c9c7
MOV EDX,dword ptr [0x001264c0]
LEA RSI,[0x126440]
MOV EDI,dword ptr [0x001216e0]
CALL 0x00105610
TEST EAX,EAX
JS 0x0010c9e6
TEST byte ptr [0x001267d0],0x1
JNZ 0x0010ca54
MOV dword ptr [RSP + 0x2c],0x80
MOV RDX,RBX
LEA RSI,[0x126440]
MOV EDI,dword ptr [0x001216e0]
CALL 0x001056f0
TEST EAX,EAX
JS 0x0010caa1
MOV ESI,0x1
MOV EDI,dword ptr [0x001216e0]
CALL 0x00105520
TEST EAX,EAX
JS 0x0010cac3
MOV R15D,dword ptr [0x00127b64]
TEST R15D,R15D
JZ 0x0010cead
CMP word ptr [0x00126440],0x2
JNZ 0x0010cae5
CMP dword ptr [0x001266e0],0x0
JNZ 0x0010cae5
MOV EAX,R12D
TEST AL,AL
JNZ 0x0010cd6c
MOV EAX,0x2
CMP EAX,0x2
SETNZ R14B
MOVZX R14D,R14B
JMP 0x0010ca2b
CMP EAX,0x2
SETNZ AL
CMP dword ptr [0x001266e0],0x0
JZ 0x0010cd36
TEST AL,AL
JZ 0x0010cd36
MOV dword ptr [0x001266e0],0x0
MOVZX ECX,byte ptr [0x00126446]
MOVZX EDX,byte ptr [0x00126445]
MOVZX ESI,byte ptr [0x00126444]
SUB RSP,0x8
MOVZX EAX,byte ptr [0x00126443]
PUSH RAX
MOVZX R9D,byte ptr [0x00126442]
MOVZX R8D,byte ptr [0x00126447]
LEA RDI,[0x11a4fb]
MOV EAX,0x0
CALL 0x0010bb32
ADD RSP,0x10
JMP 0x0010cb5a
MOVZX ECX,byte ptr [0x00126446]
MOVZX EDX,byte ptr [0x00126445]
MOVZX ESI,byte ptr [0x00126444]
SUB RSP,0x8
MOVZX EAX,byte ptr [0x00126443]
PUSH RAX
MOVZX R9D,byte ptr [0x00126442]
MOVZX R8D,byte ptr [0x00126447]
LEA RDI,[0x11a512]
MOV EAX,0x0
CALL 0x0010bb32
ADD RSP,0x10
JMP 0x0010cb7e
MOVZX ECX,byte ptr [0x0012644a]
MOVZX EDX,byte ptr [0x00126449]
MOVZX ESI,byte ptr [0x00126448]
SUB RSP,0x8
MOVZX EAX,byte ptr [0x00126443]
PUSH RAX
MOVZX EAX,byte ptr [0x00126442]
PUSH RAX
MOVZX EAX,byte ptr [0x00126457]
PUSH RAX
MOVZX EAX,byte ptr [0x00126456]
PUSH RAX
MOVZX EAX,byte ptr [0x00126455]
PUSH RAX
MOVZX EAX,byte ptr [0x00126454]
PUSH RAX
MOVZX EAX,byte ptr [0x00126453]
PUSH RAX
MOVZX EAX,byte ptr [0x00126452]
PUSH RAX
MOVZX EAX,byte ptr [0x00126451]
PUSH RAX
MOVZX EAX,byte ptr [0x00126450]
PUSH RAX
MOVZX EAX,byte ptr [0x0012644f]
PUSH RAX
MOVZX EAX,byte ptr [0x0012644e]
PUSH RAX
MOVZX EAX,byte ptr [0x0012644d]
PUSH RAX
MOVZX R9D,byte ptr [0x0012644c]
MOVZX R8D,byte ptr [0x0012644b]
LEA RDI,[0x11a218]
MOV EAX,0x0
CALL 0x0010bb32
ADD RSP,0x70
JMP 0x0010cb7e
TEST R14D,R14D
JZ 0x0010cebc
MOV dword ptr [0x00127b64],0x1
MOV dword ptr [RSP + 0x4],0x8
MOV R14D,R15D
CMP word ptr [0x00126440],0x2
JNZ 0x0010ca2b
LEA RCX,[RSP + 0x4]
MOV R8D,0x4
MOV EDX,0x1
MOV ESI,0x0
MOV EDI,dword ptr [0x001216e0]
CALL 0x00105150
TEST EAX,EAX
JNS 0x0010ca2b
CALL 0x001050c0
LEA RDX,[0x11a4ab]
MOV ESI,dword ptr [RAX]
MOV EDI,0x0
MOV EAX,0x0
CALL 0x00105650
JMP 0x0010ca2b
MOV R14D,0x1
JMP 0x0010ca2b
MOV R14D,0x1
JMP 0x0010ca2b
CALL 0x001051e0
(translation_unit "/* WARNING: Type propagation algorithm not settling */\n/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */\n\nbool FUN_0010c27f(void)\n\n{\n  ulong uVar1;\n  uint uVar2;\n  uint uVar3;\n  int iVar4;\n  uint *puVar5;\n  int *piVar6;\n  long in_FS_OFFSET;\n  bool bVar7;\n  undefined4 local_b4;\n  uint local_b0;\n  uint local_ac;\n  uint local_a8;\n  byte local_a4 [4];\n  ushort local_a0 [2];\n  byte local_9c [4];\n  ushort local_98 [2];\n  int local_94;\n  int local_90;\n  socklen_t local_8c;\n  uint local_88 [16];\n  uint local_48 [2];\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  local_b4 = 1;\n  if (DAT_00127ac4 == 0) {\n    bVar7 = false;\nLAB_0010cba4:\n    _DAT_00126448 = uRam0000000000124208;\n    _DAT_00126450 = _DAT_00124210;\n    uRam0000000000126458 = uRam0000000000124218;\n    _DAT_00126460 = _DAT_00124220;\n    uRam0000000000126468 = uRam0000000000124228;\n    _DAT_00126470 = _DAT_00124230;\n    uRam0000000000126478 = uRam0000000000124238;\n    _DAT_00126480 = _DAT_00124240;\n    uRam0000000000126488 = uRam0000000000124248;\n    _DAT_00126490 = _DAT_00124250;\n    uRam0000000000126498 = uRam0000000000124258;\n    _DAT_001264a0 = _DAT_00124260;\n    uRam00000000001264a8 = uRam0000000000124268;\n    _DAT_001264b0 = _DAT_00124270;\n    uRam00000000001264b8 = uRam0000000000124278;\n    uVar1 = CONCAT62(uRam0000000000124202,DAT_00124200);\n    if (DAT_00127b64 != 0) {\n      _DAT_00126444 = (undefined4)((uint6)uRam0000000000124202 >> 0x10);\n      if (DAT_00124200 == 2) {\n        _DAT_00126440 = CONCAT44(_DAT_00126444,2);\n        uVar1 = _DAT_00126440;\n      }\n      else if (DAT_00124200 == 10) {\n        _DAT_00126440 = CONCAT44(_DAT_00126444,10);\n        uVar1 = _DAT_00126440;\n      }\n    }\n    _DAT_00126440 = uVar1;\n    if (DAT_001216e0 != -1) {\n      close(DAT_001216e0);\n    }\n    DAT_001216e0 = socket((uint)DAT_00124200,1,0);\n    if (DAT_001216e0 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,"socket");\n      if (bVar7 == false) {\n        bVar7 = true;\n      }\n      else {\n        DAT_00127b64 = 1;\n      }\n      goto LAB_0010ca2b;\n    }\n    if (DAT_00127b64 == 0) {\n      iVar4 = setsockopt(DAT_001216e0,1,2,&local_b4,4);\n      if (-1 < iVar4) goto LAB_0010cc9e;\n      piVar6 = __errno_location();\n      error(0,*piVar6,"setsockopt (reuse address)");\nLAB_0010ca03:\n      close(DAT_001216e0);\n      DAT_001216e0 = -1;\n      if (bVar7 == false) {\n        bVar7 = true;\n      }\n      else {\n        DAT_00127b64 = 1;\n      }\n      goto LAB_0010ca2b;\n    }\nLAB_0010cc9e:\n    iVar4 = bind(DAT_001216e0,(sockaddr *)&DAT_00126440,DAT_001264c0);\n    if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,&DAT_0011a4df);\n      goto LAB_0010ca03;\n    }\n    if ((DAT_001267d0 & 1) != 0) {\n      iVar4 = setsockopt(DAT_001216e0,1,1,&local_b4,4);\n      if (iVar4 < 0) {\n        piVar6 = __errno_location();\n        if (*piVar6 != 0xd) {\n          error(0,*piVar6,"setsockopt DEBUG (ignored)");\n        }\n      }\n    }\n    local_8c = 0x80;\n    iVar4 = getsockname(DAT_001216e0,(sockaddr *)&DAT_00126440,&local_8c);\n    if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,"getsockname");\n      goto LAB_0010ca03;\n    }\n    iVar4 = listen(DAT_001216e0,1);\n    if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,"listen");\n    }\n    if (DAT_00127b64 == 0) {\n      if (bVar7 != false) {\n        DAT_00127b64 = 1;\n      }\n      local_b4 = 8;\n      bVar7 = false;\n      if (DAT_00126440 == 2) {\n        iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);\n        if (iVar4 < 0) {\n          piVar6 = __errno_location();\n          error(0,*piVar6,"setsockopt TOS (ignored)");\n        }\n      }\n      goto LAB_0010ca2b;\n    }\n    if ((DAT_00126440 == 2) && (DAT_001266e0 == 0)) {\n      bVar7 = true;\nLAB_0010cd36:\n      if (!bVar7) {\n        iVar4 = 2;\nLAB_0010cd3f:\n        bVar7 = iVar4 != 2;\n        goto LAB_0010ca2b;\n      }\nLAB_0010cd6c:\n      iVar4 = FUN_0010bb32("PORT %d,%d,%d,%d,%d,%d",DAT_00126444,DAT_00126445,DAT_00126446,\n                           DAT_00126447,DAT_00126442,_DAT_00126440 >> 0x18 & 0xff);\n    }\n    else {\n      getnameinfo((sockaddr *)&DAT_00126440,DAT_001264c0,&DAT_00121ec0,0x2e,&DAT_00121eb0,10,3);\n      iVar4 = FUN_0010bb32("EPRT |%d|%s|%s|",(DAT_00126440 != 2) + '\x01',&DAT_00121ec0,\n                           &DAT_00121eb0);\n      if (DAT_00126440 == 2) {\n        bVar7 = iVar4 != 2;\n        if ((DAT_001266e0 == 0) || (!bVar7)) goto LAB_0010cd36;\n        DAT_001266e0 = 0;\n        goto LAB_0010cd6c;\n      }\n    }\n    if (iVar4 == 2) goto LAB_0010cd3f;\n    if (DAT_00126440 == 2) {\n      iVar4 = FUN_0010bb32("LPRT 4,4,%u,%u,%u,%u,2,%u,%u",DAT_00126444,DAT_00126445,DAT_00126446,\n                           DAT_00126447,DAT_00126442,DAT_00126443);\n    }\n    else if (DAT_00126440 == 10) {\n      iVar4 = FUN_0010bb32("LPRT 6,16,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,2,%u,%u",\n                           DAT_00126448,DAT_00126449,DAT_0012644a,DAT_0012644b,DAT_0012644c,\n                           _DAT_00126448 >> 0x28 & 0xff,_DAT_00126448 >> 0x30 & 0xff,\n                           _DAT_00126448 >> 0x38,_DAT_00126450 & 0xff,_DAT_00126450 >> 8 & 0xff,\n                           _DAT_00126450 >> 0x10 & 0xff,_DAT_00126450 >> 0x18 & 0xff,\n                           _DAT_00126450 >> 0x20 & 0xff,_DAT_00126450 >> 0x28 & 0xff,\n                           _DAT_00126450 >> 0x30 & 0xff,_DAT_00126450 >> 0x38,DAT_00126442,\n                           DAT_00126443);\n    }\n    if ((iVar4 != 5) || (DAT_00127b64 != -1)) goto LAB_0010cd3f;\n    DAT_00127b64 = 0;\n    bVar7 = true;\n    goto LAB_0010cba4;\n  }\n  DAT_001216e0 = socket((uint)DAT_00124200,1,0);\n  if (DAT_001216e0 < 0) {\n    perror("ftp: socket");\n    bVar7 = true;\n    goto LAB_0010ca2b;\n  }\n  if ((DAT_001267d0 & 1) != 0) {\n    iVar4 = setsockopt(DAT_001216e0,1,1,&local_b4,4);\n    if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      if (*piVar6 != 0xd) {\n        error(0,*piVar6,"setsockopt DEBUG (ignored)");\n      }\n    }\n  }\n  if (DAT_00124200 == 2) {\n    if (DAT_001266e0 != 0) {\n      iVar4 = FUN_0010bb32(&DAT_0011a450);\n      if (iVar4 == 2) goto LAB_0010c336;\n      if (DAT_001266e0 != 0) {\n        DAT_001266e0 = 0;\n      }\n    }\n    iVar4 = FUN_0010bb32(&DAT_0011a455);\n    if (iVar4 == 2) goto LAB_0010c499;\n    iVar4 = FUN_0010bb32(&DAT_0011a45a);\n    if (iVar4 == 2) {\nLAB_0010c62c:\n      if (DAT_00124200 == 2) {\n        iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u,%u,%u,%u",&local_94,&local_90,local_88,\n                       local_88 + 1,local_88 + 2,local_88 + 3,&local_8c,local_a0,local_9c);\n        if ((((iVar4 == 9) && (local_94 == 4)) && (local_90 == 4)) && (local_8c == 2)) {\n          puVar5 = local_88;\n          do {\n            *puVar5 = *puVar5 & 0xff;\n            puVar5 = puVar5 + 1;\n          } while (puVar5 != local_88 + 4);\n          _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2);\n          uVar2 = local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3] | local_88[2] << 8;\n          _DAT_00126440 =\n               CONCAT44(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                        local_88[3] << 0x18,_DAT_00126440);\n          uVar1 = _DAT_00126440;\n          goto LAB_0010c540;\n        }\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n        goto LAB_0010c703;\n      }\n      iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u",\n                     &local_94,&local_90,local_88,local_88 + 1,local_88 + 2,local_88 + 3,\n                     local_88 + 4,local_88 + 5,local_88 + 6,local_88 + 7,local_88 + 8,local_88 + 9,\n                     local_88 + 10,local_88 + 0xb,local_88 + 0xc,local_88 + 0xd,local_88 + 0xe,\n                     local_88 + 0xf,&local_8c,local_a0,local_9c);\n      if (((iVar4 != 0x15) || (local_94 != 6)) || ((local_90 != 0x10 || (local_8c != 2)))) {\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n        goto LAB_0010c703;\n      }\n      puVar5 = local_88;\n      do {\n        *puVar5 = *puVar5 & 0xff;\n        puVar5 = puVar5 + 1;\n      } while (puVar5 != local_48);\n      _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,10);\n      uVar2 = local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3] | local_88[2] << 8;\n      uVar3 = local_88[4] << 0x18 | local_88[5] << 0x10 | local_88[7] | local_88[6] << 8;\n      _DAT_00126448 =\n           CONCAT44(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                    local_88[7] << 0x18,\n                    uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                    local_88[3] << 0x18);\n      uVar2 = local_88[8] << 0x18 | local_88[9] << 0x10 | local_88[0xb] | local_88[10] << 8;\n      uVar3 = local_88[0xc] << 0x18 | local_88[0xd] << 0x10 | local_88[0xf] | local_88[0xe] << 8;\n      _DAT_00126450 =\n           CONCAT44(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                    local_88[0xf] << 0x18,\n                    uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                    local_88[0xb] << 0x18);\n      uVar1 = _DAT_00126440;\n      goto LAB_0010c540;\n    }\n    puts("Passive mode refused.");\n  }\n  else {\n    if (DAT_00124200 == 10) {\n      iVar4 = FUN_0010bb32(&DAT_0011a450);\n      if (iVar4 == 2) {\nLAB_0010c336:\n        iVar4 = sscanf(&DAT_00127a80,"%u|",local_98);\n        if (iVar4 == 1) {\n          _DAT_00126440 = DAT_00124160;\n          uVar1 = _DAT_00126440;\n          _DAT_00126448 = DAT_00124168;\n          _DAT_00126450 = _DAT_00124170;\n          uRam0000000000126458 = uRam0000000000124178;\n          _DAT_00126460 = _DAT_00124180;\n          uRam0000000000126468 = uRam0000000000124188;\n          _DAT_00126470 = _DAT_00124190;\n          uRam0000000000126478 = uRam0000000000124198;\n          _DAT_00126480 = _DAT_001241a0;\n          uRam0000000000126488 = uRam00000000001241a8;\n          _DAT_00126490 = _DAT_001241b0;\n          uRam0000000000126498 = uRam00000000001241b8;\n          _DAT_001264a0 = _DAT_001241c0;\n          uRam00000000001264a8 = uRam00000000001241c8;\n          _DAT_001264b0 = _DAT_001241d0;\n          uRam00000000001264b8 = uRam00000000001241d8;\n          _DAT_00126444 = (undefined4)(DAT_00124160 >> 0x20);\n          if ((short)DAT_00124160 == 2) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,2);\n            uVar1 = _DAT_00126440;\n          }\n          else if ((short)DAT_00124160 == 10) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,10);\n            uVar1 = _DAT_00126440;\n          }\n          goto LAB_0010c540;\n        }\n        puts("Extended passive mode scan failure. Should not happen!");\n        FUN_0010bb32(&DAT_0011a479);\n      }\n      else {\n        iVar4 = FUN_0010bb32(&DAT_0011a45a);\n        if (iVar4 == 2) goto LAB_0010c62c;\n        puts("Passive mode refused.");\n      }\n      goto LAB_0010c703;\n    }\nLAB_0010c499:\n    if (DAT_00124200 == 2) {\n      iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u",&local_b0,&local_ac,&local_a8,local_a4,\n                     local_a0,local_9c);\n      if (iVar4 == 6) {\n        _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2);\n        _DAT_00126440 =\n             CONCAT44(local_b0 & 0xff | ((local_ac & 0xff) << 0x10) >> 8 | (local_a8 & 0xff) << 0x10\n                      | (uint)local_a4[0] << 0x18,_DAT_00126440);\n        uVar1 = _DAT_00126440;\nLAB_0010c540:\n        _DAT_00126440 = uVar1;\n        iVar4 = connect(DAT_001216e0,(sockaddr *)&DAT_00126440,DAT_001264c0);\n        if (-1 < iVar4) {\n          local_b4 = 8;\n          bVar7 = false;\n          if (DAT_00126440 == 2) {\n            iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);\n            if (iVar4 < 0) {\n              perror("ftp: setsockopt TOS (ignored)");\n            }\n          }\n          goto LAB_0010ca2b;\n        }\n        perror("ftp: connect");\n      }\n      else {\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n      }\n    }\n    else {\n      puts("Passive mode address scan failure. Shouldn\'t happen!");\n    }\n  }\nLAB_0010c703:\n  close(DAT_001216e0);\n  DAT_001216e0 = -1;\n  bVar7 = true;\nLAB_0010ca2b:\n  if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return bVar7;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail();\n}\n\n" comment comment (function_definition "bool FUN_0010c27f(void)\n\n{\n  ulong uVar1;\n  uint uVar2;\n  uint uVar3;\n  int iVar4;\n  uint *puVar5;\n  int *piVar6;\n  long in_FS_OFFSET;\n  bool bVar7;\n  undefined4 local_b4;\n  uint local_b0;\n  uint local_ac;\n  uint local_a8;\n  byte local_a4 [4];\n  ushort local_a0 [2];\n  byte local_9c [4];\n  ushort local_98 [2];\n  int local_94;\n  int local_90;\n  socklen_t local_8c;\n  uint local_88 [16];\n  uint local_48 [2];\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  local_b4 = 1;\n  if (DAT_00127ac4 == 0) {\n    bVar7 = false;\nLAB_0010cba4:\n    _DAT_00126448 = uRam0000000000124208;\n    _DAT_00126450 = _DAT_00124210;\n    uRam0000000000126458 = uRam0000000000124218;\n    _DAT_00126460 = _DAT_00124220;\n    uRam0000000000126468 = uRam0000000000124228;\n    _DAT_00126470 = _DAT_00124230;\n    uRam0000000000126478 = uRam0000000000124238;\n    _DAT_00126480 = _DAT_00124240;\n    uRam0000000000126488 = uRam0000000000124248;\n    _DAT_00126490 = _DAT_00124250;\n    uRam0000000000126498 = uRam0000000000124258;\n    _DAT_001264a0 = _DAT_00124260;\n    uRam00000000001264a8 = uRam0000000000124268;\n    _DAT_001264b0 = _DAT_00124270;\n    uRam00000000001264b8 = uRam0000000000124278;\n    uVar1 = CONCAT62(uRam0000000000124202,DAT_00124200);\n    if (DAT_00127b64 != 0) {\n      _DAT_00126444 = (undefined4)((uint6)uRam0000000000124202 >> 0x10);\n      if (DAT_00124200 == 2) {\n        _DAT_00126440 = CONCAT44(_DAT_00126444,2);\n        uVar1 = _DAT_00126440;\n      }\n      else if (DAT_00124200 == 10) {\n        _DAT_00126440 = CONCAT44(_DAT_00126444,10);\n        uVar1 = _DAT_00126440;\n      }\n    }\n    _DAT_00126440 = uVar1;\n    if (DAT_001216e0 != -1) {\n      close(DAT_001216e0);\n    }\n    DAT_001216e0 = socket((uint)DAT_00124200,1,0);\n    if (DAT_001216e0 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,"socket");\n      if (bVar7 == false) {\n        bVar7 = true;\n      }\n      else {\n        DAT_00127b64 = 1;\n      }\n      goto LAB_0010ca2b;\n    }\n    if (DAT_00127b64 == 0) {\n      iVar4 = setsockopt(DAT_001216e0,1,2,&local_b4,4);\n      if (-1 < iVar4) goto LAB_0010cc9e;\n      piVar6 = __errno_location();\n      error(0,*piVar6,"setsockopt (reuse address)");\nLAB_0010ca03:\n      close(DAT_001216e0);\n      DAT_001216e0 = -1;\n      if (bVar7 == false) {\n        bVar7 = true;\n      }\n      else {\n        DAT_00127b64 = 1;\n      }\n      goto LAB_0010ca2b;\n    }\nLAB_0010cc9e:\n    iVar4 = bind(DAT_001216e0,(sockaddr *)&DAT_00126440,DAT_001264c0);\n    if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,&DAT_0011a4df);\n      goto LAB_0010ca03;\n    }\n    if ((DAT_001267d0 & 1) != 0) {\n      iVar4 = setsockopt(DAT_001216e0,1,1,&local_b4,4);\n      if (iVar4 < 0) {\n        piVar6 = __errno_location();\n        if (*piVar6 != 0xd) {\n          error(0,*piVar6,"setsockopt DEBUG (ignored)");\n        }\n      }\n    }\n    local_8c = 0x80;\n    iVar4 = getsockname(DAT_001216e0,(sockaddr *)&DAT_00126440,&local_8c);\n    if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,"getsockname");\n      goto LAB_0010ca03;\n    }\n    iVar4 = listen(DAT_001216e0,1);\n    if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,"listen");\n    }\n    if (DAT_00127b64 == 0) {\n      if (bVar7 != false) {\n        DAT_00127b64 = 1;\n      }\n      local_b4 = 8;\n      bVar7 = false;\n      if (DAT_00126440 == 2) {\n        iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);\n        if (iVar4 < 0) {\n          piVar6 = __errno_location();\n          error(0,*piVar6,"setsockopt TOS (ignored)");\n        }\n      }\n      goto LAB_0010ca2b;\n    }\n    if ((DAT_00126440 == 2) && (DAT_001266e0 == 0)) {\n      bVar7 = true;\nLAB_0010cd36:\n      if (!bVar7) {\n        iVar4 = 2;\nLAB_0010cd3f:\n        bVar7 = iVar4 != 2;\n        goto LAB_0010ca2b;\n      }\nLAB_0010cd6c:\n      iVar4 = FUN_0010bb32("PORT %d,%d,%d,%d,%d,%d",DAT_00126444,DAT_00126445,DAT_00126446,\n                           DAT_00126447,DAT_00126442,_DAT_00126440 >> 0x18 & 0xff);\n    }\n    else {\n      getnameinfo((sockaddr *)&DAT_00126440,DAT_001264c0,&DAT_00121ec0,0x2e,&DAT_00121eb0,10,3);\n      iVar4 = FUN_0010bb32("EPRT |%d|%s|%s|",(DAT_00126440 != 2) + '\x01',&DAT_00121ec0,\n                           &DAT_00121eb0);\n      if (DAT_00126440 == 2) {\n        bVar7 = iVar4 != 2;\n        if ((DAT_001266e0 == 0) || (!bVar7)) goto LAB_0010cd36;\n        DAT_001266e0 = 0;\n        goto LAB_0010cd6c;\n      }\n    }\n    if (iVar4 == 2) goto LAB_0010cd3f;\n    if (DAT_00126440 == 2) {\n      iVar4 = FUN_0010bb32("LPRT 4,4,%u,%u,%u,%u,2,%u,%u",DAT_00126444,DAT_00126445,DAT_00126446,\n                           DAT_00126447,DAT_00126442,DAT_00126443);\n    }\n    else if (DAT_00126440 == 10) {\n      iVar4 = FUN_0010bb32("LPRT 6,16,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,2,%u,%u",\n                           DAT_00126448,DAT_00126449,DAT_0012644a,DAT_0012644b,DAT_0012644c,\n                           _DAT_00126448 >> 0x28 & 0xff,_DAT_00126448 >> 0x30 & 0xff,\n                           _DAT_00126448 >> 0x38,_DAT_00126450 & 0xff,_DAT_00126450 >> 8 & 0xff,\n                           _DAT_00126450 >> 0x10 & 0xff,_DAT_00126450 >> 0x18 & 0xff,\n                           _DAT_00126450 >> 0x20 & 0xff,_DAT_00126450 >> 0x28 & 0xff,\n                           _DAT_00126450 >> 0x30 & 0xff,_DAT_00126450 >> 0x38,DAT_00126442,\n                           DAT_00126443);\n    }\n    if ((iVar4 != 5) || (DAT_00127b64 != -1)) goto LAB_0010cd3f;\n    DAT_00127b64 = 0;\n    bVar7 = true;\n    goto LAB_0010cba4;\n  }\n  DAT_001216e0 = socket((uint)DAT_00124200,1,0);\n  if (DAT_001216e0 < 0) {\n    perror("ftp: socket");\n    bVar7 = true;\n    goto LAB_0010ca2b;\n  }\n  if ((DAT_001267d0 & 1) != 0) {\n    iVar4 = setsockopt(DAT_001216e0,1,1,&local_b4,4);\n    if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      if (*piVar6 != 0xd) {\n        error(0,*piVar6,"setsockopt DEBUG (ignored)");\n      }\n    }\n  }\n  if (DAT_00124200 == 2) {\n    if (DAT_001266e0 != 0) {\n      iVar4 = FUN_0010bb32(&DAT_0011a450);\n      if (iVar4 == 2) goto LAB_0010c336;\n      if (DAT_001266e0 != 0) {\n        DAT_001266e0 = 0;\n      }\n    }\n    iVar4 = FUN_0010bb32(&DAT_0011a455);\n    if (iVar4 == 2) goto LAB_0010c499;\n    iVar4 = FUN_0010bb32(&DAT_0011a45a);\n    if (iVar4 == 2) {\nLAB_0010c62c:\n      if (DAT_00124200 == 2) {\n        iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u,%u,%u,%u",&local_94,&local_90,local_88,\n                       local_88 + 1,local_88 + 2,local_88 + 3,&local_8c,local_a0,local_9c);\n        if ((((iVar4 == 9) && (local_94 == 4)) && (local_90 == 4)) && (local_8c == 2)) {\n          puVar5 = local_88;\n          do {\n            *puVar5 = *puVar5 & 0xff;\n            puVar5 = puVar5 + 1;\n          } while (puVar5 != local_88 + 4);\n          _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2);\n          uVar2 = local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3] | local_88[2] << 8;\n          _DAT_00126440 =\n               CONCAT44(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                        local_88[3] << 0x18,_DAT_00126440);\n          uVar1 = _DAT_00126440;\n          goto LAB_0010c540;\n        }\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n        goto LAB_0010c703;\n      }\n      iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u",\n                     &local_94,&local_90,local_88,local_88 + 1,local_88 + 2,local_88 + 3,\n                     local_88 + 4,local_88 + 5,local_88 + 6,local_88 + 7,local_88 + 8,local_88 + 9,\n                     local_88 + 10,local_88 + 0xb,local_88 + 0xc,local_88 + 0xd,local_88 + 0xe,\n                     local_88 + 0xf,&local_8c,local_a0,local_9c);\n      if (((iVar4 != 0x15) || (local_94 != 6)) || ((local_90 != 0x10 || (local_8c != 2)))) {\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n        goto LAB_0010c703;\n      }\n      puVar5 = local_88;\n      do {\n        *puVar5 = *puVar5 & 0xff;\n        puVar5 = puVar5 + 1;\n      } while (puVar5 != local_48);\n      _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,10);\n      uVar2 = local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3] | local_88[2] << 8;\n      uVar3 = local_88[4] << 0x18 | local_88[5] << 0x10 | local_88[7] | local_88[6] << 8;\n      _DAT_00126448 =\n           CONCAT44(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                    local_88[7] << 0x18,\n                    uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                    local_88[3] << 0x18);\n      uVar2 = local_88[8] << 0x18 | local_88[9] << 0x10 | local_88[0xb] | local_88[10] << 8;\n      uVar3 = local_88[0xc] << 0x18 | local_88[0xd] << 0x10 | local_88[0xf] | local_88[0xe] << 8;\n      _DAT_00126450 =\n           CONCAT44(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                    local_88[0xf] << 0x18,\n                    uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                    local_88[0xb] << 0x18);\n      uVar1 = _DAT_00126440;\n      goto LAB_0010c540;\n    }\n    puts("Passive mode refused.");\n  }\n  else {\n    if (DAT_00124200 == 10) {\n      iVar4 = FUN_0010bb32(&DAT_0011a450);\n      if (iVar4 == 2) {\nLAB_0010c336:\n        iVar4 = sscanf(&DAT_00127a80,"%u|",local_98);\n        if (iVar4 == 1) {\n          _DAT_00126440 = DAT_00124160;\n          uVar1 = _DAT_00126440;\n          _DAT_00126448 = DAT_00124168;\n          _DAT_00126450 = _DAT_00124170;\n          uRam0000000000126458 = uRam0000000000124178;\n          _DAT_00126460 = _DAT_00124180;\n          uRam0000000000126468 = uRam0000000000124188;\n          _DAT_00126470 = _DAT_00124190;\n          uRam0000000000126478 = uRam0000000000124198;\n          _DAT_00126480 = _DAT_001241a0;\n          uRam0000000000126488 = uRam00000000001241a8;\n          _DAT_00126490 = _DAT_001241b0;\n          uRam0000000000126498 = uRam00000000001241b8;\n          _DAT_001264a0 = _DAT_001241c0;\n          uRam00000000001264a8 = uRam00000000001241c8;\n          _DAT_001264b0 = _DAT_001241d0;\n          uRam00000000001264b8 = uRam00000000001241d8;\n          _DAT_00126444 = (undefined4)(DAT_00124160 >> 0x20);\n          if ((short)DAT_00124160 == 2) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,2);\n            uVar1 = _DAT_00126440;\n          }\n          else if ((short)DAT_00124160 == 10) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,10);\n            uVar1 = _DAT_00126440;\n          }\n          goto LAB_0010c540;\n        }\n        puts("Extended passive mode scan failure. Should not happen!");\n        FUN_0010bb32(&DAT_0011a479);\n      }\n      else {\n        iVar4 = FUN_0010bb32(&DAT_0011a45a);\n        if (iVar4 == 2) goto LAB_0010c62c;\n        puts("Passive mode refused.");\n      }\n      goto LAB_0010c703;\n    }\nLAB_0010c499:\n    if (DAT_00124200 == 2) {\n      iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u",&local_b0,&local_ac,&local_a8,local_a4,\n                     local_a0,local_9c);\n      if (iVar4 == 6) {\n        _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2);\n        _DAT_00126440 =\n             CONCAT44(local_b0 & 0xff | ((local_ac & 0xff) << 0x10) >> 8 | (local_a8 & 0xff) << 0x10\n                      | (uint)local_a4[0] << 0x18,_DAT_00126440);\n        uVar1 = _DAT_00126440;\nLAB_0010c540:\n        _DAT_00126440 = uVar1;\n        iVar4 = connect(DAT_001216e0,(sockaddr *)&DAT_00126440,DAT_001264c0);\n        if (-1 < iVar4) {\n          local_b4 = 8;\n          bVar7 = false;\n          if (DAT_00126440 == 2) {\n            iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);\n            if (iVar4 < 0) {\n              perror("ftp: setsockopt TOS (ignored)");\n            }\n          }\n          goto LAB_0010ca2b;\n        }\n        perror("ftp: connect");\n      }\n      else {\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n      }\n    }\n    else {\n      puts("Passive mode address scan failure. Shouldn\'t happen!");\n    }\n  }\nLAB_0010c703:\n  close(DAT_001216e0);\n  DAT_001216e0 = -1;\n  bVar7 = true;\nLAB_0010ca2b:\n  if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return bVar7;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail();\n}" primitive_type (function_declarator "FUN_0010c27f(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  ulong uVar1;\n  uint uVar2;\n  uint uVar3;\n  int iVar4;\n  uint *puVar5;\n  int *piVar6;\n  long in_FS_OFFSET;\n  bool bVar7;\n  undefined4 local_b4;\n  uint local_b0;\n  uint local_ac;\n  uint local_a8;\n  byte local_a4 [4];\n  ushort local_a0 [2];\n  byte local_9c [4];\n  ushort local_98 [2];\n  int local_94;\n  int local_90;\n  socklen_t local_8c;\n  uint local_88 [16];\n  uint local_48 [2];\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  local_b4 = 1;\n  if (DAT_00127ac4 == 0) {\n    bVar7 = false;\nLAB_0010cba4:\n    _DAT_00126448 = uRam0000000000124208;\n    _DAT_00126450 = _DAT_00124210;\n    uRam0000000000126458 = uRam0000000000124218;\n    _DAT_00126460 = _DAT_00124220;\n    uRam0000000000126468 = uRam0000000000124228;\n    _DAT_00126470 = _DAT_00124230;\n    uRam0000000000126478 = uRam0000000000124238;\n    _DAT_00126480 = _DAT_00124240;\n    uRam0000000000126488 = uRam0000000000124248;\n    _DAT_00126490 = _DAT_00124250;\n    uRam0000000000126498 = uRam0000000000124258;\n    _DAT_001264a0 = _DAT_00124260;\n    uRam00000000001264a8 = uRam0000000000124268;\n    _DAT_001264b0 = _DAT_00124270;\n    uRam00000000001264b8 = uRam0000000000124278;\n    uVar1 = CONCAT62(uRam0000000000124202,DAT_00124200);\n    if (DAT_00127b64 != 0) {\n      _DAT_00126444 = (undefined4)((uint6)uRam0000000000124202 >> 0x10);\n      if (DAT_00124200 == 2) {\n        _DAT_00126440 = CONCAT44(_DAT_00126444,2);\n        uVar1 = _DAT_00126440;\n      }\n      else if (DAT_00124200 == 10) {\n        _DAT_00126440 = CONCAT44(_DAT_00126444,10);\n        uVar1 = _DAT_00126440;\n      }\n    }\n    _DAT_00126440 = uVar1;\n    if (DAT_001216e0 != -1) {\n      close(DAT_001216e0);\n    }\n    DAT_001216e0 = socket((uint)DAT_00124200,1,0);\n    if (DAT_001216e0 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,"socket");\n      if (bVar7 == false) {\n        bVar7 = true;\n      }\n      else {\n        DAT_00127b64 = 1;\n      }\n      goto LAB_0010ca2b;\n    }\n    if (DAT_00127b64 == 0) {\n      iVar4 = setsockopt(DAT_001216e0,1,2,&local_b4,4);\n      if (-1 < iVar4) goto LAB_0010cc9e;\n      piVar6 = __errno_location();\n      error(0,*piVar6,"setsockopt (reuse address)");\nLAB_0010ca03:\n      close(DAT_001216e0);\n      DAT_001216e0 = -1;\n      if (bVar7 == false) {\n        bVar7 = true;\n      }\n      else {\n        DAT_00127b64 = 1;\n      }\n      goto LAB_0010ca2b;\n    }\nLAB_0010cc9e:\n    iVar4 = bind(DAT_001216e0,(sockaddr *)&DAT_00126440,DAT_001264c0);\n    if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,&DAT_0011a4df);\n      goto LAB_0010ca03;\n    }\n    if ((DAT_001267d0 & 1) != 0) {\n      iVar4 = setsockopt(DAT_001216e0,1,1,&local_b4,4);\n      if (iVar4 < 0) {\n        piVar6 = __errno_location();\n        if (*piVar6 != 0xd) {\n          error(0,*piVar6,"setsockopt DEBUG (ignored)");\n        }\n      }\n    }\n    local_8c = 0x80;\n    iVar4 = getsockname(DAT_001216e0,(sockaddr *)&DAT_00126440,&local_8c);\n    if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,"getsockname");\n      goto LAB_0010ca03;\n    }\n    iVar4 = listen(DAT_001216e0,1);\n    if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,"listen");\n    }\n    if (DAT_00127b64 == 0) {\n      if (bVar7 != false) {\n        DAT_00127b64 = 1;\n      }\n      local_b4 = 8;\n      bVar7 = false;\n      if (DAT_00126440 == 2) {\n        iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);\n        if (iVar4 < 0) {\n          piVar6 = __errno_location();\n          error(0,*piVar6,"setsockopt TOS (ignored)");\n        }\n      }\n      goto LAB_0010ca2b;\n    }\n    if ((DAT_00126440 == 2) && (DAT_001266e0 == 0)) {\n      bVar7 = true;\nLAB_0010cd36:\n      if (!bVar7) {\n        iVar4 = 2;\nLAB_0010cd3f:\n        bVar7 = iVar4 != 2;\n        goto LAB_0010ca2b;\n      }\nLAB_0010cd6c:\n      iVar4 = FUN_0010bb32("PORT %d,%d,%d,%d,%d,%d",DAT_00126444,DAT_00126445,DAT_00126446,\n                           DAT_00126447,DAT_00126442,_DAT_00126440 >> 0x18 & 0xff);\n    }\n    else {\n      getnameinfo((sockaddr *)&DAT_00126440,DAT_001264c0,&DAT_00121ec0,0x2e,&DAT_00121eb0,10,3);\n      iVar4 = FUN_0010bb32("EPRT |%d|%s|%s|",(DAT_00126440 != 2) + '\x01',&DAT_00121ec0,\n                           &DAT_00121eb0);\n      if (DAT_00126440 == 2) {\n        bVar7 = iVar4 != 2;\n        if ((DAT_001266e0 == 0) || (!bVar7)) goto LAB_0010cd36;\n        DAT_001266e0 = 0;\n        goto LAB_0010cd6c;\n      }\n    }\n    if (iVar4 == 2) goto LAB_0010cd3f;\n    if (DAT_00126440 == 2) {\n      iVar4 = FUN_0010bb32("LPRT 4,4,%u,%u,%u,%u,2,%u,%u",DAT_00126444,DAT_00126445,DAT_00126446,\n                           DAT_00126447,DAT_00126442,DAT_00126443);\n    }\n    else if (DAT_00126440 == 10) {\n      iVar4 = FUN_0010bb32("LPRT 6,16,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,2,%u,%u",\n                           DAT_00126448,DAT_00126449,DAT_0012644a,DAT_0012644b,DAT_0012644c,\n                           _DAT_00126448 >> 0x28 & 0xff,_DAT_00126448 >> 0x30 & 0xff,\n                           _DAT_00126448 >> 0x38,_DAT_00126450 & 0xff,_DAT_00126450 >> 8 & 0xff,\n                           _DAT_00126450 >> 0x10 & 0xff,_DAT_00126450 >> 0x18 & 0xff,\n                           _DAT_00126450 >> 0x20 & 0xff,_DAT_00126450 >> 0x28 & 0xff,\n                           _DAT_00126450 >> 0x30 & 0xff,_DAT_00126450 >> 0x38,DAT_00126442,\n                           DAT_00126443);\n    }\n    if ((iVar4 != 5) || (DAT_00127b64 != -1)) goto LAB_0010cd3f;\n    DAT_00127b64 = 0;\n    bVar7 = true;\n    goto LAB_0010cba4;\n  }\n  DAT_001216e0 = socket((uint)DAT_00124200,1,0);\n  if (DAT_001216e0 < 0) {\n    perror("ftp: socket");\n    bVar7 = true;\n    goto LAB_0010ca2b;\n  }\n  if ((DAT_001267d0 & 1) != 0) {\n    iVar4 = setsockopt(DAT_001216e0,1,1,&local_b4,4);\n    if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      if (*piVar6 != 0xd) {\n        error(0,*piVar6,"setsockopt DEBUG (ignored)");\n      }\n    }\n  }\n  if (DAT_00124200 == 2) {\n    if (DAT_001266e0 != 0) {\n      iVar4 = FUN_0010bb32(&DAT_0011a450);\n      if (iVar4 == 2) goto LAB_0010c336;\n      if (DAT_001266e0 != 0) {\n        DAT_001266e0 = 0;\n      }\n    }\n    iVar4 = FUN_0010bb32(&DAT_0011a455);\n    if (iVar4 == 2) goto LAB_0010c499;\n    iVar4 = FUN_0010bb32(&DAT_0011a45a);\n    if (iVar4 == 2) {\nLAB_0010c62c:\n      if (DAT_00124200 == 2) {\n        iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u,%u,%u,%u",&local_94,&local_90,local_88,\n                       local_88 + 1,local_88 + 2,local_88 + 3,&local_8c,local_a0,local_9c);\n        if ((((iVar4 == 9) && (local_94 == 4)) && (local_90 == 4)) && (local_8c == 2)) {\n          puVar5 = local_88;\n          do {\n            *puVar5 = *puVar5 & 0xff;\n            puVar5 = puVar5 + 1;\n          } while (puVar5 != local_88 + 4);\n          _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2);\n          uVar2 = local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3] | local_88[2] << 8;\n          _DAT_00126440 =\n               CONCAT44(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                        local_88[3] << 0x18,_DAT_00126440);\n          uVar1 = _DAT_00126440;\n          goto LAB_0010c540;\n        }\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n        goto LAB_0010c703;\n      }\n      iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u",\n                     &local_94,&local_90,local_88,local_88 + 1,local_88 + 2,local_88 + 3,\n                     local_88 + 4,local_88 + 5,local_88 + 6,local_88 + 7,local_88 + 8,local_88 + 9,\n                     local_88 + 10,local_88 + 0xb,local_88 + 0xc,local_88 + 0xd,local_88 + 0xe,\n                     local_88 + 0xf,&local_8c,local_a0,local_9c);\n      if (((iVar4 != 0x15) || (local_94 != 6)) || ((local_90 != 0x10 || (local_8c != 2)))) {\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n        goto LAB_0010c703;\n      }\n      puVar5 = local_88;\n      do {\n        *puVar5 = *puVar5 & 0xff;\n        puVar5 = puVar5 + 1;\n      } while (puVar5 != local_48);\n      _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,10);\n      uVar2 = local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3] | local_88[2] << 8;\n      uVar3 = local_88[4] << 0x18 | local_88[5] << 0x10 | local_88[7] | local_88[6] << 8;\n      _DAT_00126448 =\n           CONCAT44(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                    local_88[7] << 0x18,\n                    uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                    local_88[3] << 0x18);\n      uVar2 = local_88[8] << 0x18 | local_88[9] << 0x10 | local_88[0xb] | local_88[10] << 8;\n      uVar3 = local_88[0xc] << 0x18 | local_88[0xd] << 0x10 | local_88[0xf] | local_88[0xe] << 8;\n      _DAT_00126450 =\n           CONCAT44(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                    local_88[0xf] << 0x18,\n                    uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                    local_88[0xb] << 0x18);\n      uVar1 = _DAT_00126440;\n      goto LAB_0010c540;\n    }\n    puts("Passive mode refused.");\n  }\n  else {\n    if (DAT_00124200 == 10) {\n      iVar4 = FUN_0010bb32(&DAT_0011a450);\n      if (iVar4 == 2) {\nLAB_0010c336:\n        iVar4 = sscanf(&DAT_00127a80,"%u|",local_98);\n        if (iVar4 == 1) {\n          _DAT_00126440 = DAT_00124160;\n          uVar1 = _DAT_00126440;\n          _DAT_00126448 = DAT_00124168;\n          _DAT_00126450 = _DAT_00124170;\n          uRam0000000000126458 = uRam0000000000124178;\n          _DAT_00126460 = _DAT_00124180;\n          uRam0000000000126468 = uRam0000000000124188;\n          _DAT_00126470 = _DAT_00124190;\n          uRam0000000000126478 = uRam0000000000124198;\n          _DAT_00126480 = _DAT_001241a0;\n          uRam0000000000126488 = uRam00000000001241a8;\n          _DAT_00126490 = _DAT_001241b0;\n          uRam0000000000126498 = uRam00000000001241b8;\n          _DAT_001264a0 = _DAT_001241c0;\n          uRam00000000001264a8 = uRam00000000001241c8;\n          _DAT_001264b0 = _DAT_001241d0;\n          uRam00000000001264b8 = uRam00000000001241d8;\n          _DAT_00126444 = (undefined4)(DAT_00124160 >> 0x20);\n          if ((short)DAT_00124160 == 2) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,2);\n            uVar1 = _DAT_00126440;\n          }\n          else if ((short)DAT_00124160 == 10) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,10);\n            uVar1 = _DAT_00126440;\n          }\n          goto LAB_0010c540;\n        }\n        puts("Extended passive mode scan failure. Should not happen!");\n        FUN_0010bb32(&DAT_0011a479);\n      }\n      else {\n        iVar4 = FUN_0010bb32(&DAT_0011a45a);\n        if (iVar4 == 2) goto LAB_0010c62c;\n        puts("Passive mode refused.");\n      }\n      goto LAB_0010c703;\n    }\nLAB_0010c499:\n    if (DAT_00124200 == 2) {\n      iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u",&local_b0,&local_ac,&local_a8,local_a4,\n                     local_a0,local_9c);\n      if (iVar4 == 6) {\n        _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2);\n        _DAT_00126440 =\n             CONCAT44(local_b0 & 0xff | ((local_ac & 0xff) << 0x10) >> 8 | (local_a8 & 0xff) << 0x10\n                      | (uint)local_a4[0] << 0x18,_DAT_00126440);\n        uVar1 = _DAT_00126440;\nLAB_0010c540:\n        _DAT_00126440 = uVar1;\n        iVar4 = connect(DAT_001216e0,(sockaddr *)&DAT_00126440,DAT_001264c0);\n        if (-1 < iVar4) {\n          local_b4 = 8;\n          bVar7 = false;\n          if (DAT_00126440 == 2) {\n            iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);\n            if (iVar4 < 0) {\n              perror("ftp: setsockopt TOS (ignored)");\n            }\n          }\n          goto LAB_0010ca2b;\n        }\n        perror("ftp: connect");\n      }\n      else {\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n      }\n    }\n    else {\n      puts("Passive mode address scan failure. Shouldn\'t happen!");\n    }\n  }\nLAB_0010c703:\n  close(DAT_001216e0);\n  DAT_001216e0 = -1;\n  bVar7 = true;\nLAB_0010ca2b:\n  if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return bVar7;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail();\n}" { (declaration "ulong uVar1;" type_identifier identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "uint *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "int *piVar6;" primitive_type (pointer_declarator "*piVar6" * identifier) ;) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" long) identifier ;) (declaration "bool bVar7;" primitive_type identifier ;) (declaration "undefined4 local_b4;" type_identifier identifier ;) (declaration "uint local_b0;" type_identifier identifier ;) (declaration "uint local_ac;" type_identifier identifier ;) (declaration "uint local_a8;" type_identifier identifier ;) (declaration "byte local_a4 [4];" type_identifier (array_declarator "local_a4 [4]" identifier [ number_literal ]) ;) (declaration "ushort local_a0 [2];" type_identifier (array_declarator "local_a0 [2]" identifier [ number_literal ]) ;) (declaration "byte local_9c [4];" type_identifier (array_declarator "local_9c [4]" identifier [ number_literal ]) ;) (declaration "ushort local_98 [2];" type_identifier (array_declarator "local_98 [2]" identifier [ number_literal ]) ;) (declaration "int local_94;" primitive_type identifier ;) (declaration "int local_90;" primitive_type identifier ;) (declaration "socklen_t local_8c;" type_identifier identifier ;) (declaration "uint local_88 [16];" type_identifier (array_declarator "local_88 [16]" identifier [ number_literal ]) ;) (declaration "uint local_48 [2];" type_identifier (array_declarator "local_48 [2]" identifier [ number_literal ]) ;) (declaration "long local_40;" (sized_type_specifier "long" long) identifier ;) (expression_statement "local_40 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "local_40 = *(long *)(in_FS_OFFSET + 0x28)" identifier = (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) ;) (expression_statement "local_b4 = 1;" (assignment_expression "local_b4 = 1" identifier = number_literal) ;) (if_statement "if (DAT_00127ac4 == 0) {\n    bVar7 = false;\nLAB_0010cba4:\n    _DAT_00126448 = uRam0000000000124208;\n    _DAT_00126450 = _DAT_00124210;\n    uRam0000000000126458 = uRam0000000000124218;\n    _DAT_00126460 = _DAT_00124220;\n    uRam0000000000126468 = uRam0000000000124228;\n    _DAT_00126470 = _DAT_00124230;\n    uRam0000000000126478 = uRam0000000000124238;\n    _DAT_00126480 = _DAT_00124240;\n    uRam0000000000126488 = uRam0000000000124248;\n    _DAT_00126490 = _DAT_00124250;\n    uRam0000000000126498 = uRam0000000000124258;\n    _DAT_001264a0 = _DAT_00124260;\n    uRam00000000001264a8 = uRam0000000000124268;\n    _DAT_001264b0 = _DAT_00124270;\n    uRam00000000001264b8 = uRam0000000000124278;\n    uVar1 = CONCAT62(uRam0000000000124202,DAT_00124200);\n    if (DAT_00127b64 != 0) {\n      _DAT_00126444 = (undefined4)((uint6)uRam0000000000124202 >> 0x10);\n      if (DAT_00124200 == 2) {\n        _DAT_00126440 = CONCAT44(_DAT_00126444,2);\n        uVar1 = _DAT_00126440;\n      }\n      else if (DAT_00124200 == 10) {\n        _DAT_00126440 = CONCAT44(_DAT_00126444,10);\n        uVar1 = _DAT_00126440;\n      }\n    }\n    _DAT_00126440 = uVar1;\n    if (DAT_001216e0 != -1) {\n      close(DAT_001216e0);\n    }\n    DAT_001216e0 = socket((uint)DAT_00124200,1,0);\n    if (DAT_001216e0 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,"socket");\n      if (bVar7 == false) {\n        bVar7 = true;\n      }\n      else {\n        DAT_00127b64 = 1;\n      }\n      goto LAB_0010ca2b;\n    }\n    if (DAT_00127b64 == 0) {\n      iVar4 = setsockopt(DAT_001216e0,1,2,&local_b4,4);\n      if (-1 < iVar4) goto LAB_0010cc9e;\n      piVar6 = __errno_location();\n      error(0,*piVar6,"setsockopt (reuse address)");\nLAB_0010ca03:\n      close(DAT_001216e0);\n      DAT_001216e0 = -1;\n      if (bVar7 == false) {\n        bVar7 = true;\n      }\n      else {\n        DAT_00127b64 = 1;\n      }\n      goto LAB_0010ca2b;\n    }\nLAB_0010cc9e:\n    iVar4 = bind(DAT_001216e0,(sockaddr *)&DAT_00126440,DAT_001264c0);\n    if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,&DAT_0011a4df);\n      goto LAB_0010ca03;\n    }\n    if ((DAT_001267d0 & 1) != 0) {\n      iVar4 = setsockopt(DAT_001216e0,1,1,&local_b4,4);\n      if (iVar4 < 0) {\n        piVar6 = __errno_location();\n        if (*piVar6 != 0xd) {\n          error(0,*piVar6,"setsockopt DEBUG (ignored)");\n        }\n      }\n    }\n    local_8c = 0x80;\n    iVar4 = getsockname(DAT_001216e0,(sockaddr *)&DAT_00126440,&local_8c);\n    if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,"getsockname");\n      goto LAB_0010ca03;\n    }\n    iVar4 = listen(DAT_001216e0,1);\n    if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,"listen");\n    }\n    if (DAT_00127b64 == 0) {\n      if (bVar7 != false) {\n        DAT_00127b64 = 1;\n      }\n      local_b4 = 8;\n      bVar7 = false;\n      if (DAT_00126440 == 2) {\n        iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);\n        if (iVar4 < 0) {\n          piVar6 = __errno_location();\n          error(0,*piVar6,"setsockopt TOS (ignored)");\n        }\n      }\n      goto LAB_0010ca2b;\n    }\n    if ((DAT_00126440 == 2) && (DAT_001266e0 == 0)) {\n      bVar7 = true;\nLAB_0010cd36:\n      if (!bVar7) {\n        iVar4 = 2;\nLAB_0010cd3f:\n        bVar7 = iVar4 != 2;\n        goto LAB_0010ca2b;\n      }\nLAB_0010cd6c:\n      iVar4 = FUN_0010bb32("PORT %d,%d,%d,%d,%d,%d",DAT_00126444,DAT_00126445,DAT_00126446,\n                           DAT_00126447,DAT_00126442,_DAT_00126440 >> 0x18 & 0xff);\n    }\n    else {\n      getnameinfo((sockaddr *)&DAT_00126440,DAT_001264c0,&DAT_00121ec0,0x2e,&DAT_00121eb0,10,3);\n      iVar4 = FUN_0010bb32("EPRT |%d|%s|%s|",(DAT_00126440 != 2) + '\x01',&DAT_00121ec0,\n                           &DAT_00121eb0);\n      if (DAT_00126440 == 2) {\n        bVar7 = iVar4 != 2;\n        if ((DAT_001266e0 == 0) || (!bVar7)) goto LAB_0010cd36;\n        DAT_001266e0 = 0;\n        goto LAB_0010cd6c;\n      }\n    }\n    if (iVar4 == 2) goto LAB_0010cd3f;\n    if (DAT_00126440 == 2) {\n      iVar4 = FUN_0010bb32("LPRT 4,4,%u,%u,%u,%u,2,%u,%u",DAT_00126444,DAT_00126445,DAT_00126446,\n                           DAT_00126447,DAT_00126442,DAT_00126443);\n    }\n    else if (DAT_00126440 == 10) {\n      iVar4 = FUN_0010bb32("LPRT 6,16,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,2,%u,%u",\n                           DAT_00126448,DAT_00126449,DAT_0012644a,DAT_0012644b,DAT_0012644c,\n                           _DAT_00126448 >> 0x28 & 0xff,_DAT_00126448 >> 0x30 & 0xff,\n                           _DAT_00126448 >> 0x38,_DAT_00126450 & 0xff,_DAT_00126450 >> 8 & 0xff,\n                           _DAT_00126450 >> 0x10 & 0xff,_DAT_00126450 >> 0x18 & 0xff,\n                           _DAT_00126450 >> 0x20 & 0xff,_DAT_00126450 >> 0x28 & 0xff,\n                           _DAT_00126450 >> 0x30 & 0xff,_DAT_00126450 >> 0x38,DAT_00126442,\n                           DAT_00126443);\n    }\n    if ((iVar4 != 5) || (DAT_00127b64 != -1)) goto LAB_0010cd3f;\n    DAT_00127b64 = 0;\n    bVar7 = true;\n    goto LAB_0010cba4;\n  }" if (parenthesized_expression "(DAT_00127ac4 == 0)" ( (binary_expression "DAT_00127ac4 == 0" identifier == number_literal) )) (compound_statement "{\n    bVar7 = false;\nLAB_0010cba4:\n    _DAT_00126448 = uRam0000000000124208;\n    _DAT_00126450 = _DAT_00124210;\n    uRam0000000000126458 = uRam0000000000124218;\n    _DAT_00126460 = _DAT_00124220;\n    uRam0000000000126468 = uRam0000000000124228;\n    _DAT_00126470 = _DAT_00124230;\n    uRam0000000000126478 = uRam0000000000124238;\n    _DAT_00126480 = _DAT_00124240;\n    uRam0000000000126488 = uRam0000000000124248;\n    _DAT_00126490 = _DAT_00124250;\n    uRam0000000000126498 = uRam0000000000124258;\n    _DAT_001264a0 = _DAT_00124260;\n    uRam00000000001264a8 = uRam0000000000124268;\n    _DAT_001264b0 = _DAT_00124270;\n    uRam00000000001264b8 = uRam0000000000124278;\n    uVar1 = CONCAT62(uRam0000000000124202,DAT_00124200);\n    if (DAT_00127b64 != 0) {\n      _DAT_00126444 = (undefined4)((uint6)uRam0000000000124202 >> 0x10);\n      if (DAT_00124200 == 2) {\n        _DAT_00126440 = CONCAT44(_DAT_00126444,2);\n        uVar1 = _DAT_00126440;\n      }\n      else if (DAT_00124200 == 10) {\n        _DAT_00126440 = CONCAT44(_DAT_00126444,10);\n        uVar1 = _DAT_00126440;\n      }\n    }\n    _DAT_00126440 = uVar1;\n    if (DAT_001216e0 != -1) {\n      close(DAT_001216e0);\n    }\n    DAT_001216e0 = socket((uint)DAT_00124200,1,0);\n    if (DAT_001216e0 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,"socket");\n      if (bVar7 == false) {\n        bVar7 = true;\n      }\n      else {\n        DAT_00127b64 = 1;\n      }\n      goto LAB_0010ca2b;\n    }\n    if (DAT_00127b64 == 0) {\n      iVar4 = setsockopt(DAT_001216e0,1,2,&local_b4,4);\n      if (-1 < iVar4) goto LAB_0010cc9e;\n      piVar6 = __errno_location();\n      error(0,*piVar6,"setsockopt (reuse address)");\nLAB_0010ca03:\n      close(DAT_001216e0);\n      DAT_001216e0 = -1;\n      if (bVar7 == false) {\n        bVar7 = true;\n      }\n      else {\n        DAT_00127b64 = 1;\n      }\n      goto LAB_0010ca2b;\n    }\nLAB_0010cc9e:\n    iVar4 = bind(DAT_001216e0,(sockaddr *)&DAT_00126440,DAT_001264c0);\n    if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,&DAT_0011a4df);\n      goto LAB_0010ca03;\n    }\n    if ((DAT_001267d0 & 1) != 0) {\n      iVar4 = setsockopt(DAT_001216e0,1,1,&local_b4,4);\n      if (iVar4 < 0) {\n        piVar6 = __errno_location();\n        if (*piVar6 != 0xd) {\n          error(0,*piVar6,"setsockopt DEBUG (ignored)");\n        }\n      }\n    }\n    local_8c = 0x80;\n    iVar4 = getsockname(DAT_001216e0,(sockaddr *)&DAT_00126440,&local_8c);\n    if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,"getsockname");\n      goto LAB_0010ca03;\n    }\n    iVar4 = listen(DAT_001216e0,1);\n    if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,"listen");\n    }\n    if (DAT_00127b64 == 0) {\n      if (bVar7 != false) {\n        DAT_00127b64 = 1;\n      }\n      local_b4 = 8;\n      bVar7 = false;\n      if (DAT_00126440 == 2) {\n        iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);\n        if (iVar4 < 0) {\n          piVar6 = __errno_location();\n          error(0,*piVar6,"setsockopt TOS (ignored)");\n        }\n      }\n      goto LAB_0010ca2b;\n    }\n    if ((DAT_00126440 == 2) && (DAT_001266e0 == 0)) {\n      bVar7 = true;\nLAB_0010cd36:\n      if (!bVar7) {\n        iVar4 = 2;\nLAB_0010cd3f:\n        bVar7 = iVar4 != 2;\n        goto LAB_0010ca2b;\n      }\nLAB_0010cd6c:\n      iVar4 = FUN_0010bb32("PORT %d,%d,%d,%d,%d,%d",DAT_00126444,DAT_00126445,DAT_00126446,\n                           DAT_00126447,DAT_00126442,_DAT_00126440 >> 0x18 & 0xff);\n    }\n    else {\n      getnameinfo((sockaddr *)&DAT_00126440,DAT_001264c0,&DAT_00121ec0,0x2e,&DAT_00121eb0,10,3);\n      iVar4 = FUN_0010bb32("EPRT |%d|%s|%s|",(DAT_00126440 != 2) + '\x01',&DAT_00121ec0,\n                           &DAT_00121eb0);\n      if (DAT_00126440 == 2) {\n        bVar7 = iVar4 != 2;\n        if ((DAT_001266e0 == 0) || (!bVar7)) goto LAB_0010cd36;\n        DAT_001266e0 = 0;\n        goto LAB_0010cd6c;\n      }\n    }\n    if (iVar4 == 2) goto LAB_0010cd3f;\n    if (DAT_00126440 == 2) {\n      iVar4 = FUN_0010bb32("LPRT 4,4,%u,%u,%u,%u,2,%u,%u",DAT_00126444,DAT_00126445,DAT_00126446,\n                           DAT_00126447,DAT_00126442,DAT_00126443);\n    }\n    else if (DAT_00126440 == 10) {\n      iVar4 = FUN_0010bb32("LPRT 6,16,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,2,%u,%u",\n                           DAT_00126448,DAT_00126449,DAT_0012644a,DAT_0012644b,DAT_0012644c,\n                           _DAT_00126448 >> 0x28 & 0xff,_DAT_00126448 >> 0x30 & 0xff,\n                           _DAT_00126448 >> 0x38,_DAT_00126450 & 0xff,_DAT_00126450 >> 8 & 0xff,\n                           _DAT_00126450 >> 0x10 & 0xff,_DAT_00126450 >> 0x18 & 0xff,\n                           _DAT_00126450 >> 0x20 & 0xff,_DAT_00126450 >> 0x28 & 0xff,\n                           _DAT_00126450 >> 0x30 & 0xff,_DAT_00126450 >> 0x38,DAT_00126442,\n                           DAT_00126443);\n    }\n    if ((iVar4 != 5) || (DAT_00127b64 != -1)) goto LAB_0010cd3f;\n    DAT_00127b64 = 0;\n    bVar7 = true;\n    goto LAB_0010cba4;\n  }" { (expression_statement "bVar7 = false;" (assignment_expression "bVar7 = false" identifier = false) ;) (labeled_statement "LAB_0010cba4:\n    _DAT_00126448 = uRam0000000000124208;" statement_identifier : (expression_statement "_DAT_00126448 = uRam0000000000124208;" (assignment_expression "_DAT_00126448 = uRam0000000000124208" identifier = identifier) ;)) (expression_statement "_DAT_00126450 = _DAT_00124210;" (assignment_expression "_DAT_00126450 = _DAT_00124210" identifier = identifier) ;) (expression_statement "uRam0000000000126458 = uRam0000000000124218;" (assignment_expression "uRam0000000000126458 = uRam0000000000124218" identifier = identifier) ;) (expression_statement "_DAT_00126460 = _DAT_00124220;" (assignment_expression "_DAT_00126460 = _DAT_00124220" identifier = identifier) ;) (expression_statement "uRam0000000000126468 = uRam0000000000124228;" (assignment_expression "uRam0000000000126468 = uRam0000000000124228" identifier = identifier) ;) (expression_statement "_DAT_00126470 = _DAT_00124230;" (assignment_expression "_DAT_00126470 = _DAT_00124230" identifier = identifier) ;) (expression_statement "uRam0000000000126478 = uRam0000000000124238;" (assignment_expression "uRam0000000000126478 = uRam0000000000124238" identifier = identifier) ;) (expression_statement "_DAT_00126480 = _DAT_00124240;" (assignment_expression "_DAT_00126480 = _DAT_00124240" identifier = identifier) ;) (expression_statement "uRam0000000000126488 = uRam0000000000124248;" (assignment_expression "uRam0000000000126488 = uRam0000000000124248" identifier = identifier) ;) (expression_statement "_DAT_00126490 = _DAT_00124250;" (assignment_expression "_DAT_00126490 = _DAT_00124250" identifier = identifier) ;) (expression_statement "uRam0000000000126498 = uRam0000000000124258;" (assignment_expression "uRam0000000000126498 = uRam0000000000124258" identifier = identifier) ;) (expression_statement "_DAT_001264a0 = _DAT_00124260;" (assignment_expression "_DAT_001264a0 = _DAT_00124260" identifier = identifier) ;) (expression_statement "uRam00000000001264a8 = uRam0000000000124268;" (assignment_expression "uRam00000000001264a8 = uRam0000000000124268" identifier = identifier) ;) (expression_statement "_DAT_001264b0 = _DAT_00124270;" (assignment_expression "_DAT_001264b0 = _DAT_00124270" identifier = identifier) ;) (expression_statement "uRam00000000001264b8 = uRam0000000000124278;" (assignment_expression "uRam00000000001264b8 = uRam0000000000124278" identifier = identifier) ;) (expression_statement "uVar1 = CONCAT62(uRam0000000000124202,DAT_00124200);" (assignment_expression "uVar1 = CONCAT62(uRam0000000000124202,DAT_00124200)" identifier = (call_expression "CONCAT62(uRam0000000000124202,DAT_00124200)" identifier (argument_list "(uRam0000000000124202,DAT_00124200)" ( identifier , identifier )))) ;) (if_statement "if (DAT_00127b64 != 0) {\n      _DAT_00126444 = (undefined4)((uint6)uRam0000000000124202 >> 0x10);\n      if (DAT_00124200 == 2) {\n        _DAT_00126440 = CONCAT44(_DAT_00126444,2);\n        uVar1 = _DAT_00126440;\n      }\n      else if (DAT_00124200 == 10) {\n        _DAT_00126440 = CONCAT44(_DAT_00126444,10);\n        uVar1 = _DAT_00126440;\n      }\n    }" if (parenthesized_expression "(DAT_00127b64 != 0)" ( (binary_expression "DAT_00127b64 != 0" identifier != number_literal) )) (compound_statement "{\n      _DAT_00126444 = (undefined4)((uint6)uRam0000000000124202 >> 0x10);\n      if (DAT_00124200 == 2) {\n        _DAT_00126440 = CONCAT44(_DAT_00126444,2);\n        uVar1 = _DAT_00126440;\n      }\n      else if (DAT_00124200 == 10) {\n        _DAT_00126440 = CONCAT44(_DAT_00126444,10);\n        uVar1 = _DAT_00126440;\n      }\n    }" { (expression_statement "_DAT_00126444 = (undefined4)((uint6)uRam0000000000124202 >> 0x10);" (assignment_expression "_DAT_00126444 = (undefined4)((uint6)uRam0000000000124202 >> 0x10)" identifier = (call_expression "(undefined4)((uint6)uRam0000000000124202 >> 0x10)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "((uint6)uRam0000000000124202 >> 0x10)" ( (binary_expression "(uint6)uRam0000000000124202 >> 0x10" (cast_expression "(uint6)uRam0000000000124202" ( (type_descriptor "uint6" type_identifier) ) identifier) >> number_literal) )))) ;) (if_statement "if (DAT_00124200 == 2) {\n        _DAT_00126440 = CONCAT44(_DAT_00126444,2);\n        uVar1 = _DAT_00126440;\n      }\n      else if (DAT_00124200 == 10) {\n        _DAT_00126440 = CONCAT44(_DAT_00126444,10);\n        uVar1 = _DAT_00126440;\n      }" if (parenthesized_expression "(DAT_00124200 == 2)" ( (binary_expression "DAT_00124200 == 2" identifier == number_literal) )) (compound_statement "{\n        _DAT_00126440 = CONCAT44(_DAT_00126444,2);\n        uVar1 = _DAT_00126440;\n      }" { (expression_statement "_DAT_00126440 = CONCAT44(_DAT_00126444,2);" (assignment_expression "_DAT_00126440 = CONCAT44(_DAT_00126444,2)" identifier = (call_expression "CONCAT44(_DAT_00126444,2)" identifier (argument_list "(_DAT_00126444,2)" ( identifier , number_literal )))) ;) (expression_statement "uVar1 = _DAT_00126440;" (assignment_expression "uVar1 = _DAT_00126440" identifier = identifier) ;) }) (else_clause "else if (DAT_00124200 == 10) {\n        _DAT_00126440 = CONCAT44(_DAT_00126444,10);\n        uVar1 = _DAT_00126440;\n      }" else (if_statement "if (DAT_00124200 == 10) {\n        _DAT_00126440 = CONCAT44(_DAT_00126444,10);\n        uVar1 = _DAT_00126440;\n      }" if (parenthesized_expression "(DAT_00124200 == 10)" ( (binary_expression "DAT_00124200 == 10" identifier == number_literal) )) (compound_statement "{\n        _DAT_00126440 = CONCAT44(_DAT_00126444,10);\n        uVar1 = _DAT_00126440;\n      }" { (expression_statement "_DAT_00126440 = CONCAT44(_DAT_00126444,10);" (assignment_expression "_DAT_00126440 = CONCAT44(_DAT_00126444,10)" identifier = (call_expression "CONCAT44(_DAT_00126444,10)" identifier (argument_list "(_DAT_00126444,10)" ( identifier , number_literal )))) ;) (expression_statement "uVar1 = _DAT_00126440;" (assignment_expression "uVar1 = _DAT_00126440" identifier = identifier) ;) })))) })) (expression_statement "_DAT_00126440 = uVar1;" (assignment_expression "_DAT_00126440 = uVar1" identifier = identifier) ;) (if_statement "if (DAT_001216e0 != -1) {\n      close(DAT_001216e0);\n    }" if (parenthesized_expression "(DAT_001216e0 != -1)" ( (binary_expression "DAT_001216e0 != -1" identifier != number_literal) )) (compound_statement "{\n      close(DAT_001216e0);\n    }" { (expression_statement "close(DAT_001216e0);" (call_expression "close(DAT_001216e0)" identifier (argument_list "(DAT_001216e0)" ( identifier ))) ;) })) (expression_statement "DAT_001216e0 = socket((uint)DAT_00124200,1,0);" (assignment_expression "DAT_001216e0 = socket((uint)DAT_00124200,1,0)" identifier = (call_expression "socket((uint)DAT_00124200,1,0)" identifier (argument_list "((uint)DAT_00124200,1,0)" ( (cast_expression "(uint)DAT_00124200" ( (type_descriptor "uint" type_identifier) ) identifier) , number_literal , number_literal )))) ;) (if_statement "if (DAT_001216e0 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,"socket");\n      if (bVar7 == false) {\n        bVar7 = true;\n      }\n      else {\n        DAT_00127b64 = 1;\n      }\n      goto LAB_0010ca2b;\n    }" if (parenthesized_expression "(DAT_001216e0 < 0)" ( (binary_expression "DAT_001216e0 < 0" identifier < number_literal) )) (compound_statement "{\n      piVar6 = __errno_location();\n      error(0,*piVar6,"socket");\n      if (bVar7 == false) {\n        bVar7 = true;\n      }\n      else {\n        DAT_00127b64 = 1;\n      }\n      goto LAB_0010ca2b;\n    }" { (expression_statement "piVar6 = __errno_location();" (assignment_expression "piVar6 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "error(0,*piVar6,"socket");" (call_expression "error(0,*piVar6,"socket")" identifier (argument_list "(0,*piVar6,"socket")" ( number_literal , (pointer_expression "*piVar6" * identifier) , (string_literal ""socket"" " string_content ") ))) ;) (if_statement "if (bVar7 == false) {\n        bVar7 = true;\n      }\n      else {\n        DAT_00127b64 = 1;\n      }" if (parenthesized_expression "(bVar7 == false)" ( (binary_expression "bVar7 == false" identifier == false) )) (compound_statement "{\n        bVar7 = true;\n      }" { (expression_statement "bVar7 = true;" (assignment_expression "bVar7 = true" identifier = true) ;) }) (else_clause "else {\n        DAT_00127b64 = 1;\n      }" else (compound_statement "{\n        DAT_00127b64 = 1;\n      }" { (expression_statement "DAT_00127b64 = 1;" (assignment_expression "DAT_00127b64 = 1" identifier = number_literal) ;) }))) (goto_statement "goto LAB_0010ca2b;" goto statement_identifier ;) })) (if_statement "if (DAT_00127b64 == 0) {\n      iVar4 = setsockopt(DAT_001216e0,1,2,&local_b4,4);\n      if (-1 < iVar4) goto LAB_0010cc9e;\n      piVar6 = __errno_location();\n      error(0,*piVar6,"setsockopt (reuse address)");\nLAB_0010ca03:\n      close(DAT_001216e0);\n      DAT_001216e0 = -1;\n      if (bVar7 == false) {\n        bVar7 = true;\n      }\n      else {\n        DAT_00127b64 = 1;\n      }\n      goto LAB_0010ca2b;\n    }" if (parenthesized_expression "(DAT_00127b64 == 0)" ( (binary_expression "DAT_00127b64 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar4 = setsockopt(DAT_001216e0,1,2,&local_b4,4);\n      if (-1 < iVar4) goto LAB_0010cc9e;\n      piVar6 = __errno_location();\n      error(0,*piVar6,"setsockopt (reuse address)");\nLAB_0010ca03:\n      close(DAT_001216e0);\n      DAT_001216e0 = -1;\n      if (bVar7 == false) {\n        bVar7 = true;\n      }\n      else {\n        DAT_00127b64 = 1;\n      }\n      goto LAB_0010ca2b;\n    }" { (expression_statement "iVar4 = setsockopt(DAT_001216e0,1,2,&local_b4,4);" (assignment_expression "iVar4 = setsockopt(DAT_001216e0,1,2,&local_b4,4)" identifier = (call_expression "setsockopt(DAT_001216e0,1,2,&local_b4,4)" identifier (argument_list "(DAT_001216e0,1,2,&local_b4,4)" ( identifier , number_literal , number_literal , (pointer_expression "&local_b4" & identifier) , number_literal )))) ;) (if_statement "if (-1 < iVar4) goto LAB_0010cc9e;" if (parenthesized_expression "(-1 < iVar4)" ( (binary_expression "-1 < iVar4" number_literal < identifier) )) (goto_statement "goto LAB_0010cc9e;" goto statement_identifier ;)) (expression_statement "piVar6 = __errno_location();" (assignment_expression "piVar6 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "error(0,*piVar6,"setsockopt (reuse address)");" (call_expression "error(0,*piVar6,"setsockopt (reuse address)")" identifier (argument_list "(0,*piVar6,"setsockopt (reuse address)")" ( number_literal , (pointer_expression "*piVar6" * identifier) , (string_literal ""setsockopt (reuse address)"" " string_content ") ))) ;) (labeled_statement "LAB_0010ca03:\n      close(DAT_001216e0);" statement_identifier : (expression_statement "close(DAT_001216e0);" (call_expression "close(DAT_001216e0)" identifier (argument_list "(DAT_001216e0)" ( identifier ))) ;)) (expression_statement "DAT_001216e0 = -1;" (assignment_expression "DAT_001216e0 = -1" identifier = number_literal) ;) (if_statement "if (bVar7 == false) {\n        bVar7 = true;\n      }\n      else {\n        DAT_00127b64 = 1;\n      }" if (parenthesized_expression "(bVar7 == false)" ( (binary_expression "bVar7 == false" identifier == false) )) (compound_statement "{\n        bVar7 = true;\n      }" { (expression_statement "bVar7 = true;" (assignment_expression "bVar7 = true" identifier = true) ;) }) (else_clause "else {\n        DAT_00127b64 = 1;\n      }" else (compound_statement "{\n        DAT_00127b64 = 1;\n      }" { (expression_statement "DAT_00127b64 = 1;" (assignment_expression "DAT_00127b64 = 1" identifier = number_literal) ;) }))) (goto_statement "goto LAB_0010ca2b;" goto statement_identifier ;) })) (labeled_statement "LAB_0010cc9e:\n    iVar4 = bind(DAT_001216e0,(sockaddr *)&DAT_00126440,DAT_001264c0);" statement_identifier : (expression_statement "iVar4 = bind(DAT_001216e0,(sockaddr *)&DAT_00126440,DAT_001264c0);" (assignment_expression "iVar4 = bind(DAT_001216e0,(sockaddr *)&DAT_00126440,DAT_001264c0)" identifier = (call_expression "bind(DAT_001216e0,(sockaddr *)&DAT_00126440,DAT_001264c0)" identifier (argument_list "(DAT_001216e0,(sockaddr *)&DAT_00126440,DAT_001264c0)" ( identifier , (cast_expression "(sockaddr *)&DAT_00126440" ( (type_descriptor "sockaddr *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00126440" & identifier)) , identifier )))) ;)) (if_statement "if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,&DAT_0011a4df);\n      goto LAB_0010ca03;\n    }" if (parenthesized_expression "(iVar4 < 0)" ( (binary_expression "iVar4 < 0" identifier < number_literal) )) (compound_statement "{\n      piVar6 = __errno_location();\n      error(0,*piVar6,&DAT_0011a4df);\n      goto LAB_0010ca03;\n    }" { (expression_statement "piVar6 = __errno_location();" (assignment_expression "piVar6 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "error(0,*piVar6,&DAT_0011a4df);" (call_expression "error(0,*piVar6,&DAT_0011a4df)" identifier (argument_list "(0,*piVar6,&DAT_0011a4df)" ( number_literal , (pointer_expression "*piVar6" * identifier) , (pointer_expression "&DAT_0011a4df" & identifier) ))) ;) (goto_statement "goto LAB_0010ca03;" goto statement_identifier ;) })) (if_statement "if ((DAT_001267d0 & 1) != 0) {\n      iVar4 = setsockopt(DAT_001216e0,1,1,&local_b4,4);\n      if (iVar4 < 0) {\n        piVar6 = __errno_location();\n        if (*piVar6 != 0xd) {\n          error(0,*piVar6,"setsockopt DEBUG (ignored)");\n        }\n      }\n    }" if (parenthesized_expression "((DAT_001267d0 & 1) != 0)" ( (binary_expression "(DAT_001267d0 & 1) != 0" (parenthesized_expression "(DAT_001267d0 & 1)" ( (binary_expression "DAT_001267d0 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      iVar4 = setsockopt(DAT_001216e0,1,1,&local_b4,4);\n      if (iVar4 < 0) {\n        piVar6 = __errno_location();\n        if (*piVar6 != 0xd) {\n          error(0,*piVar6,"setsockopt DEBUG (ignored)");\n        }\n      }\n    }" { (expression_statement "iVar4 = setsockopt(DAT_001216e0,1,1,&local_b4,4);" (assignment_expression "iVar4 = setsockopt(DAT_001216e0,1,1,&local_b4,4)" identifier = (call_expression "setsockopt(DAT_001216e0,1,1,&local_b4,4)" identifier (argument_list "(DAT_001216e0,1,1,&local_b4,4)" ( identifier , number_literal , number_literal , (pointer_expression "&local_b4" & identifier) , number_literal )))) ;) (if_statement "if (iVar4 < 0) {\n        piVar6 = __errno_location();\n        if (*piVar6 != 0xd) {\n          error(0,*piVar6,"setsockopt DEBUG (ignored)");\n        }\n      }" if (parenthesized_expression "(iVar4 < 0)" ( (binary_expression "iVar4 < 0" identifier < number_literal) )) (compound_statement "{\n        piVar6 = __errno_location();\n        if (*piVar6 != 0xd) {\n          error(0,*piVar6,"setsockopt DEBUG (ignored)");\n        }\n      }" { (expression_statement "piVar6 = __errno_location();" (assignment_expression "piVar6 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*piVar6 != 0xd) {\n          error(0,*piVar6,"setsockopt DEBUG (ignored)");\n        }" if (parenthesized_expression "(*piVar6 != 0xd)" ( (binary_expression "*piVar6 != 0xd" (pointer_expression "*piVar6" * identifier) != number_literal) )) (compound_statement "{\n          error(0,*piVar6,"setsockopt DEBUG (ignored)");\n        }" { (expression_statement "error(0,*piVar6,"setsockopt DEBUG (ignored)");" (call_expression "error(0,*piVar6,"setsockopt DEBUG (ignored)")" identifier (argument_list "(0,*piVar6,"setsockopt DEBUG (ignored)")" ( number_literal , (pointer_expression "*piVar6" * identifier) , (string_literal ""setsockopt DEBUG (ignored)"" " string_content ") ))) ;) })) })) })) (expression_statement "local_8c = 0x80;" (assignment_expression "local_8c = 0x80" identifier = number_literal) ;) (expression_statement "iVar4 = getsockname(DAT_001216e0,(sockaddr *)&DAT_00126440,&local_8c);" (assignment_expression "iVar4 = getsockname(DAT_001216e0,(sockaddr *)&DAT_00126440,&local_8c)" identifier = (call_expression "getsockname(DAT_001216e0,(sockaddr *)&DAT_00126440,&local_8c)" identifier (argument_list "(DAT_001216e0,(sockaddr *)&DAT_00126440,&local_8c)" ( identifier , (cast_expression "(sockaddr *)&DAT_00126440" ( (type_descriptor "sockaddr *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00126440" & identifier)) , (pointer_expression "&local_8c" & identifier) )))) ;) (if_statement "if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,"getsockname");\n      goto LAB_0010ca03;\n    }" if (parenthesized_expression "(iVar4 < 0)" ( (binary_expression "iVar4 < 0" identifier < number_literal) )) (compound_statement "{\n      piVar6 = __errno_location();\n      error(0,*piVar6,"getsockname");\n      goto LAB_0010ca03;\n    }" { (expression_statement "piVar6 = __errno_location();" (assignment_expression "piVar6 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "error(0,*piVar6,"getsockname");" (call_expression "error(0,*piVar6,"getsockname")" identifier (argument_list "(0,*piVar6,"getsockname")" ( number_literal , (pointer_expression "*piVar6" * identifier) , (string_literal ""getsockname"" " string_content ") ))) ;) (goto_statement "goto LAB_0010ca03;" goto statement_identifier ;) })) (expression_statement "iVar4 = listen(DAT_001216e0,1);" (assignment_expression "iVar4 = listen(DAT_001216e0,1)" identifier = (call_expression "listen(DAT_001216e0,1)" identifier (argument_list "(DAT_001216e0,1)" ( identifier , number_literal )))) ;) (if_statement "if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,"listen");\n    }" if (parenthesized_expression "(iVar4 < 0)" ( (binary_expression "iVar4 < 0" identifier < number_literal) )) (compound_statement "{\n      piVar6 = __errno_location();\n      error(0,*piVar6,"listen");\n    }" { (expression_statement "piVar6 = __errno_location();" (assignment_expression "piVar6 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "error(0,*piVar6,"listen");" (call_expression "error(0,*piVar6,"listen")" identifier (argument_list "(0,*piVar6,"listen")" ( number_literal , (pointer_expression "*piVar6" * identifier) , (string_literal ""listen"" " string_content ") ))) ;) })) (if_statement "if (DAT_00127b64 == 0) {\n      if (bVar7 != false) {\n        DAT_00127b64 = 1;\n      }\n      local_b4 = 8;\n      bVar7 = false;\n      if (DAT_00126440 == 2) {\n        iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);\n        if (iVar4 < 0) {\n          piVar6 = __errno_location();\n          error(0,*piVar6,"setsockopt TOS (ignored)");\n        }\n      }\n      goto LAB_0010ca2b;\n    }" if (parenthesized_expression "(DAT_00127b64 == 0)" ( (binary_expression "DAT_00127b64 == 0" identifier == number_literal) )) (compound_statement "{\n      if (bVar7 != false) {\n        DAT_00127b64 = 1;\n      }\n      local_b4 = 8;\n      bVar7 = false;\n      if (DAT_00126440 == 2) {\n        iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);\n        if (iVar4 < 0) {\n          piVar6 = __errno_location();\n          error(0,*piVar6,"setsockopt TOS (ignored)");\n        }\n      }\n      goto LAB_0010ca2b;\n    }" { (if_statement "if (bVar7 != false) {\n        DAT_00127b64 = 1;\n      }" if (parenthesized_expression "(bVar7 != false)" ( (binary_expression "bVar7 != false" identifier != false) )) (compound_statement "{\n        DAT_00127b64 = 1;\n      }" { (expression_statement "DAT_00127b64 = 1;" (assignment_expression "DAT_00127b64 = 1" identifier = number_literal) ;) })) (expression_statement "local_b4 = 8;" (assignment_expression "local_b4 = 8" identifier = number_literal) ;) (expression_statement "bVar7 = false;" (assignment_expression "bVar7 = false" identifier = false) ;) (if_statement "if (DAT_00126440 == 2) {\n        iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);\n        if (iVar4 < 0) {\n          piVar6 = __errno_location();\n          error(0,*piVar6,"setsockopt TOS (ignored)");\n        }\n      }" if (parenthesized_expression "(DAT_00126440 == 2)" ( (binary_expression "DAT_00126440 == 2" identifier == number_literal) )) (compound_statement "{\n        iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);\n        if (iVar4 < 0) {\n          piVar6 = __errno_location();\n          error(0,*piVar6,"setsockopt TOS (ignored)");\n        }\n      }" { (expression_statement "iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);" (assignment_expression "iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4)" identifier = (call_expression "setsockopt(DAT_001216e0,0,1,&local_b4,4)" identifier (argument_list "(DAT_001216e0,0,1,&local_b4,4)" ( identifier , number_literal , number_literal , (pointer_expression "&local_b4" & identifier) , number_literal )))) ;) (if_statement "if (iVar4 < 0) {\n          piVar6 = __errno_location();\n          error(0,*piVar6,"setsockopt TOS (ignored)");\n        }" if (parenthesized_expression "(iVar4 < 0)" ( (binary_expression "iVar4 < 0" identifier < number_literal) )) (compound_statement "{\n          piVar6 = __errno_location();\n          error(0,*piVar6,"setsockopt TOS (ignored)");\n        }" { (expression_statement "piVar6 = __errno_location();" (assignment_expression "piVar6 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "error(0,*piVar6,"setsockopt TOS (ignored)");" (call_expression "error(0,*piVar6,"setsockopt TOS (ignored)")" identifier (argument_list "(0,*piVar6,"setsockopt TOS (ignored)")" ( number_literal , (pointer_expression "*piVar6" * identifier) , (string_literal ""setsockopt TOS (ignored)"" " string_content ") ))) ;) })) })) (goto_statement "goto LAB_0010ca2b;" goto statement_identifier ;) })) (if_statement "if ((DAT_00126440 == 2) && (DAT_001266e0 == 0)) {\n      bVar7 = true;\nLAB_0010cd36:\n      if (!bVar7) {\n        iVar4 = 2;\nLAB_0010cd3f:\n        bVar7 = iVar4 != 2;\n        goto LAB_0010ca2b;\n      }\nLAB_0010cd6c:\n      iVar4 = FUN_0010bb32("PORT %d,%d,%d,%d,%d,%d",DAT_00126444,DAT_00126445,DAT_00126446,\n                           DAT_00126447,DAT_00126442,_DAT_00126440 >> 0x18 & 0xff);\n    }\n    else {\n      getnameinfo((sockaddr *)&DAT_00126440,DAT_001264c0,&DAT_00121ec0,0x2e,&DAT_00121eb0,10,3);\n      iVar4 = FUN_0010bb32("EPRT |%d|%s|%s|",(DAT_00126440 != 2) + '\x01',&DAT_00121ec0,\n                           &DAT_00121eb0);\n      if (DAT_00126440 == 2) {\n        bVar7 = iVar4 != 2;\n        if ((DAT_001266e0 == 0) || (!bVar7)) goto LAB_0010cd36;\n        DAT_001266e0 = 0;\n        goto LAB_0010cd6c;\n      }\n    }" if (parenthesized_expression "((DAT_00126440 == 2) && (DAT_001266e0 == 0))" ( (binary_expression "(DAT_00126440 == 2) && (DAT_001266e0 == 0)" (parenthesized_expression "(DAT_00126440 == 2)" ( (binary_expression "DAT_00126440 == 2" identifier == number_literal) )) && (parenthesized_expression "(DAT_001266e0 == 0)" ( (binary_expression "DAT_001266e0 == 0" identifier == number_literal) ))) )) (compound_statement "{\n      bVar7 = true;\nLAB_0010cd36:\n      if (!bVar7) {\n        iVar4 = 2;\nLAB_0010cd3f:\n        bVar7 = iVar4 != 2;\n        goto LAB_0010ca2b;\n      }\nLAB_0010cd6c:\n      iVar4 = FUN_0010bb32("PORT %d,%d,%d,%d,%d,%d",DAT_00126444,DAT_00126445,DAT_00126446,\n                           DAT_00126447,DAT_00126442,_DAT_00126440 >> 0x18 & 0xff);\n    }" { (expression_statement "bVar7 = true;" (assignment_expression "bVar7 = true" identifier = true) ;) (labeled_statement "LAB_0010cd36:\n      if (!bVar7) {\n        iVar4 = 2;\nLAB_0010cd3f:\n        bVar7 = iVar4 != 2;\n        goto LAB_0010ca2b;\n      }" statement_identifier : (if_statement "if (!bVar7) {\n        iVar4 = 2;\nLAB_0010cd3f:\n        bVar7 = iVar4 != 2;\n        goto LAB_0010ca2b;\n      }" if (parenthesized_expression "(!bVar7)" ( (unary_expression "!bVar7" ! identifier) )) (compound_statement "{\n        iVar4 = 2;\nLAB_0010cd3f:\n        bVar7 = iVar4 != 2;\n        goto LAB_0010ca2b;\n      }" { (expression_statement "iVar4 = 2;" (assignment_expression "iVar4 = 2" identifier = number_literal) ;) (labeled_statement "LAB_0010cd3f:\n        bVar7 = iVar4 != 2;" statement_identifier : (expression_statement "bVar7 = iVar4 != 2;" (assignment_expression "bVar7 = iVar4 != 2" identifier = (binary_expression "iVar4 != 2" identifier != number_literal)) ;)) (goto_statement "goto LAB_0010ca2b;" goto statement_identifier ;) }))) (labeled_statement "LAB_0010cd6c:\n      iVar4 = FUN_0010bb32("PORT %d,%d,%d,%d,%d,%d",DAT_00126444,DAT_00126445,DAT_00126446,\n                           DAT_00126447,DAT_00126442,_DAT_00126440 >> 0x18 & 0xff);" statement_identifier : (expression_statement "iVar4 = FUN_0010bb32("PORT %d,%d,%d,%d,%d,%d",DAT_00126444,DAT_00126445,DAT_00126446,\n                           DAT_00126447,DAT_00126442,_DAT_00126440 >> 0x18 & 0xff);" (assignment_expression "iVar4 = FUN_0010bb32("PORT %d,%d,%d,%d,%d,%d",DAT_00126444,DAT_00126445,DAT_00126446,\n                           DAT_00126447,DAT_00126442,_DAT_00126440 >> 0x18 & 0xff)" identifier = (call_expression "FUN_0010bb32("PORT %d,%d,%d,%d,%d,%d",DAT_00126444,DAT_00126445,DAT_00126446,\n                           DAT_00126447,DAT_00126442,_DAT_00126440 >> 0x18 & 0xff)" identifier (argument_list "("PORT %d,%d,%d,%d,%d,%d",DAT_00126444,DAT_00126445,DAT_00126446,\n                           DAT_00126447,DAT_00126442,_DAT_00126440 >> 0x18 & 0xff)" ( (string_literal ""PORT %d,%d,%d,%d,%d,%d"" " string_content ") , identifier , identifier , identifier , identifier , identifier , (binary_expression "_DAT_00126440 >> 0x18 & 0xff" (binary_expression "_DAT_00126440 >> 0x18" identifier >> number_literal) & number_literal) )))) ;)) }) (else_clause "else {\n      getnameinfo((sockaddr *)&DAT_00126440,DAT_001264c0,&DAT_00121ec0,0x2e,&DAT_00121eb0,10,3);\n      iVar4 = FUN_0010bb32("EPRT |%d|%s|%s|",(DAT_00126440 != 2) + '\x01',&DAT_00121ec0,\n                           &DAT_00121eb0);\n      if (DAT_00126440 == 2) {\n        bVar7 = iVar4 != 2;\n        if ((DAT_001266e0 == 0) || (!bVar7)) goto LAB_0010cd36;\n        DAT_001266e0 = 0;\n        goto LAB_0010cd6c;\n      }\n    }" else (compound_statement "{\n      getnameinfo((sockaddr *)&DAT_00126440,DAT_001264c0,&DAT_00121ec0,0x2e,&DAT_00121eb0,10,3);\n      iVar4 = FUN_0010bb32("EPRT |%d|%s|%s|",(DAT_00126440 != 2) + '\x01',&DAT_00121ec0,\n                           &DAT_00121eb0);\n      if (DAT_00126440 == 2) {\n        bVar7 = iVar4 != 2;\n        if ((DAT_001266e0 == 0) || (!bVar7)) goto LAB_0010cd36;\n        DAT_001266e0 = 0;\n        goto LAB_0010cd6c;\n      }\n    }" { (expression_statement "getnameinfo((sockaddr *)&DAT_00126440,DAT_001264c0,&DAT_00121ec0,0x2e,&DAT_00121eb0,10,3);" (call_expression "getnameinfo((sockaddr *)&DAT_00126440,DAT_001264c0,&DAT_00121ec0,0x2e,&DAT_00121eb0,10,3)" identifier (argument_list "((sockaddr *)&DAT_00126440,DAT_001264c0,&DAT_00121ec0,0x2e,&DAT_00121eb0,10,3)" ( (cast_expression "(sockaddr *)&DAT_00126440" ( (type_descriptor "sockaddr *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00126440" & identifier)) , identifier , (pointer_expression "&DAT_00121ec0" & identifier) , number_literal , (pointer_expression "&DAT_00121eb0" & identifier) , number_literal , number_literal ))) ;) (expression_statement "iVar4 = FUN_0010bb32("EPRT |%d|%s|%s|",(DAT_00126440 != 2) + '\x01',&DAT_00121ec0,\n                           &DAT_00121eb0);" (assignment_expression "iVar4 = FUN_0010bb32("EPRT |%d|%s|%s|",(DAT_00126440 != 2) + '\x01',&DAT_00121ec0,\n                           &DAT_00121eb0)" identifier = (call_expression "FUN_0010bb32("EPRT |%d|%s|%s|",(DAT_00126440 != 2) + '\x01',&DAT_00121ec0,\n                           &DAT_00121eb0)" identifier (argument_list "("EPRT |%d|%s|%s|",(DAT_00126440 != 2) + '\x01',&DAT_00121ec0,\n                           &DAT_00121eb0)" ( (string_literal ""EPRT |%d|%s|%s|"" " string_content ") , (binary_expression "(DAT_00126440 != 2) + '\x01'" (parenthesized_expression "(DAT_00126440 != 2)" ( (binary_expression "DAT_00126440 != 2" identifier != number_literal) )) + (char_literal "'\x01'" ' escape_sequence ')) , (pointer_expression "&DAT_00121ec0" & identifier) , (pointer_expression "&DAT_00121eb0" & identifier) )))) ;) (if_statement "if (DAT_00126440 == 2) {\n        bVar7 = iVar4 != 2;\n        if ((DAT_001266e0 == 0) || (!bVar7)) goto LAB_0010cd36;\n        DAT_001266e0 = 0;\n        goto LAB_0010cd6c;\n      }" if (parenthesized_expression "(DAT_00126440 == 2)" ( (binary_expression "DAT_00126440 == 2" identifier == number_literal) )) (compound_statement "{\n        bVar7 = iVar4 != 2;\n        if ((DAT_001266e0 == 0) || (!bVar7)) goto LAB_0010cd36;\n        DAT_001266e0 = 0;\n        goto LAB_0010cd6c;\n      }" { (expression_statement "bVar7 = iVar4 != 2;" (assignment_expression "bVar7 = iVar4 != 2" identifier = (binary_expression "iVar4 != 2" identifier != number_literal)) ;) (if_statement "if ((DAT_001266e0 == 0) || (!bVar7)) goto LAB_0010cd36;" if (parenthesized_expression "((DAT_001266e0 == 0) || (!bVar7))" ( (binary_expression "(DAT_001266e0 == 0) || (!bVar7)" (parenthesized_expression "(DAT_001266e0 == 0)" ( (binary_expression "DAT_001266e0 == 0" identifier == number_literal) )) || (parenthesized_expression "(!bVar7)" ( (unary_expression "!bVar7" ! identifier) ))) )) (goto_statement "goto LAB_0010cd36;" goto statement_identifier ;)) (expression_statement "DAT_001266e0 = 0;" (assignment_expression "DAT_001266e0 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0010cd6c;" goto statement_identifier ;) })) }))) (if_statement "if (iVar4 == 2) goto LAB_0010cd3f;" if (parenthesized_expression "(iVar4 == 2)" ( (binary_expression "iVar4 == 2" identifier == number_literal) )) (goto_statement "goto LAB_0010cd3f;" goto statement_identifier ;)) (if_statement "if (DAT_00126440 == 2) {\n      iVar4 = FUN_0010bb32("LPRT 4,4,%u,%u,%u,%u,2,%u,%u",DAT_00126444,DAT_00126445,DAT_00126446,\n                           DAT_00126447,DAT_00126442,DAT_00126443);\n    }\n    else if (DAT_00126440 == 10) {\n      iVar4 = FUN_0010bb32("LPRT 6,16,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,2,%u,%u",\n                           DAT_00126448,DAT_00126449,DAT_0012644a,DAT_0012644b,DAT_0012644c,\n                           _DAT_00126448 >> 0x28 & 0xff,_DAT_00126448 >> 0x30 & 0xff,\n                           _DAT_00126448 >> 0x38,_DAT_00126450 & 0xff,_DAT_00126450 >> 8 & 0xff,\n                           _DAT_00126450 >> 0x10 & 0xff,_DAT_00126450 >> 0x18 & 0xff,\n                           _DAT_00126450 >> 0x20 & 0xff,_DAT_00126450 >> 0x28 & 0xff,\n                           _DAT_00126450 >> 0x30 & 0xff,_DAT_00126450 >> 0x38,DAT_00126442,\n                           DAT_00126443);\n    }" if (parenthesized_expression "(DAT_00126440 == 2)" ( (binary_expression "DAT_00126440 == 2" identifier == number_literal) )) (compound_statement "{\n      iVar4 = FUN_0010bb32("LPRT 4,4,%u,%u,%u,%u,2,%u,%u",DAT_00126444,DAT_00126445,DAT_00126446,\n                           DAT_00126447,DAT_00126442,DAT_00126443);\n    }" { (expression_statement "iVar4 = FUN_0010bb32("LPRT 4,4,%u,%u,%u,%u,2,%u,%u",DAT_00126444,DAT_00126445,DAT_00126446,\n                           DAT_00126447,DAT_00126442,DAT_00126443);" (assignment_expression "iVar4 = FUN_0010bb32("LPRT 4,4,%u,%u,%u,%u,2,%u,%u",DAT_00126444,DAT_00126445,DAT_00126446,\n                           DAT_00126447,DAT_00126442,DAT_00126443)" identifier = (call_expression "FUN_0010bb32("LPRT 4,4,%u,%u,%u,%u,2,%u,%u",DAT_00126444,DAT_00126445,DAT_00126446,\n                           DAT_00126447,DAT_00126442,DAT_00126443)" identifier (argument_list "("LPRT 4,4,%u,%u,%u,%u,2,%u,%u",DAT_00126444,DAT_00126445,DAT_00126446,\n                           DAT_00126447,DAT_00126442,DAT_00126443)" ( (string_literal ""LPRT 4,4,%u,%u,%u,%u,2,%u,%u"" " string_content ") , identifier , identifier , identifier , identifier , identifier , identifier )))) ;) }) (else_clause "else if (DAT_00126440 == 10) {\n      iVar4 = FUN_0010bb32("LPRT 6,16,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,2,%u,%u",\n                           DAT_00126448,DAT_00126449,DAT_0012644a,DAT_0012644b,DAT_0012644c,\n                           _DAT_00126448 >> 0x28 & 0xff,_DAT_00126448 >> 0x30 & 0xff,\n                           _DAT_00126448 >> 0x38,_DAT_00126450 & 0xff,_DAT_00126450 >> 8 & 0xff,\n                           _DAT_00126450 >> 0x10 & 0xff,_DAT_00126450 >> 0x18 & 0xff,\n                           _DAT_00126450 >> 0x20 & 0xff,_DAT_00126450 >> 0x28 & 0xff,\n                           _DAT_00126450 >> 0x30 & 0xff,_DAT_00126450 >> 0x38,DAT_00126442,\n                           DAT_00126443);\n    }" else (if_statement "if (DAT_00126440 == 10) {\n      iVar4 = FUN_0010bb32("LPRT 6,16,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,2,%u,%u",\n                           DAT_00126448,DAT_00126449,DAT_0012644a,DAT_0012644b,DAT_0012644c,\n                           _DAT_00126448 >> 0x28 & 0xff,_DAT_00126448 >> 0x30 & 0xff,\n                           _DAT_00126448 >> 0x38,_DAT_00126450 & 0xff,_DAT_00126450 >> 8 & 0xff,\n                           _DAT_00126450 >> 0x10 & 0xff,_DAT_00126450 >> 0x18 & 0xff,\n                           _DAT_00126450 >> 0x20 & 0xff,_DAT_00126450 >> 0x28 & 0xff,\n                           _DAT_00126450 >> 0x30 & 0xff,_DAT_00126450 >> 0x38,DAT_00126442,\n                           DAT_00126443);\n    }" if (parenthesized_expression "(DAT_00126440 == 10)" ( (binary_expression "DAT_00126440 == 10" identifier == number_literal) )) (compound_statement "{\n      iVar4 = FUN_0010bb32("LPRT 6,16,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,2,%u,%u",\n                           DAT_00126448,DAT_00126449,DAT_0012644a,DAT_0012644b,DAT_0012644c,\n                           _DAT_00126448 >> 0x28 & 0xff,_DAT_00126448 >> 0x30 & 0xff,\n                           _DAT_00126448 >> 0x38,_DAT_00126450 & 0xff,_DAT_00126450 >> 8 & 0xff,\n                           _DAT_00126450 >> 0x10 & 0xff,_DAT_00126450 >> 0x18 & 0xff,\n                           _DAT_00126450 >> 0x20 & 0xff,_DAT_00126450 >> 0x28 & 0xff,\n                           _DAT_00126450 >> 0x30 & 0xff,_DAT_00126450 >> 0x38,DAT_00126442,\n                           DAT_00126443);\n    }" { (expression_statement "iVar4 = FUN_0010bb32("LPRT 6,16,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,2,%u,%u",\n                           DAT_00126448,DAT_00126449,DAT_0012644a,DAT_0012644b,DAT_0012644c,\n                           _DAT_00126448 >> 0x28 & 0xff,_DAT_00126448 >> 0x30 & 0xff,\n                           _DAT_00126448 >> 0x38,_DAT_00126450 & 0xff,_DAT_00126450 >> 8 & 0xff,\n                           _DAT_00126450 >> 0x10 & 0xff,_DAT_00126450 >> 0x18 & 0xff,\n                           _DAT_00126450 >> 0x20 & 0xff,_DAT_00126450 >> 0x28 & 0xff,\n                           _DAT_00126450 >> 0x30 & 0xff,_DAT_00126450 >> 0x38,DAT_00126442,\n                           DAT_00126443);" (assignment_expression "iVar4 = FUN_0010bb32("LPRT 6,16,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,2,%u,%u",\n                           DAT_00126448,DAT_00126449,DAT_0012644a,DAT_0012644b,DAT_0012644c,\n                           _DAT_00126448 >> 0x28 & 0xff,_DAT_00126448 >> 0x30 & 0xff,\n                           _DAT_00126448 >> 0x38,_DAT_00126450 & 0xff,_DAT_00126450 >> 8 & 0xff,\n                           _DAT_00126450 >> 0x10 & 0xff,_DAT_00126450 >> 0x18 & 0xff,\n                           _DAT_00126450 >> 0x20 & 0xff,_DAT_00126450 >> 0x28 & 0xff,\n                           _DAT_00126450 >> 0x30 & 0xff,_DAT_00126450 >> 0x38,DAT_00126442,\n                           DAT_00126443)" identifier = (call_expression "FUN_0010bb32("LPRT 6,16,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,2,%u,%u",\n                           DAT_00126448,DAT_00126449,DAT_0012644a,DAT_0012644b,DAT_0012644c,\n                           _DAT_00126448 >> 0x28 & 0xff,_DAT_00126448 >> 0x30 & 0xff,\n                           _DAT_00126448 >> 0x38,_DAT_00126450 & 0xff,_DAT_00126450 >> 8 & 0xff,\n                           _DAT_00126450 >> 0x10 & 0xff,_DAT_00126450 >> 0x18 & 0xff,\n                           _DAT_00126450 >> 0x20 & 0xff,_DAT_00126450 >> 0x28 & 0xff,\n                           _DAT_00126450 >> 0x30 & 0xff,_DAT_00126450 >> 0x38,DAT_00126442,\n                           DAT_00126443)" identifier (argument_list "("LPRT 6,16,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,2,%u,%u",\n                           DAT_00126448,DAT_00126449,DAT_0012644a,DAT_0012644b,DAT_0012644c,\n                           _DAT_00126448 >> 0x28 & 0xff,_DAT_00126448 >> 0x30 & 0xff,\n                           _DAT_00126448 >> 0x38,_DAT_00126450 & 0xff,_DAT_00126450 >> 8 & 0xff,\n                           _DAT_00126450 >> 0x10 & 0xff,_DAT_00126450 >> 0x18 & 0xff,\n                           _DAT_00126450 >> 0x20 & 0xff,_DAT_00126450 >> 0x28 & 0xff,\n                           _DAT_00126450 >> 0x30 & 0xff,_DAT_00126450 >> 0x38,DAT_00126442,\n                           DAT_00126443)" ( (string_literal ""LPRT 6,16,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,2,%u,%u"" " string_content ") , identifier , identifier , identifier , identifier , identifier , (binary_expression "_DAT_00126448 >> 0x28 & 0xff" (binary_expression "_DAT_00126448 >> 0x28" identifier >> number_literal) & number_literal) , (binary_expression "_DAT_00126448 >> 0x30 & 0xff" (binary_expression "_DAT_00126448 >> 0x30" identifier >> number_literal) & number_literal) , (binary_expression "_DAT_00126448 >> 0x38" identifier >> number_literal) , (binary_expression "_DAT_00126450 & 0xff" identifier & number_literal) , (binary_expression "_DAT_00126450 >> 8 & 0xff" (binary_expression "_DAT_00126450 >> 8" identifier >> number_literal) & number_literal) , (binary_expression "_DAT_00126450 >> 0x10 & 0xff" (binary_expression "_DAT_00126450 >> 0x10" identifier >> number_literal) & number_literal) , (binary_expression "_DAT_00126450 >> 0x18 & 0xff" (binary_expression "_DAT_00126450 >> 0x18" identifier >> number_literal) & number_literal) , (binary_expression "_DAT_00126450 >> 0x20 & 0xff" (binary_expression "_DAT_00126450 >> 0x20" identifier >> number_literal) & number_literal) , (binary_expression "_DAT_00126450 >> 0x28 & 0xff" (binary_expression "_DAT_00126450 >> 0x28" identifier >> number_literal) & number_literal) , (binary_expression "_DAT_00126450 >> 0x30 & 0xff" (binary_expression "_DAT_00126450 >> 0x30" identifier >> number_literal) & number_literal) , (binary_expression "_DAT_00126450 >> 0x38" identifier >> number_literal) , identifier , identifier )))) ;) })))) (if_statement "if ((iVar4 != 5) || (DAT_00127b64 != -1)) goto LAB_0010cd3f;" if (parenthesized_expression "((iVar4 != 5) || (DAT_00127b64 != -1))" ( (binary_expression "(iVar4 != 5) || (DAT_00127b64 != -1)" (parenthesized_expression "(iVar4 != 5)" ( (binary_expression "iVar4 != 5" identifier != number_literal) )) || (parenthesized_expression "(DAT_00127b64 != -1)" ( (binary_expression "DAT_00127b64 != -1" identifier != number_literal) ))) )) (goto_statement "goto LAB_0010cd3f;" goto statement_identifier ;)) (expression_statement "DAT_00127b64 = 0;" (assignment_expression "DAT_00127b64 = 0" identifier = number_literal) ;) (expression_statement "bVar7 = true;" (assignment_expression "bVar7 = true" identifier = true) ;) (goto_statement "goto LAB_0010cba4;" goto statement_identifier ;) })) (expression_statement "DAT_001216e0 = socket((uint)DAT_00124200,1,0);" (assignment_expression "DAT_001216e0 = socket((uint)DAT_00124200,1,0)" identifier = (call_expression "socket((uint)DAT_00124200,1,0)" identifier (argument_list "((uint)DAT_00124200,1,0)" ( (cast_expression "(uint)DAT_00124200" ( (type_descriptor "uint" type_identifier) ) identifier) , number_literal , number_literal )))) ;) (if_statement "if (DAT_001216e0 < 0) {\n    perror("ftp: socket");\n    bVar7 = true;\n    goto LAB_0010ca2b;\n  }" if (parenthesized_expression "(DAT_001216e0 < 0)" ( (binary_expression "DAT_001216e0 < 0" identifier < number_literal) )) (compound_statement "{\n    perror("ftp: socket");\n    bVar7 = true;\n    goto LAB_0010ca2b;\n  }" { (expression_statement "perror("ftp: socket");" (call_expression "perror("ftp: socket")" identifier (argument_list "("ftp: socket")" ( (string_literal ""ftp: socket"" " string_content ") ))) ;) (expression_statement "bVar7 = true;" (assignment_expression "bVar7 = true" identifier = true) ;) (goto_statement "goto LAB_0010ca2b;" goto statement_identifier ;) })) (if_statement "if ((DAT_001267d0 & 1) != 0) {\n    iVar4 = setsockopt(DAT_001216e0,1,1,&local_b4,4);\n    if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      if (*piVar6 != 0xd) {\n        error(0,*piVar6,"setsockopt DEBUG (ignored)");\n      }\n    }\n  }" if (parenthesized_expression "((DAT_001267d0 & 1) != 0)" ( (binary_expression "(DAT_001267d0 & 1) != 0" (parenthesized_expression "(DAT_001267d0 & 1)" ( (binary_expression "DAT_001267d0 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    iVar4 = setsockopt(DAT_001216e0,1,1,&local_b4,4);\n    if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      if (*piVar6 != 0xd) {\n        error(0,*piVar6,"setsockopt DEBUG (ignored)");\n      }\n    }\n  }" { (expression_statement "iVar4 = setsockopt(DAT_001216e0,1,1,&local_b4,4);" (assignment_expression "iVar4 = setsockopt(DAT_001216e0,1,1,&local_b4,4)" identifier = (call_expression "setsockopt(DAT_001216e0,1,1,&local_b4,4)" identifier (argument_list "(DAT_001216e0,1,1,&local_b4,4)" ( identifier , number_literal , number_literal , (pointer_expression "&local_b4" & identifier) , number_literal )))) ;) (if_statement "if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      if (*piVar6 != 0xd) {\n        error(0,*piVar6,"setsockopt DEBUG (ignored)");\n      }\n    }" if (parenthesized_expression "(iVar4 < 0)" ( (binary_expression "iVar4 < 0" identifier < number_literal) )) (compound_statement "{\n      piVar6 = __errno_location();\n      if (*piVar6 != 0xd) {\n        error(0,*piVar6,"setsockopt DEBUG (ignored)");\n      }\n    }" { (expression_statement "piVar6 = __errno_location();" (assignment_expression "piVar6 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*piVar6 != 0xd) {\n        error(0,*piVar6,"setsockopt DEBUG (ignored)");\n      }" if (parenthesized_expression "(*piVar6 != 0xd)" ( (binary_expression "*piVar6 != 0xd" (pointer_expression "*piVar6" * identifier) != number_literal) )) (compound_statement "{\n        error(0,*piVar6,"setsockopt DEBUG (ignored)");\n      }" { (expression_statement "error(0,*piVar6,"setsockopt DEBUG (ignored)");" (call_expression "error(0,*piVar6,"setsockopt DEBUG (ignored)")" identifier (argument_list "(0,*piVar6,"setsockopt DEBUG (ignored)")" ( number_literal , (pointer_expression "*piVar6" * identifier) , (string_literal ""setsockopt DEBUG (ignored)"" " string_content ") ))) ;) })) })) })) (if_statement "if (DAT_00124200 == 2) {\n    if (DAT_001266e0 != 0) {\n      iVar4 = FUN_0010bb32(&DAT_0011a450);\n      if (iVar4 == 2) goto LAB_0010c336;\n      if (DAT_001266e0 != 0) {\n        DAT_001266e0 = 0;\n      }\n    }\n    iVar4 = FUN_0010bb32(&DAT_0011a455);\n    if (iVar4 == 2) goto LAB_0010c499;\n    iVar4 = FUN_0010bb32(&DAT_0011a45a);\n    if (iVar4 == 2) {\nLAB_0010c62c:\n      if (DAT_00124200 == 2) {\n        iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u,%u,%u,%u",&local_94,&local_90,local_88,\n                       local_88 + 1,local_88 + 2,local_88 + 3,&local_8c,local_a0,local_9c);\n        if ((((iVar4 == 9) && (local_94 == 4)) && (local_90 == 4)) && (local_8c == 2)) {\n          puVar5 = local_88;\n          do {\n            *puVar5 = *puVar5 & 0xff;\n            puVar5 = puVar5 + 1;\n          } while (puVar5 != local_88 + 4);\n          _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2);\n          uVar2 = local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3] | local_88[2] << 8;\n          _DAT_00126440 =\n               CONCAT44(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                        local_88[3] << 0x18,_DAT_00126440);\n          uVar1 = _DAT_00126440;\n          goto LAB_0010c540;\n        }\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n        goto LAB_0010c703;\n      }\n      iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u",\n                     &local_94,&local_90,local_88,local_88 + 1,local_88 + 2,local_88 + 3,\n                     local_88 + 4,local_88 + 5,local_88 + 6,local_88 + 7,local_88 + 8,local_88 + 9,\n                     local_88 + 10,local_88 + 0xb,local_88 + 0xc,local_88 + 0xd,local_88 + 0xe,\n                     local_88 + 0xf,&local_8c,local_a0,local_9c);\n      if (((iVar4 != 0x15) || (local_94 != 6)) || ((local_90 != 0x10 || (local_8c != 2)))) {\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n        goto LAB_0010c703;\n      }\n      puVar5 = local_88;\n      do {\n        *puVar5 = *puVar5 & 0xff;\n        puVar5 = puVar5 + 1;\n      } while (puVar5 != local_48);\n      _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,10);\n      uVar2 = local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3] | local_88[2] << 8;\n      uVar3 = local_88[4] << 0x18 | local_88[5] << 0x10 | local_88[7] | local_88[6] << 8;\n      _DAT_00126448 =\n           CONCAT44(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                    local_88[7] << 0x18,\n                    uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                    local_88[3] << 0x18);\n      uVar2 = local_88[8] << 0x18 | local_88[9] << 0x10 | local_88[0xb] | local_88[10] << 8;\n      uVar3 = local_88[0xc] << 0x18 | local_88[0xd] << 0x10 | local_88[0xf] | local_88[0xe] << 8;\n      _DAT_00126450 =\n           CONCAT44(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                    local_88[0xf] << 0x18,\n                    uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                    local_88[0xb] << 0x18);\n      uVar1 = _DAT_00126440;\n      goto LAB_0010c540;\n    }\n    puts("Passive mode refused.");\n  }\n  else {\n    if (DAT_00124200 == 10) {\n      iVar4 = FUN_0010bb32(&DAT_0011a450);\n      if (iVar4 == 2) {\nLAB_0010c336:\n        iVar4 = sscanf(&DAT_00127a80,"%u|",local_98);\n        if (iVar4 == 1) {\n          _DAT_00126440 = DAT_00124160;\n          uVar1 = _DAT_00126440;\n          _DAT_00126448 = DAT_00124168;\n          _DAT_00126450 = _DAT_00124170;\n          uRam0000000000126458 = uRam0000000000124178;\n          _DAT_00126460 = _DAT_00124180;\n          uRam0000000000126468 = uRam0000000000124188;\n          _DAT_00126470 = _DAT_00124190;\n          uRam0000000000126478 = uRam0000000000124198;\n          _DAT_00126480 = _DAT_001241a0;\n          uRam0000000000126488 = uRam00000000001241a8;\n          _DAT_00126490 = _DAT_001241b0;\n          uRam0000000000126498 = uRam00000000001241b8;\n          _DAT_001264a0 = _DAT_001241c0;\n          uRam00000000001264a8 = uRam00000000001241c8;\n          _DAT_001264b0 = _DAT_001241d0;\n          uRam00000000001264b8 = uRam00000000001241d8;\n          _DAT_00126444 = (undefined4)(DAT_00124160 >> 0x20);\n          if ((short)DAT_00124160 == 2) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,2);\n            uVar1 = _DAT_00126440;\n          }\n          else if ((short)DAT_00124160 == 10) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,10);\n            uVar1 = _DAT_00126440;\n          }\n          goto LAB_0010c540;\n        }\n        puts("Extended passive mode scan failure. Should not happen!");\n        FUN_0010bb32(&DAT_0011a479);\n      }\n      else {\n        iVar4 = FUN_0010bb32(&DAT_0011a45a);\n        if (iVar4 == 2) goto LAB_0010c62c;\n        puts("Passive mode refused.");\n      }\n      goto LAB_0010c703;\n    }\nLAB_0010c499:\n    if (DAT_00124200 == 2) {\n      iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u",&local_b0,&local_ac,&local_a8,local_a4,\n                     local_a0,local_9c);\n      if (iVar4 == 6) {\n        _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2);\n        _DAT_00126440 =\n             CONCAT44(local_b0 & 0xff | ((local_ac & 0xff) << 0x10) >> 8 | (local_a8 & 0xff) << 0x10\n                      | (uint)local_a4[0] << 0x18,_DAT_00126440);\n        uVar1 = _DAT_00126440;\nLAB_0010c540:\n        _DAT_00126440 = uVar1;\n        iVar4 = connect(DAT_001216e0,(sockaddr *)&DAT_00126440,DAT_001264c0);\n        if (-1 < iVar4) {\n          local_b4 = 8;\n          bVar7 = false;\n          if (DAT_00126440 == 2) {\n            iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);\n            if (iVar4 < 0) {\n              perror("ftp: setsockopt TOS (ignored)");\n            }\n          }\n          goto LAB_0010ca2b;\n        }\n        perror("ftp: connect");\n      }\n      else {\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n      }\n    }\n    else {\n      puts("Passive mode address scan failure. Shouldn\'t happen!");\n    }\n  }" if (parenthesized_expression "(DAT_00124200 == 2)" ( (binary_expression "DAT_00124200 == 2" identifier == number_literal) )) (compound_statement "{\n    if (DAT_001266e0 != 0) {\n      iVar4 = FUN_0010bb32(&DAT_0011a450);\n      if (iVar4 == 2) goto LAB_0010c336;\n      if (DAT_001266e0 != 0) {\n        DAT_001266e0 = 0;\n      }\n    }\n    iVar4 = FUN_0010bb32(&DAT_0011a455);\n    if (iVar4 == 2) goto LAB_0010c499;\n    iVar4 = FUN_0010bb32(&DAT_0011a45a);\n    if (iVar4 == 2) {\nLAB_0010c62c:\n      if (DAT_00124200 == 2) {\n        iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u,%u,%u,%u",&local_94,&local_90,local_88,\n                       local_88 + 1,local_88 + 2,local_88 + 3,&local_8c,local_a0,local_9c);\n        if ((((iVar4 == 9) && (local_94 == 4)) && (local_90 == 4)) && (local_8c == 2)) {\n          puVar5 = local_88;\n          do {\n            *puVar5 = *puVar5 & 0xff;\n            puVar5 = puVar5 + 1;\n          } while (puVar5 != local_88 + 4);\n          _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2);\n          uVar2 = local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3] | local_88[2] << 8;\n          _DAT_00126440 =\n               CONCAT44(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                        local_88[3] << 0x18,_DAT_00126440);\n          uVar1 = _DAT_00126440;\n          goto LAB_0010c540;\n        }\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n        goto LAB_0010c703;\n      }\n      iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u",\n                     &local_94,&local_90,local_88,local_88 + 1,local_88 + 2,local_88 + 3,\n                     local_88 + 4,local_88 + 5,local_88 + 6,local_88 + 7,local_88 + 8,local_88 + 9,\n                     local_88 + 10,local_88 + 0xb,local_88 + 0xc,local_88 + 0xd,local_88 + 0xe,\n                     local_88 + 0xf,&local_8c,local_a0,local_9c);\n      if (((iVar4 != 0x15) || (local_94 != 6)) || ((local_90 != 0x10 || (local_8c != 2)))) {\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n        goto LAB_0010c703;\n      }\n      puVar5 = local_88;\n      do {\n        *puVar5 = *puVar5 & 0xff;\n        puVar5 = puVar5 + 1;\n      } while (puVar5 != local_48);\n      _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,10);\n      uVar2 = local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3] | local_88[2] << 8;\n      uVar3 = local_88[4] << 0x18 | local_88[5] << 0x10 | local_88[7] | local_88[6] << 8;\n      _DAT_00126448 =\n           CONCAT44(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                    local_88[7] << 0x18,\n                    uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                    local_88[3] << 0x18);\n      uVar2 = local_88[8] << 0x18 | local_88[9] << 0x10 | local_88[0xb] | local_88[10] << 8;\n      uVar3 = local_88[0xc] << 0x18 | local_88[0xd] << 0x10 | local_88[0xf] | local_88[0xe] << 8;\n      _DAT_00126450 =\n           CONCAT44(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                    local_88[0xf] << 0x18,\n                    uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                    local_88[0xb] << 0x18);\n      uVar1 = _DAT_00126440;\n      goto LAB_0010c540;\n    }\n    puts("Passive mode refused.");\n  }" { (if_statement "if (DAT_001266e0 != 0) {\n      iVar4 = FUN_0010bb32(&DAT_0011a450);\n      if (iVar4 == 2) goto LAB_0010c336;\n      if (DAT_001266e0 != 0) {\n        DAT_001266e0 = 0;\n      }\n    }" if (parenthesized_expression "(DAT_001266e0 != 0)" ( (binary_expression "DAT_001266e0 != 0" identifier != number_literal) )) (compound_statement "{\n      iVar4 = FUN_0010bb32(&DAT_0011a450);\n      if (iVar4 == 2) goto LAB_0010c336;\n      if (DAT_001266e0 != 0) {\n        DAT_001266e0 = 0;\n      }\n    }" { (expression_statement "iVar4 = FUN_0010bb32(&DAT_0011a450);" (assignment_expression "iVar4 = FUN_0010bb32(&DAT_0011a450)" identifier = (call_expression "FUN_0010bb32(&DAT_0011a450)" identifier (argument_list "(&DAT_0011a450)" ( (pointer_expression "&DAT_0011a450" & identifier) )))) ;) (if_statement "if (iVar4 == 2) goto LAB_0010c336;" if (parenthesized_expression "(iVar4 == 2)" ( (binary_expression "iVar4 == 2" identifier == number_literal) )) (goto_statement "goto LAB_0010c336;" goto statement_identifier ;)) (if_statement "if (DAT_001266e0 != 0) {\n        DAT_001266e0 = 0;\n      }" if (parenthesized_expression "(DAT_001266e0 != 0)" ( (binary_expression "DAT_001266e0 != 0" identifier != number_literal) )) (compound_statement "{\n        DAT_001266e0 = 0;\n      }" { (expression_statement "DAT_001266e0 = 0;" (assignment_expression "DAT_001266e0 = 0" identifier = number_literal) ;) })) })) (expression_statement "iVar4 = FUN_0010bb32(&DAT_0011a455);" (assignment_expression "iVar4 = FUN_0010bb32(&DAT_0011a455)" identifier = (call_expression "FUN_0010bb32(&DAT_0011a455)" identifier (argument_list "(&DAT_0011a455)" ( (pointer_expression "&DAT_0011a455" & identifier) )))) ;) (if_statement "if (iVar4 == 2) goto LAB_0010c499;" if (parenthesized_expression "(iVar4 == 2)" ( (binary_expression "iVar4 == 2" identifier == number_literal) )) (goto_statement "goto LAB_0010c499;" goto statement_identifier ;)) (expression_statement "iVar4 = FUN_0010bb32(&DAT_0011a45a);" (assignment_expression "iVar4 = FUN_0010bb32(&DAT_0011a45a)" identifier = (call_expression "FUN_0010bb32(&DAT_0011a45a)" identifier (argument_list "(&DAT_0011a45a)" ( (pointer_expression "&DAT_0011a45a" & identifier) )))) ;) (if_statement "if (iVar4 == 2) {\nLAB_0010c62c:\n      if (DAT_00124200 == 2) {\n        iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u,%u,%u,%u",&local_94,&local_90,local_88,\n                       local_88 + 1,local_88 + 2,local_88 + 3,&local_8c,local_a0,local_9c);\n        if ((((iVar4 == 9) && (local_94 == 4)) && (local_90 == 4)) && (local_8c == 2)) {\n          puVar5 = local_88;\n          do {\n            *puVar5 = *puVar5 & 0xff;\n            puVar5 = puVar5 + 1;\n          } while (puVar5 != local_88 + 4);\n          _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2);\n          uVar2 = local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3] | local_88[2] << 8;\n          _DAT_00126440 =\n               CONCAT44(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                        local_88[3] << 0x18,_DAT_00126440);\n          uVar1 = _DAT_00126440;\n          goto LAB_0010c540;\n        }\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n        goto LAB_0010c703;\n      }\n      iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u",\n                     &local_94,&local_90,local_88,local_88 + 1,local_88 + 2,local_88 + 3,\n                     local_88 + 4,local_88 + 5,local_88 + 6,local_88 + 7,local_88 + 8,local_88 + 9,\n                     local_88 + 10,local_88 + 0xb,local_88 + 0xc,local_88 + 0xd,local_88 + 0xe,\n                     local_88 + 0xf,&local_8c,local_a0,local_9c);\n      if (((iVar4 != 0x15) || (local_94 != 6)) || ((local_90 != 0x10 || (local_8c != 2)))) {\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n        goto LAB_0010c703;\n      }\n      puVar5 = local_88;\n      do {\n        *puVar5 = *puVar5 & 0xff;\n        puVar5 = puVar5 + 1;\n      } while (puVar5 != local_48);\n      _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,10);\n      uVar2 = local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3] | local_88[2] << 8;\n      uVar3 = local_88[4] << 0x18 | local_88[5] << 0x10 | local_88[7] | local_88[6] << 8;\n      _DAT_00126448 =\n           CONCAT44(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                    local_88[7] << 0x18,\n                    uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                    local_88[3] << 0x18);\n      uVar2 = local_88[8] << 0x18 | local_88[9] << 0x10 | local_88[0xb] | local_88[10] << 8;\n      uVar3 = local_88[0xc] << 0x18 | local_88[0xd] << 0x10 | local_88[0xf] | local_88[0xe] << 8;\n      _DAT_00126450 =\n           CONCAT44(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                    local_88[0xf] << 0x18,\n                    uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                    local_88[0xb] << 0x18);\n      uVar1 = _DAT_00126440;\n      goto LAB_0010c540;\n    }" if (parenthesized_expression "(iVar4 == 2)" ( (binary_expression "iVar4 == 2" identifier == number_literal) )) (compound_statement "{\nLAB_0010c62c:\n      if (DAT_00124200 == 2) {\n        iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u,%u,%u,%u",&local_94,&local_90,local_88,\n                       local_88 + 1,local_88 + 2,local_88 + 3,&local_8c,local_a0,local_9c);\n        if ((((iVar4 == 9) && (local_94 == 4)) && (local_90 == 4)) && (local_8c == 2)) {\n          puVar5 = local_88;\n          do {\n            *puVar5 = *puVar5 & 0xff;\n            puVar5 = puVar5 + 1;\n          } while (puVar5 != local_88 + 4);\n          _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2);\n          uVar2 = local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3] | local_88[2] << 8;\n          _DAT_00126440 =\n               CONCAT44(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                        local_88[3] << 0x18,_DAT_00126440);\n          uVar1 = _DAT_00126440;\n          goto LAB_0010c540;\n        }\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n        goto LAB_0010c703;\n      }\n      iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u",\n                     &local_94,&local_90,local_88,local_88 + 1,local_88 + 2,local_88 + 3,\n                     local_88 + 4,local_88 + 5,local_88 + 6,local_88 + 7,local_88 + 8,local_88 + 9,\n                     local_88 + 10,local_88 + 0xb,local_88 + 0xc,local_88 + 0xd,local_88 + 0xe,\n                     local_88 + 0xf,&local_8c,local_a0,local_9c);\n      if (((iVar4 != 0x15) || (local_94 != 6)) || ((local_90 != 0x10 || (local_8c != 2)))) {\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n        goto LAB_0010c703;\n      }\n      puVar5 = local_88;\n      do {\n        *puVar5 = *puVar5 & 0xff;\n        puVar5 = puVar5 + 1;\n      } while (puVar5 != local_48);\n      _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,10);\n      uVar2 = local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3] | local_88[2] << 8;\n      uVar3 = local_88[4] << 0x18 | local_88[5] << 0x10 | local_88[7] | local_88[6] << 8;\n      _DAT_00126448 =\n           CONCAT44(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                    local_88[7] << 0x18,\n                    uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                    local_88[3] << 0x18);\n      uVar2 = local_88[8] << 0x18 | local_88[9] << 0x10 | local_88[0xb] | local_88[10] << 8;\n      uVar3 = local_88[0xc] << 0x18 | local_88[0xd] << 0x10 | local_88[0xf] | local_88[0xe] << 8;\n      _DAT_00126450 =\n           CONCAT44(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                    local_88[0xf] << 0x18,\n                    uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                    local_88[0xb] << 0x18);\n      uVar1 = _DAT_00126440;\n      goto LAB_0010c540;\n    }" { (labeled_statement "LAB_0010c62c:\n      if (DAT_00124200 == 2) {\n        iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u,%u,%u,%u",&local_94,&local_90,local_88,\n                       local_88 + 1,local_88 + 2,local_88 + 3,&local_8c,local_a0,local_9c);\n        if ((((iVar4 == 9) && (local_94 == 4)) && (local_90 == 4)) && (local_8c == 2)) {\n          puVar5 = local_88;\n          do {\n            *puVar5 = *puVar5 & 0xff;\n            puVar5 = puVar5 + 1;\n          } while (puVar5 != local_88 + 4);\n          _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2);\n          uVar2 = local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3] | local_88[2] << 8;\n          _DAT_00126440 =\n               CONCAT44(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                        local_88[3] << 0x18,_DAT_00126440);\n          uVar1 = _DAT_00126440;\n          goto LAB_0010c540;\n        }\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n        goto LAB_0010c703;\n      }" statement_identifier : (if_statement "if (DAT_00124200 == 2) {\n        iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u,%u,%u,%u",&local_94,&local_90,local_88,\n                       local_88 + 1,local_88 + 2,local_88 + 3,&local_8c,local_a0,local_9c);\n        if ((((iVar4 == 9) && (local_94 == 4)) && (local_90 == 4)) && (local_8c == 2)) {\n          puVar5 = local_88;\n          do {\n            *puVar5 = *puVar5 & 0xff;\n            puVar5 = puVar5 + 1;\n          } while (puVar5 != local_88 + 4);\n          _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2);\n          uVar2 = local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3] | local_88[2] << 8;\n          _DAT_00126440 =\n               CONCAT44(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                        local_88[3] << 0x18,_DAT_00126440);\n          uVar1 = _DAT_00126440;\n          goto LAB_0010c540;\n        }\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n        goto LAB_0010c703;\n      }" if (parenthesized_expression "(DAT_00124200 == 2)" ( (binary_expression "DAT_00124200 == 2" identifier == number_literal) )) (compound_statement "{\n        iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u,%u,%u,%u",&local_94,&local_90,local_88,\n                       local_88 + 1,local_88 + 2,local_88 + 3,&local_8c,local_a0,local_9c);\n        if ((((iVar4 == 9) && (local_94 == 4)) && (local_90 == 4)) && (local_8c == 2)) {\n          puVar5 = local_88;\n          do {\n            *puVar5 = *puVar5 & 0xff;\n            puVar5 = puVar5 + 1;\n          } while (puVar5 != local_88 + 4);\n          _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2);\n          uVar2 = local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3] | local_88[2] << 8;\n          _DAT_00126440 =\n               CONCAT44(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                        local_88[3] << 0x18,_DAT_00126440);\n          uVar1 = _DAT_00126440;\n          goto LAB_0010c540;\n        }\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n        goto LAB_0010c703;\n      }" { (expression_statement "iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u,%u,%u,%u",&local_94,&local_90,local_88,\n                       local_88 + 1,local_88 + 2,local_88 + 3,&local_8c,local_a0,local_9c);" (assignment_expression "iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u,%u,%u,%u",&local_94,&local_90,local_88,\n                       local_88 + 1,local_88 + 2,local_88 + 3,&local_8c,local_a0,local_9c)" identifier = (call_expression "sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u,%u,%u,%u",&local_94,&local_90,local_88,\n                       local_88 + 1,local_88 + 2,local_88 + 3,&local_8c,local_a0,local_9c)" identifier (argument_list "(&DAT_00127a80,"%u,%u,%u,%u,%u,%u,%u,%u,%u",&local_94,&local_90,local_88,\n                       local_88 + 1,local_88 + 2,local_88 + 3,&local_8c,local_a0,local_9c)" ( (pointer_expression "&DAT_00127a80" & identifier) , (string_literal ""%u,%u,%u,%u,%u,%u,%u,%u,%u"" " string_content ") , (pointer_expression "&local_94" & identifier) , (pointer_expression "&local_90" & identifier) , identifier , (binary_expression "local_88 + 1" identifier + number_literal) , (binary_expression "local_88 + 2" identifier + number_literal) , (binary_expression "local_88 + 3" identifier + number_literal) , (pointer_expression "&local_8c" & identifier) , identifier , identifier )))) ;) (if_statement "if ((((iVar4 == 9) && (local_94 == 4)) && (local_90 == 4)) && (local_8c == 2)) {\n          puVar5 = local_88;\n          do {\n            *puVar5 = *puVar5 & 0xff;\n            puVar5 = puVar5 + 1;\n          } while (puVar5 != local_88 + 4);\n          _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2);\n          uVar2 = local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3] | local_88[2] << 8;\n          _DAT_00126440 =\n               CONCAT44(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                        local_88[3] << 0x18,_DAT_00126440);\n          uVar1 = _DAT_00126440;\n          goto LAB_0010c540;\n        }" if (parenthesized_expression "((((iVar4 == 9) && (local_94 == 4)) && (local_90 == 4)) && (local_8c == 2))" ( (binary_expression "(((iVar4 == 9) && (local_94 == 4)) && (local_90 == 4)) && (local_8c == 2)" (parenthesized_expression "(((iVar4 == 9) && (local_94 == 4)) && (local_90 == 4))" ( (binary_expression "((iVar4 == 9) && (local_94 == 4)) && (local_90 == 4)" (parenthesized_expression "((iVar4 == 9) && (local_94 == 4))" ( (binary_expression "(iVar4 == 9) && (local_94 == 4)" (parenthesized_expression "(iVar4 == 9)" ( (binary_expression "iVar4 == 9" identifier == number_literal) )) && (parenthesized_expression "(local_94 == 4)" ( (binary_expression "local_94 == 4" identifier == number_literal) ))) )) && (parenthesized_expression "(local_90 == 4)" ( (binary_expression "local_90 == 4" identifier == number_literal) ))) )) && (parenthesized_expression "(local_8c == 2)" ( (binary_expression "local_8c == 2" identifier == number_literal) ))) )) (compound_statement "{\n          puVar5 = local_88;\n          do {\n            *puVar5 = *puVar5 & 0xff;\n            puVar5 = puVar5 + 1;\n          } while (puVar5 != local_88 + 4);\n          _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2);\n          uVar2 = local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3] | local_88[2] << 8;\n          _DAT_00126440 =\n               CONCAT44(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                        local_88[3] << 0x18,_DAT_00126440);\n          uVar1 = _DAT_00126440;\n          goto LAB_0010c540;\n        }" { (expression_statement "puVar5 = local_88;" (assignment_expression "puVar5 = local_88" identifier = identifier) ;) (do_statement "do {\n            *puVar5 = *puVar5 & 0xff;\n            puVar5 = puVar5 + 1;\n          } while (puVar5 != local_88 + 4);" do (compound_statement "{\n            *puVar5 = *puVar5 & 0xff;\n            puVar5 = puVar5 + 1;\n          }" { (expression_statement "*puVar5 = *puVar5 & 0xff;" (assignment_expression "*puVar5 = *puVar5 & 0xff" (pointer_expression "*puVar5" * identifier) = (binary_expression "*puVar5 & 0xff" (pointer_expression "*puVar5" * identifier) & number_literal)) ;) (expression_statement "puVar5 = puVar5 + 1;" (assignment_expression "puVar5 = puVar5 + 1" identifier = (binary_expression "puVar5 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar5 != local_88 + 4)" ( (binary_expression "puVar5 != local_88 + 4" identifier != (binary_expression "local_88 + 4" identifier + number_literal)) )) ;) (expression_statement "_DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2);" (assignment_expression "_DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2)" identifier = (call_expression "CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2)" identifier (argument_list "((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2)" ( (binary_expression "(ushort)local_9c[0] << 8 | local_a0[0] & 0xff" (binary_expression "(ushort)local_9c[0] << 8" (cast_expression "(ushort)local_9c[0]" ( (type_descriptor "ushort" type_identifier) ) (subscript_expression "local_9c[0]" identifier [ number_literal ])) << number_literal) | (binary_expression "local_a0[0] & 0xff" (subscript_expression "local_a0[0]" identifier [ number_literal ]) & number_literal)) , number_literal )))) ;) (expression_statement "uVar2 = local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3] | local_88[2] << 8;" (assignment_expression "uVar2 = local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3] | local_88[2] << 8" identifier = (binary_expression "local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3] | local_88[2] << 8" (binary_expression "local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3]" (binary_expression "local_88[0] << 0x18 | local_88[1] << 0x10" (binary_expression "local_88[0] << 0x18" (subscript_expression "local_88[0]" identifier [ number_literal ]) << number_literal) | (binary_expression "local_88[1] << 0x10" (subscript_expression "local_88[1]" identifier [ number_literal ]) << number_literal)) | (subscript_expression "local_88[3]" identifier [ number_literal ])) | (binary_expression "local_88[2] << 8" (subscript_expression "local_88[2]" identifier [ number_literal ]) << number_literal))) ;) (expression_statement "_DAT_00126440 =\n               CONCAT44(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                        local_88[3] << 0x18,_DAT_00126440);" (assignment_expression "_DAT_00126440 =\n               CONCAT44(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                        local_88[3] << 0x18,_DAT_00126440)" identifier = (call_expression "CONCAT44(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                        local_88[3] << 0x18,_DAT_00126440)" identifier (argument_list "(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                        local_88[3] << 0x18,_DAT_00126440)" ( (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                        local_88[3] << 0x18" (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8" (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8" (binary_expression "uVar2 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar2 & 0xff0000) >> 8" (parenthesized_expression "(uVar2 & 0xff0000)" ( (binary_expression "uVar2 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar2 & 0xff00) << 8" (parenthesized_expression "(uVar2 & 0xff00)" ( (binary_expression "uVar2 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "local_88[3] << 0x18" (subscript_expression "local_88[3]" identifier [ number_literal ]) << number_literal)) , identifier )))) ;) (expression_statement "uVar1 = _DAT_00126440;" (assignment_expression "uVar1 = _DAT_00126440" identifier = identifier) ;) (goto_statement "goto LAB_0010c540;" goto statement_identifier ;) })) (expression_statement "puts("Passive mode address scan failure. Shouldn\'t happen!");" (call_expression "puts("Passive mode address scan failure. Shouldn\'t happen!")" identifier (argument_list "("Passive mode address scan failure. Shouldn\'t happen!")" ( (string_literal ""Passive mode address scan failure. Shouldn\'t happen!"" " string_content escape_sequence string_content ") ))) ;) (expression_statement "FUN_0010bb32(&DAT_0011a479);" (call_expression "FUN_0010bb32(&DAT_0011a479)" identifier (argument_list "(&DAT_0011a479)" ( (pointer_expression "&DAT_0011a479" & identifier) ))) ;) (goto_statement "goto LAB_0010c703;" goto statement_identifier ;) }))) (expression_statement "iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u",\n                     &local_94,&local_90,local_88,local_88 + 1,local_88 + 2,local_88 + 3,\n                     local_88 + 4,local_88 + 5,local_88 + 6,local_88 + 7,local_88 + 8,local_88 + 9,\n                     local_88 + 10,local_88 + 0xb,local_88 + 0xc,local_88 + 0xd,local_88 + 0xe,\n                     local_88 + 0xf,&local_8c,local_a0,local_9c);" (assignment_expression "iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u",\n                     &local_94,&local_90,local_88,local_88 + 1,local_88 + 2,local_88 + 3,\n                     local_88 + 4,local_88 + 5,local_88 + 6,local_88 + 7,local_88 + 8,local_88 + 9,\n                     local_88 + 10,local_88 + 0xb,local_88 + 0xc,local_88 + 0xd,local_88 + 0xe,\n                     local_88 + 0xf,&local_8c,local_a0,local_9c)" identifier = (call_expression "sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u",\n                     &local_94,&local_90,local_88,local_88 + 1,local_88 + 2,local_88 + 3,\n                     local_88 + 4,local_88 + 5,local_88 + 6,local_88 + 7,local_88 + 8,local_88 + 9,\n                     local_88 + 10,local_88 + 0xb,local_88 + 0xc,local_88 + 0xd,local_88 + 0xe,\n                     local_88 + 0xf,&local_8c,local_a0,local_9c)" identifier (argument_list "(&DAT_00127a80,"%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u",\n                     &local_94,&local_90,local_88,local_88 + 1,local_88 + 2,local_88 + 3,\n                     local_88 + 4,local_88 + 5,local_88 + 6,local_88 + 7,local_88 + 8,local_88 + 9,\n                     local_88 + 10,local_88 + 0xb,local_88 + 0xc,local_88 + 0xd,local_88 + 0xe,\n                     local_88 + 0xf,&local_8c,local_a0,local_9c)" ( (pointer_expression "&DAT_00127a80" & identifier) , (string_literal ""%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u"" " string_content ") , (pointer_expression "&local_94" & identifier) , (pointer_expression "&local_90" & identifier) , identifier , (binary_expression "local_88 + 1" identifier + number_literal) , (binary_expression "local_88 + 2" identifier + number_literal) , (binary_expression "local_88 + 3" identifier + number_literal) , (binary_expression "local_88 + 4" identifier + number_literal) , (binary_expression "local_88 + 5" identifier + number_literal) , (binary_expression "local_88 + 6" identifier + number_literal) , (binary_expression "local_88 + 7" identifier + number_literal) , (binary_expression "local_88 + 8" identifier + number_literal) , (binary_expression "local_88 + 9" identifier + number_literal) , (binary_expression "local_88 + 10" identifier + number_literal) , (binary_expression "local_88 + 0xb" identifier + number_literal) , (binary_expression "local_88 + 0xc" identifier + number_literal) , (binary_expression "local_88 + 0xd" identifier + number_literal) , (binary_expression "local_88 + 0xe" identifier + number_literal) , (binary_expression "local_88 + 0xf" identifier + number_literal) , (pointer_expression "&local_8c" & identifier) , identifier , identifier )))) ;) (if_statement "if (((iVar4 != 0x15) || (local_94 != 6)) || ((local_90 != 0x10 || (local_8c != 2)))) {\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n        goto LAB_0010c703;\n      }" if (parenthesized_expression "(((iVar4 != 0x15) || (local_94 != 6)) || ((local_90 != 0x10 || (local_8c != 2))))" ( (binary_expression "((iVar4 != 0x15) || (local_94 != 6)) || ((local_90 != 0x10 || (local_8c != 2)))" (parenthesized_expression "((iVar4 != 0x15) || (local_94 != 6))" ( (binary_expression "(iVar4 != 0x15) || (local_94 != 6)" (parenthesized_expression "(iVar4 != 0x15)" ( (binary_expression "iVar4 != 0x15" identifier != number_literal) )) || (parenthesized_expression "(local_94 != 6)" ( (binary_expression "local_94 != 6" identifier != number_literal) ))) )) || (parenthesized_expression "((local_90 != 0x10 || (local_8c != 2)))" ( (parenthesized_expression "(local_90 != 0x10 || (local_8c != 2))" ( (binary_expression "local_90 != 0x10 || (local_8c != 2)" (binary_expression "local_90 != 0x10" identifier != number_literal) || (parenthesized_expression "(local_8c != 2)" ( (binary_expression "local_8c != 2" identifier != number_literal) ))) )) ))) )) (compound_statement "{\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n        goto LAB_0010c703;\n      }" { (expression_statement "puts("Passive mode address scan failure. Shouldn\'t happen!");" (call_expression "puts("Passive mode address scan failure. Shouldn\'t happen!")" identifier (argument_list "("Passive mode address scan failure. Shouldn\'t happen!")" ( (string_literal ""Passive mode address scan failure. Shouldn\'t happen!"" " string_content escape_sequence string_content ") ))) ;) (expression_statement "FUN_0010bb32(&DAT_0011a479);" (call_expression "FUN_0010bb32(&DAT_0011a479)" identifier (argument_list "(&DAT_0011a479)" ( (pointer_expression "&DAT_0011a479" & identifier) ))) ;) (goto_statement "goto LAB_0010c703;" goto statement_identifier ;) })) (expression_statement "puVar5 = local_88;" (assignment_expression "puVar5 = local_88" identifier = identifier) ;) (do_statement "do {\n        *puVar5 = *puVar5 & 0xff;\n        puVar5 = puVar5 + 1;\n      } while (puVar5 != local_48);" do (compound_statement "{\n        *puVar5 = *puVar5 & 0xff;\n        puVar5 = puVar5 + 1;\n      }" { (expression_statement "*puVar5 = *puVar5 & 0xff;" (assignment_expression "*puVar5 = *puVar5 & 0xff" (pointer_expression "*puVar5" * identifier) = (binary_expression "*puVar5 & 0xff" (pointer_expression "*puVar5" * identifier) & number_literal)) ;) (expression_statement "puVar5 = puVar5 + 1;" (assignment_expression "puVar5 = puVar5 + 1" identifier = (binary_expression "puVar5 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar5 != local_48)" ( (binary_expression "puVar5 != local_48" identifier != identifier) )) ;) (expression_statement "_DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,10);" (assignment_expression "_DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,10)" identifier = (call_expression "CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,10)" identifier (argument_list "((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,10)" ( (binary_expression "(ushort)local_9c[0] << 8 | local_a0[0] & 0xff" (binary_expression "(ushort)local_9c[0] << 8" (cast_expression "(ushort)local_9c[0]" ( (type_descriptor "ushort" type_identifier) ) (subscript_expression "local_9c[0]" identifier [ number_literal ])) << number_literal) | (binary_expression "local_a0[0] & 0xff" (subscript_expression "local_a0[0]" identifier [ number_literal ]) & number_literal)) , number_literal )))) ;) (expression_statement "uVar2 = local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3] | local_88[2] << 8;" (assignment_expression "uVar2 = local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3] | local_88[2] << 8" identifier = (binary_expression "local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3] | local_88[2] << 8" (binary_expression "local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3]" (binary_expression "local_88[0] << 0x18 | local_88[1] << 0x10" (binary_expression "local_88[0] << 0x18" (subscript_expression "local_88[0]" identifier [ number_literal ]) << number_literal) | (binary_expression "local_88[1] << 0x10" (subscript_expression "local_88[1]" identifier [ number_literal ]) << number_literal)) | (subscript_expression "local_88[3]" identifier [ number_literal ])) | (binary_expression "local_88[2] << 8" (subscript_expression "local_88[2]" identifier [ number_literal ]) << number_literal))) ;) (expression_statement "uVar3 = local_88[4] << 0x18 | local_88[5] << 0x10 | local_88[7] | local_88[6] << 8;" (assignment_expression "uVar3 = local_88[4] << 0x18 | local_88[5] << 0x10 | local_88[7] | local_88[6] << 8" identifier = (binary_expression "local_88[4] << 0x18 | local_88[5] << 0x10 | local_88[7] | local_88[6] << 8" (binary_expression "local_88[4] << 0x18 | local_88[5] << 0x10 | local_88[7]" (binary_expression "local_88[4] << 0x18 | local_88[5] << 0x10" (binary_expression "local_88[4] << 0x18" (subscript_expression "local_88[4]" identifier [ number_literal ]) << number_literal) | (binary_expression "local_88[5] << 0x10" (subscript_expression "local_88[5]" identifier [ number_literal ]) << number_literal)) | (subscript_expression "local_88[7]" identifier [ number_literal ])) | (binary_expression "local_88[6] << 8" (subscript_expression "local_88[6]" identifier [ number_literal ]) << number_literal))) ;) (expression_statement "_DAT_00126448 =\n           CONCAT44(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                    local_88[7] << 0x18,\n                    uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                    local_88[3] << 0x18);" (assignment_expression "_DAT_00126448 =\n           CONCAT44(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                    local_88[7] << 0x18,\n                    uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                    local_88[3] << 0x18)" identifier = (call_expression "CONCAT44(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                    local_88[7] << 0x18,\n                    uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                    local_88[3] << 0x18)" identifier (argument_list "(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                    local_88[7] << 0x18,\n                    uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                    local_88[3] << 0x18)" ( (binary_expression "uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                    local_88[7] << 0x18" (binary_expression "uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8" (binary_expression "uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8" (binary_expression "uVar3 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar3 & 0xff0000) >> 8" (parenthesized_expression "(uVar3 & 0xff0000)" ( (binary_expression "uVar3 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar3 & 0xff00) << 8" (parenthesized_expression "(uVar3 & 0xff00)" ( (binary_expression "uVar3 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "local_88[7] << 0x18" (subscript_expression "local_88[7]" identifier [ number_literal ]) << number_literal)) , (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                    local_88[3] << 0x18" (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8" (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8" (binary_expression "uVar2 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar2 & 0xff0000) >> 8" (parenthesized_expression "(uVar2 & 0xff0000)" ( (binary_expression "uVar2 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar2 & 0xff00) << 8" (parenthesized_expression "(uVar2 & 0xff00)" ( (binary_expression "uVar2 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "local_88[3] << 0x18" (subscript_expression "local_88[3]" identifier [ number_literal ]) << number_literal)) )))) ;) (expression_statement "uVar2 = local_88[8] << 0x18 | local_88[9] << 0x10 | local_88[0xb] | local_88[10] << 8;" (assignment_expression "uVar2 = local_88[8] << 0x18 | local_88[9] << 0x10 | local_88[0xb] | local_88[10] << 8" identifier = (binary_expression "local_88[8] << 0x18 | local_88[9] << 0x10 | local_88[0xb] | local_88[10] << 8" (binary_expression "local_88[8] << 0x18 | local_88[9] << 0x10 | local_88[0xb]" (binary_expression "local_88[8] << 0x18 | local_88[9] << 0x10" (binary_expression "local_88[8] << 0x18" (subscript_expression "local_88[8]" identifier [ number_literal ]) << number_literal) | (binary_expression "local_88[9] << 0x10" (subscript_expression "local_88[9]" identifier [ number_literal ]) << number_literal)) | (subscript_expression "local_88[0xb]" identifier [ number_literal ])) | (binary_expression "local_88[10] << 8" (subscript_expression "local_88[10]" identifier [ number_literal ]) << number_literal))) ;) (expression_statement "uVar3 = local_88[0xc] << 0x18 | local_88[0xd] << 0x10 | local_88[0xf] | local_88[0xe] << 8;" (assignment_expression "uVar3 = local_88[0xc] << 0x18 | local_88[0xd] << 0x10 | local_88[0xf] | local_88[0xe] << 8" identifier = (binary_expression "local_88[0xc] << 0x18 | local_88[0xd] << 0x10 | local_88[0xf] | local_88[0xe] << 8" (binary_expression "local_88[0xc] << 0x18 | local_88[0xd] << 0x10 | local_88[0xf]" (binary_expression "local_88[0xc] << 0x18 | local_88[0xd] << 0x10" (binary_expression "local_88[0xc] << 0x18" (subscript_expression "local_88[0xc]" identifier [ number_literal ]) << number_literal) | (binary_expression "local_88[0xd] << 0x10" (subscript_expression "local_88[0xd]" identifier [ number_literal ]) << number_literal)) | (subscript_expression "local_88[0xf]" identifier [ number_literal ])) | (binary_expression "local_88[0xe] << 8" (subscript_expression "local_88[0xe]" identifier [ number_literal ]) << number_literal))) ;) (expression_statement "_DAT_00126450 =\n           CONCAT44(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                    local_88[0xf] << 0x18,\n                    uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                    local_88[0xb] << 0x18);" (assignment_expression "_DAT_00126450 =\n           CONCAT44(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                    local_88[0xf] << 0x18,\n                    uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                    local_88[0xb] << 0x18)" identifier = (call_expression "CONCAT44(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                    local_88[0xf] << 0x18,\n                    uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                    local_88[0xb] << 0x18)" identifier (argument_list "(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                    local_88[0xf] << 0x18,\n                    uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                    local_88[0xb] << 0x18)" ( (binary_expression "uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                    local_88[0xf] << 0x18" (binary_expression "uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8" (binary_expression "uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8" (binary_expression "uVar3 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar3 & 0xff0000) >> 8" (parenthesized_expression "(uVar3 & 0xff0000)" ( (binary_expression "uVar3 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar3 & 0xff00) << 8" (parenthesized_expression "(uVar3 & 0xff00)" ( (binary_expression "uVar3 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "local_88[0xf] << 0x18" (subscript_expression "local_88[0xf]" identifier [ number_literal ]) << number_literal)) , (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                    local_88[0xb] << 0x18" (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8" (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8" (binary_expression "uVar2 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar2 & 0xff0000) >> 8" (parenthesized_expression "(uVar2 & 0xff0000)" ( (binary_expression "uVar2 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar2 & 0xff00) << 8" (parenthesized_expression "(uVar2 & 0xff00)" ( (binary_expression "uVar2 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "local_88[0xb] << 0x18" (subscript_expression "local_88[0xb]" identifier [ number_literal ]) << number_literal)) )))) ;) (expression_statement "uVar1 = _DAT_00126440;" (assignment_expression "uVar1 = _DAT_00126440" identifier = identifier) ;) (goto_statement "goto LAB_0010c540;" goto statement_identifier ;) })) (expression_statement "puts("Passive mode refused.");" (call_expression "puts("Passive mode refused.")" identifier (argument_list "("Passive mode refused.")" ( (string_literal ""Passive mode refused."" " string_content ") ))) ;) }) (else_clause "else {\n    if (DAT_00124200 == 10) {\n      iVar4 = FUN_0010bb32(&DAT_0011a450);\n      if (iVar4 == 2) {\nLAB_0010c336:\n        iVar4 = sscanf(&DAT_00127a80,"%u|",local_98);\n        if (iVar4 == 1) {\n          _DAT_00126440 = DAT_00124160;\n          uVar1 = _DAT_00126440;\n          _DAT_00126448 = DAT_00124168;\n          _DAT_00126450 = _DAT_00124170;\n          uRam0000000000126458 = uRam0000000000124178;\n          _DAT_00126460 = _DAT_00124180;\n          uRam0000000000126468 = uRam0000000000124188;\n          _DAT_00126470 = _DAT_00124190;\n          uRam0000000000126478 = uRam0000000000124198;\n          _DAT_00126480 = _DAT_001241a0;\n          uRam0000000000126488 = uRam00000000001241a8;\n          _DAT_00126490 = _DAT_001241b0;\n          uRam0000000000126498 = uRam00000000001241b8;\n          _DAT_001264a0 = _DAT_001241c0;\n          uRam00000000001264a8 = uRam00000000001241c8;\n          _DAT_001264b0 = _DAT_001241d0;\n          uRam00000000001264b8 = uRam00000000001241d8;\n          _DAT_00126444 = (undefined4)(DAT_00124160 >> 0x20);\n          if ((short)DAT_00124160 == 2) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,2);\n            uVar1 = _DAT_00126440;\n          }\n          else if ((short)DAT_00124160 == 10) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,10);\n            uVar1 = _DAT_00126440;\n          }\n          goto LAB_0010c540;\n        }\n        puts("Extended passive mode scan failure. Should not happen!");\n        FUN_0010bb32(&DAT_0011a479);\n      }\n      else {\n        iVar4 = FUN_0010bb32(&DAT_0011a45a);\n        if (iVar4 == 2) goto LAB_0010c62c;\n        puts("Passive mode refused.");\n      }\n      goto LAB_0010c703;\n    }\nLAB_0010c499:\n    if (DAT_00124200 == 2) {\n      iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u",&local_b0,&local_ac,&local_a8,local_a4,\n                     local_a0,local_9c);\n      if (iVar4 == 6) {\n        _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2);\n        _DAT_00126440 =\n             CONCAT44(local_b0 & 0xff | ((local_ac & 0xff) << 0x10) >> 8 | (local_a8 & 0xff) << 0x10\n                      | (uint)local_a4[0] << 0x18,_DAT_00126440);\n        uVar1 = _DAT_00126440;\nLAB_0010c540:\n        _DAT_00126440 = uVar1;\n        iVar4 = connect(DAT_001216e0,(sockaddr *)&DAT_00126440,DAT_001264c0);\n        if (-1 < iVar4) {\n          local_b4 = 8;\n          bVar7 = false;\n          if (DAT_00126440 == 2) {\n            iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);\n            if (iVar4 < 0) {\n              perror("ftp: setsockopt TOS (ignored)");\n            }\n          }\n          goto LAB_0010ca2b;\n        }\n        perror("ftp: connect");\n      }\n      else {\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n      }\n    }\n    else {\n      puts("Passive mode address scan failure. Shouldn\'t happen!");\n    }\n  }" else (compound_statement "{\n    if (DAT_00124200 == 10) {\n      iVar4 = FUN_0010bb32(&DAT_0011a450);\n      if (iVar4 == 2) {\nLAB_0010c336:\n        iVar4 = sscanf(&DAT_00127a80,"%u|",local_98);\n        if (iVar4 == 1) {\n          _DAT_00126440 = DAT_00124160;\n          uVar1 = _DAT_00126440;\n          _DAT_00126448 = DAT_00124168;\n          _DAT_00126450 = _DAT_00124170;\n          uRam0000000000126458 = uRam0000000000124178;\n          _DAT_00126460 = _DAT_00124180;\n          uRam0000000000126468 = uRam0000000000124188;\n          _DAT_00126470 = _DAT_00124190;\n          uRam0000000000126478 = uRam0000000000124198;\n          _DAT_00126480 = _DAT_001241a0;\n          uRam0000000000126488 = uRam00000000001241a8;\n          _DAT_00126490 = _DAT_001241b0;\n          uRam0000000000126498 = uRam00000000001241b8;\n          _DAT_001264a0 = _DAT_001241c0;\n          uRam00000000001264a8 = uRam00000000001241c8;\n          _DAT_001264b0 = _DAT_001241d0;\n          uRam00000000001264b8 = uRam00000000001241d8;\n          _DAT_00126444 = (undefined4)(DAT_00124160 >> 0x20);\n          if ((short)DAT_00124160 == 2) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,2);\n            uVar1 = _DAT_00126440;\n          }\n          else if ((short)DAT_00124160 == 10) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,10);\n            uVar1 = _DAT_00126440;\n          }\n          goto LAB_0010c540;\n        }\n        puts("Extended passive mode scan failure. Should not happen!");\n        FUN_0010bb32(&DAT_0011a479);\n      }\n      else {\n        iVar4 = FUN_0010bb32(&DAT_0011a45a);\n        if (iVar4 == 2) goto LAB_0010c62c;\n        puts("Passive mode refused.");\n      }\n      goto LAB_0010c703;\n    }\nLAB_0010c499:\n    if (DAT_00124200 == 2) {\n      iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u",&local_b0,&local_ac,&local_a8,local_a4,\n                     local_a0,local_9c);\n      if (iVar4 == 6) {\n        _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2);\n        _DAT_00126440 =\n             CONCAT44(local_b0 & 0xff | ((local_ac & 0xff) << 0x10) >> 8 | (local_a8 & 0xff) << 0x10\n                      | (uint)local_a4[0] << 0x18,_DAT_00126440);\n        uVar1 = _DAT_00126440;\nLAB_0010c540:\n        _DAT_00126440 = uVar1;\n        iVar4 = connect(DAT_001216e0,(sockaddr *)&DAT_00126440,DAT_001264c0);\n        if (-1 < iVar4) {\n          local_b4 = 8;\n          bVar7 = false;\n          if (DAT_00126440 == 2) {\n            iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);\n            if (iVar4 < 0) {\n              perror("ftp: setsockopt TOS (ignored)");\n            }\n          }\n          goto LAB_0010ca2b;\n        }\n        perror("ftp: connect");\n      }\n      else {\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n      }\n    }\n    else {\n      puts("Passive mode address scan failure. Shouldn\'t happen!");\n    }\n  }" { (if_statement "if (DAT_00124200 == 10) {\n      iVar4 = FUN_0010bb32(&DAT_0011a450);\n      if (iVar4 == 2) {\nLAB_0010c336:\n        iVar4 = sscanf(&DAT_00127a80,"%u|",local_98);\n        if (iVar4 == 1) {\n          _DAT_00126440 = DAT_00124160;\n          uVar1 = _DAT_00126440;\n          _DAT_00126448 = DAT_00124168;\n          _DAT_00126450 = _DAT_00124170;\n          uRam0000000000126458 = uRam0000000000124178;\n          _DAT_00126460 = _DAT_00124180;\n          uRam0000000000126468 = uRam0000000000124188;\n          _DAT_00126470 = _DAT_00124190;\n          uRam0000000000126478 = uRam0000000000124198;\n          _DAT_00126480 = _DAT_001241a0;\n          uRam0000000000126488 = uRam00000000001241a8;\n          _DAT_00126490 = _DAT_001241b0;\n          uRam0000000000126498 = uRam00000000001241b8;\n          _DAT_001264a0 = _DAT_001241c0;\n          uRam00000000001264a8 = uRam00000000001241c8;\n          _DAT_001264b0 = _DAT_001241d0;\n          uRam00000000001264b8 = uRam00000000001241d8;\n          _DAT_00126444 = (undefined4)(DAT_00124160 >> 0x20);\n          if ((short)DAT_00124160 == 2) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,2);\n            uVar1 = _DAT_00126440;\n          }\n          else if ((short)DAT_00124160 == 10) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,10);\n            uVar1 = _DAT_00126440;\n          }\n          goto LAB_0010c540;\n        }\n        puts("Extended passive mode scan failure. Should not happen!");\n        FUN_0010bb32(&DAT_0011a479);\n      }\n      else {\n        iVar4 = FUN_0010bb32(&DAT_0011a45a);\n        if (iVar4 == 2) goto LAB_0010c62c;\n        puts("Passive mode refused.");\n      }\n      goto LAB_0010c703;\n    }" if (parenthesized_expression "(DAT_00124200 == 10)" ( (binary_expression "DAT_00124200 == 10" identifier == number_literal) )) (compound_statement "{\n      iVar4 = FUN_0010bb32(&DAT_0011a450);\n      if (iVar4 == 2) {\nLAB_0010c336:\n        iVar4 = sscanf(&DAT_00127a80,"%u|",local_98);\n        if (iVar4 == 1) {\n          _DAT_00126440 = DAT_00124160;\n          uVar1 = _DAT_00126440;\n          _DAT_00126448 = DAT_00124168;\n          _DAT_00126450 = _DAT_00124170;\n          uRam0000000000126458 = uRam0000000000124178;\n          _DAT_00126460 = _DAT_00124180;\n          uRam0000000000126468 = uRam0000000000124188;\n          _DAT_00126470 = _DAT_00124190;\n          uRam0000000000126478 = uRam0000000000124198;\n          _DAT_00126480 = _DAT_001241a0;\n          uRam0000000000126488 = uRam00000000001241a8;\n          _DAT_00126490 = _DAT_001241b0;\n          uRam0000000000126498 = uRam00000000001241b8;\n          _DAT_001264a0 = _DAT_001241c0;\n          uRam00000000001264a8 = uRam00000000001241c8;\n          _DAT_001264b0 = _DAT_001241d0;\n          uRam00000000001264b8 = uRam00000000001241d8;\n          _DAT_00126444 = (undefined4)(DAT_00124160 >> 0x20);\n          if ((short)DAT_00124160 == 2) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,2);\n            uVar1 = _DAT_00126440;\n          }\n          else if ((short)DAT_00124160 == 10) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,10);\n            uVar1 = _DAT_00126440;\n          }\n          goto LAB_0010c540;\n        }\n        puts("Extended passive mode scan failure. Should not happen!");\n        FUN_0010bb32(&DAT_0011a479);\n      }\n      else {\n        iVar4 = FUN_0010bb32(&DAT_0011a45a);\n        if (iVar4 == 2) goto LAB_0010c62c;\n        puts("Passive mode refused.");\n      }\n      goto LAB_0010c703;\n    }" { (expression_statement "iVar4 = FUN_0010bb32(&DAT_0011a450);" (assignment_expression "iVar4 = FUN_0010bb32(&DAT_0011a450)" identifier = (call_expression "FUN_0010bb32(&DAT_0011a450)" identifier (argument_list "(&DAT_0011a450)" ( (pointer_expression "&DAT_0011a450" & identifier) )))) ;) (if_statement "if (iVar4 == 2) {\nLAB_0010c336:\n        iVar4 = sscanf(&DAT_00127a80,"%u|",local_98);\n        if (iVar4 == 1) {\n          _DAT_00126440 = DAT_00124160;\n          uVar1 = _DAT_00126440;\n          _DAT_00126448 = DAT_00124168;\n          _DAT_00126450 = _DAT_00124170;\n          uRam0000000000126458 = uRam0000000000124178;\n          _DAT_00126460 = _DAT_00124180;\n          uRam0000000000126468 = uRam0000000000124188;\n          _DAT_00126470 = _DAT_00124190;\n          uRam0000000000126478 = uRam0000000000124198;\n          _DAT_00126480 = _DAT_001241a0;\n          uRam0000000000126488 = uRam00000000001241a8;\n          _DAT_00126490 = _DAT_001241b0;\n          uRam0000000000126498 = uRam00000000001241b8;\n          _DAT_001264a0 = _DAT_001241c0;\n          uRam00000000001264a8 = uRam00000000001241c8;\n          _DAT_001264b0 = _DAT_001241d0;\n          uRam00000000001264b8 = uRam00000000001241d8;\n          _DAT_00126444 = (undefined4)(DAT_00124160 >> 0x20);\n          if ((short)DAT_00124160 == 2) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,2);\n            uVar1 = _DAT_00126440;\n          }\n          else if ((short)DAT_00124160 == 10) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,10);\n            uVar1 = _DAT_00126440;\n          }\n          goto LAB_0010c540;\n        }\n        puts("Extended passive mode scan failure. Should not happen!");\n        FUN_0010bb32(&DAT_0011a479);\n      }\n      else {\n        iVar4 = FUN_0010bb32(&DAT_0011a45a);\n        if (iVar4 == 2) goto LAB_0010c62c;\n        puts("Passive mode refused.");\n      }" if (parenthesized_expression "(iVar4 == 2)" ( (binary_expression "iVar4 == 2" identifier == number_literal) )) (compound_statement "{\nLAB_0010c336:\n        iVar4 = sscanf(&DAT_00127a80,"%u|",local_98);\n        if (iVar4 == 1) {\n          _DAT_00126440 = DAT_00124160;\n          uVar1 = _DAT_00126440;\n          _DAT_00126448 = DAT_00124168;\n          _DAT_00126450 = _DAT_00124170;\n          uRam0000000000126458 = uRam0000000000124178;\n          _DAT_00126460 = _DAT_00124180;\n          uRam0000000000126468 = uRam0000000000124188;\n          _DAT_00126470 = _DAT_00124190;\n          uRam0000000000126478 = uRam0000000000124198;\n          _DAT_00126480 = _DAT_001241a0;\n          uRam0000000000126488 = uRam00000000001241a8;\n          _DAT_00126490 = _DAT_001241b0;\n          uRam0000000000126498 = uRam00000000001241b8;\n          _DAT_001264a0 = _DAT_001241c0;\n          uRam00000000001264a8 = uRam00000000001241c8;\n          _DAT_001264b0 = _DAT_001241d0;\n          uRam00000000001264b8 = uRam00000000001241d8;\n          _DAT_00126444 = (undefined4)(DAT_00124160 >> 0x20);\n          if ((short)DAT_00124160 == 2) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,2);\n            uVar1 = _DAT_00126440;\n          }\n          else if ((short)DAT_00124160 == 10) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,10);\n            uVar1 = _DAT_00126440;\n          }\n          goto LAB_0010c540;\n        }\n        puts("Extended passive mode scan failure. Should not happen!");\n        FUN_0010bb32(&DAT_0011a479);\n      }" { (labeled_statement "LAB_0010c336:\n        iVar4 = sscanf(&DAT_00127a80,"%u|",local_98);" statement_identifier : (expression_statement "iVar4 = sscanf(&DAT_00127a80,"%u|",local_98);" (assignment_expression "iVar4 = sscanf(&DAT_00127a80,"%u|",local_98)" identifier = (call_expression "sscanf(&DAT_00127a80,"%u|",local_98)" identifier (argument_list "(&DAT_00127a80,"%u|",local_98)" ( (pointer_expression "&DAT_00127a80" & identifier) , (string_literal ""%u|"" " string_content ") , identifier )))) ;)) (if_statement "if (iVar4 == 1) {\n          _DAT_00126440 = DAT_00124160;\n          uVar1 = _DAT_00126440;\n          _DAT_00126448 = DAT_00124168;\n          _DAT_00126450 = _DAT_00124170;\n          uRam0000000000126458 = uRam0000000000124178;\n          _DAT_00126460 = _DAT_00124180;\n          uRam0000000000126468 = uRam0000000000124188;\n          _DAT_00126470 = _DAT_00124190;\n          uRam0000000000126478 = uRam0000000000124198;\n          _DAT_00126480 = _DAT_001241a0;\n          uRam0000000000126488 = uRam00000000001241a8;\n          _DAT_00126490 = _DAT_001241b0;\n          uRam0000000000126498 = uRam00000000001241b8;\n          _DAT_001264a0 = _DAT_001241c0;\n          uRam00000000001264a8 = uRam00000000001241c8;\n          _DAT_001264b0 = _DAT_001241d0;\n          uRam00000000001264b8 = uRam00000000001241d8;\n          _DAT_00126444 = (undefined4)(DAT_00124160 >> 0x20);\n          if ((short)DAT_00124160 == 2) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,2);\n            uVar1 = _DAT_00126440;\n          }\n          else if ((short)DAT_00124160 == 10) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,10);\n            uVar1 = _DAT_00126440;\n          }\n          goto LAB_0010c540;\n        }" if (parenthesized_expression "(iVar4 == 1)" ( (binary_expression "iVar4 == 1" identifier == number_literal) )) (compound_statement "{\n          _DAT_00126440 = DAT_00124160;\n          uVar1 = _DAT_00126440;\n          _DAT_00126448 = DAT_00124168;\n          _DAT_00126450 = _DAT_00124170;\n          uRam0000000000126458 = uRam0000000000124178;\n          _DAT_00126460 = _DAT_00124180;\n          uRam0000000000126468 = uRam0000000000124188;\n          _DAT_00126470 = _DAT_00124190;\n          uRam0000000000126478 = uRam0000000000124198;\n          _DAT_00126480 = _DAT_001241a0;\n          uRam0000000000126488 = uRam00000000001241a8;\n          _DAT_00126490 = _DAT_001241b0;\n          uRam0000000000126498 = uRam00000000001241b8;\n          _DAT_001264a0 = _DAT_001241c0;\n          uRam00000000001264a8 = uRam00000000001241c8;\n          _DAT_001264b0 = _DAT_001241d0;\n          uRam00000000001264b8 = uRam00000000001241d8;\n          _DAT_00126444 = (undefined4)(DAT_00124160 >> 0x20);\n          if ((short)DAT_00124160 == 2) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,2);\n            uVar1 = _DAT_00126440;\n          }\n          else if ((short)DAT_00124160 == 10) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,10);\n            uVar1 = _DAT_00126440;\n          }\n          goto LAB_0010c540;\n        }" { (expression_statement "_DAT_00126440 = DAT_00124160;" (assignment_expression "_DAT_00126440 = DAT_00124160" identifier = identifier) ;) (expression_statement "uVar1 = _DAT_00126440;" (assignment_expression "uVar1 = _DAT_00126440" identifier = identifier) ;) (expression_statement "_DAT_00126448 = DAT_00124168;" (assignment_expression "_DAT_00126448 = DAT_00124168" identifier = identifier) ;) (expression_statement "_DAT_00126450 = _DAT_00124170;" (assignment_expression "_DAT_00126450 = _DAT_00124170" identifier = identifier) ;) (expression_statement "uRam0000000000126458 = uRam0000000000124178;" (assignment_expression "uRam0000000000126458 = uRam0000000000124178" identifier = identifier) ;) (expression_statement "_DAT_00126460 = _DAT_00124180;" (assignment_expression "_DAT_00126460 = _DAT_00124180" identifier = identifier) ;) (expression_statement "uRam0000000000126468 = uRam0000000000124188;" (assignment_expression "uRam0000000000126468 = uRam0000000000124188" identifier = identifier) ;) (expression_statement "_DAT_00126470 = _DAT_00124190;" (assignment_expression "_DAT_00126470 = _DAT_00124190" identifier = identifier) ;) (expression_statement "uRam0000000000126478 = uRam0000000000124198;" (assignment_expression "uRam0000000000126478 = uRam0000000000124198" identifier = identifier) ;) (expression_statement "_DAT_00126480 = _DAT_001241a0;" (assignment_expression "_DAT_00126480 = _DAT_001241a0" identifier = identifier) ;) (expression_statement "uRam0000000000126488 = uRam00000000001241a8;" (assignment_expression "uRam0000000000126488 = uRam00000000001241a8" identifier = identifier) ;) (expression_statement "_DAT_00126490 = _DAT_001241b0;" (assignment_expression "_DAT_00126490 = _DAT_001241b0" identifier = identifier) ;) (expression_statement "uRam0000000000126498 = uRam00000000001241b8;" (assignment_expression "uRam0000000000126498 = uRam00000000001241b8" identifier = identifier) ;) (expression_statement "_DAT_001264a0 = _DAT_001241c0;" (assignment_expression "_DAT_001264a0 = _DAT_001241c0" identifier = identifier) ;) (expression_statement "uRam00000000001264a8 = uRam00000000001241c8;" (assignment_expression "uRam00000000001264a8 = uRam00000000001241c8" identifier = identifier) ;) (expression_statement "_DAT_001264b0 = _DAT_001241d0;" (assignment_expression "_DAT_001264b0 = _DAT_001241d0" identifier = identifier) ;) (expression_statement "uRam00000000001264b8 = uRam00000000001241d8;" (assignment_expression "uRam00000000001264b8 = uRam00000000001241d8" identifier = identifier) ;) (expression_statement "_DAT_00126444 = (undefined4)(DAT_00124160 >> 0x20);" (assignment_expression "_DAT_00126444 = (undefined4)(DAT_00124160 >> 0x20)" identifier = (call_expression "(undefined4)(DAT_00124160 >> 0x20)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "(DAT_00124160 >> 0x20)" ( (binary_expression "DAT_00124160 >> 0x20" identifier >> number_literal) )))) ;) (if_statement "if ((short)DAT_00124160 == 2) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,2);\n            uVar1 = _DAT_00126440;\n          }\n          else if ((short)DAT_00124160 == 10) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,10);\n            uVar1 = _DAT_00126440;\n          }" if (parenthesized_expression "((short)DAT_00124160 == 2)" ( (binary_expression "(short)DAT_00124160 == 2" (cast_expression "(short)DAT_00124160" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier) == number_literal) )) (compound_statement "{\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,2);\n            uVar1 = _DAT_00126440;\n          }" { (expression_statement "_DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,2);" (assignment_expression "_DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,2)" identifier = (call_expression "CONCAT22(local_98[0] << 8 | local_98[0] >> 8,2)" identifier (argument_list "(local_98[0] << 8 | local_98[0] >> 8,2)" ( (binary_expression "local_98[0] << 8 | local_98[0] >> 8" (binary_expression "local_98[0] << 8" (subscript_expression "local_98[0]" identifier [ number_literal ]) << number_literal) | (binary_expression "local_98[0] >> 8" (subscript_expression "local_98[0]" identifier [ number_literal ]) >> number_literal)) , number_literal )))) ;) (expression_statement "uVar1 = _DAT_00126440;" (assignment_expression "uVar1 = _DAT_00126440" identifier = identifier) ;) }) (else_clause "else if ((short)DAT_00124160 == 10) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,10);\n            uVar1 = _DAT_00126440;\n          }" else (if_statement "if ((short)DAT_00124160 == 10) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,10);\n            uVar1 = _DAT_00126440;\n          }" if (parenthesized_expression "((short)DAT_00124160 == 10)" ( (binary_expression "(short)DAT_00124160 == 10" (cast_expression "(short)DAT_00124160" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier) == number_literal) )) (compound_statement "{\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,10);\n            uVar1 = _DAT_00126440;\n          }" { (expression_statement "_DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,10);" (assignment_expression "_DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,10)" identifier = (call_expression "CONCAT22(local_98[0] << 8 | local_98[0] >> 8,10)" identifier (argument_list "(local_98[0] << 8 | local_98[0] >> 8,10)" ( (binary_expression "local_98[0] << 8 | local_98[0] >> 8" (binary_expression "local_98[0] << 8" (subscript_expression "local_98[0]" identifier [ number_literal ]) << number_literal) | (binary_expression "local_98[0] >> 8" (subscript_expression "local_98[0]" identifier [ number_literal ]) >> number_literal)) , number_literal )))) ;) (expression_statement "uVar1 = _DAT_00126440;" (assignment_expression "uVar1 = _DAT_00126440" identifier = identifier) ;) })))) (goto_statement "goto LAB_0010c540;" goto statement_identifier ;) })) (expression_statement "puts("Extended passive mode scan failure. Should not happen!");" (call_expression "puts("Extended passive mode scan failure. Should not happen!")" identifier (argument_list "("Extended passive mode scan failure. Should not happen!")" ( (string_literal ""Extended passive mode scan failure. Should not happen!"" " string_content ") ))) ;) (expression_statement "FUN_0010bb32(&DAT_0011a479);" (call_expression "FUN_0010bb32(&DAT_0011a479)" identifier (argument_list "(&DAT_0011a479)" ( (pointer_expression "&DAT_0011a479" & identifier) ))) ;) }) (else_clause "else {\n        iVar4 = FUN_0010bb32(&DAT_0011a45a);\n        if (iVar4 == 2) goto LAB_0010c62c;\n        puts("Passive mode refused.");\n      }" else (compound_statement "{\n        iVar4 = FUN_0010bb32(&DAT_0011a45a);\n        if (iVar4 == 2) goto LAB_0010c62c;\n        puts("Passive mode refused.");\n      }" { (expression_statement "iVar4 = FUN_0010bb32(&DAT_0011a45a);" (assignment_expression "iVar4 = FUN_0010bb32(&DAT_0011a45a)" identifier = (call_expression "FUN_0010bb32(&DAT_0011a45a)" identifier (argument_list "(&DAT_0011a45a)" ( (pointer_expression "&DAT_0011a45a" & identifier) )))) ;) (if_statement "if (iVar4 == 2) goto LAB_0010c62c;" if (parenthesized_expression "(iVar4 == 2)" ( (binary_expression "iVar4 == 2" identifier == number_literal) )) (goto_statement "goto LAB_0010c62c;" goto statement_identifier ;)) (expression_statement "puts("Passive mode refused.");" (call_expression "puts("Passive mode refused.")" identifier (argument_list "("Passive mode refused.")" ( (string_literal ""Passive mode refused."" " string_content ") ))) ;) }))) (goto_statement "goto LAB_0010c703;" goto statement_identifier ;) })) (labeled_statement "LAB_0010c499:\n    if (DAT_00124200 == 2) {\n      iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u",&local_b0,&local_ac,&local_a8,local_a4,\n                     local_a0,local_9c);\n      if (iVar4 == 6) {\n        _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2);\n        _DAT_00126440 =\n             CONCAT44(local_b0 & 0xff | ((local_ac & 0xff) << 0x10) >> 8 | (local_a8 & 0xff) << 0x10\n                      | (uint)local_a4[0] << 0x18,_DAT_00126440);\n        uVar1 = _DAT_00126440;\nLAB_0010c540:\n        _DAT_00126440 = uVar1;\n        iVar4 = connect(DAT_001216e0,(sockaddr *)&DAT_00126440,DAT_001264c0);\n        if (-1 < iVar4) {\n          local_b4 = 8;\n          bVar7 = false;\n          if (DAT_00126440 == 2) {\n            iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);\n            if (iVar4 < 0) {\n              perror("ftp: setsockopt TOS (ignored)");\n            }\n          }\n          goto LAB_0010ca2b;\n        }\n        perror("ftp: connect");\n      }\n      else {\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n      }\n    }\n    else {\n      puts("Passive mode address scan failure. Shouldn\'t happen!");\n    }" statement_identifier : (if_statement "if (DAT_00124200 == 2) {\n      iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u",&local_b0,&local_ac,&local_a8,local_a4,\n                     local_a0,local_9c);\n      if (iVar4 == 6) {\n        _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2);\n        _DAT_00126440 =\n             CONCAT44(local_b0 & 0xff | ((local_ac & 0xff) << 0x10) >> 8 | (local_a8 & 0xff) << 0x10\n                      | (uint)local_a4[0] << 0x18,_DAT_00126440);\n        uVar1 = _DAT_00126440;\nLAB_0010c540:\n        _DAT_00126440 = uVar1;\n        iVar4 = connect(DAT_001216e0,(sockaddr *)&DAT_00126440,DAT_001264c0);\n        if (-1 < iVar4) {\n          local_b4 = 8;\n          bVar7 = false;\n          if (DAT_00126440 == 2) {\n            iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);\n            if (iVar4 < 0) {\n              perror("ftp: setsockopt TOS (ignored)");\n            }\n          }\n          goto LAB_0010ca2b;\n        }\n        perror("ftp: connect");\n      }\n      else {\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n      }\n    }\n    else {\n      puts("Passive mode address scan failure. Shouldn\'t happen!");\n    }" if (parenthesized_expression "(DAT_00124200 == 2)" ( (binary_expression "DAT_00124200 == 2" identifier == number_literal) )) (compound_statement "{\n      iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u",&local_b0,&local_ac,&local_a8,local_a4,\n                     local_a0,local_9c);\n      if (iVar4 == 6) {\n        _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2);\n        _DAT_00126440 =\n             CONCAT44(local_b0 & 0xff | ((local_ac & 0xff) << 0x10) >> 8 | (local_a8 & 0xff) << 0x10\n                      | (uint)local_a4[0] << 0x18,_DAT_00126440);\n        uVar1 = _DAT_00126440;\nLAB_0010c540:\n        _DAT_00126440 = uVar1;\n        iVar4 = connect(DAT_001216e0,(sockaddr *)&DAT_00126440,DAT_001264c0);\n        if (-1 < iVar4) {\n          local_b4 = 8;\n          bVar7 = false;\n          if (DAT_00126440 == 2) {\n            iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);\n            if (iVar4 < 0) {\n              perror("ftp: setsockopt TOS (ignored)");\n            }\n          }\n          goto LAB_0010ca2b;\n        }\n        perror("ftp: connect");\n      }\n      else {\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n      }\n    }" { (expression_statement "iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u",&local_b0,&local_ac,&local_a8,local_a4,\n                     local_a0,local_9c);" (assignment_expression "iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u",&local_b0,&local_ac,&local_a8,local_a4,\n                     local_a0,local_9c)" identifier = (call_expression "sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u",&local_b0,&local_ac,&local_a8,local_a4,\n                     local_a0,local_9c)" identifier (argument_list "(&DAT_00127a80,"%u,%u,%u,%u,%u,%u",&local_b0,&local_ac,&local_a8,local_a4,\n                     local_a0,local_9c)" ( (pointer_expression "&DAT_00127a80" & identifier) , (string_literal ""%u,%u,%u,%u,%u,%u"" " string_content ") , (pointer_expression "&local_b0" & identifier) , (pointer_expression "&local_ac" & identifier) , (pointer_expression "&local_a8" & identifier) , identifier , identifier , identifier )))) ;) (if_statement "if (iVar4 == 6) {\n        _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2);\n        _DAT_00126440 =\n             CONCAT44(local_b0 & 0xff | ((local_ac & 0xff) << 0x10) >> 8 | (local_a8 & 0xff) << 0x10\n                      | (uint)local_a4[0] << 0x18,_DAT_00126440);\n        uVar1 = _DAT_00126440;\nLAB_0010c540:\n        _DAT_00126440 = uVar1;\n        iVar4 = connect(DAT_001216e0,(sockaddr *)&DAT_00126440,DAT_001264c0);\n        if (-1 < iVar4) {\n          local_b4 = 8;\n          bVar7 = false;\n          if (DAT_00126440 == 2) {\n            iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);\n            if (iVar4 < 0) {\n              perror("ftp: setsockopt TOS (ignored)");\n            }\n          }\n          goto LAB_0010ca2b;\n        }\n        perror("ftp: connect");\n      }\n      else {\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n      }" if (parenthesized_expression "(iVar4 == 6)" ( (binary_expression "iVar4 == 6" identifier == number_literal) )) (compound_statement "{\n        _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2);\n        _DAT_00126440 =\n             CONCAT44(local_b0 & 0xff | ((local_ac & 0xff) << 0x10) >> 8 | (local_a8 & 0xff) << 0x10\n                      | (uint)local_a4[0] << 0x18,_DAT_00126440);\n        uVar1 = _DAT_00126440;\nLAB_0010c540:\n        _DAT_00126440 = uVar1;\n        iVar4 = connect(DAT_001216e0,(sockaddr *)&DAT_00126440,DAT_001264c0);\n        if (-1 < iVar4) {\n          local_b4 = 8;\n          bVar7 = false;\n          if (DAT_00126440 == 2) {\n            iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);\n            if (iVar4 < 0) {\n              perror("ftp: setsockopt TOS (ignored)");\n            }\n          }\n          goto LAB_0010ca2b;\n        }\n        perror("ftp: connect");\n      }" { (expression_statement "_DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2);" (assignment_expression "_DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2)" identifier = (call_expression "CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2)" identifier (argument_list "((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2)" ( (binary_expression "(ushort)local_9c[0] << 8 | local_a0[0] & 0xff" (binary_expression "(ushort)local_9c[0] << 8" (cast_expression "(ushort)local_9c[0]" ( (type_descriptor "ushort" type_identifier) ) (subscript_expression "local_9c[0]" identifier [ number_literal ])) << number_literal) | (binary_expression "local_a0[0] & 0xff" (subscript_expression "local_a0[0]" identifier [ number_literal ]) & number_literal)) , number_literal )))) ;) (expression_statement "_DAT_00126440 =\n             CONCAT44(local_b0 & 0xff | ((local_ac & 0xff) << 0x10) >> 8 | (local_a8 & 0xff) << 0x10\n                      | (uint)local_a4[0] << 0x18,_DAT_00126440);" (assignment_expression "_DAT_00126440 =\n             CONCAT44(local_b0 & 0xff | ((local_ac & 0xff) << 0x10) >> 8 | (local_a8 & 0xff) << 0x10\n                      | (uint)local_a4[0] << 0x18,_DAT_00126440)" identifier = (call_expression "CONCAT44(local_b0 & 0xff | ((local_ac & 0xff) << 0x10) >> 8 | (local_a8 & 0xff) << 0x10\n                      | (uint)local_a4[0] << 0x18,_DAT_00126440)" identifier (argument_list "(local_b0 & 0xff | ((local_ac & 0xff) << 0x10) >> 8 | (local_a8 & 0xff) << 0x10\n                      | (uint)local_a4[0] << 0x18,_DAT_00126440)" ( (binary_expression "local_b0 & 0xff | ((local_ac & 0xff) << 0x10) >> 8 | (local_a8 & 0xff) << 0x10\n                      | (uint)local_a4[0] << 0x18" (binary_expression "local_b0 & 0xff | ((local_ac & 0xff) << 0x10) >> 8 | (local_a8 & 0xff) << 0x10" (binary_expression "local_b0 & 0xff | ((local_ac & 0xff) << 0x10) >> 8" (binary_expression "local_b0 & 0xff" identifier & number_literal) | (binary_expression "((local_ac & 0xff) << 0x10) >> 8" (parenthesized_expression "((local_ac & 0xff) << 0x10)" ( (binary_expression "(local_ac & 0xff) << 0x10" (parenthesized_expression "(local_ac & 0xff)" ( (binary_expression "local_ac & 0xff" identifier & number_literal) )) << number_literal) )) >> number_literal)) | (binary_expression "(local_a8 & 0xff) << 0x10" (parenthesized_expression "(local_a8 & 0xff)" ( (binary_expression "local_a8 & 0xff" identifier & number_literal) )) << number_literal)) | (binary_expression "(uint)local_a4[0] << 0x18" (cast_expression "(uint)local_a4[0]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_a4[0]" identifier [ number_literal ])) << number_literal)) , identifier )))) ;) (expression_statement "uVar1 = _DAT_00126440;" (assignment_expression "uVar1 = _DAT_00126440" identifier = identifier) ;) (labeled_statement "LAB_0010c540:\n        _DAT_00126440 = uVar1;" statement_identifier : (expression_statement "_DAT_00126440 = uVar1;" (assignment_expression "_DAT_00126440 = uVar1" identifier = identifier) ;)) (expression_statement "iVar4 = connect(DAT_001216e0,(sockaddr *)&DAT_00126440,DAT_001264c0);" (assignment_expression "iVar4 = connect(DAT_001216e0,(sockaddr *)&DAT_00126440,DAT_001264c0)" identifier = (call_expression "connect(DAT_001216e0,(sockaddr *)&DAT_00126440,DAT_001264c0)" identifier (argument_list "(DAT_001216e0,(sockaddr *)&DAT_00126440,DAT_001264c0)" ( identifier , (cast_expression "(sockaddr *)&DAT_00126440" ( (type_descriptor "sockaddr *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00126440" & identifier)) , identifier )))) ;) (if_statement "if (-1 < iVar4) {\n          local_b4 = 8;\n          bVar7 = false;\n          if (DAT_00126440 == 2) {\n            iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);\n            if (iVar4 < 0) {\n              perror("ftp: setsockopt TOS (ignored)");\n            }\n          }\n          goto LAB_0010ca2b;\n        }" if (parenthesized_expression "(-1 < iVar4)" ( (binary_expression "-1 < iVar4" number_literal < identifier) )) (compound_statement "{\n          local_b4 = 8;\n          bVar7 = false;\n          if (DAT_00126440 == 2) {\n            iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);\n            if (iVar4 < 0) {\n              perror("ftp: setsockopt TOS (ignored)");\n            }\n          }\n          goto LAB_0010ca2b;\n        }" { (expression_statement "local_b4 = 8;" (assignment_expression "local_b4 = 8" identifier = number_literal) ;) (expression_statement "bVar7 = false;" (assignment_expression "bVar7 = false" identifier = false) ;) (if_statement "if (DAT_00126440 == 2) {\n            iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);\n            if (iVar4 < 0) {\n              perror("ftp: setsockopt TOS (ignored)");\n            }\n          }" if (parenthesized_expression "(DAT_00126440 == 2)" ( (binary_expression "DAT_00126440 == 2" identifier == number_literal) )) (compound_statement "{\n            iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);\n            if (iVar4 < 0) {\n              perror("ftp: setsockopt TOS (ignored)");\n            }\n          }" { (expression_statement "iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);" (assignment_expression "iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4)" identifier = (call_expression "setsockopt(DAT_001216e0,0,1,&local_b4,4)" identifier (argument_list "(DAT_001216e0,0,1,&local_b4,4)" ( identifier , number_literal , number_literal , (pointer_expression "&local_b4" & identifier) , number_literal )))) ;) (if_statement "if (iVar4 < 0) {\n              perror("ftp: setsockopt TOS (ignored)");\n            }" if (parenthesized_expression "(iVar4 < 0)" ( (binary_expression "iVar4 < 0" identifier < number_literal) )) (compound_statement "{\n              perror("ftp: setsockopt TOS (ignored)");\n            }" { (expression_statement "perror("ftp: setsockopt TOS (ignored)");" (call_expression "perror("ftp: setsockopt TOS (ignored)")" identifier (argument_list "("ftp: setsockopt TOS (ignored)")" ( (string_literal ""ftp: setsockopt TOS (ignored)"" " string_content ") ))) ;) })) })) (goto_statement "goto LAB_0010ca2b;" goto statement_identifier ;) })) (expression_statement "perror("ftp: connect");" (call_expression "perror("ftp: connect")" identifier (argument_list "("ftp: connect")" ( (string_literal ""ftp: connect"" " string_content ") ))) ;) }) (else_clause "else {\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n      }" else (compound_statement "{\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n      }" { (expression_statement "puts("Passive mode address scan failure. Shouldn\'t happen!");" (call_expression "puts("Passive mode address scan failure. Shouldn\'t happen!")" identifier (argument_list "("Passive mode address scan failure. Shouldn\'t happen!")" ( (string_literal ""Passive mode address scan failure. Shouldn\'t happen!"" " string_content escape_sequence string_content ") ))) ;) (expression_statement "FUN_0010bb32(&DAT_0011a479);" (call_expression "FUN_0010bb32(&DAT_0011a479)" identifier (argument_list "(&DAT_0011a479)" ( (pointer_expression "&DAT_0011a479" & identifier) ))) ;) }))) }) (else_clause "else {\n      puts("Passive mode address scan failure. Shouldn\'t happen!");\n    }" else (compound_statement "{\n      puts("Passive mode address scan failure. Shouldn\'t happen!");\n    }" { (expression_statement "puts("Passive mode address scan failure. Shouldn\'t happen!");" (call_expression "puts("Passive mode address scan failure. Shouldn\'t happen!")" identifier (argument_list "("Passive mode address scan failure. Shouldn\'t happen!")" ( (string_literal ""Passive mode address scan failure. Shouldn\'t happen!"" " string_content escape_sequence string_content ") ))) ;) })))) }))) (labeled_statement "LAB_0010c703:\n  close(DAT_001216e0);" statement_identifier : (expression_statement "close(DAT_001216e0);" (call_expression "close(DAT_001216e0)" identifier (argument_list "(DAT_001216e0)" ( identifier ))) ;)) (expression_statement "DAT_001216e0 = -1;" (assignment_expression "DAT_001216e0 = -1" identifier = number_literal) ;) (expression_statement "bVar7 = true;" (assignment_expression "bVar7 = true" identifier = true) ;) (labeled_statement "LAB_0010ca2b:\n  if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return bVar7;\n  }" statement_identifier : (if_statement "if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return bVar7;\n  }" if (parenthesized_expression "(local_40 == *(long *)(in_FS_OFFSET + 0x28))" ( (binary_expression "local_40 == *(long *)(in_FS_OFFSET + 0x28)" identifier == (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) )) (compound_statement "{\n    return bVar7;\n  }" { (return_statement "return bVar7;" return identifier ;) }))) comment (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit "/* WARNING: Unknown calling convention */\n\nint initconn(void)\n\n{\n  undefined8 uVar1;\n  ushort uVar2;\n  uint uVar3;\n  int iVar4;\n  uint *puVar5;\n  int *piVar6;\n  uint uVar7;\n  long in_FS_OFFSET;\n  bool bVar8;\n  undefined8 uVar9;\n  undefined8 uVar10;\n  undefined8 uVar11;\n  undefined8 uVar12;\n  undefined8 uVar13;\n  undefined8 uVar14;\n  undefined8 uVar15;\n  undefined8 uVar16;\n  undefined8 uVar17;\n  undefined8 uVar18;\n  undefined8 uVar19;\n  undefined8 uVar20;\n  undefined8 uVar21;\n  undefined8 uVar22;\n  int on;\n  uint32_t a0;\n  uint32_t a1;\n  uint32_t a2;\n  uint32_t a3;\n  uint32_t p0;\n  uint32_t p1;\n  uint32_t port;\n  uint32_t af;\n  uint32_t hal;\n  socklen_t len;\n  uint32_t h [16];\n  uint local_48 [2];\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  on = 1;\n  if (passivemode == 0) {\n    uVar7 = 0;\nLAB_0010cba4:\n    uVar1._2_1_ = myctladdr.__ss_padding[0];\n    uVar1._3_1_ = myctladdr.__ss_padding[1];\n    uVar1._4_1_ = myctladdr.__ss_padding[2];\n    uVar1._5_1_ = myctladdr.__ss_padding[3];\n    uVar1._6_1_ = myctladdr.__ss_padding[4];\n    uVar1._7_1_ = myctladdr.__ss_padding[5];\n    uVar1._0_2_ = myctladdr.ss_family;\n    uVar9._0_1_ = myctladdr.__ss_padding[6];\n    uVar9._1_1_ = myctladdr.__ss_padding[7];\n    uVar9._2_1_ = myctladdr.__ss_padding[8];\n    uVar9._3_1_ = myctladdr.__ss_padding[9];\n    uVar9._4_1_ = myctladdr.__ss_padding[10];\n    uVar9._5_1_ = myctladdr.__ss_padding[0xb];\n    uVar9._6_1_ = myctladdr.__ss_padding[0xc];\n    uVar9._7_1_ = myctladdr.__ss_padding[0xd];\n    data_addr.__ss_padding[6] = myctladdr.__ss_padding[6];\n    data_addr.__ss_padding[7] = myctladdr.__ss_padding[7];\n    data_addr.__ss_padding[8] = myctladdr.__ss_padding[8];\n    data_addr.__ss_padding[9] = myctladdr.__ss_padding[9];\n    data_addr.__ss_padding[10] = myctladdr.__ss_padding[10];\n    data_addr.__ss_padding[0xb] = myctladdr.__ss_padding[0xb];\n    data_addr.__ss_padding[0xc] = myctladdr.__ss_padding[0xc];\n    data_addr.__ss_padding[0xd] = myctladdr.__ss_padding[0xd];\n    uVar10._0_1_ = myctladdr.__ss_padding[0xe];\n    uVar10._1_1_ = myctladdr.__ss_padding[0xf];\n    uVar10._2_1_ = myctladdr.__ss_padding[0x10];\n    uVar10._3_1_ = myctladdr.__ss_padding[0x11];\n    uVar10._4_1_ = myctladdr.__ss_padding[0x12];\n    uVar10._5_1_ = myctladdr.__ss_padding[0x13];\n    uVar10._6_1_ = myctladdr.__ss_padding[0x14];\n    uVar10._7_1_ = myctladdr.__ss_padding[0x15];\n    uVar11._0_1_ = myctladdr.__ss_padding[0x16];\n    uVar11._1_1_ = myctladdr.__ss_padding[0x17];\n    uVar11._2_1_ = myctladdr.__ss_padding[0x18];\n    uVar11._3_1_ = myctladdr.__ss_padding[0x19];\n    uVar11._4_1_ = myctladdr.__ss_padding[0x1a];\n    uVar11._5_1_ = myctladdr.__ss_padding[0x1b];\n    uVar11._6_1_ = myctladdr.__ss_padding[0x1c];\n    uVar11._7_1_ = myctladdr.__ss_padding[0x1d];\n    data_addr.__ss_padding[0xe] = myctladdr.__ss_padding[0xe];\n    data_addr.__ss_padding[0xf] = myctladdr.__ss_padding[0xf];\n    data_addr.__ss_padding[0x10] = myctladdr.__ss_padding[0x10];\n    data_addr.__ss_padding[0x11] = myctladdr.__ss_padding[0x11];\n    data_addr.__ss_padding[0x12] = myctladdr.__ss_padding[0x12];\n    data_addr.__ss_padding[0x13] = myctladdr.__ss_padding[0x13];\n    data_addr.__ss_padding[0x14] = myctladdr.__ss_padding[0x14];\n    data_addr.__ss_padding[0x15] = myctladdr.__ss_padding[0x15];\n    data_addr.__ss_padding[0x16] = myctladdr.__ss_padding[0x16];\n    data_addr.__ss_padding[0x17] = myctladdr.__ss_padding[0x17];\n    data_addr.__ss_padding[0x18] = myctladdr.__ss_padding[0x18];\n    data_addr.__ss_padding[0x19] = myctladdr.__ss_padding[0x19];\n    data_addr.__ss_padding[0x1a] = myctladdr.__ss_padding[0x1a];\n    data_addr.__ss_padding[0x1b] = myctladdr.__ss_padding[0x1b];\n    data_addr.__ss_padding[0x1c] = myctladdr.__ss_padding[0x1c];\n    data_addr.__ss_padding[0x1d] = myctladdr.__ss_padding[0x1d];\n    uVar12._0_1_ = myctladdr.__ss_padding[0x1e];\n    uVar12._1_1_ = myctladdr.__ss_padding[0x1f];\n    uVar12._2_1_ = myctladdr.__ss_padding[0x20];\n    uVar12._3_1_ = myctladdr.__ss_padding[0x21];\n    uVar12._4_1_ = myctladdr.__ss_padding[0x22];\n    uVar12._5_1_ = myctladdr.__ss_padding[0x23];\n    uVar12._6_1_ = myctladdr.__ss_padding[0x24];\n    uVar12._7_1_ = myctladdr.__ss_padding[0x25];\n    uVar13._0_1_ = myctladdr.__ss_padding[0x26];\n    uVar13._1_1_ = myctladdr.__ss_padding[0x27];\n    uVar13._2_1_ = myctladdr.__ss_padding[0x28];\n    uVar13._3_1_ = myctladdr.__ss_padding[0x29];\n    uVar13._4_1_ = myctladdr.__ss_padding[0x2a];\n    uVar13._5_1_ = myctladdr.__ss_padding[0x2b];\n    uVar13._6_1_ = myctladdr.__ss_padding[0x2c];\n    uVar13._7_1_ = myctladdr.__ss_padding[0x2d];\n    data_addr.__ss_padding[0x1e] = myctladdr.__ss_padding[0x1e];\n    data_addr.__ss_padding[0x1f] = myctladdr.__ss_padding[0x1f];\n    data_addr.__ss_padding[0x20] = myctladdr.__ss_padding[0x20];\n    data_addr.__ss_padding[0x21] = myctladdr.__ss_padding[0x21];\n    data_addr.__ss_padding[0x22] = myctladdr.__ss_padding[0x22];\n    data_addr.__ss_padding[0x23] = myctladdr.__ss_padding[0x23];\n    data_addr.__ss_padding[0x24] = myctladdr.__ss_padding[0x24];\n    data_addr.__ss_padding[0x25] = myctladdr.__ss_padding[0x25];\n    data_addr.__ss_padding[0x26] = myctladdr.__ss_padding[0x26];\n    data_addr.__ss_padding[0x27] = myctladdr.__ss_padding[0x27];\n    data_addr.__ss_padding[0x28] = myctladdr.__ss_padding[0x28];\n    data_addr.__ss_padding[0x29] = myctladdr.__ss_padding[0x29];\n    data_addr.__ss_padding[0x2a] = myctladdr.__ss_padding[0x2a];\n    data_addr.__ss_padding[0x2b] = myctladdr.__ss_padding[0x2b];\n    data_addr.__ss_padding[0x2c] = myctladdr.__ss_padding[0x2c];\n    data_addr.__ss_padding[0x2d] = myctladdr.__ss_padding[0x2d];\n    uVar14._0_1_ = myctladdr.__ss_padding[0x2e];\n    uVar14._1_1_ = myctladdr.__ss_padding[0x2f];\n    uVar14._2_1_ = myctladdr.__ss_padding[0x30];\n    uVar14._3_1_ = myctladdr.__ss_padding[0x31];\n    uVar14._4_1_ = myctladdr.__ss_padding[0x32];\n    uVar14._5_1_ = myctladdr.__ss_padding[0x33];\n    uVar14._6_1_ = myctladdr.__ss_padding[0x34];\n    uVar14._7_1_ = myctladdr.__ss_padding[0x35];\n    uVar15._0_1_ = myctladdr.__ss_padding[0x36];\n    uVar15._1_1_ = myctladdr.__ss_padding[0x37];\n    uVar15._2_1_ = myctladdr.__ss_padding[0x38];\n    uVar15._3_1_ = myctladdr.__ss_padding[0x39];\n    uVar15._4_1_ = myctladdr.__ss_padding[0x3a];\n    uVar15._5_1_ = myctladdr.__ss_padding[0x3b];\n    uVar15._6_1_ = myctladdr.__ss_padding[0x3c];\n    uVar15._7_1_ = myctladdr.__ss_padding[0x3d];\n    data_addr.__ss_padding[0x2e] = myctladdr.__ss_padding[0x2e];\n    data_addr.__ss_padding[0x2f] = myctladdr.__ss_padding[0x2f];\n    data_addr.__ss_padding[0x30] = myctladdr.__ss_padding[0x30];\n    data_addr.__ss_padding[0x31] = myctladdr.__ss_padding[0x31];\n    data_addr.__ss_padding[0x32] = myctladdr.__ss_padding[0x32];\n    data_addr.__ss_padding[0x33] = myctladdr.__ss_padding[0x33];\n    data_addr.__ss_padding[0x34] = myctladdr.__ss_padding[0x34];\n    data_addr.__ss_padding[0x35] = myctladdr.__ss_padding[0x35];\n    data_addr.__ss_padding[0x36] = myctladdr.__ss_padding[0x36];\n    data_addr.__ss_padding[0x37] = myctladdr.__ss_padding[0x37];\n    data_addr.__ss_padding[0x38] = myctladdr.__ss_padding[0x38];\n    data_addr.__ss_padding[0x39] = myctladdr.__ss_padding[0x39];\n    data_addr.__ss_padding[0x3a] = myctladdr.__ss_padding[0x3a];\n    data_addr.__ss_padding[0x3b] = myctladdr.__ss_padding[0x3b];\n    data_addr.__ss_padding[0x3c] = myctladdr.__ss_padding[0x3c];\n    data_addr.__ss_padding[0x3d] = myctladdr.__ss_padding[0x3d];\n    uVar16._0_1_ = myctladdr.__ss_padding[0x3e];\n    uVar16._1_1_ = myctladdr.__ss_padding[0x3f];\n    uVar16._2_1_ = myctladdr.__ss_padding[0x40];\n    uVar16._3_1_ = myctladdr.__ss_padding[0x41];\n    uVar16._4_1_ = myctladdr.__ss_padding[0x42];\n    uVar16._5_1_ = myctladdr.__ss_padding[0x43];\n    uVar16._6_1_ = myctladdr.__ss_padding[0x44];\n    uVar16._7_1_ = myctladdr.__ss_padding[0x45];\n    uVar17._0_1_ = myctladdr.__ss_padding[0x46];\n    uVar17._1_1_ = myctladdr.__ss_padding[0x47];\n    uVar17._2_1_ = myctladdr.__ss_padding[0x48];\n    uVar17._3_1_ = myctladdr.__ss_padding[0x49];\n    uVar17._4_1_ = myctladdr.__ss_padding[0x4a];\n    uVar17._5_1_ = myctladdr.__ss_padding[0x4b];\n    uVar17._6_1_ = myctladdr.__ss_padding[0x4c];\n    uVar17._7_1_ = myctladdr.__ss_padding[0x4d];\n    data_addr.__ss_padding[0x3e] = myctladdr.__ss_padding[0x3e];\n    data_addr.__ss_padding[0x3f] = myctladdr.__ss_padding[0x3f];\n    data_addr.__ss_padding[0x40] = myctladdr.__ss_padding[0x40];\n    data_addr.__ss_padding[0x41] = myctladdr.__ss_padding[0x41];\n    data_addr.__ss_padding[0x42] = myctladdr.__ss_padding[0x42];\n    data_addr.__ss_padding[0x43] = myctladdr.__ss_padding[0x43];\n    data_addr.__ss_padding[0x44] = myctladdr.__ss_padding[0x44];\n    data_addr.__ss_padding[0x45] = myctladdr.__ss_padding[0x45];\n    data_addr.__ss_padding[0x46] = myctladdr.__ss_padding[0x46];\n    data_addr.__ss_padding[0x47] = myctladdr.__ss_padding[0x47];\n    data_addr.__ss_padding[0x48] = myctladdr.__ss_padding[0x48];\n    data_addr.__ss_padding[0x49] = myctladdr.__ss_padding[0x49];\n    data_addr.__ss_padding[0x4a] = myctladdr.__ss_padding[0x4a];\n    data_addr.__ss_padding[0x4b] = myctladdr.__ss_padding[0x4b];\n    data_addr.__ss_padding[0x4c] = myctladdr.__ss_padding[0x4c];\n    data_addr.__ss_padding[0x4d] = myctladdr.__ss_padding[0x4d];\n    uVar18._0_1_ = myctladdr.__ss_padding[0x4e];\n    uVar18._1_1_ = myctladdr.__ss_padding[0x4f];\n    uVar18._2_1_ = myctladdr.__ss_padding[0x50];\n    uVar18._3_1_ = myctladdr.__ss_padding[0x51];\n    uVar18._4_1_ = myctladdr.__ss_padding[0x52];\n    uVar18._5_1_ = myctladdr.__ss_padding[0x53];\n    uVar18._6_1_ = myctladdr.__ss_padding[0x54];\n    uVar18._7_1_ = myctladdr.__ss_padding[0x55];\n    uVar19._0_1_ = myctladdr.__ss_padding[0x56];\n    uVar19._1_1_ = myctladdr.__ss_padding[0x57];\n    uVar19._2_1_ = myctladdr.__ss_padding[0x58];\n    uVar19._3_1_ = myctladdr.__ss_padding[0x59];\n    uVar19._4_1_ = myctladdr.__ss_padding[0x5a];\n    uVar19._5_1_ = myctladdr.__ss_padding[0x5b];\n    uVar19._6_1_ = myctladdr.__ss_padding[0x5c];\n    uVar19._7_1_ = myctladdr.__ss_padding[0x5d];\n    data_addr.__ss_padding[0x4e] = myctladdr.__ss_padding[0x4e];\n    data_addr.__ss_padding[0x4f] = myctladdr.__ss_padding[0x4f];\n    data_addr.__ss_padding[0x50] = myctladdr.__ss_padding[0x50];\n    data_addr.__ss_padding[0x51] = myctladdr.__ss_padding[0x51];\n    data_addr.__ss_padding[0x52] = myctladdr.__ss_padding[0x52];\n    data_addr.__ss_padding[0x53] = myctladdr.__ss_padding[0x53];\n    data_addr.__ss_padding[0x54] = myctladdr.__ss_padding[0x54];\n    data_addr.__ss_padding[0x55] = myctladdr.__ss_padding[0x55];\n    data_addr.__ss_padding[0x56] = myctladdr.__ss_padding[0x56];\n    data_addr.__ss_padding[0x57] = myctladdr.__ss_padding[0x57];\n    data_addr.__ss_padding[0x58] = myctladdr.__ss_padding[0x58];\n    data_addr.__ss_padding[0x59] = myctladdr.__ss_padding[0x59];\n    data_addr.__ss_padding[0x5a] = myctladdr.__ss_padding[0x5a];\n    data_addr.__ss_padding[0x5b] = myctladdr.__ss_padding[0x5b];\n    data_addr.__ss_padding[0x5c] = myctladdr.__ss_padding[0x5c];\n    data_addr.__ss_padding[0x5d] = myctladdr.__ss_padding[0x5d];\n    uVar20._0_1_ = myctladdr.__ss_padding[0x5e];\n    uVar20._1_1_ = myctladdr.__ss_padding[0x5f];\n    uVar20._2_1_ = myctladdr.__ss_padding[0x60];\n    uVar20._3_1_ = myctladdr.__ss_padding[0x61];\n    uVar20._4_1_ = myctladdr.__ss_padding[0x62];\n    uVar20._5_1_ = myctladdr.__ss_padding[99];\n    uVar20._6_1_ = myctladdr.__ss_padding[100];\n    uVar20._7_1_ = myctladdr.__ss_padding[0x65];\n    uVar21._0_1_ = myctladdr.__ss_padding[0x66];\n    uVar21._1_1_ = myctladdr.__ss_padding[0x67];\n    uVar21._2_1_ = myctladdr.__ss_padding[0x68];\n    uVar21._3_1_ = myctladdr.__ss_padding[0x69];\n    uVar21._4_1_ = myctladdr.__ss_padding[0x6a];\n    uVar21._5_1_ = myctladdr.__ss_padding[0x6b];\n    uVar21._6_1_ = myctladdr.__ss_padding[0x6c];\n    uVar21._7_1_ = myctladdr.__ss_padding[0x6d];\n    data_addr.__ss_padding[0x5e] = myctladdr.__ss_padding[0x5e];\n    data_addr.__ss_padding[0x5f] = myctladdr.__ss_padding[0x5f];\n    data_addr.__ss_padding[0x60] = myctladdr.__ss_padding[0x60];\n    data_addr.__ss_padding[0x61] = myctladdr.__ss_padding[0x61];\n    data_addr.__ss_padding[0x62] = myctladdr.__ss_padding[0x62];\n    data_addr.__ss_padding[99] = myctladdr.__ss_padding[99];\n    data_addr.__ss_padding[100] = myctladdr.__ss_padding[100];\n    data_addr.__ss_padding[0x65] = myctladdr.__ss_padding[0x65];\n    data_addr.__ss_padding[0x66] = myctladdr.__ss_padding[0x66];\n    data_addr.__ss_padding[0x67] = myctladdr.__ss_padding[0x67];\n    data_addr.__ss_padding[0x68] = myctladdr.__ss_padding[0x68];\n    data_addr.__ss_padding[0x69] = myctladdr.__ss_padding[0x69];\n    data_addr.__ss_padding[0x6a] = myctladdr.__ss_padding[0x6a];\n    data_addr.__ss_padding[0x6b] = myctladdr.__ss_padding[0x6b];\n    data_addr.__ss_padding[0x6c] = myctladdr.__ss_padding[0x6c];\n    data_addr.__ss_padding[0x6d] = myctladdr.__ss_padding[0x6d];\n    uVar22._0_1_ = myctladdr.__ss_padding[0x6e];\n    uVar22._1_1_ = myctladdr.__ss_padding[0x6f];\n    uVar22._2_1_ = myctladdr.__ss_padding[0x70];\n    uVar22._3_1_ = myctladdr.__ss_padding[0x71];\n    uVar22._4_1_ = myctladdr.__ss_padding[0x72];\n    uVar22._5_1_ = myctladdr.__ss_padding[0x73];\n    uVar22._6_1_ = myctladdr.__ss_padding[0x74];\n    uVar22._7_1_ = myctladdr.__ss_padding[0x75];\n    data_addr.__ss_align = myctladdr.__ss_align;\n    data_addr.__ss_padding[0x6e] = myctladdr.__ss_padding[0x6e];\n    data_addr.__ss_padding[0x6f] = myctladdr.__ss_padding[0x6f];\n    data_addr.__ss_padding[0x70] = myctladdr.__ss_padding[0x70];\n    data_addr.__ss_padding[0x71] = myctladdr.__ss_padding[0x71];\n    data_addr.__ss_padding[0x72] = myctladdr.__ss_padding[0x72];\n    data_addr.__ss_padding[0x73] = myctladdr.__ss_padding[0x73];\n    data_addr.__ss_padding[0x74] = myctladdr.__ss_padding[0x74];\n    data_addr.__ss_padding[0x75] = myctladdr.__ss_padding[0x75];\n    if (sendport != 0) {\n      data_addr.__ss_padding._2_4_ = SUB64(myctladdr.__ss_padding._0_6_,2);\n      if (myctladdr.ss_family == 2) {\n        data_addr.ss_family = 2;\n        data_addr.__ss_padding[0] = '\0';\n        data_addr.__ss_padding[1] = '\0';\n        uVar1 = data_addr._0_8_;\n      }\n      else if (myctladdr.ss_family == 10) {\n        data_addr.ss_family = 10;\n        data_addr.__ss_padding[0] = '\0';\n        data_addr.__ss_padding[1] = '\0';\n        uVar1 = data_addr._0_8_;\n      }\n    }\n    data_addr._0_8_ = uVar1;\n    if (data != -1) {\n      data_addr.__ss_padding._6_8_ = uVar9;\n      data_addr.__ss_padding._14_8_ = uVar10;\n      data_addr.__ss_padding._22_8_ = uVar11;\n      data_addr.__ss_padding._30_8_ = uVar12;\n      data_addr.__ss_padding._38_8_ = uVar13;\n      data_addr.__ss_padding._46_8_ = uVar14;\n      data_addr.__ss_padding._54_8_ = uVar15;\n      data_addr.__ss_padding._62_8_ = uVar16;\n      data_addr.__ss_padding._70_8_ = uVar17;\n      data_addr.__ss_padding._78_8_ = uVar18;\n      data_addr.__ss_padding._86_8_ = uVar19;\n      data_addr.__ss_padding._94_8_ = uVar20;\n      data_addr.__ss_padding._102_8_ = uVar21;\n      data_addr.__ss_padding._110_8_ = uVar22;\n      close(data);\n    }\n    data = socket((uint)myctladdr.ss_family,1,0);\n    if (data < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,"socket");\n      if (uVar7 == 0) {\n        uVar7 = 1;\n      }\n      else {\n        sendport = 1;\n      }\n      goto LAB_0010ca2b;\n    }\n    if (sendport == 0) {\n      iVar4 = setsockopt(data,1,2,&on,4);\n      if (-1 < iVar4) goto LAB_0010cc9e;\n      piVar6 = __errno_location();\n      error(0,*piVar6,"setsockopt (reuse address)");\nLAB_0010ca03:\n      close(data);\n      data = -1;\n      if (uVar7 == 0) {\n        uVar7 = 1;\n      }\n      else {\n        sendport = 1;\n      }\n      goto LAB_0010ca2b;\n    }\nLAB_0010cc9e:\n    iVar4 = bind(data,(sockaddr *)&data_addr,ctladdrlen);\n    if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,&DAT_0011a4df);\n      goto LAB_0010ca03;\n    }\n    if (((byte)options & 1) != 0) {\n      iVar4 = setsockopt(data,1,1,&on,4);\n      if (iVar4 < 0) {\n        piVar6 = __errno_location();\n        if (*piVar6 != 0xd) {\n          error(0,*piVar6,"setsockopt DEBUG (ignored)");\n        }\n      }\n    }\n    len = 0x80;\n    iVar4 = getsockname(data,(sockaddr *)&data_addr,&len);\n    if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,"getsockname");\n      goto LAB_0010ca03;\n    }\n    iVar4 = listen(data,1);\n    if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,"listen");\n    }\n    if (sendport == 0) {\n      if (uVar7 != 0) {\n        sendport = 1;\n      }\n      on = 8;\n      uVar7 = 0;\n      if (data_addr.ss_family == 2) {\n        iVar4 = setsockopt(data,0,1,&on,4);\n        if (iVar4 < 0) {\n          piVar6 = __errno_location();\n          error(0,*piVar6,"setsockopt TOS (ignored)");\n        }\n      }\n      goto LAB_0010ca2b;\n    }\n    if ((data_addr.ss_family == 2) && (doepsv4 == 0)) {\n      bVar8 = true;\nLAB_0010cd36:\n      if (!bVar8) {\n        iVar4 = 2;\nLAB_0010cd3f:\n        uVar7 = (uint)(iVar4 != 2);\n        goto LAB_0010ca2b;\n      }\nLAB_0010cd6c:\n      iVar4 = command("PORT %d,%d,%d,%d,%d,%d",(ulong)data_addr._0_8_ >> 0x20 & 0xff,\n                      (ulong)data_addr._0_8_ >> 0x28 & 0xff,(ulong)data_addr._0_8_ >> 0x30 & 0xff,\n                      (ulong)data_addr._0_8_ >> 0x38,(ulong)data_addr._0_8_ >> 0x10 & 0xff,\n                      (ulong)data_addr._0_8_ >> 0x18 & 0xff);\n    }\n    else {\n      getnameinfo((sockaddr *)&data_addr,ctladdrlen,ia,0x2e,portstr,10,3);\n      iVar4 = command("EPRT |%d|%s|%s|",(ulong)((data_addr.ss_family != 2) + 1),ia,portstr);\n      if (data_addr.ss_family == 2) {\n        bVar8 = iVar4 != 2;\n        if ((doepsv4 == 0) || (!bVar8)) goto LAB_0010cd36;\n        doepsv4 = 0;\n        goto LAB_0010cd6c;\n      }\n    }\n    if (iVar4 == 2) goto LAB_0010cd3f;\n    if (data_addr.ss_family == 2) {\n      iVar4 = command("LPRT 4,4,%u,%u,%u,%u,2,%u,%u",(ulong)data_addr._0_8_ >> 0x20 & 0xff,\n                      (ulong)data_addr._0_8_ >> 0x28 & 0xff,(ulong)data_addr._0_8_ >> 0x30 & 0xff,\n                      (ulong)data_addr._0_8_ >> 0x38,(ulong)(byte)data_addr.__ss_padding[0],\n                      (ulong)(byte)data_addr.__ss_padding[1]);\n    }\n    else if (data_addr.ss_family == 10) {\n      iVar4 = command("LPRT 6,16,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,2,%u,%u",\n                      data_addr.__ss_padding._6_8_ & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 8 & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 0x10 & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 0x18 & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 0x20 & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 0x28 & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 0x30 & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 0x38,\n                      data_addr.__ss_padding._14_8_ & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 8 & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 0x10 & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 0x18 & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 0x20 & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 0x28 & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 0x30 & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 0x38,\n                      (ulong)(byte)data_addr.__ss_padding[0],(ulong)(byte)data_addr.__ss_padding[1])\n      ;\n    }\n    if ((iVar4 != 5) || (sendport != -1)) goto LAB_0010cd3f;\n    sendport = 0;\n    uVar7 = 1;\n    goto LAB_0010cba4;\n  }\n  data = socket((uint)myctladdr.ss_family,1,0);\n  if (data < 0) {\n    perror("ftp: socket");\n    uVar7 = 1;\n    goto LAB_0010ca2b;\n  }\n  if (((byte)options & 1) != 0) {\n    iVar4 = setsockopt(data,1,1,&on,4);\n    if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      if (*piVar6 != 0xd) {\n        error(0,*piVar6,"setsockopt DEBUG (ignored)");\n      }\n    }\n  }\n  if (myctladdr.ss_family == 2) {\n    if (doepsv4 != 0) {\n      iVar4 = command("EPSV");\n      if (iVar4 == 2) goto LAB_0010c336;\n      if (doepsv4 != 0) {\n        doepsv4 = 0;\n      }\n    }\n    iVar4 = command("PASV");\n    if (iVar4 == 2) goto LAB_0010c499;\n    iVar4 = command("LPSV");\n    if (iVar4 == 2) {\nLAB_0010c62c:\n      if (myctladdr.ss_family == 2) {\n        iVar4 = sscanf(pasv,"%u,%u,%u,%u,%u,%u,%u,%u,%u",&af,&hal,h,h + 1,h + 2,h + 3,&len,&p0,&p1);\n        if ((((iVar4 == 9) && (af == 4)) && (hal == 4)) && (len == 2)) {\n          puVar5 = h;\n          do {\n            *puVar5 = *puVar5 & 0xff;\n            puVar5 = puVar5 + 1;\n          } while (puVar5 != h + 4);\n          uVar2 = (ushort)(byte)p1 << 8 | (ushort)p0 & 0xff;\n          data_addr.__ss_padding[0] = (char)uVar2;\n          data_addr.__ss_padding[1] = (char)(uVar2 >> 8);\n          data_addr.ss_family = 2;\n          uVar7 = h[0] << 0x18 | h[1] << 0x10 | h[3] | h[2] << 8;\n          uVar7 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | h[3] << 0x18;\n          data_addr.__ss_padding[2] = (char)uVar7;\n          data_addr.__ss_padding[3] = (char)(uVar7 >> 8);\n          data_addr.__ss_padding[4] = (char)(uVar7 >> 0x10);\n          data_addr.__ss_padding[5] = (char)(uVar7 >> 0x18);\n          uVar1 = data_addr._0_8_;\n          goto LAB_0010c540;\n        }\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        command("ABOR");\n        goto LAB_0010c703;\n      }\n      iVar4 = sscanf(pasv,"%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u",&af,&hal,\n                     h,h + 1,h + 2,h + 3,h + 4,h + 5,h + 6,h + 7,h + 8,h + 9,h + 10,h + 0xb,h + 0xc,\n                     h + 0xd,h + 0xe,h + 0xf,&len,&p0,&p1);\n      if (((iVar4 != 0x15) || (af != 6)) || ((hal != 0x10 || (len != 2)))) {\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        command("ABOR");\n        goto LAB_0010c703;\n      }\n      puVar5 = h;\n      do {\n        *puVar5 = *puVar5 & 0xff;\n        puVar5 = puVar5 + 1;\n      } while (puVar5 != local_48);\n      uVar2 = (ushort)(byte)p1 << 8 | (ushort)p0 & 0xff;\n      data_addr.__ss_padding[0] = (char)uVar2;\n      data_addr.__ss_padding[1] = (char)(uVar2 >> 8);\n      data_addr.ss_family = 10;\n      uVar7 = h[0] << 0x18 | h[1] << 0x10 | h[3] | h[2] << 8;\n      uVar7 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | h[3] << 0x18;\n      uVar3 = h[4] << 0x18 | h[5] << 0x10 | h[7] | h[6] << 8;\n      uVar3 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | h[7] << 0x18;\n      data_addr.__ss_padding[10] = (char)uVar3;\n      data_addr.__ss_padding[0xb] = (char)(uVar3 >> 8);\n      data_addr.__ss_padding[0xc] = (char)(uVar3 >> 0x10);\n      data_addr.__ss_padding[0xd] = (char)(uVar3 >> 0x18);\n      data_addr.__ss_padding[6] = (char)uVar7;\n      data_addr.__ss_padding[7] = (char)(uVar7 >> 8);\n      data_addr.__ss_padding[8] = (char)(uVar7 >> 0x10);\n      data_addr.__ss_padding[9] = (char)(uVar7 >> 0x18);\n      uVar7 = h[8] << 0x18 | h[9] << 0x10 | h[0xb] | h[10] << 8;\n      uVar7 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | h[0xb] << 0x18;\n      uVar3 = h[0xc] << 0x18 | h[0xd] << 0x10 | h[0xf] | h[0xe] << 8;\n      uVar3 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | h[0xf] << 0x18;\n      data_addr.__ss_padding[0x12] = (char)uVar3;\n      data_addr.__ss_padding[0x13] = (char)(uVar3 >> 8);\n      data_addr.__ss_padding[0x14] = (char)(uVar3 >> 0x10);\n      data_addr.__ss_padding[0x15] = (char)(uVar3 >> 0x18);\n      data_addr.__ss_padding[0xe] = (char)uVar7;\n      data_addr.__ss_padding[0xf] = (char)(uVar7 >> 8);\n      data_addr.__ss_padding[0x10] = (char)(uVar7 >> 0x10);\n      data_addr.__ss_padding[0x11] = (char)(uVar7 >> 0x18);\n      uVar1 = data_addr._0_8_;\n      goto LAB_0010c540;\n    }\n    puts("Passive mode refused.");\n  }\n  else {\n    if (myctladdr.ss_family == 10) {\n      iVar4 = command("EPSV");\n      if (iVar4 == 2) {\nLAB_0010c336:\n        iVar4 = sscanf(pasv,"%u|",&port);\n        if (iVar4 == 1) {\n          data_addr.ss_family = hisctladdr.ss_family;\n          data_addr.__ss_padding[0] = hisctladdr.__ss_padding[0];\n          data_addr.__ss_padding[1] = hisctladdr.__ss_padding[1];\n          data_addr.__ss_padding[2] = hisctladdr.__ss_padding[2];\n          data_addr.__ss_padding[3] = hisctladdr.__ss_padding[3];\n          data_addr.__ss_padding[4] = hisctladdr.__ss_padding[4];\n          data_addr.__ss_padding[5] = hisctladdr.__ss_padding[5];\n          uVar1 = data_addr._0_8_;\n          data_addr.__ss_padding[6] = hisctladdr.__ss_padding[6];\n          data_addr.__ss_padding[7] = hisctladdr.__ss_padding[7];\n          data_addr.__ss_padding[8] = hisctladdr.__ss_padding[8];\n          data_addr.__ss_padding[9] = hisctladdr.__ss_padding[9];\n          data_addr.__ss_padding[10] = hisctladdr.__ss_padding[10];\n          data_addr.__ss_padding[0xb] = hisctladdr.__ss_padding[0xb];\n          data_addr.__ss_padding[0xc] = hisctladdr.__ss_padding[0xc];\n          data_addr.__ss_padding[0xd] = hisctladdr.__ss_padding[0xd];\n          data_addr.__ss_padding[0xe] = hisctladdr.__ss_padding[0xe];\n          data_addr.__ss_padding[0xf] = hisctladdr.__ss_padding[0xf];\n          data_addr.__ss_padding[0x10] = hisctladdr.__ss_padding[0x10];\n          data_addr.__ss_padding[0x11] = hisctladdr.__ss_padding[0x11];\n          data_addr.__ss_padding[0x12] = hisctladdr.__ss_padding[0x12];\n          data_addr.__ss_padding[0x13] = hisctladdr.__ss_padding[0x13];\n          data_addr.__ss_padding[0x14] = hisctladdr.__ss_padding[0x14];\n          data_addr.__ss_padding[0x15] = hisctladdr.__ss_padding[0x15];\n          data_addr.__ss_padding[0x16] = hisctladdr.__ss_padding[0x16];\n          data_addr.__ss_padding[0x17] = hisctladdr.__ss_padding[0x17];\n          data_addr.__ss_padding[0x18] = hisctladdr.__ss_padding[0x18];\n          data_addr.__ss_padding[0x19] = hisctladdr.__ss_padding[0x19];\n          data_addr.__ss_padding[0x1a] = hisctladdr.__ss_padding[0x1a];\n          data_addr.__ss_padding[0x1b] = hisctladdr.__ss_padding[0x1b];\n          data_addr.__ss_padding[0x1c] = hisctladdr.__ss_padding[0x1c];\n          data_addr.__ss_padding[0x1d] = hisctladdr.__ss_padding[0x1d];\n          data_addr.__ss_padding[0x1e] = hisctladdr.__ss_padding[0x1e];\n          data_addr.__ss_padding[0x1f] = hisctladdr.__ss_padding[0x1f];\n          data_addr.__ss_padding[0x20] = hisctladdr.__ss_padding[0x20];\n          data_addr.__ss_padding[0x21] = hisctladdr.__ss_padding[0x21];\n          data_addr.__ss_padding[0x22] = hisctladdr.__ss_padding[0x22];\n          data_addr.__ss_padding[0x23] = hisctladdr.__ss_padding[0x23];\n          data_addr.__ss_padding[0x24] = hisctladdr.__ss_padding[0x24];\n          data_addr.__ss_padding[0x25] = hisctladdr.__ss_padding[0x25];\n          data_addr.__ss_padding[0x26] = hisctladdr.__ss_padding[0x26];\n          data_addr.__ss_padding[0x27] = hisctladdr.__ss_padding[0x27];\n          data_addr.__ss_padding[0x28] = hisctladdr.__ss_padding[0x28];\n          data_addr.__ss_padding[0x29] = hisctladdr.__ss_padding[0x29];\n          data_addr.__ss_padding[0x2a] = hisctladdr.__ss_padding[0x2a];\n          data_addr.__ss_padding[0x2b] = hisctladdr.__ss_padding[0x2b];\n          data_addr.__ss_padding[0x2c] = hisctladdr.__ss_padding[0x2c];\n          data_addr.__ss_padding[0x2d] = hisctladdr.__ss_padding[0x2d];\n          data_addr.__ss_padding[0x2e] = hisctladdr.__ss_padding[0x2e];\n          data_addr.__ss_padding[0x2f] = hisctladdr.__ss_padding[0x2f];\n          data_addr.__ss_padding[0x30] = hisctladdr.__ss_padding[0x30];\n          data_addr.__ss_padding[0x31] = hisctladdr.__ss_padding[0x31];\n          data_addr.__ss_padding[0x32] = hisctladdr.__ss_padding[0x32];\n          data_addr.__ss_padding[0x33] = hisctladdr.__ss_padding[0x33];\n          data_addr.__ss_padding[0x34] = hisctladdr.__ss_padding[0x34];\n          data_addr.__ss_padding[0x35] = hisctladdr.__ss_padding[0x35];\n          data_addr.__ss_padding[0x36] = hisctladdr.__ss_padding[0x36];\n          data_addr.__ss_padding[0x37] = hisctladdr.__ss_padding[0x37];\n          data_addr.__ss_padding[0x38] = hisctladdr.__ss_padding[0x38];\n          data_addr.__ss_padding[0x39] = hisctladdr.__ss_padding[0x39];\n          data_addr.__ss_padding[0x3a] = hisctladdr.__ss_padding[0x3a];\n          data_addr.__ss_padding[0x3b] = hisctladdr.__ss_padding[0x3b];\n          data_addr.__ss_padding[0x3c] = hisctladdr.__ss_padding[0x3c];\n          data_addr.__ss_padding[0x3d] = hisctladdr.__ss_padding[0x3d];\n          data_addr.__ss_padding[0x3e] = hisctladdr.__ss_padding[0x3e];\n          data_addr.__ss_padding[0x3f] = hisctladdr.__ss_padding[0x3f];\n          data_addr.__ss_padding[0x40] = hisctladdr.__ss_padding[0x40];\n          data_addr.__ss_padding[0x41] = hisctladdr.__ss_padding[0x41];\n          data_addr.__ss_padding[0x42] = hisctladdr.__ss_padding[0x42];\n          data_addr.__ss_padding[0x43] = hisctladdr.__ss_padding[0x43];\n          data_addr.__ss_padding[0x44] = hisctladdr.__ss_padding[0x44];\n          data_addr.__ss_padding[0x45] = hisctladdr.__ss_padding[0x45];\n          data_addr.__ss_padding[0x46] = hisctladdr.__ss_padding[0x46];\n          data_addr.__ss_padding[0x47] = hisctladdr.__ss_padding[0x47];\n          data_addr.__ss_padding[0x48] = hisctladdr.__ss_padding[0x48];\n          data_addr.__ss_padding[0x49] = hisctladdr.__ss_padding[0x49];\n          data_addr.__ss_padding[0x4a] = hisctladdr.__ss_padding[0x4a];\n          data_addr.__ss_padding[0x4b] = hisctladdr.__ss_padding[0x4b];\n          data_addr.__ss_padding[0x4c] = hisctladdr.__ss_padding[0x4c];\n          data_addr.__ss_padding[0x4d] = hisctladdr.__ss_padding[0x4d];\n          data_addr.__ss_padding[0x4e] = hisctladdr.__ss_padding[0x4e];\n          data_addr.__ss_padding[0x4f] = hisctladdr.__ss_padding[0x4f];\n          data_addr.__ss_padding[0x50] = hisctladdr.__ss_padding[0x50];\n          data_addr.__ss_padding[0x51] = hisctladdr.__ss_padding[0x51];\n          data_addr.__ss_padding[0x52] = hisctladdr.__ss_padding[0x52];\n          data_addr.__ss_padding[0x53] = hisctladdr.__ss_padding[0x53];\n          data_addr.__ss_padding[0x54] = hisctladdr.__ss_padding[0x54];\n          data_addr.__ss_padding[0x55] = hisctladdr.__ss_padding[0x55];\n          data_addr.__ss_padding[0x56] = hisctladdr.__ss_padding[0x56];\n          data_addr.__ss_padding[0x57] = hisctladdr.__ss_padding[0x57];\n          data_addr.__ss_padding[0x58] = hisctladdr.__ss_padding[0x58];\n          data_addr.__ss_padding[0x59] = hisctladdr.__ss_padding[0x59];\n          data_addr.__ss_padding[0x5a] = hisctladdr.__ss_padding[0x5a];\n          data_addr.__ss_padding[0x5b] = hisctladdr.__ss_padding[0x5b];\n          data_addr.__ss_padding[0x5c] = hisctladdr.__ss_padding[0x5c];\n          data_addr.__ss_padding[0x5d] = hisctladdr.__ss_padding[0x5d];\n          data_addr.__ss_padding[0x5e] = hisctladdr.__ss_padding[0x5e];\n          data_addr.__ss_padding[0x5f] = hisctladdr.__ss_padding[0x5f];\n          data_addr.__ss_padding[0x60] = hisctladdr.__ss_padding[0x60];\n          data_addr.__ss_padding[0x61] = hisctladdr.__ss_padding[0x61];\n          data_addr.__ss_padding[0x62] = hisctladdr.__ss_padding[0x62];\n          data_addr.__ss_padding[99] = hisctladdr.__ss_padding[99];\n          data_addr.__ss_padding[100] = hisctladdr.__ss_padding[100];\n          data_addr.__ss_padding[0x65] = hisctladdr.__ss_padding[0x65];\n          data_addr.__ss_padding[0x66] = hisctladdr.__ss_padding[0x66];\n          data_addr.__ss_padding[0x67] = hisctladdr.__ss_padding[0x67];\n          data_addr.__ss_padding[0x68] = hisctladdr.__ss_padding[0x68];\n          data_addr.__ss_padding[0x69] = hisctladdr.__ss_padding[0x69];\n          data_addr.__ss_padding[0x6a] = hisctladdr.__ss_padding[0x6a];\n          data_addr.__ss_padding[0x6b] = hisctladdr.__ss_padding[0x6b];\n          data_addr.__ss_padding[0x6c] = hisctladdr.__ss_padding[0x6c];\n          data_addr.__ss_padding[0x6d] = hisctladdr.__ss_padding[0x6d];\n          data_addr.__ss_padding[0x6e] = hisctladdr.__ss_padding[0x6e];\n          data_addr.__ss_padding[0x6f] = hisctladdr.__ss_padding[0x6f];\n          data_addr.__ss_padding[0x70] = hisctladdr.__ss_padding[0x70];\n          data_addr.__ss_padding[0x71] = hisctladdr.__ss_padding[0x71];\n          data_addr.__ss_padding[0x72] = hisctladdr.__ss_padding[0x72];\n          data_addr.__ss_padding[0x73] = hisctladdr.__ss_padding[0x73];\n          data_addr.__ss_padding[0x74] = hisctladdr.__ss_padding[0x74];\n          data_addr.__ss_padding[0x75] = hisctladdr.__ss_padding[0x75];\n          data_addr.__ss_align = hisctladdr.__ss_align;\n          data_addr.__ss_padding._2_4_ = SUB84(hisctladdr._0_8_,4);\n          if ((sa_family_t)hisctladdr._0_8_ == 2) {\n            uVar2 = (ushort)port << 8 | (ushort)port >> 8;\n            data_addr.__ss_padding[0] = (char)uVar2;\n            data_addr.__ss_padding[1] = (char)(uVar2 >> 8);\n            data_addr.ss_family = 2;\n            uVar1 = data_addr._0_8_;\n          }\n          else if ((sa_family_t)hisctladdr._0_8_ == 10) {\n            uVar2 = (ushort)port << 8 | (ushort)port >> 8;\n            data_addr.__ss_padding[0] = (char)uVar2;\n            data_addr.__ss_padding[1] = (char)(uVar2 >> 8);\n            data_addr.ss_family = 10;\n            uVar1 = data_addr._0_8_;\n          }\n          goto LAB_0010c540;\n        }\n        puts("Extended passive mode scan failure. Should not happen!");\n        command("ABOR");\n      }\n      else {\n        iVar4 = command("LPSV");\n        if (iVar4 == 2) goto LAB_0010c62c;\n        puts("Passive mode refused.");\n      }\n      goto LAB_0010c703;\n    }\nLAB_0010c499:\n    if (myctladdr.ss_family == 2) {\n      iVar4 = sscanf(pasv,"%u,%u,%u,%u,%u,%u",&a0,&a1,&a2,&a3,&p0,&p1);\n      if (iVar4 == 6) {\n        uVar7 = a0 & 0xff | ((a1 & 0xff) << 0x10) >> 8 | (a2 & 0xff) << 0x10 |\n                (uint)(byte)a3 << 0x18;\n        uVar2 = (ushort)(byte)p1 << 8 | (ushort)p0 & 0xff;\n        data_addr.__ss_padding[0] = (char)uVar2;\n        data_addr.__ss_padding[1] = (char)(uVar2 >> 8);\n        data_addr.ss_family = 2;\n        data_addr.__ss_padding[2] = (char)uVar7;\n        data_addr.__ss_padding[3] = (char)(uVar7 >> 8);\n        data_addr.__ss_padding[4] = (char)(uVar7 >> 0x10);\n        data_addr.__ss_padding[5] = (char)(uVar7 >> 0x18);\n        uVar1 = data_addr._0_8_;\nLAB_0010c540:\n        data_addr._0_8_ = uVar1;\n        iVar4 = connect(data,(sockaddr *)&data_addr,ctladdrlen);\n        if (-1 < iVar4) {\n          on = 8;\n          uVar7 = 0;\n          if (data_addr.ss_family == 2) {\n            iVar4 = setsockopt(data,0,1,&on,4);\n            if (iVar4 < 0) {\n              perror("ftp: setsockopt TOS (ignored)");\n            }\n          }\n          goto LAB_0010ca2b;\n        }\n        perror("ftp: connect");\n      }\n      else {\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        command("ABOR");\n      }\n    }\n    else {\n      puts("Passive mode address scan failure. Shouldn\'t happen!");\n    }\n  }\nLAB_0010c703:\n  close(data);\n  data = -1;\n  uVar7 = 1;\nLAB_0010ca2b:\n  if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return uVar7;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail();\n}\n\n" comment (function_definition "int initconn(void)\n\n{\n  undefined8 uVar1;\n  ushort uVar2;\n  uint uVar3;\n  int iVar4;\n  uint *puVar5;\n  int *piVar6;\n  uint uVar7;\n  long in_FS_OFFSET;\n  bool bVar8;\n  undefined8 uVar9;\n  undefined8 uVar10;\n  undefined8 uVar11;\n  undefined8 uVar12;\n  undefined8 uVar13;\n  undefined8 uVar14;\n  undefined8 uVar15;\n  undefined8 uVar16;\n  undefined8 uVar17;\n  undefined8 uVar18;\n  undefined8 uVar19;\n  undefined8 uVar20;\n  undefined8 uVar21;\n  undefined8 uVar22;\n  int on;\n  uint32_t a0;\n  uint32_t a1;\n  uint32_t a2;\n  uint32_t a3;\n  uint32_t p0;\n  uint32_t p1;\n  uint32_t port;\n  uint32_t af;\n  uint32_t hal;\n  socklen_t len;\n  uint32_t h [16];\n  uint local_48 [2];\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  on = 1;\n  if (passivemode == 0) {\n    uVar7 = 0;\nLAB_0010cba4:\n    uVar1._2_1_ = myctladdr.__ss_padding[0];\n    uVar1._3_1_ = myctladdr.__ss_padding[1];\n    uVar1._4_1_ = myctladdr.__ss_padding[2];\n    uVar1._5_1_ = myctladdr.__ss_padding[3];\n    uVar1._6_1_ = myctladdr.__ss_padding[4];\n    uVar1._7_1_ = myctladdr.__ss_padding[5];\n    uVar1._0_2_ = myctladdr.ss_family;\n    uVar9._0_1_ = myctladdr.__ss_padding[6];\n    uVar9._1_1_ = myctladdr.__ss_padding[7];\n    uVar9._2_1_ = myctladdr.__ss_padding[8];\n    uVar9._3_1_ = myctladdr.__ss_padding[9];\n    uVar9._4_1_ = myctladdr.__ss_padding[10];\n    uVar9._5_1_ = myctladdr.__ss_padding[0xb];\n    uVar9._6_1_ = myctladdr.__ss_padding[0xc];\n    uVar9._7_1_ = myctladdr.__ss_padding[0xd];\n    data_addr.__ss_padding[6] = myctladdr.__ss_padding[6];\n    data_addr.__ss_padding[7] = myctladdr.__ss_padding[7];\n    data_addr.__ss_padding[8] = myctladdr.__ss_padding[8];\n    data_addr.__ss_padding[9] = myctladdr.__ss_padding[9];\n    data_addr.__ss_padding[10] = myctladdr.__ss_padding[10];\n    data_addr.__ss_padding[0xb] = myctladdr.__ss_padding[0xb];\n    data_addr.__ss_padding[0xc] = myctladdr.__ss_padding[0xc];\n    data_addr.__ss_padding[0xd] = myctladdr.__ss_padding[0xd];\n    uVar10._0_1_ = myctladdr.__ss_padding[0xe];\n    uVar10._1_1_ = myctladdr.__ss_padding[0xf];\n    uVar10._2_1_ = myctladdr.__ss_padding[0x10];\n    uVar10._3_1_ = myctladdr.__ss_padding[0x11];\n    uVar10._4_1_ = myctladdr.__ss_padding[0x12];\n    uVar10._5_1_ = myctladdr.__ss_padding[0x13];\n    uVar10._6_1_ = myctladdr.__ss_padding[0x14];\n    uVar10._7_1_ = myctladdr.__ss_padding[0x15];\n    uVar11._0_1_ = myctladdr.__ss_padding[0x16];\n    uVar11._1_1_ = myctladdr.__ss_padding[0x17];\n    uVar11._2_1_ = myctladdr.__ss_padding[0x18];\n    uVar11._3_1_ = myctladdr.__ss_padding[0x19];\n    uVar11._4_1_ = myctladdr.__ss_padding[0x1a];\n    uVar11._5_1_ = myctladdr.__ss_padding[0x1b];\n    uVar11._6_1_ = myctladdr.__ss_padding[0x1c];\n    uVar11._7_1_ = myctladdr.__ss_padding[0x1d];\n    data_addr.__ss_padding[0xe] = myctladdr.__ss_padding[0xe];\n    data_addr.__ss_padding[0xf] = myctladdr.__ss_padding[0xf];\n    data_addr.__ss_padding[0x10] = myctladdr.__ss_padding[0x10];\n    data_addr.__ss_padding[0x11] = myctladdr.__ss_padding[0x11];\n    data_addr.__ss_padding[0x12] = myctladdr.__ss_padding[0x12];\n    data_addr.__ss_padding[0x13] = myctladdr.__ss_padding[0x13];\n    data_addr.__ss_padding[0x14] = myctladdr.__ss_padding[0x14];\n    data_addr.__ss_padding[0x15] = myctladdr.__ss_padding[0x15];\n    data_addr.__ss_padding[0x16] = myctladdr.__ss_padding[0x16];\n    data_addr.__ss_padding[0x17] = myctladdr.__ss_padding[0x17];\n    data_addr.__ss_padding[0x18] = myctladdr.__ss_padding[0x18];\n    data_addr.__ss_padding[0x19] = myctladdr.__ss_padding[0x19];\n    data_addr.__ss_padding[0x1a] = myctladdr.__ss_padding[0x1a];\n    data_addr.__ss_padding[0x1b] = myctladdr.__ss_padding[0x1b];\n    data_addr.__ss_padding[0x1c] = myctladdr.__ss_padding[0x1c];\n    data_addr.__ss_padding[0x1d] = myctladdr.__ss_padding[0x1d];\n    uVar12._0_1_ = myctladdr.__ss_padding[0x1e];\n    uVar12._1_1_ = myctladdr.__ss_padding[0x1f];\n    uVar12._2_1_ = myctladdr.__ss_padding[0x20];\n    uVar12._3_1_ = myctladdr.__ss_padding[0x21];\n    uVar12._4_1_ = myctladdr.__ss_padding[0x22];\n    uVar12._5_1_ = myctladdr.__ss_padding[0x23];\n    uVar12._6_1_ = myctladdr.__ss_padding[0x24];\n    uVar12._7_1_ = myctladdr.__ss_padding[0x25];\n    uVar13._0_1_ = myctladdr.__ss_padding[0x26];\n    uVar13._1_1_ = myctladdr.__ss_padding[0x27];\n    uVar13._2_1_ = myctladdr.__ss_padding[0x28];\n    uVar13._3_1_ = myctladdr.__ss_padding[0x29];\n    uVar13._4_1_ = myctladdr.__ss_padding[0x2a];\n    uVar13._5_1_ = myctladdr.__ss_padding[0x2b];\n    uVar13._6_1_ = myctladdr.__ss_padding[0x2c];\n    uVar13._7_1_ = myctladdr.__ss_padding[0x2d];\n    data_addr.__ss_padding[0x1e] = myctladdr.__ss_padding[0x1e];\n    data_addr.__ss_padding[0x1f] = myctladdr.__ss_padding[0x1f];\n    data_addr.__ss_padding[0x20] = myctladdr.__ss_padding[0x20];\n    data_addr.__ss_padding[0x21] = myctladdr.__ss_padding[0x21];\n    data_addr.__ss_padding[0x22] = myctladdr.__ss_padding[0x22];\n    data_addr.__ss_padding[0x23] = myctladdr.__ss_padding[0x23];\n    data_addr.__ss_padding[0x24] = myctladdr.__ss_padding[0x24];\n    data_addr.__ss_padding[0x25] = myctladdr.__ss_padding[0x25];\n    data_addr.__ss_padding[0x26] = myctladdr.__ss_padding[0x26];\n    data_addr.__ss_padding[0x27] = myctladdr.__ss_padding[0x27];\n    data_addr.__ss_padding[0x28] = myctladdr.__ss_padding[0x28];\n    data_addr.__ss_padding[0x29] = myctladdr.__ss_padding[0x29];\n    data_addr.__ss_padding[0x2a] = myctladdr.__ss_padding[0x2a];\n    data_addr.__ss_padding[0x2b] = myctladdr.__ss_padding[0x2b];\n    data_addr.__ss_padding[0x2c] = myctladdr.__ss_padding[0x2c];\n    data_addr.__ss_padding[0x2d] = myctladdr.__ss_padding[0x2d];\n    uVar14._0_1_ = myctladdr.__ss_padding[0x2e];\n    uVar14._1_1_ = myctladdr.__ss_padding[0x2f];\n    uVar14._2_1_ = myctladdr.__ss_padding[0x30];\n    uVar14._3_1_ = myctladdr.__ss_padding[0x31];\n    uVar14._4_1_ = myctladdr.__ss_padding[0x32];\n    uVar14._5_1_ = myctladdr.__ss_padding[0x33];\n    uVar14._6_1_ = myctladdr.__ss_padding[0x34];\n    uVar14._7_1_ = myctladdr.__ss_padding[0x35];\n    uVar15._0_1_ = myctladdr.__ss_padding[0x36];\n    uVar15._1_1_ = myctladdr.__ss_padding[0x37];\n    uVar15._2_1_ = myctladdr.__ss_padding[0x38];\n    uVar15._3_1_ = myctladdr.__ss_padding[0x39];\n    uVar15._4_1_ = myctladdr.__ss_padding[0x3a];\n    uVar15._5_1_ = myctladdr.__ss_padding[0x3b];\n    uVar15._6_1_ = myctladdr.__ss_padding[0x3c];\n    uVar15._7_1_ = myctladdr.__ss_padding[0x3d];\n    data_addr.__ss_padding[0x2e] = myctladdr.__ss_padding[0x2e];\n    data_addr.__ss_padding[0x2f] = myctladdr.__ss_padding[0x2f];\n    data_addr.__ss_padding[0x30] = myctladdr.__ss_padding[0x30];\n    data_addr.__ss_padding[0x31] = myctladdr.__ss_padding[0x31];\n    data_addr.__ss_padding[0x32] = myctladdr.__ss_padding[0x32];\n    data_addr.__ss_padding[0x33] = myctladdr.__ss_padding[0x33];\n    data_addr.__ss_padding[0x34] = myctladdr.__ss_padding[0x34];\n    data_addr.__ss_padding[0x35] = myctladdr.__ss_padding[0x35];\n    data_addr.__ss_padding[0x36] = myctladdr.__ss_padding[0x36];\n    data_addr.__ss_padding[0x37] = myctladdr.__ss_padding[0x37];\n    data_addr.__ss_padding[0x38] = myctladdr.__ss_padding[0x38];\n    data_addr.__ss_padding[0x39] = myctladdr.__ss_padding[0x39];\n    data_addr.__ss_padding[0x3a] = myctladdr.__ss_padding[0x3a];\n    data_addr.__ss_padding[0x3b] = myctladdr.__ss_padding[0x3b];\n    data_addr.__ss_padding[0x3c] = myctladdr.__ss_padding[0x3c];\n    data_addr.__ss_padding[0x3d] = myctladdr.__ss_padding[0x3d];\n    uVar16._0_1_ = myctladdr.__ss_padding[0x3e];\n    uVar16._1_1_ = myctladdr.__ss_padding[0x3f];\n    uVar16._2_1_ = myctladdr.__ss_padding[0x40];\n    uVar16._3_1_ = myctladdr.__ss_padding[0x41];\n    uVar16._4_1_ = myctladdr.__ss_padding[0x42];\n    uVar16._5_1_ = myctladdr.__ss_padding[0x43];\n    uVar16._6_1_ = myctladdr.__ss_padding[0x44];\n    uVar16._7_1_ = myctladdr.__ss_padding[0x45];\n    uVar17._0_1_ = myctladdr.__ss_padding[0x46];\n    uVar17._1_1_ = myctladdr.__ss_padding[0x47];\n    uVar17._2_1_ = myctladdr.__ss_padding[0x48];\n    uVar17._3_1_ = myctladdr.__ss_padding[0x49];\n    uVar17._4_1_ = myctladdr.__ss_padding[0x4a];\n    uVar17._5_1_ = myctladdr.__ss_padding[0x4b];\n    uVar17._6_1_ = myctladdr.__ss_padding[0x4c];\n    uVar17._7_1_ = myctladdr.__ss_padding[0x4d];\n    data_addr.__ss_padding[0x3e] = myctladdr.__ss_padding[0x3e];\n    data_addr.__ss_padding[0x3f] = myctladdr.__ss_padding[0x3f];\n    data_addr.__ss_padding[0x40] = myctladdr.__ss_padding[0x40];\n    data_addr.__ss_padding[0x41] = myctladdr.__ss_padding[0x41];\n    data_addr.__ss_padding[0x42] = myctladdr.__ss_padding[0x42];\n    data_addr.__ss_padding[0x43] = myctladdr.__ss_padding[0x43];\n    data_addr.__ss_padding[0x44] = myctladdr.__ss_padding[0x44];\n    data_addr.__ss_padding[0x45] = myctladdr.__ss_padding[0x45];\n    data_addr.__ss_padding[0x46] = myctladdr.__ss_padding[0x46];\n    data_addr.__ss_padding[0x47] = myctladdr.__ss_padding[0x47];\n    data_addr.__ss_padding[0x48] = myctladdr.__ss_padding[0x48];\n    data_addr.__ss_padding[0x49] = myctladdr.__ss_padding[0x49];\n    data_addr.__ss_padding[0x4a] = myctladdr.__ss_padding[0x4a];\n    data_addr.__ss_padding[0x4b] = myctladdr.__ss_padding[0x4b];\n    data_addr.__ss_padding[0x4c] = myctladdr.__ss_padding[0x4c];\n    data_addr.__ss_padding[0x4d] = myctladdr.__ss_padding[0x4d];\n    uVar18._0_1_ = myctladdr.__ss_padding[0x4e];\n    uVar18._1_1_ = myctladdr.__ss_padding[0x4f];\n    uVar18._2_1_ = myctladdr.__ss_padding[0x50];\n    uVar18._3_1_ = myctladdr.__ss_padding[0x51];\n    uVar18._4_1_ = myctladdr.__ss_padding[0x52];\n    uVar18._5_1_ = myctladdr.__ss_padding[0x53];\n    uVar18._6_1_ = myctladdr.__ss_padding[0x54];\n    uVar18._7_1_ = myctladdr.__ss_padding[0x55];\n    uVar19._0_1_ = myctladdr.__ss_padding[0x56];\n    uVar19._1_1_ = myctladdr.__ss_padding[0x57];\n    uVar19._2_1_ = myctladdr.__ss_padding[0x58];\n    uVar19._3_1_ = myctladdr.__ss_padding[0x59];\n    uVar19._4_1_ = myctladdr.__ss_padding[0x5a];\n    uVar19._5_1_ = myctladdr.__ss_padding[0x5b];\n    uVar19._6_1_ = myctladdr.__ss_padding[0x5c];\n    uVar19._7_1_ = myctladdr.__ss_padding[0x5d];\n    data_addr.__ss_padding[0x4e] = myctladdr.__ss_padding[0x4e];\n    data_addr.__ss_padding[0x4f] = myctladdr.__ss_padding[0x4f];\n    data_addr.__ss_padding[0x50] = myctladdr.__ss_padding[0x50];\n    data_addr.__ss_padding[0x51] = myctladdr.__ss_padding[0x51];\n    data_addr.__ss_padding[0x52] = myctladdr.__ss_padding[0x52];\n    data_addr.__ss_padding[0x53] = myctladdr.__ss_padding[0x53];\n    data_addr.__ss_padding[0x54] = myctladdr.__ss_padding[0x54];\n    data_addr.__ss_padding[0x55] = myctladdr.__ss_padding[0x55];\n    data_addr.__ss_padding[0x56] = myctladdr.__ss_padding[0x56];\n    data_addr.__ss_padding[0x57] = myctladdr.__ss_padding[0x57];\n    data_addr.__ss_padding[0x58] = myctladdr.__ss_padding[0x58];\n    data_addr.__ss_padding[0x59] = myctladdr.__ss_padding[0x59];\n    data_addr.__ss_padding[0x5a] = myctladdr.__ss_padding[0x5a];\n    data_addr.__ss_padding[0x5b] = myctladdr.__ss_padding[0x5b];\n    data_addr.__ss_padding[0x5c] = myctladdr.__ss_padding[0x5c];\n    data_addr.__ss_padding[0x5d] = myctladdr.__ss_padding[0x5d];\n    uVar20._0_1_ = myctladdr.__ss_padding[0x5e];\n    uVar20._1_1_ = myctladdr.__ss_padding[0x5f];\n    uVar20._2_1_ = myctladdr.__ss_padding[0x60];\n    uVar20._3_1_ = myctladdr.__ss_padding[0x61];\n    uVar20._4_1_ = myctladdr.__ss_padding[0x62];\n    uVar20._5_1_ = myctladdr.__ss_padding[99];\n    uVar20._6_1_ = myctladdr.__ss_padding[100];\n    uVar20._7_1_ = myctladdr.__ss_padding[0x65];\n    uVar21._0_1_ = myctladdr.__ss_padding[0x66];\n    uVar21._1_1_ = myctladdr.__ss_padding[0x67];\n    uVar21._2_1_ = myctladdr.__ss_padding[0x68];\n    uVar21._3_1_ = myctladdr.__ss_padding[0x69];\n    uVar21._4_1_ = myctladdr.__ss_padding[0x6a];\n    uVar21._5_1_ = myctladdr.__ss_padding[0x6b];\n    uVar21._6_1_ = myctladdr.__ss_padding[0x6c];\n    uVar21._7_1_ = myctladdr.__ss_padding[0x6d];\n    data_addr.__ss_padding[0x5e] = myctladdr.__ss_padding[0x5e];\n    data_addr.__ss_padding[0x5f] = myctladdr.__ss_padding[0x5f];\n    data_addr.__ss_padding[0x60] = myctladdr.__ss_padding[0x60];\n    data_addr.__ss_padding[0x61] = myctladdr.__ss_padding[0x61];\n    data_addr.__ss_padding[0x62] = myctladdr.__ss_padding[0x62];\n    data_addr.__ss_padding[99] = myctladdr.__ss_padding[99];\n    data_addr.__ss_padding[100] = myctladdr.__ss_padding[100];\n    data_addr.__ss_padding[0x65] = myctladdr.__ss_padding[0x65];\n    data_addr.__ss_padding[0x66] = myctladdr.__ss_padding[0x66];\n    data_addr.__ss_padding[0x67] = myctladdr.__ss_padding[0x67];\n    data_addr.__ss_padding[0x68] = myctladdr.__ss_padding[0x68];\n    data_addr.__ss_padding[0x69] = myctladdr.__ss_padding[0x69];\n    data_addr.__ss_padding[0x6a] = myctladdr.__ss_padding[0x6a];\n    data_addr.__ss_padding[0x6b] = myctladdr.__ss_padding[0x6b];\n    data_addr.__ss_padding[0x6c] = myctladdr.__ss_padding[0x6c];\n    data_addr.__ss_padding[0x6d] = myctladdr.__ss_padding[0x6d];\n    uVar22._0_1_ = myctladdr.__ss_padding[0x6e];\n    uVar22._1_1_ = myctladdr.__ss_padding[0x6f];\n    uVar22._2_1_ = myctladdr.__ss_padding[0x70];\n    uVar22._3_1_ = myctladdr.__ss_padding[0x71];\n    uVar22._4_1_ = myctladdr.__ss_padding[0x72];\n    uVar22._5_1_ = myctladdr.__ss_padding[0x73];\n    uVar22._6_1_ = myctladdr.__ss_padding[0x74];\n    uVar22._7_1_ = myctladdr.__ss_padding[0x75];\n    data_addr.__ss_align = myctladdr.__ss_align;\n    data_addr.__ss_padding[0x6e] = myctladdr.__ss_padding[0x6e];\n    data_addr.__ss_padding[0x6f] = myctladdr.__ss_padding[0x6f];\n    data_addr.__ss_padding[0x70] = myctladdr.__ss_padding[0x70];\n    data_addr.__ss_padding[0x71] = myctladdr.__ss_padding[0x71];\n    data_addr.__ss_padding[0x72] = myctladdr.__ss_padding[0x72];\n    data_addr.__ss_padding[0x73] = myctladdr.__ss_padding[0x73];\n    data_addr.__ss_padding[0x74] = myctladdr.__ss_padding[0x74];\n    data_addr.__ss_padding[0x75] = myctladdr.__ss_padding[0x75];\n    if (sendport != 0) {\n      data_addr.__ss_padding._2_4_ = SUB64(myctladdr.__ss_padding._0_6_,2);\n      if (myctladdr.ss_family == 2) {\n        data_addr.ss_family = 2;\n        data_addr.__ss_padding[0] = '\0';\n        data_addr.__ss_padding[1] = '\0';\n        uVar1 = data_addr._0_8_;\n      }\n      else if (myctladdr.ss_family == 10) {\n        data_addr.ss_family = 10;\n        data_addr.__ss_padding[0] = '\0';\n        data_addr.__ss_padding[1] = '\0';\n        uVar1 = data_addr._0_8_;\n      }\n    }\n    data_addr._0_8_ = uVar1;\n    if (data != -1) {\n      data_addr.__ss_padding._6_8_ = uVar9;\n      data_addr.__ss_padding._14_8_ = uVar10;\n      data_addr.__ss_padding._22_8_ = uVar11;\n      data_addr.__ss_padding._30_8_ = uVar12;\n      data_addr.__ss_padding._38_8_ = uVar13;\n      data_addr.__ss_padding._46_8_ = uVar14;\n      data_addr.__ss_padding._54_8_ = uVar15;\n      data_addr.__ss_padding._62_8_ = uVar16;\n      data_addr.__ss_padding._70_8_ = uVar17;\n      data_addr.__ss_padding._78_8_ = uVar18;\n      data_addr.__ss_padding._86_8_ = uVar19;\n      data_addr.__ss_padding._94_8_ = uVar20;\n      data_addr.__ss_padding._102_8_ = uVar21;\n      data_addr.__ss_padding._110_8_ = uVar22;\n      close(data);\n    }\n    data = socket((uint)myctladdr.ss_family,1,0);\n    if (data < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,"socket");\n      if (uVar7 == 0) {\n        uVar7 = 1;\n      }\n      else {\n        sendport = 1;\n      }\n      goto LAB_0010ca2b;\n    }\n    if (sendport == 0) {\n      iVar4 = setsockopt(data,1,2,&on,4);\n      if (-1 < iVar4) goto LAB_0010cc9e;\n      piVar6 = __errno_location();\n      error(0,*piVar6,"setsockopt (reuse address)");\nLAB_0010ca03:\n      close(data);\n      data = -1;\n      if (uVar7 == 0) {\n        uVar7 = 1;\n      }\n      else {\n        sendport = 1;\n      }\n      goto LAB_0010ca2b;\n    }\nLAB_0010cc9e:\n    iVar4 = bind(data,(sockaddr *)&data_addr,ctladdrlen);\n    if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,&DAT_0011a4df);\n      goto LAB_0010ca03;\n    }\n    if (((byte)options & 1) != 0) {\n      iVar4 = setsockopt(data,1,1,&on,4);\n      if (iVar4 < 0) {\n        piVar6 = __errno_location();\n        if (*piVar6 != 0xd) {\n          error(0,*piVar6,"setsockopt DEBUG (ignored)");\n        }\n      }\n    }\n    len = 0x80;\n    iVar4 = getsockname(data,(sockaddr *)&data_addr,&len);\n    if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,"getsockname");\n      goto LAB_0010ca03;\n    }\n    iVar4 = listen(data,1);\n    if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,"listen");\n    }\n    if (sendport == 0) {\n      if (uVar7 != 0) {\n        sendport = 1;\n      }\n      on = 8;\n      uVar7 = 0;\n      if (data_addr.ss_family == 2) {\n        iVar4 = setsockopt(data,0,1,&on,4);\n        if (iVar4 < 0) {\n          piVar6 = __errno_location();\n          error(0,*piVar6,"setsockopt TOS (ignored)");\n        }\n      }\n      goto LAB_0010ca2b;\n    }\n    if ((data_addr.ss_family == 2) && (doepsv4 == 0)) {\n      bVar8 = true;\nLAB_0010cd36:\n      if (!bVar8) {\n        iVar4 = 2;\nLAB_0010cd3f:\n        uVar7 = (uint)(iVar4 != 2);\n        goto LAB_0010ca2b;\n      }\nLAB_0010cd6c:\n      iVar4 = command("PORT %d,%d,%d,%d,%d,%d",(ulong)data_addr._0_8_ >> 0x20 & 0xff,\n                      (ulong)data_addr._0_8_ >> 0x28 & 0xff,(ulong)data_addr._0_8_ >> 0x30 & 0xff,\n                      (ulong)data_addr._0_8_ >> 0x38,(ulong)data_addr._0_8_ >> 0x10 & 0xff,\n                      (ulong)data_addr._0_8_ >> 0x18 & 0xff);\n    }\n    else {\n      getnameinfo((sockaddr *)&data_addr,ctladdrlen,ia,0x2e,portstr,10,3);\n      iVar4 = command("EPRT |%d|%s|%s|",(ulong)((data_addr.ss_family != 2) + 1),ia,portstr);\n      if (data_addr.ss_family == 2) {\n        bVar8 = iVar4 != 2;\n        if ((doepsv4 == 0) || (!bVar8)) goto LAB_0010cd36;\n        doepsv4 = 0;\n        goto LAB_0010cd6c;\n      }\n    }\n    if (iVar4 == 2) goto LAB_0010cd3f;\n    if (data_addr.ss_family == 2) {\n      iVar4 = command("LPRT 4,4,%u,%u,%u,%u,2,%u,%u",(ulong)data_addr._0_8_ >> 0x20 & 0xff,\n                      (ulong)data_addr._0_8_ >> 0x28 & 0xff,(ulong)data_addr._0_8_ >> 0x30 & 0xff,\n                      (ulong)data_addr._0_8_ >> 0x38,(ulong)(byte)data_addr.__ss_padding[0],\n                      (ulong)(byte)data_addr.__ss_padding[1]);\n    }\n    else if (data_addr.ss_family == 10) {\n      iVar4 = command("LPRT 6,16,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,2,%u,%u",\n                      data_addr.__ss_padding._6_8_ & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 8 & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 0x10 & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 0x18 & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 0x20 & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 0x28 & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 0x30 & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 0x38,\n                      data_addr.__ss_padding._14_8_ & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 8 & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 0x10 & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 0x18 & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 0x20 & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 0x28 & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 0x30 & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 0x38,\n                      (ulong)(byte)data_addr.__ss_padding[0],(ulong)(byte)data_addr.__ss_padding[1])\n      ;\n    }\n    if ((iVar4 != 5) || (sendport != -1)) goto LAB_0010cd3f;\n    sendport = 0;\n    uVar7 = 1;\n    goto LAB_0010cba4;\n  }\n  data = socket((uint)myctladdr.ss_family,1,0);\n  if (data < 0) {\n    perror("ftp: socket");\n    uVar7 = 1;\n    goto LAB_0010ca2b;\n  }\n  if (((byte)options & 1) != 0) {\n    iVar4 = setsockopt(data,1,1,&on,4);\n    if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      if (*piVar6 != 0xd) {\n        error(0,*piVar6,"setsockopt DEBUG (ignored)");\n      }\n    }\n  }\n  if (myctladdr.ss_family == 2) {\n    if (doepsv4 != 0) {\n      iVar4 = command("EPSV");\n      if (iVar4 == 2) goto LAB_0010c336;\n      if (doepsv4 != 0) {\n        doepsv4 = 0;\n      }\n    }\n    iVar4 = command("PASV");\n    if (iVar4 == 2) goto LAB_0010c499;\n    iVar4 = command("LPSV");\n    if (iVar4 == 2) {\nLAB_0010c62c:\n      if (myctladdr.ss_family == 2) {\n        iVar4 = sscanf(pasv,"%u,%u,%u,%u,%u,%u,%u,%u,%u",&af,&hal,h,h + 1,h + 2,h + 3,&len,&p0,&p1);\n        if ((((iVar4 == 9) && (af == 4)) && (hal == 4)) && (len == 2)) {\n          puVar5 = h;\n          do {\n            *puVar5 = *puVar5 & 0xff;\n            puVar5 = puVar5 + 1;\n          } while (puVar5 != h + 4);\n          uVar2 = (ushort)(byte)p1 << 8 | (ushort)p0 & 0xff;\n          data_addr.__ss_padding[0] = (char)uVar2;\n          data_addr.__ss_padding[1] = (char)(uVar2 >> 8);\n          data_addr.ss_family = 2;\n          uVar7 = h[0] << 0x18 | h[1] << 0x10 | h[3] | h[2] << 8;\n          uVar7 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | h[3] << 0x18;\n          data_addr.__ss_padding[2] = (char)uVar7;\n          data_addr.__ss_padding[3] = (char)(uVar7 >> 8);\n          data_addr.__ss_padding[4] = (char)(uVar7 >> 0x10);\n          data_addr.__ss_padding[5] = (char)(uVar7 >> 0x18);\n          uVar1 = data_addr._0_8_;\n          goto LAB_0010c540;\n        }\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        command("ABOR");\n        goto LAB_0010c703;\n      }\n      iVar4 = sscanf(pasv,"%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u",&af,&hal,\n                     h,h + 1,h + 2,h + 3,h + 4,h + 5,h + 6,h + 7,h + 8,h + 9,h + 10,h + 0xb,h + 0xc,\n                     h + 0xd,h + 0xe,h + 0xf,&len,&p0,&p1);\n      if (((iVar4 != 0x15) || (af != 6)) || ((hal != 0x10 || (len != 2)))) {\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        command("ABOR");\n        goto LAB_0010c703;\n      }\n      puVar5 = h;\n      do {\n        *puVar5 = *puVar5 & 0xff;\n        puVar5 = puVar5 + 1;\n      } while (puVar5 != local_48);\n      uVar2 = (ushort)(byte)p1 << 8 | (ushort)p0 & 0xff;\n      data_addr.__ss_padding[0] = (char)uVar2;\n      data_addr.__ss_padding[1] = (char)(uVar2 >> 8);\n      data_addr.ss_family = 10;\n      uVar7 = h[0] << 0x18 | h[1] << 0x10 | h[3] | h[2] << 8;\n      uVar7 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | h[3] << 0x18;\n      uVar3 = h[4] << 0x18 | h[5] << 0x10 | h[7] | h[6] << 8;\n      uVar3 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | h[7] << 0x18;\n      data_addr.__ss_padding[10] = (char)uVar3;\n      data_addr.__ss_padding[0xb] = (char)(uVar3 >> 8);\n      data_addr.__ss_padding[0xc] = (char)(uVar3 >> 0x10);\n      data_addr.__ss_padding[0xd] = (char)(uVar3 >> 0x18);\n      data_addr.__ss_padding[6] = (char)uVar7;\n      data_addr.__ss_padding[7] = (char)(uVar7 >> 8);\n      data_addr.__ss_padding[8] = (char)(uVar7 >> 0x10);\n      data_addr.__ss_padding[9] = (char)(uVar7 >> 0x18);\n      uVar7 = h[8] << 0x18 | h[9] << 0x10 | h[0xb] | h[10] << 8;\n      uVar7 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | h[0xb] << 0x18;\n      uVar3 = h[0xc] << 0x18 | h[0xd] << 0x10 | h[0xf] | h[0xe] << 8;\n      uVar3 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | h[0xf] << 0x18;\n      data_addr.__ss_padding[0x12] = (char)uVar3;\n      data_addr.__ss_padding[0x13] = (char)(uVar3 >> 8);\n      data_addr.__ss_padding[0x14] = (char)(uVar3 >> 0x10);\n      data_addr.__ss_padding[0x15] = (char)(uVar3 >> 0x18);\n      data_addr.__ss_padding[0xe] = (char)uVar7;\n      data_addr.__ss_padding[0xf] = (char)(uVar7 >> 8);\n      data_addr.__ss_padding[0x10] = (char)(uVar7 >> 0x10);\n      data_addr.__ss_padding[0x11] = (char)(uVar7 >> 0x18);\n      uVar1 = data_addr._0_8_;\n      goto LAB_0010c540;\n    }\n    puts("Passive mode refused.");\n  }\n  else {\n    if (myctladdr.ss_family == 10) {\n      iVar4 = command("EPSV");\n      if (iVar4 == 2) {\nLAB_0010c336:\n        iVar4 = sscanf(pasv,"%u|",&port);\n        if (iVar4 == 1) {\n          data_addr.ss_family = hisctladdr.ss_family;\n          data_addr.__ss_padding[0] = hisctladdr.__ss_padding[0];\n          data_addr.__ss_padding[1] = hisctladdr.__ss_padding[1];\n          data_addr.__ss_padding[2] = hisctladdr.__ss_padding[2];\n          data_addr.__ss_padding[3] = hisctladdr.__ss_padding[3];\n          data_addr.__ss_padding[4] = hisctladdr.__ss_padding[4];\n          data_addr.__ss_padding[5] = hisctladdr.__ss_padding[5];\n          uVar1 = data_addr._0_8_;\n          data_addr.__ss_padding[6] = hisctladdr.__ss_padding[6];\n          data_addr.__ss_padding[7] = hisctladdr.__ss_padding[7];\n          data_addr.__ss_padding[8] = hisctladdr.__ss_padding[8];\n          data_addr.__ss_padding[9] = hisctladdr.__ss_padding[9];\n          data_addr.__ss_padding[10] = hisctladdr.__ss_padding[10];\n          data_addr.__ss_padding[0xb] = hisctladdr.__ss_padding[0xb];\n          data_addr.__ss_padding[0xc] = hisctladdr.__ss_padding[0xc];\n          data_addr.__ss_padding[0xd] = hisctladdr.__ss_padding[0xd];\n          data_addr.__ss_padding[0xe] = hisctladdr.__ss_padding[0xe];\n          data_addr.__ss_padding[0xf] = hisctladdr.__ss_padding[0xf];\n          data_addr.__ss_padding[0x10] = hisctladdr.__ss_padding[0x10];\n          data_addr.__ss_padding[0x11] = hisctladdr.__ss_padding[0x11];\n          data_addr.__ss_padding[0x12] = hisctladdr.__ss_padding[0x12];\n          data_addr.__ss_padding[0x13] = hisctladdr.__ss_padding[0x13];\n          data_addr.__ss_padding[0x14] = hisctladdr.__ss_padding[0x14];\n          data_addr.__ss_padding[0x15] = hisctladdr.__ss_padding[0x15];\n          data_addr.__ss_padding[0x16] = hisctladdr.__ss_padding[0x16];\n          data_addr.__ss_padding[0x17] = hisctladdr.__ss_padding[0x17];\n          data_addr.__ss_padding[0x18] = hisctladdr.__ss_padding[0x18];\n          data_addr.__ss_padding[0x19] = hisctladdr.__ss_padding[0x19];\n          data_addr.__ss_padding[0x1a] = hisctladdr.__ss_padding[0x1a];\n          data_addr.__ss_padding[0x1b] = hisctladdr.__ss_padding[0x1b];\n          data_addr.__ss_padding[0x1c] = hisctladdr.__ss_padding[0x1c];\n          data_addr.__ss_padding[0x1d] = hisctladdr.__ss_padding[0x1d];\n          data_addr.__ss_padding[0x1e] = hisctladdr.__ss_padding[0x1e];\n          data_addr.__ss_padding[0x1f] = hisctladdr.__ss_padding[0x1f];\n          data_addr.__ss_padding[0x20] = hisctladdr.__ss_padding[0x20];\n          data_addr.__ss_padding[0x21] = hisctladdr.__ss_padding[0x21];\n          data_addr.__ss_padding[0x22] = hisctladdr.__ss_padding[0x22];\n          data_addr.__ss_padding[0x23] = hisctladdr.__ss_padding[0x23];\n          data_addr.__ss_padding[0x24] = hisctladdr.__ss_padding[0x24];\n          data_addr.__ss_padding[0x25] = hisctladdr.__ss_padding[0x25];\n          data_addr.__ss_padding[0x26] = hisctladdr.__ss_padding[0x26];\n          data_addr.__ss_padding[0x27] = hisctladdr.__ss_padding[0x27];\n          data_addr.__ss_padding[0x28] = hisctladdr.__ss_padding[0x28];\n          data_addr.__ss_padding[0x29] = hisctladdr.__ss_padding[0x29];\n          data_addr.__ss_padding[0x2a] = hisctladdr.__ss_padding[0x2a];\n          data_addr.__ss_padding[0x2b] = hisctladdr.__ss_padding[0x2b];\n          data_addr.__ss_padding[0x2c] = hisctladdr.__ss_padding[0x2c];\n          data_addr.__ss_padding[0x2d] = hisctladdr.__ss_padding[0x2d];\n          data_addr.__ss_padding[0x2e] = hisctladdr.__ss_padding[0x2e];\n          data_addr.__ss_padding[0x2f] = hisctladdr.__ss_padding[0x2f];\n          data_addr.__ss_padding[0x30] = hisctladdr.__ss_padding[0x30];\n          data_addr.__ss_padding[0x31] = hisctladdr.__ss_padding[0x31];\n          data_addr.__ss_padding[0x32] = hisctladdr.__ss_padding[0x32];\n          data_addr.__ss_padding[0x33] = hisctladdr.__ss_padding[0x33];\n          data_addr.__ss_padding[0x34] = hisctladdr.__ss_padding[0x34];\n          data_addr.__ss_padding[0x35] = hisctladdr.__ss_padding[0x35];\n          data_addr.__ss_padding[0x36] = hisctladdr.__ss_padding[0x36];\n          data_addr.__ss_padding[0x37] = hisctladdr.__ss_padding[0x37];\n          data_addr.__ss_padding[0x38] = hisctladdr.__ss_padding[0x38];\n          data_addr.__ss_padding[0x39] = hisctladdr.__ss_padding[0x39];\n          data_addr.__ss_padding[0x3a] = hisctladdr.__ss_padding[0x3a];\n          data_addr.__ss_padding[0x3b] = hisctladdr.__ss_padding[0x3b];\n          data_addr.__ss_padding[0x3c] = hisctladdr.__ss_padding[0x3c];\n          data_addr.__ss_padding[0x3d] = hisctladdr.__ss_padding[0x3d];\n          data_addr.__ss_padding[0x3e] = hisctladdr.__ss_padding[0x3e];\n          data_addr.__ss_padding[0x3f] = hisctladdr.__ss_padding[0x3f];\n          data_addr.__ss_padding[0x40] = hisctladdr.__ss_padding[0x40];\n          data_addr.__ss_padding[0x41] = hisctladdr.__ss_padding[0x41];\n          data_addr.__ss_padding[0x42] = hisctladdr.__ss_padding[0x42];\n          data_addr.__ss_padding[0x43] = hisctladdr.__ss_padding[0x43];\n          data_addr.__ss_padding[0x44] = hisctladdr.__ss_padding[0x44];\n          data_addr.__ss_padding[0x45] = hisctladdr.__ss_padding[0x45];\n          data_addr.__ss_padding[0x46] = hisctladdr.__ss_padding[0x46];\n          data_addr.__ss_padding[0x47] = hisctladdr.__ss_padding[0x47];\n          data_addr.__ss_padding[0x48] = hisctladdr.__ss_padding[0x48];\n          data_addr.__ss_padding[0x49] = hisctladdr.__ss_padding[0x49];\n          data_addr.__ss_padding[0x4a] = hisctladdr.__ss_padding[0x4a];\n          data_addr.__ss_padding[0x4b] = hisctladdr.__ss_padding[0x4b];\n          data_addr.__ss_padding[0x4c] = hisctladdr.__ss_padding[0x4c];\n          data_addr.__ss_padding[0x4d] = hisctladdr.__ss_padding[0x4d];\n          data_addr.__ss_padding[0x4e] = hisctladdr.__ss_padding[0x4e];\n          data_addr.__ss_padding[0x4f] = hisctladdr.__ss_padding[0x4f];\n          data_addr.__ss_padding[0x50] = hisctladdr.__ss_padding[0x50];\n          data_addr.__ss_padding[0x51] = hisctladdr.__ss_padding[0x51];\n          data_addr.__ss_padding[0x52] = hisctladdr.__ss_padding[0x52];\n          data_addr.__ss_padding[0x53] = hisctladdr.__ss_padding[0x53];\n          data_addr.__ss_padding[0x54] = hisctladdr.__ss_padding[0x54];\n          data_addr.__ss_padding[0x55] = hisctladdr.__ss_padding[0x55];\n          data_addr.__ss_padding[0x56] = hisctladdr.__ss_padding[0x56];\n          data_addr.__ss_padding[0x57] = hisctladdr.__ss_padding[0x57];\n          data_addr.__ss_padding[0x58] = hisctladdr.__ss_padding[0x58];\n          data_addr.__ss_padding[0x59] = hisctladdr.__ss_padding[0x59];\n          data_addr.__ss_padding[0x5a] = hisctladdr.__ss_padding[0x5a];\n          data_addr.__ss_padding[0x5b] = hisctladdr.__ss_padding[0x5b];\n          data_addr.__ss_padding[0x5c] = hisctladdr.__ss_padding[0x5c];\n          data_addr.__ss_padding[0x5d] = hisctladdr.__ss_padding[0x5d];\n          data_addr.__ss_padding[0x5e] = hisctladdr.__ss_padding[0x5e];\n          data_addr.__ss_padding[0x5f] = hisctladdr.__ss_padding[0x5f];\n          data_addr.__ss_padding[0x60] = hisctladdr.__ss_padding[0x60];\n          data_addr.__ss_padding[0x61] = hisctladdr.__ss_padding[0x61];\n          data_addr.__ss_padding[0x62] = hisctladdr.__ss_padding[0x62];\n          data_addr.__ss_padding[99] = hisctladdr.__ss_padding[99];\n          data_addr.__ss_padding[100] = hisctladdr.__ss_padding[100];\n          data_addr.__ss_padding[0x65] = hisctladdr.__ss_padding[0x65];\n          data_addr.__ss_padding[0x66] = hisctladdr.__ss_padding[0x66];\n          data_addr.__ss_padding[0x67] = hisctladdr.__ss_padding[0x67];\n          data_addr.__ss_padding[0x68] = hisctladdr.__ss_padding[0x68];\n          data_addr.__ss_padding[0x69] = hisctladdr.__ss_padding[0x69];\n          data_addr.__ss_padding[0x6a] = hisctladdr.__ss_padding[0x6a];\n          data_addr.__ss_padding[0x6b] = hisctladdr.__ss_padding[0x6b];\n          data_addr.__ss_padding[0x6c] = hisctladdr.__ss_padding[0x6c];\n          data_addr.__ss_padding[0x6d] = hisctladdr.__ss_padding[0x6d];\n          data_addr.__ss_padding[0x6e] = hisctladdr.__ss_padding[0x6e];\n          data_addr.__ss_padding[0x6f] = hisctladdr.__ss_padding[0x6f];\n          data_addr.__ss_padding[0x70] = hisctladdr.__ss_padding[0x70];\n          data_addr.__ss_padding[0x71] = hisctladdr.__ss_padding[0x71];\n          data_addr.__ss_padding[0x72] = hisctladdr.__ss_padding[0x72];\n          data_addr.__ss_padding[0x73] = hisctladdr.__ss_padding[0x73];\n          data_addr.__ss_padding[0x74] = hisctladdr.__ss_padding[0x74];\n          data_addr.__ss_padding[0x75] = hisctladdr.__ss_padding[0x75];\n          data_addr.__ss_align = hisctladdr.__ss_align;\n          data_addr.__ss_padding._2_4_ = SUB84(hisctladdr._0_8_,4);\n          if ((sa_family_t)hisctladdr._0_8_ == 2) {\n            uVar2 = (ushort)port << 8 | (ushort)port >> 8;\n            data_addr.__ss_padding[0] = (char)uVar2;\n            data_addr.__ss_padding[1] = (char)(uVar2 >> 8);\n            data_addr.ss_family = 2;\n            uVar1 = data_addr._0_8_;\n          }\n          else if ((sa_family_t)hisctladdr._0_8_ == 10) {\n            uVar2 = (ushort)port << 8 | (ushort)port >> 8;\n            data_addr.__ss_padding[0] = (char)uVar2;\n            data_addr.__ss_padding[1] = (char)(uVar2 >> 8);\n            data_addr.ss_family = 10;\n            uVar1 = data_addr._0_8_;\n          }\n          goto LAB_0010c540;\n        }\n        puts("Extended passive mode scan failure. Should not happen!");\n        command("ABOR");\n      }\n      else {\n        iVar4 = command("LPSV");\n        if (iVar4 == 2) goto LAB_0010c62c;\n        puts("Passive mode refused.");\n      }\n      goto LAB_0010c703;\n    }\nLAB_0010c499:\n    if (myctladdr.ss_family == 2) {\n      iVar4 = sscanf(pasv,"%u,%u,%u,%u,%u,%u",&a0,&a1,&a2,&a3,&p0,&p1);\n      if (iVar4 == 6) {\n        uVar7 = a0 & 0xff | ((a1 & 0xff) << 0x10) >> 8 | (a2 & 0xff) << 0x10 |\n                (uint)(byte)a3 << 0x18;\n        uVar2 = (ushort)(byte)p1 << 8 | (ushort)p0 & 0xff;\n        data_addr.__ss_padding[0] = (char)uVar2;\n        data_addr.__ss_padding[1] = (char)(uVar2 >> 8);\n        data_addr.ss_family = 2;\n        data_addr.__ss_padding[2] = (char)uVar7;\n        data_addr.__ss_padding[3] = (char)(uVar7 >> 8);\n        data_addr.__ss_padding[4] = (char)(uVar7 >> 0x10);\n        data_addr.__ss_padding[5] = (char)(uVar7 >> 0x18);\n        uVar1 = data_addr._0_8_;\nLAB_0010c540:\n        data_addr._0_8_ = uVar1;\n        iVar4 = connect(data,(sockaddr *)&data_addr,ctladdrlen);\n        if (-1 < iVar4) {\n          on = 8;\n          uVar7 = 0;\n          if (data_addr.ss_family == 2) {\n            iVar4 = setsockopt(data,0,1,&on,4);\n            if (iVar4 < 0) {\n              perror("ftp: setsockopt TOS (ignored)");\n            }\n          }\n          goto LAB_0010ca2b;\n        }\n        perror("ftp: connect");\n      }\n      else {\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        command("ABOR");\n      }\n    }\n    else {\n      puts("Passive mode address scan failure. Shouldn\'t happen!");\n    }\n  }\nLAB_0010c703:\n  close(data);\n  data = -1;\n  uVar7 = 1;\nLAB_0010ca2b:\n  if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return uVar7;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail();\n}" primitive_type (function_declarator "initconn(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  undefined8 uVar1;\n  ushort uVar2;\n  uint uVar3;\n  int iVar4;\n  uint *puVar5;\n  int *piVar6;\n  uint uVar7;\n  long in_FS_OFFSET;\n  bool bVar8;\n  undefined8 uVar9;\n  undefined8 uVar10;\n  undefined8 uVar11;\n  undefined8 uVar12;\n  undefined8 uVar13;\n  undefined8 uVar14;\n  undefined8 uVar15;\n  undefined8 uVar16;\n  undefined8 uVar17;\n  undefined8 uVar18;\n  undefined8 uVar19;\n  undefined8 uVar20;\n  undefined8 uVar21;\n  undefined8 uVar22;\n  int on;\n  uint32_t a0;\n  uint32_t a1;\n  uint32_t a2;\n  uint32_t a3;\n  uint32_t p0;\n  uint32_t p1;\n  uint32_t port;\n  uint32_t af;\n  uint32_t hal;\n  socklen_t len;\n  uint32_t h [16];\n  uint local_48 [2];\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  on = 1;\n  if (passivemode == 0) {\n    uVar7 = 0;\nLAB_0010cba4:\n    uVar1._2_1_ = myctladdr.__ss_padding[0];\n    uVar1._3_1_ = myctladdr.__ss_padding[1];\n    uVar1._4_1_ = myctladdr.__ss_padding[2];\n    uVar1._5_1_ = myctladdr.__ss_padding[3];\n    uVar1._6_1_ = myctladdr.__ss_padding[4];\n    uVar1._7_1_ = myctladdr.__ss_padding[5];\n    uVar1._0_2_ = myctladdr.ss_family;\n    uVar9._0_1_ = myctladdr.__ss_padding[6];\n    uVar9._1_1_ = myctladdr.__ss_padding[7];\n    uVar9._2_1_ = myctladdr.__ss_padding[8];\n    uVar9._3_1_ = myctladdr.__ss_padding[9];\n    uVar9._4_1_ = myctladdr.__ss_padding[10];\n    uVar9._5_1_ = myctladdr.__ss_padding[0xb];\n    uVar9._6_1_ = myctladdr.__ss_padding[0xc];\n    uVar9._7_1_ = myctladdr.__ss_padding[0xd];\n    data_addr.__ss_padding[6] = myctladdr.__ss_padding[6];\n    data_addr.__ss_padding[7] = myctladdr.__ss_padding[7];\n    data_addr.__ss_padding[8] = myctladdr.__ss_padding[8];\n    data_addr.__ss_padding[9] = myctladdr.__ss_padding[9];\n    data_addr.__ss_padding[10] = myctladdr.__ss_padding[10];\n    data_addr.__ss_padding[0xb] = myctladdr.__ss_padding[0xb];\n    data_addr.__ss_padding[0xc] = myctladdr.__ss_padding[0xc];\n    data_addr.__ss_padding[0xd] = myctladdr.__ss_padding[0xd];\n    uVar10._0_1_ = myctladdr.__ss_padding[0xe];\n    uVar10._1_1_ = myctladdr.__ss_padding[0xf];\n    uVar10._2_1_ = myctladdr.__ss_padding[0x10];\n    uVar10._3_1_ = myctladdr.__ss_padding[0x11];\n    uVar10._4_1_ = myctladdr.__ss_padding[0x12];\n    uVar10._5_1_ = myctladdr.__ss_padding[0x13];\n    uVar10._6_1_ = myctladdr.__ss_padding[0x14];\n    uVar10._7_1_ = myctladdr.__ss_padding[0x15];\n    uVar11._0_1_ = myctladdr.__ss_padding[0x16];\n    uVar11._1_1_ = myctladdr.__ss_padding[0x17];\n    uVar11._2_1_ = myctladdr.__ss_padding[0x18];\n    uVar11._3_1_ = myctladdr.__ss_padding[0x19];\n    uVar11._4_1_ = myctladdr.__ss_padding[0x1a];\n    uVar11._5_1_ = myctladdr.__ss_padding[0x1b];\n    uVar11._6_1_ = myctladdr.__ss_padding[0x1c];\n    uVar11._7_1_ = myctladdr.__ss_padding[0x1d];\n    data_addr.__ss_padding[0xe] = myctladdr.__ss_padding[0xe];\n    data_addr.__ss_padding[0xf] = myctladdr.__ss_padding[0xf];\n    data_addr.__ss_padding[0x10] = myctladdr.__ss_padding[0x10];\n    data_addr.__ss_padding[0x11] = myctladdr.__ss_padding[0x11];\n    data_addr.__ss_padding[0x12] = myctladdr.__ss_padding[0x12];\n    data_addr.__ss_padding[0x13] = myctladdr.__ss_padding[0x13];\n    data_addr.__ss_padding[0x14] = myctladdr.__ss_padding[0x14];\n    data_addr.__ss_padding[0x15] = myctladdr.__ss_padding[0x15];\n    data_addr.__ss_padding[0x16] = myctladdr.__ss_padding[0x16];\n    data_addr.__ss_padding[0x17] = myctladdr.__ss_padding[0x17];\n    data_addr.__ss_padding[0x18] = myctladdr.__ss_padding[0x18];\n    data_addr.__ss_padding[0x19] = myctladdr.__ss_padding[0x19];\n    data_addr.__ss_padding[0x1a] = myctladdr.__ss_padding[0x1a];\n    data_addr.__ss_padding[0x1b] = myctladdr.__ss_padding[0x1b];\n    data_addr.__ss_padding[0x1c] = myctladdr.__ss_padding[0x1c];\n    data_addr.__ss_padding[0x1d] = myctladdr.__ss_padding[0x1d];\n    uVar12._0_1_ = myctladdr.__ss_padding[0x1e];\n    uVar12._1_1_ = myctladdr.__ss_padding[0x1f];\n    uVar12._2_1_ = myctladdr.__ss_padding[0x20];\n    uVar12._3_1_ = myctladdr.__ss_padding[0x21];\n    uVar12._4_1_ = myctladdr.__ss_padding[0x22];\n    uVar12._5_1_ = myctladdr.__ss_padding[0x23];\n    uVar12._6_1_ = myctladdr.__ss_padding[0x24];\n    uVar12._7_1_ = myctladdr.__ss_padding[0x25];\n    uVar13._0_1_ = myctladdr.__ss_padding[0x26];\n    uVar13._1_1_ = myctladdr.__ss_padding[0x27];\n    uVar13._2_1_ = myctladdr.__ss_padding[0x28];\n    uVar13._3_1_ = myctladdr.__ss_padding[0x29];\n    uVar13._4_1_ = myctladdr.__ss_padding[0x2a];\n    uVar13._5_1_ = myctladdr.__ss_padding[0x2b];\n    uVar13._6_1_ = myctladdr.__ss_padding[0x2c];\n    uVar13._7_1_ = myctladdr.__ss_padding[0x2d];\n    data_addr.__ss_padding[0x1e] = myctladdr.__ss_padding[0x1e];\n    data_addr.__ss_padding[0x1f] = myctladdr.__ss_padding[0x1f];\n    data_addr.__ss_padding[0x20] = myctladdr.__ss_padding[0x20];\n    data_addr.__ss_padding[0x21] = myctladdr.__ss_padding[0x21];\n    data_addr.__ss_padding[0x22] = myctladdr.__ss_padding[0x22];\n    data_addr.__ss_padding[0x23] = myctladdr.__ss_padding[0x23];\n    data_addr.__ss_padding[0x24] = myctladdr.__ss_padding[0x24];\n    data_addr.__ss_padding[0x25] = myctladdr.__ss_padding[0x25];\n    data_addr.__ss_padding[0x26] = myctladdr.__ss_padding[0x26];\n    data_addr.__ss_padding[0x27] = myctladdr.__ss_padding[0x27];\n    data_addr.__ss_padding[0x28] = myctladdr.__ss_padding[0x28];\n    data_addr.__ss_padding[0x29] = myctladdr.__ss_padding[0x29];\n    data_addr.__ss_padding[0x2a] = myctladdr.__ss_padding[0x2a];\n    data_addr.__ss_padding[0x2b] = myctladdr.__ss_padding[0x2b];\n    data_addr.__ss_padding[0x2c] = myctladdr.__ss_padding[0x2c];\n    data_addr.__ss_padding[0x2d] = myctladdr.__ss_padding[0x2d];\n    uVar14._0_1_ = myctladdr.__ss_padding[0x2e];\n    uVar14._1_1_ = myctladdr.__ss_padding[0x2f];\n    uVar14._2_1_ = myctladdr.__ss_padding[0x30];\n    uVar14._3_1_ = myctladdr.__ss_padding[0x31];\n    uVar14._4_1_ = myctladdr.__ss_padding[0x32];\n    uVar14._5_1_ = myctladdr.__ss_padding[0x33];\n    uVar14._6_1_ = myctladdr.__ss_padding[0x34];\n    uVar14._7_1_ = myctladdr.__ss_padding[0x35];\n    uVar15._0_1_ = myctladdr.__ss_padding[0x36];\n    uVar15._1_1_ = myctladdr.__ss_padding[0x37];\n    uVar15._2_1_ = myctladdr.__ss_padding[0x38];\n    uVar15._3_1_ = myctladdr.__ss_padding[0x39];\n    uVar15._4_1_ = myctladdr.__ss_padding[0x3a];\n    uVar15._5_1_ = myctladdr.__ss_padding[0x3b];\n    uVar15._6_1_ = myctladdr.__ss_padding[0x3c];\n    uVar15._7_1_ = myctladdr.__ss_padding[0x3d];\n    data_addr.__ss_padding[0x2e] = myctladdr.__ss_padding[0x2e];\n    data_addr.__ss_padding[0x2f] = myctladdr.__ss_padding[0x2f];\n    data_addr.__ss_padding[0x30] = myctladdr.__ss_padding[0x30];\n    data_addr.__ss_padding[0x31] = myctladdr.__ss_padding[0x31];\n    data_addr.__ss_padding[0x32] = myctladdr.__ss_padding[0x32];\n    data_addr.__ss_padding[0x33] = myctladdr.__ss_padding[0x33];\n    data_addr.__ss_padding[0x34] = myctladdr.__ss_padding[0x34];\n    data_addr.__ss_padding[0x35] = myctladdr.__ss_padding[0x35];\n    data_addr.__ss_padding[0x36] = myctladdr.__ss_padding[0x36];\n    data_addr.__ss_padding[0x37] = myctladdr.__ss_padding[0x37];\n    data_addr.__ss_padding[0x38] = myctladdr.__ss_padding[0x38];\n    data_addr.__ss_padding[0x39] = myctladdr.__ss_padding[0x39];\n    data_addr.__ss_padding[0x3a] = myctladdr.__ss_padding[0x3a];\n    data_addr.__ss_padding[0x3b] = myctladdr.__ss_padding[0x3b];\n    data_addr.__ss_padding[0x3c] = myctladdr.__ss_padding[0x3c];\n    data_addr.__ss_padding[0x3d] = myctladdr.__ss_padding[0x3d];\n    uVar16._0_1_ = myctladdr.__ss_padding[0x3e];\n    uVar16._1_1_ = myctladdr.__ss_padding[0x3f];\n    uVar16._2_1_ = myctladdr.__ss_padding[0x40];\n    uVar16._3_1_ = myctladdr.__ss_padding[0x41];\n    uVar16._4_1_ = myctladdr.__ss_padding[0x42];\n    uVar16._5_1_ = myctladdr.__ss_padding[0x43];\n    uVar16._6_1_ = myctladdr.__ss_padding[0x44];\n    uVar16._7_1_ = myctladdr.__ss_padding[0x45];\n    uVar17._0_1_ = myctladdr.__ss_padding[0x46];\n    uVar17._1_1_ = myctladdr.__ss_padding[0x47];\n    uVar17._2_1_ = myctladdr.__ss_padding[0x48];\n    uVar17._3_1_ = myctladdr.__ss_padding[0x49];\n    uVar17._4_1_ = myctladdr.__ss_padding[0x4a];\n    uVar17._5_1_ = myctladdr.__ss_padding[0x4b];\n    uVar17._6_1_ = myctladdr.__ss_padding[0x4c];\n    uVar17._7_1_ = myctladdr.__ss_padding[0x4d];\n    data_addr.__ss_padding[0x3e] = myctladdr.__ss_padding[0x3e];\n    data_addr.__ss_padding[0x3f] = myctladdr.__ss_padding[0x3f];\n    data_addr.__ss_padding[0x40] = myctladdr.__ss_padding[0x40];\n    data_addr.__ss_padding[0x41] = myctladdr.__ss_padding[0x41];\n    data_addr.__ss_padding[0x42] = myctladdr.__ss_padding[0x42];\n    data_addr.__ss_padding[0x43] = myctladdr.__ss_padding[0x43];\n    data_addr.__ss_padding[0x44] = myctladdr.__ss_padding[0x44];\n    data_addr.__ss_padding[0x45] = myctladdr.__ss_padding[0x45];\n    data_addr.__ss_padding[0x46] = myctladdr.__ss_padding[0x46];\n    data_addr.__ss_padding[0x47] = myctladdr.__ss_padding[0x47];\n    data_addr.__ss_padding[0x48] = myctladdr.__ss_padding[0x48];\n    data_addr.__ss_padding[0x49] = myctladdr.__ss_padding[0x49];\n    data_addr.__ss_padding[0x4a] = myctladdr.__ss_padding[0x4a];\n    data_addr.__ss_padding[0x4b] = myctladdr.__ss_padding[0x4b];\n    data_addr.__ss_padding[0x4c] = myctladdr.__ss_padding[0x4c];\n    data_addr.__ss_padding[0x4d] = myctladdr.__ss_padding[0x4d];\n    uVar18._0_1_ = myctladdr.__ss_padding[0x4e];\n    uVar18._1_1_ = myctladdr.__ss_padding[0x4f];\n    uVar18._2_1_ = myctladdr.__ss_padding[0x50];\n    uVar18._3_1_ = myctladdr.__ss_padding[0x51];\n    uVar18._4_1_ = myctladdr.__ss_padding[0x52];\n    uVar18._5_1_ = myctladdr.__ss_padding[0x53];\n    uVar18._6_1_ = myctladdr.__ss_padding[0x54];\n    uVar18._7_1_ = myctladdr.__ss_padding[0x55];\n    uVar19._0_1_ = myctladdr.__ss_padding[0x56];\n    uVar19._1_1_ = myctladdr.__ss_padding[0x57];\n    uVar19._2_1_ = myctladdr.__ss_padding[0x58];\n    uVar19._3_1_ = myctladdr.__ss_padding[0x59];\n    uVar19._4_1_ = myctladdr.__ss_padding[0x5a];\n    uVar19._5_1_ = myctladdr.__ss_padding[0x5b];\n    uVar19._6_1_ = myctladdr.__ss_padding[0x5c];\n    uVar19._7_1_ = myctladdr.__ss_padding[0x5d];\n    data_addr.__ss_padding[0x4e] = myctladdr.__ss_padding[0x4e];\n    data_addr.__ss_padding[0x4f] = myctladdr.__ss_padding[0x4f];\n    data_addr.__ss_padding[0x50] = myctladdr.__ss_padding[0x50];\n    data_addr.__ss_padding[0x51] = myctladdr.__ss_padding[0x51];\n    data_addr.__ss_padding[0x52] = myctladdr.__ss_padding[0x52];\n    data_addr.__ss_padding[0x53] = myctladdr.__ss_padding[0x53];\n    data_addr.__ss_padding[0x54] = myctladdr.__ss_padding[0x54];\n    data_addr.__ss_padding[0x55] = myctladdr.__ss_padding[0x55];\n    data_addr.__ss_padding[0x56] = myctladdr.__ss_padding[0x56];\n    data_addr.__ss_padding[0x57] = myctladdr.__ss_padding[0x57];\n    data_addr.__ss_padding[0x58] = myctladdr.__ss_padding[0x58];\n    data_addr.__ss_padding[0x59] = myctladdr.__ss_padding[0x59];\n    data_addr.__ss_padding[0x5a] = myctladdr.__ss_padding[0x5a];\n    data_addr.__ss_padding[0x5b] = myctladdr.__ss_padding[0x5b];\n    data_addr.__ss_padding[0x5c] = myctladdr.__ss_padding[0x5c];\n    data_addr.__ss_padding[0x5d] = myctladdr.__ss_padding[0x5d];\n    uVar20._0_1_ = myctladdr.__ss_padding[0x5e];\n    uVar20._1_1_ = myctladdr.__ss_padding[0x5f];\n    uVar20._2_1_ = myctladdr.__ss_padding[0x60];\n    uVar20._3_1_ = myctladdr.__ss_padding[0x61];\n    uVar20._4_1_ = myctladdr.__ss_padding[0x62];\n    uVar20._5_1_ = myctladdr.__ss_padding[99];\n    uVar20._6_1_ = myctladdr.__ss_padding[100];\n    uVar20._7_1_ = myctladdr.__ss_padding[0x65];\n    uVar21._0_1_ = myctladdr.__ss_padding[0x66];\n    uVar21._1_1_ = myctladdr.__ss_padding[0x67];\n    uVar21._2_1_ = myctladdr.__ss_padding[0x68];\n    uVar21._3_1_ = myctladdr.__ss_padding[0x69];\n    uVar21._4_1_ = myctladdr.__ss_padding[0x6a];\n    uVar21._5_1_ = myctladdr.__ss_padding[0x6b];\n    uVar21._6_1_ = myctladdr.__ss_padding[0x6c];\n    uVar21._7_1_ = myctladdr.__ss_padding[0x6d];\n    data_addr.__ss_padding[0x5e] = myctladdr.__ss_padding[0x5e];\n    data_addr.__ss_padding[0x5f] = myctladdr.__ss_padding[0x5f];\n    data_addr.__ss_padding[0x60] = myctladdr.__ss_padding[0x60];\n    data_addr.__ss_padding[0x61] = myctladdr.__ss_padding[0x61];\n    data_addr.__ss_padding[0x62] = myctladdr.__ss_padding[0x62];\n    data_addr.__ss_padding[99] = myctladdr.__ss_padding[99];\n    data_addr.__ss_padding[100] = myctladdr.__ss_padding[100];\n    data_addr.__ss_padding[0x65] = myctladdr.__ss_padding[0x65];\n    data_addr.__ss_padding[0x66] = myctladdr.__ss_padding[0x66];\n    data_addr.__ss_padding[0x67] = myctladdr.__ss_padding[0x67];\n    data_addr.__ss_padding[0x68] = myctladdr.__ss_padding[0x68];\n    data_addr.__ss_padding[0x69] = myctladdr.__ss_padding[0x69];\n    data_addr.__ss_padding[0x6a] = myctladdr.__ss_padding[0x6a];\n    data_addr.__ss_padding[0x6b] = myctladdr.__ss_padding[0x6b];\n    data_addr.__ss_padding[0x6c] = myctladdr.__ss_padding[0x6c];\n    data_addr.__ss_padding[0x6d] = myctladdr.__ss_padding[0x6d];\n    uVar22._0_1_ = myctladdr.__ss_padding[0x6e];\n    uVar22._1_1_ = myctladdr.__ss_padding[0x6f];\n    uVar22._2_1_ = myctladdr.__ss_padding[0x70];\n    uVar22._3_1_ = myctladdr.__ss_padding[0x71];\n    uVar22._4_1_ = myctladdr.__ss_padding[0x72];\n    uVar22._5_1_ = myctladdr.__ss_padding[0x73];\n    uVar22._6_1_ = myctladdr.__ss_padding[0x74];\n    uVar22._7_1_ = myctladdr.__ss_padding[0x75];\n    data_addr.__ss_align = myctladdr.__ss_align;\n    data_addr.__ss_padding[0x6e] = myctladdr.__ss_padding[0x6e];\n    data_addr.__ss_padding[0x6f] = myctladdr.__ss_padding[0x6f];\n    data_addr.__ss_padding[0x70] = myctladdr.__ss_padding[0x70];\n    data_addr.__ss_padding[0x71] = myctladdr.__ss_padding[0x71];\n    data_addr.__ss_padding[0x72] = myctladdr.__ss_padding[0x72];\n    data_addr.__ss_padding[0x73] = myctladdr.__ss_padding[0x73];\n    data_addr.__ss_padding[0x74] = myctladdr.__ss_padding[0x74];\n    data_addr.__ss_padding[0x75] = myctladdr.__ss_padding[0x75];\n    if (sendport != 0) {\n      data_addr.__ss_padding._2_4_ = SUB64(myctladdr.__ss_padding._0_6_,2);\n      if (myctladdr.ss_family == 2) {\n        data_addr.ss_family = 2;\n        data_addr.__ss_padding[0] = '\0';\n        data_addr.__ss_padding[1] = '\0';\n        uVar1 = data_addr._0_8_;\n      }\n      else if (myctladdr.ss_family == 10) {\n        data_addr.ss_family = 10;\n        data_addr.__ss_padding[0] = '\0';\n        data_addr.__ss_padding[1] = '\0';\n        uVar1 = data_addr._0_8_;\n      }\n    }\n    data_addr._0_8_ = uVar1;\n    if (data != -1) {\n      data_addr.__ss_padding._6_8_ = uVar9;\n      data_addr.__ss_padding._14_8_ = uVar10;\n      data_addr.__ss_padding._22_8_ = uVar11;\n      data_addr.__ss_padding._30_8_ = uVar12;\n      data_addr.__ss_padding._38_8_ = uVar13;\n      data_addr.__ss_padding._46_8_ = uVar14;\n      data_addr.__ss_padding._54_8_ = uVar15;\n      data_addr.__ss_padding._62_8_ = uVar16;\n      data_addr.__ss_padding._70_8_ = uVar17;\n      data_addr.__ss_padding._78_8_ = uVar18;\n      data_addr.__ss_padding._86_8_ = uVar19;\n      data_addr.__ss_padding._94_8_ = uVar20;\n      data_addr.__ss_padding._102_8_ = uVar21;\n      data_addr.__ss_padding._110_8_ = uVar22;\n      close(data);\n    }\n    data = socket((uint)myctladdr.ss_family,1,0);\n    if (data < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,"socket");\n      if (uVar7 == 0) {\n        uVar7 = 1;\n      }\n      else {\n        sendport = 1;\n      }\n      goto LAB_0010ca2b;\n    }\n    if (sendport == 0) {\n      iVar4 = setsockopt(data,1,2,&on,4);\n      if (-1 < iVar4) goto LAB_0010cc9e;\n      piVar6 = __errno_location();\n      error(0,*piVar6,"setsockopt (reuse address)");\nLAB_0010ca03:\n      close(data);\n      data = -1;\n      if (uVar7 == 0) {\n        uVar7 = 1;\n      }\n      else {\n        sendport = 1;\n      }\n      goto LAB_0010ca2b;\n    }\nLAB_0010cc9e:\n    iVar4 = bind(data,(sockaddr *)&data_addr,ctladdrlen);\n    if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,&DAT_0011a4df);\n      goto LAB_0010ca03;\n    }\n    if (((byte)options & 1) != 0) {\n      iVar4 = setsockopt(data,1,1,&on,4);\n      if (iVar4 < 0) {\n        piVar6 = __errno_location();\n        if (*piVar6 != 0xd) {\n          error(0,*piVar6,"setsockopt DEBUG (ignored)");\n        }\n      }\n    }\n    len = 0x80;\n    iVar4 = getsockname(data,(sockaddr *)&data_addr,&len);\n    if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,"getsockname");\n      goto LAB_0010ca03;\n    }\n    iVar4 = listen(data,1);\n    if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,"listen");\n    }\n    if (sendport == 0) {\n      if (uVar7 != 0) {\n        sendport = 1;\n      }\n      on = 8;\n      uVar7 = 0;\n      if (data_addr.ss_family == 2) {\n        iVar4 = setsockopt(data,0,1,&on,4);\n        if (iVar4 < 0) {\n          piVar6 = __errno_location();\n          error(0,*piVar6,"setsockopt TOS (ignored)");\n        }\n      }\n      goto LAB_0010ca2b;\n    }\n    if ((data_addr.ss_family == 2) && (doepsv4 == 0)) {\n      bVar8 = true;\nLAB_0010cd36:\n      if (!bVar8) {\n        iVar4 = 2;\nLAB_0010cd3f:\n        uVar7 = (uint)(iVar4 != 2);\n        goto LAB_0010ca2b;\n      }\nLAB_0010cd6c:\n      iVar4 = command("PORT %d,%d,%d,%d,%d,%d",(ulong)data_addr._0_8_ >> 0x20 & 0xff,\n                      (ulong)data_addr._0_8_ >> 0x28 & 0xff,(ulong)data_addr._0_8_ >> 0x30 & 0xff,\n                      (ulong)data_addr._0_8_ >> 0x38,(ulong)data_addr._0_8_ >> 0x10 & 0xff,\n                      (ulong)data_addr._0_8_ >> 0x18 & 0xff);\n    }\n    else {\n      getnameinfo((sockaddr *)&data_addr,ctladdrlen,ia,0x2e,portstr,10,3);\n      iVar4 = command("EPRT |%d|%s|%s|",(ulong)((data_addr.ss_family != 2) + 1),ia,portstr);\n      if (data_addr.ss_family == 2) {\n        bVar8 = iVar4 != 2;\n        if ((doepsv4 == 0) || (!bVar8)) goto LAB_0010cd36;\n        doepsv4 = 0;\n        goto LAB_0010cd6c;\n      }\n    }\n    if (iVar4 == 2) goto LAB_0010cd3f;\n    if (data_addr.ss_family == 2) {\n      iVar4 = command("LPRT 4,4,%u,%u,%u,%u,2,%u,%u",(ulong)data_addr._0_8_ >> 0x20 & 0xff,\n                      (ulong)data_addr._0_8_ >> 0x28 & 0xff,(ulong)data_addr._0_8_ >> 0x30 & 0xff,\n                      (ulong)data_addr._0_8_ >> 0x38,(ulong)(byte)data_addr.__ss_padding[0],\n                      (ulong)(byte)data_addr.__ss_padding[1]);\n    }\n    else if (data_addr.ss_family == 10) {\n      iVar4 = command("LPRT 6,16,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,2,%u,%u",\n                      data_addr.__ss_padding._6_8_ & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 8 & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 0x10 & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 0x18 & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 0x20 & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 0x28 & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 0x30 & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 0x38,\n                      data_addr.__ss_padding._14_8_ & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 8 & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 0x10 & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 0x18 & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 0x20 & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 0x28 & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 0x30 & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 0x38,\n                      (ulong)(byte)data_addr.__ss_padding[0],(ulong)(byte)data_addr.__ss_padding[1])\n      ;\n    }\n    if ((iVar4 != 5) || (sendport != -1)) goto LAB_0010cd3f;\n    sendport = 0;\n    uVar7 = 1;\n    goto LAB_0010cba4;\n  }\n  data = socket((uint)myctladdr.ss_family,1,0);\n  if (data < 0) {\n    perror("ftp: socket");\n    uVar7 = 1;\n    goto LAB_0010ca2b;\n  }\n  if (((byte)options & 1) != 0) {\n    iVar4 = setsockopt(data,1,1,&on,4);\n    if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      if (*piVar6 != 0xd) {\n        error(0,*piVar6,"setsockopt DEBUG (ignored)");\n      }\n    }\n  }\n  if (myctladdr.ss_family == 2) {\n    if (doepsv4 != 0) {\n      iVar4 = command("EPSV");\n      if (iVar4 == 2) goto LAB_0010c336;\n      if (doepsv4 != 0) {\n        doepsv4 = 0;\n      }\n    }\n    iVar4 = command("PASV");\n    if (iVar4 == 2) goto LAB_0010c499;\n    iVar4 = command("LPSV");\n    if (iVar4 == 2) {\nLAB_0010c62c:\n      if (myctladdr.ss_family == 2) {\n        iVar4 = sscanf(pasv,"%u,%u,%u,%u,%u,%u,%u,%u,%u",&af,&hal,h,h + 1,h + 2,h + 3,&len,&p0,&p1);\n        if ((((iVar4 == 9) && (af == 4)) && (hal == 4)) && (len == 2)) {\n          puVar5 = h;\n          do {\n            *puVar5 = *puVar5 & 0xff;\n            puVar5 = puVar5 + 1;\n          } while (puVar5 != h + 4);\n          uVar2 = (ushort)(byte)p1 << 8 | (ushort)p0 & 0xff;\n          data_addr.__ss_padding[0] = (char)uVar2;\n          data_addr.__ss_padding[1] = (char)(uVar2 >> 8);\n          data_addr.ss_family = 2;\n          uVar7 = h[0] << 0x18 | h[1] << 0x10 | h[3] | h[2] << 8;\n          uVar7 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | h[3] << 0x18;\n          data_addr.__ss_padding[2] = (char)uVar7;\n          data_addr.__ss_padding[3] = (char)(uVar7 >> 8);\n          data_addr.__ss_padding[4] = (char)(uVar7 >> 0x10);\n          data_addr.__ss_padding[5] = (char)(uVar7 >> 0x18);\n          uVar1 = data_addr._0_8_;\n          goto LAB_0010c540;\n        }\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        command("ABOR");\n        goto LAB_0010c703;\n      }\n      iVar4 = sscanf(pasv,"%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u",&af,&hal,\n                     h,h + 1,h + 2,h + 3,h + 4,h + 5,h + 6,h + 7,h + 8,h + 9,h + 10,h + 0xb,h + 0xc,\n                     h + 0xd,h + 0xe,h + 0xf,&len,&p0,&p1);\n      if (((iVar4 != 0x15) || (af != 6)) || ((hal != 0x10 || (len != 2)))) {\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        command("ABOR");\n        goto LAB_0010c703;\n      }\n      puVar5 = h;\n      do {\n        *puVar5 = *puVar5 & 0xff;\n        puVar5 = puVar5 + 1;\n      } while (puVar5 != local_48);\n      uVar2 = (ushort)(byte)p1 << 8 | (ushort)p0 & 0xff;\n      data_addr.__ss_padding[0] = (char)uVar2;\n      data_addr.__ss_padding[1] = (char)(uVar2 >> 8);\n      data_addr.ss_family = 10;\n      uVar7 = h[0] << 0x18 | h[1] << 0x10 | h[3] | h[2] << 8;\n      uVar7 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | h[3] << 0x18;\n      uVar3 = h[4] << 0x18 | h[5] << 0x10 | h[7] | h[6] << 8;\n      uVar3 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | h[7] << 0x18;\n      data_addr.__ss_padding[10] = (char)uVar3;\n      data_addr.__ss_padding[0xb] = (char)(uVar3 >> 8);\n      data_addr.__ss_padding[0xc] = (char)(uVar3 >> 0x10);\n      data_addr.__ss_padding[0xd] = (char)(uVar3 >> 0x18);\n      data_addr.__ss_padding[6] = (char)uVar7;\n      data_addr.__ss_padding[7] = (char)(uVar7 >> 8);\n      data_addr.__ss_padding[8] = (char)(uVar7 >> 0x10);\n      data_addr.__ss_padding[9] = (char)(uVar7 >> 0x18);\n      uVar7 = h[8] << 0x18 | h[9] << 0x10 | h[0xb] | h[10] << 8;\n      uVar7 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | h[0xb] << 0x18;\n      uVar3 = h[0xc] << 0x18 | h[0xd] << 0x10 | h[0xf] | h[0xe] << 8;\n      uVar3 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | h[0xf] << 0x18;\n      data_addr.__ss_padding[0x12] = (char)uVar3;\n      data_addr.__ss_padding[0x13] = (char)(uVar3 >> 8);\n      data_addr.__ss_padding[0x14] = (char)(uVar3 >> 0x10);\n      data_addr.__ss_padding[0x15] = (char)(uVar3 >> 0x18);\n      data_addr.__ss_padding[0xe] = (char)uVar7;\n      data_addr.__ss_padding[0xf] = (char)(uVar7 >> 8);\n      data_addr.__ss_padding[0x10] = (char)(uVar7 >> 0x10);\n      data_addr.__ss_padding[0x11] = (char)(uVar7 >> 0x18);\n      uVar1 = data_addr._0_8_;\n      goto LAB_0010c540;\n    }\n    puts("Passive mode refused.");\n  }\n  else {\n    if (myctladdr.ss_family == 10) {\n      iVar4 = command("EPSV");\n      if (iVar4 == 2) {\nLAB_0010c336:\n        iVar4 = sscanf(pasv,"%u|",&port);\n        if (iVar4 == 1) {\n          data_addr.ss_family = hisctladdr.ss_family;\n          data_addr.__ss_padding[0] = hisctladdr.__ss_padding[0];\n          data_addr.__ss_padding[1] = hisctladdr.__ss_padding[1];\n          data_addr.__ss_padding[2] = hisctladdr.__ss_padding[2];\n          data_addr.__ss_padding[3] = hisctladdr.__ss_padding[3];\n          data_addr.__ss_padding[4] = hisctladdr.__ss_padding[4];\n          data_addr.__ss_padding[5] = hisctladdr.__ss_padding[5];\n          uVar1 = data_addr._0_8_;\n          data_addr.__ss_padding[6] = hisctladdr.__ss_padding[6];\n          data_addr.__ss_padding[7] = hisctladdr.__ss_padding[7];\n          data_addr.__ss_padding[8] = hisctladdr.__ss_padding[8];\n          data_addr.__ss_padding[9] = hisctladdr.__ss_padding[9];\n          data_addr.__ss_padding[10] = hisctladdr.__ss_padding[10];\n          data_addr.__ss_padding[0xb] = hisctladdr.__ss_padding[0xb];\n          data_addr.__ss_padding[0xc] = hisctladdr.__ss_padding[0xc];\n          data_addr.__ss_padding[0xd] = hisctladdr.__ss_padding[0xd];\n          data_addr.__ss_padding[0xe] = hisctladdr.__ss_padding[0xe];\n          data_addr.__ss_padding[0xf] = hisctladdr.__ss_padding[0xf];\n          data_addr.__ss_padding[0x10] = hisctladdr.__ss_padding[0x10];\n          data_addr.__ss_padding[0x11] = hisctladdr.__ss_padding[0x11];\n          data_addr.__ss_padding[0x12] = hisctladdr.__ss_padding[0x12];\n          data_addr.__ss_padding[0x13] = hisctladdr.__ss_padding[0x13];\n          data_addr.__ss_padding[0x14] = hisctladdr.__ss_padding[0x14];\n          data_addr.__ss_padding[0x15] = hisctladdr.__ss_padding[0x15];\n          data_addr.__ss_padding[0x16] = hisctladdr.__ss_padding[0x16];\n          data_addr.__ss_padding[0x17] = hisctladdr.__ss_padding[0x17];\n          data_addr.__ss_padding[0x18] = hisctladdr.__ss_padding[0x18];\n          data_addr.__ss_padding[0x19] = hisctladdr.__ss_padding[0x19];\n          data_addr.__ss_padding[0x1a] = hisctladdr.__ss_padding[0x1a];\n          data_addr.__ss_padding[0x1b] = hisctladdr.__ss_padding[0x1b];\n          data_addr.__ss_padding[0x1c] = hisctladdr.__ss_padding[0x1c];\n          data_addr.__ss_padding[0x1d] = hisctladdr.__ss_padding[0x1d];\n          data_addr.__ss_padding[0x1e] = hisctladdr.__ss_padding[0x1e];\n          data_addr.__ss_padding[0x1f] = hisctladdr.__ss_padding[0x1f];\n          data_addr.__ss_padding[0x20] = hisctladdr.__ss_padding[0x20];\n          data_addr.__ss_padding[0x21] = hisctladdr.__ss_padding[0x21];\n          data_addr.__ss_padding[0x22] = hisctladdr.__ss_padding[0x22];\n          data_addr.__ss_padding[0x23] = hisctladdr.__ss_padding[0x23];\n          data_addr.__ss_padding[0x24] = hisctladdr.__ss_padding[0x24];\n          data_addr.__ss_padding[0x25] = hisctladdr.__ss_padding[0x25];\n          data_addr.__ss_padding[0x26] = hisctladdr.__ss_padding[0x26];\n          data_addr.__ss_padding[0x27] = hisctladdr.__ss_padding[0x27];\n          data_addr.__ss_padding[0x28] = hisctladdr.__ss_padding[0x28];\n          data_addr.__ss_padding[0x29] = hisctladdr.__ss_padding[0x29];\n          data_addr.__ss_padding[0x2a] = hisctladdr.__ss_padding[0x2a];\n          data_addr.__ss_padding[0x2b] = hisctladdr.__ss_padding[0x2b];\n          data_addr.__ss_padding[0x2c] = hisctladdr.__ss_padding[0x2c];\n          data_addr.__ss_padding[0x2d] = hisctladdr.__ss_padding[0x2d];\n          data_addr.__ss_padding[0x2e] = hisctladdr.__ss_padding[0x2e];\n          data_addr.__ss_padding[0x2f] = hisctladdr.__ss_padding[0x2f];\n          data_addr.__ss_padding[0x30] = hisctladdr.__ss_padding[0x30];\n          data_addr.__ss_padding[0x31] = hisctladdr.__ss_padding[0x31];\n          data_addr.__ss_padding[0x32] = hisctladdr.__ss_padding[0x32];\n          data_addr.__ss_padding[0x33] = hisctladdr.__ss_padding[0x33];\n          data_addr.__ss_padding[0x34] = hisctladdr.__ss_padding[0x34];\n          data_addr.__ss_padding[0x35] = hisctladdr.__ss_padding[0x35];\n          data_addr.__ss_padding[0x36] = hisctladdr.__ss_padding[0x36];\n          data_addr.__ss_padding[0x37] = hisctladdr.__ss_padding[0x37];\n          data_addr.__ss_padding[0x38] = hisctladdr.__ss_padding[0x38];\n          data_addr.__ss_padding[0x39] = hisctladdr.__ss_padding[0x39];\n          data_addr.__ss_padding[0x3a] = hisctladdr.__ss_padding[0x3a];\n          data_addr.__ss_padding[0x3b] = hisctladdr.__ss_padding[0x3b];\n          data_addr.__ss_padding[0x3c] = hisctladdr.__ss_padding[0x3c];\n          data_addr.__ss_padding[0x3d] = hisctladdr.__ss_padding[0x3d];\n          data_addr.__ss_padding[0x3e] = hisctladdr.__ss_padding[0x3e];\n          data_addr.__ss_padding[0x3f] = hisctladdr.__ss_padding[0x3f];\n          data_addr.__ss_padding[0x40] = hisctladdr.__ss_padding[0x40];\n          data_addr.__ss_padding[0x41] = hisctladdr.__ss_padding[0x41];\n          data_addr.__ss_padding[0x42] = hisctladdr.__ss_padding[0x42];\n          data_addr.__ss_padding[0x43] = hisctladdr.__ss_padding[0x43];\n          data_addr.__ss_padding[0x44] = hisctladdr.__ss_padding[0x44];\n          data_addr.__ss_padding[0x45] = hisctladdr.__ss_padding[0x45];\n          data_addr.__ss_padding[0x46] = hisctladdr.__ss_padding[0x46];\n          data_addr.__ss_padding[0x47] = hisctladdr.__ss_padding[0x47];\n          data_addr.__ss_padding[0x48] = hisctladdr.__ss_padding[0x48];\n          data_addr.__ss_padding[0x49] = hisctladdr.__ss_padding[0x49];\n          data_addr.__ss_padding[0x4a] = hisctladdr.__ss_padding[0x4a];\n          data_addr.__ss_padding[0x4b] = hisctladdr.__ss_padding[0x4b];\n          data_addr.__ss_padding[0x4c] = hisctladdr.__ss_padding[0x4c];\n          data_addr.__ss_padding[0x4d] = hisctladdr.__ss_padding[0x4d];\n          data_addr.__ss_padding[0x4e] = hisctladdr.__ss_padding[0x4e];\n          data_addr.__ss_padding[0x4f] = hisctladdr.__ss_padding[0x4f];\n          data_addr.__ss_padding[0x50] = hisctladdr.__ss_padding[0x50];\n          data_addr.__ss_padding[0x51] = hisctladdr.__ss_padding[0x51];\n          data_addr.__ss_padding[0x52] = hisctladdr.__ss_padding[0x52];\n          data_addr.__ss_padding[0x53] = hisctladdr.__ss_padding[0x53];\n          data_addr.__ss_padding[0x54] = hisctladdr.__ss_padding[0x54];\n          data_addr.__ss_padding[0x55] = hisctladdr.__ss_padding[0x55];\n          data_addr.__ss_padding[0x56] = hisctladdr.__ss_padding[0x56];\n          data_addr.__ss_padding[0x57] = hisctladdr.__ss_padding[0x57];\n          data_addr.__ss_padding[0x58] = hisctladdr.__ss_padding[0x58];\n          data_addr.__ss_padding[0x59] = hisctladdr.__ss_padding[0x59];\n          data_addr.__ss_padding[0x5a] = hisctladdr.__ss_padding[0x5a];\n          data_addr.__ss_padding[0x5b] = hisctladdr.__ss_padding[0x5b];\n          data_addr.__ss_padding[0x5c] = hisctladdr.__ss_padding[0x5c];\n          data_addr.__ss_padding[0x5d] = hisctladdr.__ss_padding[0x5d];\n          data_addr.__ss_padding[0x5e] = hisctladdr.__ss_padding[0x5e];\n          data_addr.__ss_padding[0x5f] = hisctladdr.__ss_padding[0x5f];\n          data_addr.__ss_padding[0x60] = hisctladdr.__ss_padding[0x60];\n          data_addr.__ss_padding[0x61] = hisctladdr.__ss_padding[0x61];\n          data_addr.__ss_padding[0x62] = hisctladdr.__ss_padding[0x62];\n          data_addr.__ss_padding[99] = hisctladdr.__ss_padding[99];\n          data_addr.__ss_padding[100] = hisctladdr.__ss_padding[100];\n          data_addr.__ss_padding[0x65] = hisctladdr.__ss_padding[0x65];\n          data_addr.__ss_padding[0x66] = hisctladdr.__ss_padding[0x66];\n          data_addr.__ss_padding[0x67] = hisctladdr.__ss_padding[0x67];\n          data_addr.__ss_padding[0x68] = hisctladdr.__ss_padding[0x68];\n          data_addr.__ss_padding[0x69] = hisctladdr.__ss_padding[0x69];\n          data_addr.__ss_padding[0x6a] = hisctladdr.__ss_padding[0x6a];\n          data_addr.__ss_padding[0x6b] = hisctladdr.__ss_padding[0x6b];\n          data_addr.__ss_padding[0x6c] = hisctladdr.__ss_padding[0x6c];\n          data_addr.__ss_padding[0x6d] = hisctladdr.__ss_padding[0x6d];\n          data_addr.__ss_padding[0x6e] = hisctladdr.__ss_padding[0x6e];\n          data_addr.__ss_padding[0x6f] = hisctladdr.__ss_padding[0x6f];\n          data_addr.__ss_padding[0x70] = hisctladdr.__ss_padding[0x70];\n          data_addr.__ss_padding[0x71] = hisctladdr.__ss_padding[0x71];\n          data_addr.__ss_padding[0x72] = hisctladdr.__ss_padding[0x72];\n          data_addr.__ss_padding[0x73] = hisctladdr.__ss_padding[0x73];\n          data_addr.__ss_padding[0x74] = hisctladdr.__ss_padding[0x74];\n          data_addr.__ss_padding[0x75] = hisctladdr.__ss_padding[0x75];\n          data_addr.__ss_align = hisctladdr.__ss_align;\n          data_addr.__ss_padding._2_4_ = SUB84(hisctladdr._0_8_,4);\n          if ((sa_family_t)hisctladdr._0_8_ == 2) {\n            uVar2 = (ushort)port << 8 | (ushort)port >> 8;\n            data_addr.__ss_padding[0] = (char)uVar2;\n            data_addr.__ss_padding[1] = (char)(uVar2 >> 8);\n            data_addr.ss_family = 2;\n            uVar1 = data_addr._0_8_;\n          }\n          else if ((sa_family_t)hisctladdr._0_8_ == 10) {\n            uVar2 = (ushort)port << 8 | (ushort)port >> 8;\n            data_addr.__ss_padding[0] = (char)uVar2;\n            data_addr.__ss_padding[1] = (char)(uVar2 >> 8);\n            data_addr.ss_family = 10;\n            uVar1 = data_addr._0_8_;\n          }\n          goto LAB_0010c540;\n        }\n        puts("Extended passive mode scan failure. Should not happen!");\n        command("ABOR");\n      }\n      else {\n        iVar4 = command("LPSV");\n        if (iVar4 == 2) goto LAB_0010c62c;\n        puts("Passive mode refused.");\n      }\n      goto LAB_0010c703;\n    }\nLAB_0010c499:\n    if (myctladdr.ss_family == 2) {\n      iVar4 = sscanf(pasv,"%u,%u,%u,%u,%u,%u",&a0,&a1,&a2,&a3,&p0,&p1);\n      if (iVar4 == 6) {\n        uVar7 = a0 & 0xff | ((a1 & 0xff) << 0x10) >> 8 | (a2 & 0xff) << 0x10 |\n                (uint)(byte)a3 << 0x18;\n        uVar2 = (ushort)(byte)p1 << 8 | (ushort)p0 & 0xff;\n        data_addr.__ss_padding[0] = (char)uVar2;\n        data_addr.__ss_padding[1] = (char)(uVar2 >> 8);\n        data_addr.ss_family = 2;\n        data_addr.__ss_padding[2] = (char)uVar7;\n        data_addr.__ss_padding[3] = (char)(uVar7 >> 8);\n        data_addr.__ss_padding[4] = (char)(uVar7 >> 0x10);\n        data_addr.__ss_padding[5] = (char)(uVar7 >> 0x18);\n        uVar1 = data_addr._0_8_;\nLAB_0010c540:\n        data_addr._0_8_ = uVar1;\n        iVar4 = connect(data,(sockaddr *)&data_addr,ctladdrlen);\n        if (-1 < iVar4) {\n          on = 8;\n          uVar7 = 0;\n          if (data_addr.ss_family == 2) {\n            iVar4 = setsockopt(data,0,1,&on,4);\n            if (iVar4 < 0) {\n              perror("ftp: setsockopt TOS (ignored)");\n            }\n          }\n          goto LAB_0010ca2b;\n        }\n        perror("ftp: connect");\n      }\n      else {\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        command("ABOR");\n      }\n    }\n    else {\n      puts("Passive mode address scan failure. Shouldn\'t happen!");\n    }\n  }\nLAB_0010c703:\n  close(data);\n  data = -1;\n  uVar7 = 1;\nLAB_0010ca2b:\n  if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return uVar7;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail();\n}" { (declaration "undefined8 uVar1;" type_identifier identifier ;) (declaration "ushort uVar2;" type_identifier identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "uint *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "int *piVar6;" primitive_type (pointer_declarator "*piVar6" * identifier) ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" long) identifier ;) (declaration "bool bVar8;" primitive_type identifier ;) (declaration "undefined8 uVar9;" type_identifier identifier ;) (declaration "undefined8 uVar10;" type_identifier identifier ;) (declaration "undefined8 uVar11;" type_identifier identifier ;) (declaration "undefined8 uVar12;" type_identifier identifier ;) (declaration "undefined8 uVar13;" type_identifier identifier ;) (declaration "undefined8 uVar14;" type_identifier identifier ;) (declaration "undefined8 uVar15;" type_identifier identifier ;) (declaration "undefined8 uVar16;" type_identifier identifier ;) (declaration "undefined8 uVar17;" type_identifier identifier ;) (declaration "undefined8 uVar18;" type_identifier identifier ;) (declaration "undefined8 uVar19;" type_identifier identifier ;) (declaration "undefined8 uVar20;" type_identifier identifier ;) (declaration "undefined8 uVar21;" type_identifier identifier ;) (declaration "undefined8 uVar22;" type_identifier identifier ;) (declaration "int on;" primitive_type identifier ;) (declaration "uint32_t a0;" primitive_type identifier ;) (declaration "uint32_t a1;" primitive_type identifier ;) (declaration "uint32_t a2;" primitive_type identifier ;) (declaration "uint32_t a3;" primitive_type identifier ;) (declaration "uint32_t p0;" primitive_type identifier ;) (declaration "uint32_t p1;" primitive_type identifier ;) (declaration "uint32_t port;" primitive_type identifier ;) (declaration "uint32_t af;" primitive_type identifier ;) (declaration "uint32_t hal;" primitive_type identifier ;) (declaration "socklen_t len;" type_identifier identifier ;) (declaration "uint32_t h [16];" primitive_type (array_declarator "h [16]" identifier [ number_literal ]) ;) (declaration "uint local_48 [2];" type_identifier (array_declarator "local_48 [2]" identifier [ number_literal ]) ;) (declaration "long local_40;" (sized_type_specifier "long" long) identifier ;) (expression_statement "local_40 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "local_40 = *(long *)(in_FS_OFFSET + 0x28)" identifier = (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) ;) (expression_statement "on = 1;" (assignment_expression "on = 1" identifier = number_literal) ;) (if_statement "if (passivemode == 0) {\n    uVar7 = 0;\nLAB_0010cba4:\n    uVar1._2_1_ = myctladdr.__ss_padding[0];\n    uVar1._3_1_ = myctladdr.__ss_padding[1];\n    uVar1._4_1_ = myctladdr.__ss_padding[2];\n    uVar1._5_1_ = myctladdr.__ss_padding[3];\n    uVar1._6_1_ = myctladdr.__ss_padding[4];\n    uVar1._7_1_ = myctladdr.__ss_padding[5];\n    uVar1._0_2_ = myctladdr.ss_family;\n    uVar9._0_1_ = myctladdr.__ss_padding[6];\n    uVar9._1_1_ = myctladdr.__ss_padding[7];\n    uVar9._2_1_ = myctladdr.__ss_padding[8];\n    uVar9._3_1_ = myctladdr.__ss_padding[9];\n    uVar9._4_1_ = myctladdr.__ss_padding[10];\n    uVar9._5_1_ = myctladdr.__ss_padding[0xb];\n    uVar9._6_1_ = myctladdr.__ss_padding[0xc];\n    uVar9._7_1_ = myctladdr.__ss_padding[0xd];\n    data_addr.__ss_padding[6] = myctladdr.__ss_padding[6];\n    data_addr.__ss_padding[7] = myctladdr.__ss_padding[7];\n    data_addr.__ss_padding[8] = myctladdr.__ss_padding[8];\n    data_addr.__ss_padding[9] = myctladdr.__ss_padding[9];\n    data_addr.__ss_padding[10] = myctladdr.__ss_padding[10];\n    data_addr.__ss_padding[0xb] = myctladdr.__ss_padding[0xb];\n    data_addr.__ss_padding[0xc] = myctladdr.__ss_padding[0xc];\n    data_addr.__ss_padding[0xd] = myctladdr.__ss_padding[0xd];\n    uVar10._0_1_ = myctladdr.__ss_padding[0xe];\n    uVar10._1_1_ = myctladdr.__ss_padding[0xf];\n    uVar10._2_1_ = myctladdr.__ss_padding[0x10];\n    uVar10._3_1_ = myctladdr.__ss_padding[0x11];\n    uVar10._4_1_ = myctladdr.__ss_padding[0x12];\n    uVar10._5_1_ = myctladdr.__ss_padding[0x13];\n    uVar10._6_1_ = myctladdr.__ss_padding[0x14];\n    uVar10._7_1_ = myctladdr.__ss_padding[0x15];\n    uVar11._0_1_ = myctladdr.__ss_padding[0x16];\n    uVar11._1_1_ = myctladdr.__ss_padding[0x17];\n    uVar11._2_1_ = myctladdr.__ss_padding[0x18];\n    uVar11._3_1_ = myctladdr.__ss_padding[0x19];\n    uVar11._4_1_ = myctladdr.__ss_padding[0x1a];\n    uVar11._5_1_ = myctladdr.__ss_padding[0x1b];\n    uVar11._6_1_ = myctladdr.__ss_padding[0x1c];\n    uVar11._7_1_ = myctladdr.__ss_padding[0x1d];\n    data_addr.__ss_padding[0xe] = myctladdr.__ss_padding[0xe];\n    data_addr.__ss_padding[0xf] = myctladdr.__ss_padding[0xf];\n    data_addr.__ss_padding[0x10] = myctladdr.__ss_padding[0x10];\n    data_addr.__ss_padding[0x11] = myctladdr.__ss_padding[0x11];\n    data_addr.__ss_padding[0x12] = myctladdr.__ss_padding[0x12];\n    data_addr.__ss_padding[0x13] = myctladdr.__ss_padding[0x13];\n    data_addr.__ss_padding[0x14] = myctladdr.__ss_padding[0x14];\n    data_addr.__ss_padding[0x15] = myctladdr.__ss_padding[0x15];\n    data_addr.__ss_padding[0x16] = myctladdr.__ss_padding[0x16];\n    data_addr.__ss_padding[0x17] = myctladdr.__ss_padding[0x17];\n    data_addr.__ss_padding[0x18] = myctladdr.__ss_padding[0x18];\n    data_addr.__ss_padding[0x19] = myctladdr.__ss_padding[0x19];\n    data_addr.__ss_padding[0x1a] = myctladdr.__ss_padding[0x1a];\n    data_addr.__ss_padding[0x1b] = myctladdr.__ss_padding[0x1b];\n    data_addr.__ss_padding[0x1c] = myctladdr.__ss_padding[0x1c];\n    data_addr.__ss_padding[0x1d] = myctladdr.__ss_padding[0x1d];\n    uVar12._0_1_ = myctladdr.__ss_padding[0x1e];\n    uVar12._1_1_ = myctladdr.__ss_padding[0x1f];\n    uVar12._2_1_ = myctladdr.__ss_padding[0x20];\n    uVar12._3_1_ = myctladdr.__ss_padding[0x21];\n    uVar12._4_1_ = myctladdr.__ss_padding[0x22];\n    uVar12._5_1_ = myctladdr.__ss_padding[0x23];\n    uVar12._6_1_ = myctladdr.__ss_padding[0x24];\n    uVar12._7_1_ = myctladdr.__ss_padding[0x25];\n    uVar13._0_1_ = myctladdr.__ss_padding[0x26];\n    uVar13._1_1_ = myctladdr.__ss_padding[0x27];\n    uVar13._2_1_ = myctladdr.__ss_padding[0x28];\n    uVar13._3_1_ = myctladdr.__ss_padding[0x29];\n    uVar13._4_1_ = myctladdr.__ss_padding[0x2a];\n    uVar13._5_1_ = myctladdr.__ss_padding[0x2b];\n    uVar13._6_1_ = myctladdr.__ss_padding[0x2c];\n    uVar13._7_1_ = myctladdr.__ss_padding[0x2d];\n    data_addr.__ss_padding[0x1e] = myctladdr.__ss_padding[0x1e];\n    data_addr.__ss_padding[0x1f] = myctladdr.__ss_padding[0x1f];\n    data_addr.__ss_padding[0x20] = myctladdr.__ss_padding[0x20];\n    data_addr.__ss_padding[0x21] = myctladdr.__ss_padding[0x21];\n    data_addr.__ss_padding[0x22] = myctladdr.__ss_padding[0x22];\n    data_addr.__ss_padding[0x23] = myctladdr.__ss_padding[0x23];\n    data_addr.__ss_padding[0x24] = myctladdr.__ss_padding[0x24];\n    data_addr.__ss_padding[0x25] = myctladdr.__ss_padding[0x25];\n    data_addr.__ss_padding[0x26] = myctladdr.__ss_padding[0x26];\n    data_addr.__ss_padding[0x27] = myctladdr.__ss_padding[0x27];\n    data_addr.__ss_padding[0x28] = myctladdr.__ss_padding[0x28];\n    data_addr.__ss_padding[0x29] = myctladdr.__ss_padding[0x29];\n    data_addr.__ss_padding[0x2a] = myctladdr.__ss_padding[0x2a];\n    data_addr.__ss_padding[0x2b] = myctladdr.__ss_padding[0x2b];\n    data_addr.__ss_padding[0x2c] = myctladdr.__ss_padding[0x2c];\n    data_addr.__ss_padding[0x2d] = myctladdr.__ss_padding[0x2d];\n    uVar14._0_1_ = myctladdr.__ss_padding[0x2e];\n    uVar14._1_1_ = myctladdr.__ss_padding[0x2f];\n    uVar14._2_1_ = myctladdr.__ss_padding[0x30];\n    uVar14._3_1_ = myctladdr.__ss_padding[0x31];\n    uVar14._4_1_ = myctladdr.__ss_padding[0x32];\n    uVar14._5_1_ = myctladdr.__ss_padding[0x33];\n    uVar14._6_1_ = myctladdr.__ss_padding[0x34];\n    uVar14._7_1_ = myctladdr.__ss_padding[0x35];\n    uVar15._0_1_ = myctladdr.__ss_padding[0x36];\n    uVar15._1_1_ = myctladdr.__ss_padding[0x37];\n    uVar15._2_1_ = myctladdr.__ss_padding[0x38];\n    uVar15._3_1_ = myctladdr.__ss_padding[0x39];\n    uVar15._4_1_ = myctladdr.__ss_padding[0x3a];\n    uVar15._5_1_ = myctladdr.__ss_padding[0x3b];\n    uVar15._6_1_ = myctladdr.__ss_padding[0x3c];\n    uVar15._7_1_ = myctladdr.__ss_padding[0x3d];\n    data_addr.__ss_padding[0x2e] = myctladdr.__ss_padding[0x2e];\n    data_addr.__ss_padding[0x2f] = myctladdr.__ss_padding[0x2f];\n    data_addr.__ss_padding[0x30] = myctladdr.__ss_padding[0x30];\n    data_addr.__ss_padding[0x31] = myctladdr.__ss_padding[0x31];\n    data_addr.__ss_padding[0x32] = myctladdr.__ss_padding[0x32];\n    data_addr.__ss_padding[0x33] = myctladdr.__ss_padding[0x33];\n    data_addr.__ss_padding[0x34] = myctladdr.__ss_padding[0x34];\n    data_addr.__ss_padding[0x35] = myctladdr.__ss_padding[0x35];\n    data_addr.__ss_padding[0x36] = myctladdr.__ss_padding[0x36];\n    data_addr.__ss_padding[0x37] = myctladdr.__ss_padding[0x37];\n    data_addr.__ss_padding[0x38] = myctladdr.__ss_padding[0x38];\n    data_addr.__ss_padding[0x39] = myctladdr.__ss_padding[0x39];\n    data_addr.__ss_padding[0x3a] = myctladdr.__ss_padding[0x3a];\n    data_addr.__ss_padding[0x3b] = myctladdr.__ss_padding[0x3b];\n    data_addr.__ss_padding[0x3c] = myctladdr.__ss_padding[0x3c];\n    data_addr.__ss_padding[0x3d] = myctladdr.__ss_padding[0x3d];\n    uVar16._0_1_ = myctladdr.__ss_padding[0x3e];\n    uVar16._1_1_ = myctladdr.__ss_padding[0x3f];\n    uVar16._2_1_ = myctladdr.__ss_padding[0x40];\n    uVar16._3_1_ = myctladdr.__ss_padding[0x41];\n    uVar16._4_1_ = myctladdr.__ss_padding[0x42];\n    uVar16._5_1_ = myctladdr.__ss_padding[0x43];\n    uVar16._6_1_ = myctladdr.__ss_padding[0x44];\n    uVar16._7_1_ = myctladdr.__ss_padding[0x45];\n    uVar17._0_1_ = myctladdr.__ss_padding[0x46];\n    uVar17._1_1_ = myctladdr.__ss_padding[0x47];\n    uVar17._2_1_ = myctladdr.__ss_padding[0x48];\n    uVar17._3_1_ = myctladdr.__ss_padding[0x49];\n    uVar17._4_1_ = myctladdr.__ss_padding[0x4a];\n    uVar17._5_1_ = myctladdr.__ss_padding[0x4b];\n    uVar17._6_1_ = myctladdr.__ss_padding[0x4c];\n    uVar17._7_1_ = myctladdr.__ss_padding[0x4d];\n    data_addr.__ss_padding[0x3e] = myctladdr.__ss_padding[0x3e];\n    data_addr.__ss_padding[0x3f] = myctladdr.__ss_padding[0x3f];\n    data_addr.__ss_padding[0x40] = myctladdr.__ss_padding[0x40];\n    data_addr.__ss_padding[0x41] = myctladdr.__ss_padding[0x41];\n    data_addr.__ss_padding[0x42] = myctladdr.__ss_padding[0x42];\n    data_addr.__ss_padding[0x43] = myctladdr.__ss_padding[0x43];\n    data_addr.__ss_padding[0x44] = myctladdr.__ss_padding[0x44];\n    data_addr.__ss_padding[0x45] = myctladdr.__ss_padding[0x45];\n    data_addr.__ss_padding[0x46] = myctladdr.__ss_padding[0x46];\n    data_addr.__ss_padding[0x47] = myctladdr.__ss_padding[0x47];\n    data_addr.__ss_padding[0x48] = myctladdr.__ss_padding[0x48];\n    data_addr.__ss_padding[0x49] = myctladdr.__ss_padding[0x49];\n    data_addr.__ss_padding[0x4a] = myctladdr.__ss_padding[0x4a];\n    data_addr.__ss_padding[0x4b] = myctladdr.__ss_padding[0x4b];\n    data_addr.__ss_padding[0x4c] = myctladdr.__ss_padding[0x4c];\n    data_addr.__ss_padding[0x4d] = myctladdr.__ss_padding[0x4d];\n    uVar18._0_1_ = myctladdr.__ss_padding[0x4e];\n    uVar18._1_1_ = myctladdr.__ss_padding[0x4f];\n    uVar18._2_1_ = myctladdr.__ss_padding[0x50];\n    uVar18._3_1_ = myctladdr.__ss_padding[0x51];\n    uVar18._4_1_ = myctladdr.__ss_padding[0x52];\n    uVar18._5_1_ = myctladdr.__ss_padding[0x53];\n    uVar18._6_1_ = myctladdr.__ss_padding[0x54];\n    uVar18._7_1_ = myctladdr.__ss_padding[0x55];\n    uVar19._0_1_ = myctladdr.__ss_padding[0x56];\n    uVar19._1_1_ = myctladdr.__ss_padding[0x57];\n    uVar19._2_1_ = myctladdr.__ss_padding[0x58];\n    uVar19._3_1_ = myctladdr.__ss_padding[0x59];\n    uVar19._4_1_ = myctladdr.__ss_padding[0x5a];\n    uVar19._5_1_ = myctladdr.__ss_padding[0x5b];\n    uVar19._6_1_ = myctladdr.__ss_padding[0x5c];\n    uVar19._7_1_ = myctladdr.__ss_padding[0x5d];\n    data_addr.__ss_padding[0x4e] = myctladdr.__ss_padding[0x4e];\n    data_addr.__ss_padding[0x4f] = myctladdr.__ss_padding[0x4f];\n    data_addr.__ss_padding[0x50] = myctladdr.__ss_padding[0x50];\n    data_addr.__ss_padding[0x51] = myctladdr.__ss_padding[0x51];\n    data_addr.__ss_padding[0x52] = myctladdr.__ss_padding[0x52];\n    data_addr.__ss_padding[0x53] = myctladdr.__ss_padding[0x53];\n    data_addr.__ss_padding[0x54] = myctladdr.__ss_padding[0x54];\n    data_addr.__ss_padding[0x55] = myctladdr.__ss_padding[0x55];\n    data_addr.__ss_padding[0x56] = myctladdr.__ss_padding[0x56];\n    data_addr.__ss_padding[0x57] = myctladdr.__ss_padding[0x57];\n    data_addr.__ss_padding[0x58] = myctladdr.__ss_padding[0x58];\n    data_addr.__ss_padding[0x59] = myctladdr.__ss_padding[0x59];\n    data_addr.__ss_padding[0x5a] = myctladdr.__ss_padding[0x5a];\n    data_addr.__ss_padding[0x5b] = myctladdr.__ss_padding[0x5b];\n    data_addr.__ss_padding[0x5c] = myctladdr.__ss_padding[0x5c];\n    data_addr.__ss_padding[0x5d] = myctladdr.__ss_padding[0x5d];\n    uVar20._0_1_ = myctladdr.__ss_padding[0x5e];\n    uVar20._1_1_ = myctladdr.__ss_padding[0x5f];\n    uVar20._2_1_ = myctladdr.__ss_padding[0x60];\n    uVar20._3_1_ = myctladdr.__ss_padding[0x61];\n    uVar20._4_1_ = myctladdr.__ss_padding[0x62];\n    uVar20._5_1_ = myctladdr.__ss_padding[99];\n    uVar20._6_1_ = myctladdr.__ss_padding[100];\n    uVar20._7_1_ = myctladdr.__ss_padding[0x65];\n    uVar21._0_1_ = myctladdr.__ss_padding[0x66];\n    uVar21._1_1_ = myctladdr.__ss_padding[0x67];\n    uVar21._2_1_ = myctladdr.__ss_padding[0x68];\n    uVar21._3_1_ = myctladdr.__ss_padding[0x69];\n    uVar21._4_1_ = myctladdr.__ss_padding[0x6a];\n    uVar21._5_1_ = myctladdr.__ss_padding[0x6b];\n    uVar21._6_1_ = myctladdr.__ss_padding[0x6c];\n    uVar21._7_1_ = myctladdr.__ss_padding[0x6d];\n    data_addr.__ss_padding[0x5e] = myctladdr.__ss_padding[0x5e];\n    data_addr.__ss_padding[0x5f] = myctladdr.__ss_padding[0x5f];\n    data_addr.__ss_padding[0x60] = myctladdr.__ss_padding[0x60];\n    data_addr.__ss_padding[0x61] = myctladdr.__ss_padding[0x61];\n    data_addr.__ss_padding[0x62] = myctladdr.__ss_padding[0x62];\n    data_addr.__ss_padding[99] = myctladdr.__ss_padding[99];\n    data_addr.__ss_padding[100] = myctladdr.__ss_padding[100];\n    data_addr.__ss_padding[0x65] = myctladdr.__ss_padding[0x65];\n    data_addr.__ss_padding[0x66] = myctladdr.__ss_padding[0x66];\n    data_addr.__ss_padding[0x67] = myctladdr.__ss_padding[0x67];\n    data_addr.__ss_padding[0x68] = myctladdr.__ss_padding[0x68];\n    data_addr.__ss_padding[0x69] = myctladdr.__ss_padding[0x69];\n    data_addr.__ss_padding[0x6a] = myctladdr.__ss_padding[0x6a];\n    data_addr.__ss_padding[0x6b] = myctladdr.__ss_padding[0x6b];\n    data_addr.__ss_padding[0x6c] = myctladdr.__ss_padding[0x6c];\n    data_addr.__ss_padding[0x6d] = myctladdr.__ss_padding[0x6d];\n    uVar22._0_1_ = myctladdr.__ss_padding[0x6e];\n    uVar22._1_1_ = myctladdr.__ss_padding[0x6f];\n    uVar22._2_1_ = myctladdr.__ss_padding[0x70];\n    uVar22._3_1_ = myctladdr.__ss_padding[0x71];\n    uVar22._4_1_ = myctladdr.__ss_padding[0x72];\n    uVar22._5_1_ = myctladdr.__ss_padding[0x73];\n    uVar22._6_1_ = myctladdr.__ss_padding[0x74];\n    uVar22._7_1_ = myctladdr.__ss_padding[0x75];\n    data_addr.__ss_align = myctladdr.__ss_align;\n    data_addr.__ss_padding[0x6e] = myctladdr.__ss_padding[0x6e];\n    data_addr.__ss_padding[0x6f] = myctladdr.__ss_padding[0x6f];\n    data_addr.__ss_padding[0x70] = myctladdr.__ss_padding[0x70];\n    data_addr.__ss_padding[0x71] = myctladdr.__ss_padding[0x71];\n    data_addr.__ss_padding[0x72] = myctladdr.__ss_padding[0x72];\n    data_addr.__ss_padding[0x73] = myctladdr.__ss_padding[0x73];\n    data_addr.__ss_padding[0x74] = myctladdr.__ss_padding[0x74];\n    data_addr.__ss_padding[0x75] = myctladdr.__ss_padding[0x75];\n    if (sendport != 0) {\n      data_addr.__ss_padding._2_4_ = SUB64(myctladdr.__ss_padding._0_6_,2);\n      if (myctladdr.ss_family == 2) {\n        data_addr.ss_family = 2;\n        data_addr.__ss_padding[0] = '\0';\n        data_addr.__ss_padding[1] = '\0';\n        uVar1 = data_addr._0_8_;\n      }\n      else if (myctladdr.ss_family == 10) {\n        data_addr.ss_family = 10;\n        data_addr.__ss_padding[0] = '\0';\n        data_addr.__ss_padding[1] = '\0';\n        uVar1 = data_addr._0_8_;\n      }\n    }\n    data_addr._0_8_ = uVar1;\n    if (data != -1) {\n      data_addr.__ss_padding._6_8_ = uVar9;\n      data_addr.__ss_padding._14_8_ = uVar10;\n      data_addr.__ss_padding._22_8_ = uVar11;\n      data_addr.__ss_padding._30_8_ = uVar12;\n      data_addr.__ss_padding._38_8_ = uVar13;\n      data_addr.__ss_padding._46_8_ = uVar14;\n      data_addr.__ss_padding._54_8_ = uVar15;\n      data_addr.__ss_padding._62_8_ = uVar16;\n      data_addr.__ss_padding._70_8_ = uVar17;\n      data_addr.__ss_padding._78_8_ = uVar18;\n      data_addr.__ss_padding._86_8_ = uVar19;\n      data_addr.__ss_padding._94_8_ = uVar20;\n      data_addr.__ss_padding._102_8_ = uVar21;\n      data_addr.__ss_padding._110_8_ = uVar22;\n      close(data);\n    }\n    data = socket((uint)myctladdr.ss_family,1,0);\n    if (data < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,"socket");\n      if (uVar7 == 0) {\n        uVar7 = 1;\n      }\n      else {\n        sendport = 1;\n      }\n      goto LAB_0010ca2b;\n    }\n    if (sendport == 0) {\n      iVar4 = setsockopt(data,1,2,&on,4);\n      if (-1 < iVar4) goto LAB_0010cc9e;\n      piVar6 = __errno_location();\n      error(0,*piVar6,"setsockopt (reuse address)");\nLAB_0010ca03:\n      close(data);\n      data = -1;\n      if (uVar7 == 0) {\n        uVar7 = 1;\n      }\n      else {\n        sendport = 1;\n      }\n      goto LAB_0010ca2b;\n    }\nLAB_0010cc9e:\n    iVar4 = bind(data,(sockaddr *)&data_addr,ctladdrlen);\n    if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,&DAT_0011a4df);\n      goto LAB_0010ca03;\n    }\n    if (((byte)options & 1) != 0) {\n      iVar4 = setsockopt(data,1,1,&on,4);\n      if (iVar4 < 0) {\n        piVar6 = __errno_location();\n        if (*piVar6 != 0xd) {\n          error(0,*piVar6,"setsockopt DEBUG (ignored)");\n        }\n      }\n    }\n    len = 0x80;\n    iVar4 = getsockname(data,(sockaddr *)&data_addr,&len);\n    if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,"getsockname");\n      goto LAB_0010ca03;\n    }\n    iVar4 = listen(data,1);\n    if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,"listen");\n    }\n    if (sendport == 0) {\n      if (uVar7 != 0) {\n        sendport = 1;\n      }\n      on = 8;\n      uVar7 = 0;\n      if (data_addr.ss_family == 2) {\n        iVar4 = setsockopt(data,0,1,&on,4);\n        if (iVar4 < 0) {\n          piVar6 = __errno_location();\n          error(0,*piVar6,"setsockopt TOS (ignored)");\n        }\n      }\n      goto LAB_0010ca2b;\n    }\n    if ((data_addr.ss_family == 2) && (doepsv4 == 0)) {\n      bVar8 = true;\nLAB_0010cd36:\n      if (!bVar8) {\n        iVar4 = 2;\nLAB_0010cd3f:\n        uVar7 = (uint)(iVar4 != 2);\n        goto LAB_0010ca2b;\n      }\nLAB_0010cd6c:\n      iVar4 = command("PORT %d,%d,%d,%d,%d,%d",(ulong)data_addr._0_8_ >> 0x20 & 0xff,\n                      (ulong)data_addr._0_8_ >> 0x28 & 0xff,(ulong)data_addr._0_8_ >> 0x30 & 0xff,\n                      (ulong)data_addr._0_8_ >> 0x38,(ulong)data_addr._0_8_ >> 0x10 & 0xff,\n                      (ulong)data_addr._0_8_ >> 0x18 & 0xff);\n    }\n    else {\n      getnameinfo((sockaddr *)&data_addr,ctladdrlen,ia,0x2e,portstr,10,3);\n      iVar4 = command("EPRT |%d|%s|%s|",(ulong)((data_addr.ss_family != 2) + 1),ia,portstr);\n      if (data_addr.ss_family == 2) {\n        bVar8 = iVar4 != 2;\n        if ((doepsv4 == 0) || (!bVar8)) goto LAB_0010cd36;\n        doepsv4 = 0;\n        goto LAB_0010cd6c;\n      }\n    }\n    if (iVar4 == 2) goto LAB_0010cd3f;\n    if (data_addr.ss_family == 2) {\n      iVar4 = command("LPRT 4,4,%u,%u,%u,%u,2,%u,%u",(ulong)data_addr._0_8_ >> 0x20 & 0xff,\n                      (ulong)data_addr._0_8_ >> 0x28 & 0xff,(ulong)data_addr._0_8_ >> 0x30 & 0xff,\n                      (ulong)data_addr._0_8_ >> 0x38,(ulong)(byte)data_addr.__ss_padding[0],\n                      (ulong)(byte)data_addr.__ss_padding[1]);\n    }\n    else if (data_addr.ss_family == 10) {\n      iVar4 = command("LPRT 6,16,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,2,%u,%u",\n                      data_addr.__ss_padding._6_8_ & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 8 & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 0x10 & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 0x18 & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 0x20 & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 0x28 & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 0x30 & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 0x38,\n                      data_addr.__ss_padding._14_8_ & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 8 & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 0x10 & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 0x18 & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 0x20 & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 0x28 & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 0x30 & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 0x38,\n                      (ulong)(byte)data_addr.__ss_padding[0],(ulong)(byte)data_addr.__ss_padding[1])\n      ;\n    }\n    if ((iVar4 != 5) || (sendport != -1)) goto LAB_0010cd3f;\n    sendport = 0;\n    uVar7 = 1;\n    goto LAB_0010cba4;\n  }" if (parenthesized_expression "(passivemode == 0)" ( (binary_expression "passivemode == 0" identifier == number_literal) )) (compound_statement "{\n    uVar7 = 0;\nLAB_0010cba4:\n    uVar1._2_1_ = myctladdr.__ss_padding[0];\n    uVar1._3_1_ = myctladdr.__ss_padding[1];\n    uVar1._4_1_ = myctladdr.__ss_padding[2];\n    uVar1._5_1_ = myctladdr.__ss_padding[3];\n    uVar1._6_1_ = myctladdr.__ss_padding[4];\n    uVar1._7_1_ = myctladdr.__ss_padding[5];\n    uVar1._0_2_ = myctladdr.ss_family;\n    uVar9._0_1_ = myctladdr.__ss_padding[6];\n    uVar9._1_1_ = myctladdr.__ss_padding[7];\n    uVar9._2_1_ = myctladdr.__ss_padding[8];\n    uVar9._3_1_ = myctladdr.__ss_padding[9];\n    uVar9._4_1_ = myctladdr.__ss_padding[10];\n    uVar9._5_1_ = myctladdr.__ss_padding[0xb];\n    uVar9._6_1_ = myctladdr.__ss_padding[0xc];\n    uVar9._7_1_ = myctladdr.__ss_padding[0xd];\n    data_addr.__ss_padding[6] = myctladdr.__ss_padding[6];\n    data_addr.__ss_padding[7] = myctladdr.__ss_padding[7];\n    data_addr.__ss_padding[8] = myctladdr.__ss_padding[8];\n    data_addr.__ss_padding[9] = myctladdr.__ss_padding[9];\n    data_addr.__ss_padding[10] = myctladdr.__ss_padding[10];\n    data_addr.__ss_padding[0xb] = myctladdr.__ss_padding[0xb];\n    data_addr.__ss_padding[0xc] = myctladdr.__ss_padding[0xc];\n    data_addr.__ss_padding[0xd] = myctladdr.__ss_padding[0xd];\n    uVar10._0_1_ = myctladdr.__ss_padding[0xe];\n    uVar10._1_1_ = myctladdr.__ss_padding[0xf];\n    uVar10._2_1_ = myctladdr.__ss_padding[0x10];\n    uVar10._3_1_ = myctladdr.__ss_padding[0x11];\n    uVar10._4_1_ = myctladdr.__ss_padding[0x12];\n    uVar10._5_1_ = myctladdr.__ss_padding[0x13];\n    uVar10._6_1_ = myctladdr.__ss_padding[0x14];\n    uVar10._7_1_ = myctladdr.__ss_padding[0x15];\n    uVar11._0_1_ = myctladdr.__ss_padding[0x16];\n    uVar11._1_1_ = myctladdr.__ss_padding[0x17];\n    uVar11._2_1_ = myctladdr.__ss_padding[0x18];\n    uVar11._3_1_ = myctladdr.__ss_padding[0x19];\n    uVar11._4_1_ = myctladdr.__ss_padding[0x1a];\n    uVar11._5_1_ = myctladdr.__ss_padding[0x1b];\n    uVar11._6_1_ = myctladdr.__ss_padding[0x1c];\n    uVar11._7_1_ = myctladdr.__ss_padding[0x1d];\n    data_addr.__ss_padding[0xe] = myctladdr.__ss_padding[0xe];\n    data_addr.__ss_padding[0xf] = myctladdr.__ss_padding[0xf];\n    data_addr.__ss_padding[0x10] = myctladdr.__ss_padding[0x10];\n    data_addr.__ss_padding[0x11] = myctladdr.__ss_padding[0x11];\n    data_addr.__ss_padding[0x12] = myctladdr.__ss_padding[0x12];\n    data_addr.__ss_padding[0x13] = myctladdr.__ss_padding[0x13];\n    data_addr.__ss_padding[0x14] = myctladdr.__ss_padding[0x14];\n    data_addr.__ss_padding[0x15] = myctladdr.__ss_padding[0x15];\n    data_addr.__ss_padding[0x16] = myctladdr.__ss_padding[0x16];\n    data_addr.__ss_padding[0x17] = myctladdr.__ss_padding[0x17];\n    data_addr.__ss_padding[0x18] = myctladdr.__ss_padding[0x18];\n    data_addr.__ss_padding[0x19] = myctladdr.__ss_padding[0x19];\n    data_addr.__ss_padding[0x1a] = myctladdr.__ss_padding[0x1a];\n    data_addr.__ss_padding[0x1b] = myctladdr.__ss_padding[0x1b];\n    data_addr.__ss_padding[0x1c] = myctladdr.__ss_padding[0x1c];\n    data_addr.__ss_padding[0x1d] = myctladdr.__ss_padding[0x1d];\n    uVar12._0_1_ = myctladdr.__ss_padding[0x1e];\n    uVar12._1_1_ = myctladdr.__ss_padding[0x1f];\n    uVar12._2_1_ = myctladdr.__ss_padding[0x20];\n    uVar12._3_1_ = myctladdr.__ss_padding[0x21];\n    uVar12._4_1_ = myctladdr.__ss_padding[0x22];\n    uVar12._5_1_ = myctladdr.__ss_padding[0x23];\n    uVar12._6_1_ = myctladdr.__ss_padding[0x24];\n    uVar12._7_1_ = myctladdr.__ss_padding[0x25];\n    uVar13._0_1_ = myctladdr.__ss_padding[0x26];\n    uVar13._1_1_ = myctladdr.__ss_padding[0x27];\n    uVar13._2_1_ = myctladdr.__ss_padding[0x28];\n    uVar13._3_1_ = myctladdr.__ss_padding[0x29];\n    uVar13._4_1_ = myctladdr.__ss_padding[0x2a];\n    uVar13._5_1_ = myctladdr.__ss_padding[0x2b];\n    uVar13._6_1_ = myctladdr.__ss_padding[0x2c];\n    uVar13._7_1_ = myctladdr.__ss_padding[0x2d];\n    data_addr.__ss_padding[0x1e] = myctladdr.__ss_padding[0x1e];\n    data_addr.__ss_padding[0x1f] = myctladdr.__ss_padding[0x1f];\n    data_addr.__ss_padding[0x20] = myctladdr.__ss_padding[0x20];\n    data_addr.__ss_padding[0x21] = myctladdr.__ss_padding[0x21];\n    data_addr.__ss_padding[0x22] = myctladdr.__ss_padding[0x22];\n    data_addr.__ss_padding[0x23] = myctladdr.__ss_padding[0x23];\n    data_addr.__ss_padding[0x24] = myctladdr.__ss_padding[0x24];\n    data_addr.__ss_padding[0x25] = myctladdr.__ss_padding[0x25];\n    data_addr.__ss_padding[0x26] = myctladdr.__ss_padding[0x26];\n    data_addr.__ss_padding[0x27] = myctladdr.__ss_padding[0x27];\n    data_addr.__ss_padding[0x28] = myctladdr.__ss_padding[0x28];\n    data_addr.__ss_padding[0x29] = myctladdr.__ss_padding[0x29];\n    data_addr.__ss_padding[0x2a] = myctladdr.__ss_padding[0x2a];\n    data_addr.__ss_padding[0x2b] = myctladdr.__ss_padding[0x2b];\n    data_addr.__ss_padding[0x2c] = myctladdr.__ss_padding[0x2c];\n    data_addr.__ss_padding[0x2d] = myctladdr.__ss_padding[0x2d];\n    uVar14._0_1_ = myctladdr.__ss_padding[0x2e];\n    uVar14._1_1_ = myctladdr.__ss_padding[0x2f];\n    uVar14._2_1_ = myctladdr.__ss_padding[0x30];\n    uVar14._3_1_ = myctladdr.__ss_padding[0x31];\n    uVar14._4_1_ = myctladdr.__ss_padding[0x32];\n    uVar14._5_1_ = myctladdr.__ss_padding[0x33];\n    uVar14._6_1_ = myctladdr.__ss_padding[0x34];\n    uVar14._7_1_ = myctladdr.__ss_padding[0x35];\n    uVar15._0_1_ = myctladdr.__ss_padding[0x36];\n    uVar15._1_1_ = myctladdr.__ss_padding[0x37];\n    uVar15._2_1_ = myctladdr.__ss_padding[0x38];\n    uVar15._3_1_ = myctladdr.__ss_padding[0x39];\n    uVar15._4_1_ = myctladdr.__ss_padding[0x3a];\n    uVar15._5_1_ = myctladdr.__ss_padding[0x3b];\n    uVar15._6_1_ = myctladdr.__ss_padding[0x3c];\n    uVar15._7_1_ = myctladdr.__ss_padding[0x3d];\n    data_addr.__ss_padding[0x2e] = myctladdr.__ss_padding[0x2e];\n    data_addr.__ss_padding[0x2f] = myctladdr.__ss_padding[0x2f];\n    data_addr.__ss_padding[0x30] = myctladdr.__ss_padding[0x30];\n    data_addr.__ss_padding[0x31] = myctladdr.__ss_padding[0x31];\n    data_addr.__ss_padding[0x32] = myctladdr.__ss_padding[0x32];\n    data_addr.__ss_padding[0x33] = myctladdr.__ss_padding[0x33];\n    data_addr.__ss_padding[0x34] = myctladdr.__ss_padding[0x34];\n    data_addr.__ss_padding[0x35] = myctladdr.__ss_padding[0x35];\n    data_addr.__ss_padding[0x36] = myctladdr.__ss_padding[0x36];\n    data_addr.__ss_padding[0x37] = myctladdr.__ss_padding[0x37];\n    data_addr.__ss_padding[0x38] = myctladdr.__ss_padding[0x38];\n    data_addr.__ss_padding[0x39] = myctladdr.__ss_padding[0x39];\n    data_addr.__ss_padding[0x3a] = myctladdr.__ss_padding[0x3a];\n    data_addr.__ss_padding[0x3b] = myctladdr.__ss_padding[0x3b];\n    data_addr.__ss_padding[0x3c] = myctladdr.__ss_padding[0x3c];\n    data_addr.__ss_padding[0x3d] = myctladdr.__ss_padding[0x3d];\n    uVar16._0_1_ = myctladdr.__ss_padding[0x3e];\n    uVar16._1_1_ = myctladdr.__ss_padding[0x3f];\n    uVar16._2_1_ = myctladdr.__ss_padding[0x40];\n    uVar16._3_1_ = myctladdr.__ss_padding[0x41];\n    uVar16._4_1_ = myctladdr.__ss_padding[0x42];\n    uVar16._5_1_ = myctladdr.__ss_padding[0x43];\n    uVar16._6_1_ = myctladdr.__ss_padding[0x44];\n    uVar16._7_1_ = myctladdr.__ss_padding[0x45];\n    uVar17._0_1_ = myctladdr.__ss_padding[0x46];\n    uVar17._1_1_ = myctladdr.__ss_padding[0x47];\n    uVar17._2_1_ = myctladdr.__ss_padding[0x48];\n    uVar17._3_1_ = myctladdr.__ss_padding[0x49];\n    uVar17._4_1_ = myctladdr.__ss_padding[0x4a];\n    uVar17._5_1_ = myctladdr.__ss_padding[0x4b];\n    uVar17._6_1_ = myctladdr.__ss_padding[0x4c];\n    uVar17._7_1_ = myctladdr.__ss_padding[0x4d];\n    data_addr.__ss_padding[0x3e] = myctladdr.__ss_padding[0x3e];\n    data_addr.__ss_padding[0x3f] = myctladdr.__ss_padding[0x3f];\n    data_addr.__ss_padding[0x40] = myctladdr.__ss_padding[0x40];\n    data_addr.__ss_padding[0x41] = myctladdr.__ss_padding[0x41];\n    data_addr.__ss_padding[0x42] = myctladdr.__ss_padding[0x42];\n    data_addr.__ss_padding[0x43] = myctladdr.__ss_padding[0x43];\n    data_addr.__ss_padding[0x44] = myctladdr.__ss_padding[0x44];\n    data_addr.__ss_padding[0x45] = myctladdr.__ss_padding[0x45];\n    data_addr.__ss_padding[0x46] = myctladdr.__ss_padding[0x46];\n    data_addr.__ss_padding[0x47] = myctladdr.__ss_padding[0x47];\n    data_addr.__ss_padding[0x48] = myctladdr.__ss_padding[0x48];\n    data_addr.__ss_padding[0x49] = myctladdr.__ss_padding[0x49];\n    data_addr.__ss_padding[0x4a] = myctladdr.__ss_padding[0x4a];\n    data_addr.__ss_padding[0x4b] = myctladdr.__ss_padding[0x4b];\n    data_addr.__ss_padding[0x4c] = myctladdr.__ss_padding[0x4c];\n    data_addr.__ss_padding[0x4d] = myctladdr.__ss_padding[0x4d];\n    uVar18._0_1_ = myctladdr.__ss_padding[0x4e];\n    uVar18._1_1_ = myctladdr.__ss_padding[0x4f];\n    uVar18._2_1_ = myctladdr.__ss_padding[0x50];\n    uVar18._3_1_ = myctladdr.__ss_padding[0x51];\n    uVar18._4_1_ = myctladdr.__ss_padding[0x52];\n    uVar18._5_1_ = myctladdr.__ss_padding[0x53];\n    uVar18._6_1_ = myctladdr.__ss_padding[0x54];\n    uVar18._7_1_ = myctladdr.__ss_padding[0x55];\n    uVar19._0_1_ = myctladdr.__ss_padding[0x56];\n    uVar19._1_1_ = myctladdr.__ss_padding[0x57];\n    uVar19._2_1_ = myctladdr.__ss_padding[0x58];\n    uVar19._3_1_ = myctladdr.__ss_padding[0x59];\n    uVar19._4_1_ = myctladdr.__ss_padding[0x5a];\n    uVar19._5_1_ = myctladdr.__ss_padding[0x5b];\n    uVar19._6_1_ = myctladdr.__ss_padding[0x5c];\n    uVar19._7_1_ = myctladdr.__ss_padding[0x5d];\n    data_addr.__ss_padding[0x4e] = myctladdr.__ss_padding[0x4e];\n    data_addr.__ss_padding[0x4f] = myctladdr.__ss_padding[0x4f];\n    data_addr.__ss_padding[0x50] = myctladdr.__ss_padding[0x50];\n    data_addr.__ss_padding[0x51] = myctladdr.__ss_padding[0x51];\n    data_addr.__ss_padding[0x52] = myctladdr.__ss_padding[0x52];\n    data_addr.__ss_padding[0x53] = myctladdr.__ss_padding[0x53];\n    data_addr.__ss_padding[0x54] = myctladdr.__ss_padding[0x54];\n    data_addr.__ss_padding[0x55] = myctladdr.__ss_padding[0x55];\n    data_addr.__ss_padding[0x56] = myctladdr.__ss_padding[0x56];\n    data_addr.__ss_padding[0x57] = myctladdr.__ss_padding[0x57];\n    data_addr.__ss_padding[0x58] = myctladdr.__ss_padding[0x58];\n    data_addr.__ss_padding[0x59] = myctladdr.__ss_padding[0x59];\n    data_addr.__ss_padding[0x5a] = myctladdr.__ss_padding[0x5a];\n    data_addr.__ss_padding[0x5b] = myctladdr.__ss_padding[0x5b];\n    data_addr.__ss_padding[0x5c] = myctladdr.__ss_padding[0x5c];\n    data_addr.__ss_padding[0x5d] = myctladdr.__ss_padding[0x5d];\n    uVar20._0_1_ = myctladdr.__ss_padding[0x5e];\n    uVar20._1_1_ = myctladdr.__ss_padding[0x5f];\n    uVar20._2_1_ = myctladdr.__ss_padding[0x60];\n    uVar20._3_1_ = myctladdr.__ss_padding[0x61];\n    uVar20._4_1_ = myctladdr.__ss_padding[0x62];\n    uVar20._5_1_ = myctladdr.__ss_padding[99];\n    uVar20._6_1_ = myctladdr.__ss_padding[100];\n    uVar20._7_1_ = myctladdr.__ss_padding[0x65];\n    uVar21._0_1_ = myctladdr.__ss_padding[0x66];\n    uVar21._1_1_ = myctladdr.__ss_padding[0x67];\n    uVar21._2_1_ = myctladdr.__ss_padding[0x68];\n    uVar21._3_1_ = myctladdr.__ss_padding[0x69];\n    uVar21._4_1_ = myctladdr.__ss_padding[0x6a];\n    uVar21._5_1_ = myctladdr.__ss_padding[0x6b];\n    uVar21._6_1_ = myctladdr.__ss_padding[0x6c];\n    uVar21._7_1_ = myctladdr.__ss_padding[0x6d];\n    data_addr.__ss_padding[0x5e] = myctladdr.__ss_padding[0x5e];\n    data_addr.__ss_padding[0x5f] = myctladdr.__ss_padding[0x5f];\n    data_addr.__ss_padding[0x60] = myctladdr.__ss_padding[0x60];\n    data_addr.__ss_padding[0x61] = myctladdr.__ss_padding[0x61];\n    data_addr.__ss_padding[0x62] = myctladdr.__ss_padding[0x62];\n    data_addr.__ss_padding[99] = myctladdr.__ss_padding[99];\n    data_addr.__ss_padding[100] = myctladdr.__ss_padding[100];\n    data_addr.__ss_padding[0x65] = myctladdr.__ss_padding[0x65];\n    data_addr.__ss_padding[0x66] = myctladdr.__ss_padding[0x66];\n    data_addr.__ss_padding[0x67] = myctladdr.__ss_padding[0x67];\n    data_addr.__ss_padding[0x68] = myctladdr.__ss_padding[0x68];\n    data_addr.__ss_padding[0x69] = myctladdr.__ss_padding[0x69];\n    data_addr.__ss_padding[0x6a] = myctladdr.__ss_padding[0x6a];\n    data_addr.__ss_padding[0x6b] = myctladdr.__ss_padding[0x6b];\n    data_addr.__ss_padding[0x6c] = myctladdr.__ss_padding[0x6c];\n    data_addr.__ss_padding[0x6d] = myctladdr.__ss_padding[0x6d];\n    uVar22._0_1_ = myctladdr.__ss_padding[0x6e];\n    uVar22._1_1_ = myctladdr.__ss_padding[0x6f];\n    uVar22._2_1_ = myctladdr.__ss_padding[0x70];\n    uVar22._3_1_ = myctladdr.__ss_padding[0x71];\n    uVar22._4_1_ = myctladdr.__ss_padding[0x72];\n    uVar22._5_1_ = myctladdr.__ss_padding[0x73];\n    uVar22._6_1_ = myctladdr.__ss_padding[0x74];\n    uVar22._7_1_ = myctladdr.__ss_padding[0x75];\n    data_addr.__ss_align = myctladdr.__ss_align;\n    data_addr.__ss_padding[0x6e] = myctladdr.__ss_padding[0x6e];\n    data_addr.__ss_padding[0x6f] = myctladdr.__ss_padding[0x6f];\n    data_addr.__ss_padding[0x70] = myctladdr.__ss_padding[0x70];\n    data_addr.__ss_padding[0x71] = myctladdr.__ss_padding[0x71];\n    data_addr.__ss_padding[0x72] = myctladdr.__ss_padding[0x72];\n    data_addr.__ss_padding[0x73] = myctladdr.__ss_padding[0x73];\n    data_addr.__ss_padding[0x74] = myctladdr.__ss_padding[0x74];\n    data_addr.__ss_padding[0x75] = myctladdr.__ss_padding[0x75];\n    if (sendport != 0) {\n      data_addr.__ss_padding._2_4_ = SUB64(myctladdr.__ss_padding._0_6_,2);\n      if (myctladdr.ss_family == 2) {\n        data_addr.ss_family = 2;\n        data_addr.__ss_padding[0] = '\0';\n        data_addr.__ss_padding[1] = '\0';\n        uVar1 = data_addr._0_8_;\n      }\n      else if (myctladdr.ss_family == 10) {\n        data_addr.ss_family = 10;\n        data_addr.__ss_padding[0] = '\0';\n        data_addr.__ss_padding[1] = '\0';\n        uVar1 = data_addr._0_8_;\n      }\n    }\n    data_addr._0_8_ = uVar1;\n    if (data != -1) {\n      data_addr.__ss_padding._6_8_ = uVar9;\n      data_addr.__ss_padding._14_8_ = uVar10;\n      data_addr.__ss_padding._22_8_ = uVar11;\n      data_addr.__ss_padding._30_8_ = uVar12;\n      data_addr.__ss_padding._38_8_ = uVar13;\n      data_addr.__ss_padding._46_8_ = uVar14;\n      data_addr.__ss_padding._54_8_ = uVar15;\n      data_addr.__ss_padding._62_8_ = uVar16;\n      data_addr.__ss_padding._70_8_ = uVar17;\n      data_addr.__ss_padding._78_8_ = uVar18;\n      data_addr.__ss_padding._86_8_ = uVar19;\n      data_addr.__ss_padding._94_8_ = uVar20;\n      data_addr.__ss_padding._102_8_ = uVar21;\n      data_addr.__ss_padding._110_8_ = uVar22;\n      close(data);\n    }\n    data = socket((uint)myctladdr.ss_family,1,0);\n    if (data < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,"socket");\n      if (uVar7 == 0) {\n        uVar7 = 1;\n      }\n      else {\n        sendport = 1;\n      }\n      goto LAB_0010ca2b;\n    }\n    if (sendport == 0) {\n      iVar4 = setsockopt(data,1,2,&on,4);\n      if (-1 < iVar4) goto LAB_0010cc9e;\n      piVar6 = __errno_location();\n      error(0,*piVar6,"setsockopt (reuse address)");\nLAB_0010ca03:\n      close(data);\n      data = -1;\n      if (uVar7 == 0) {\n        uVar7 = 1;\n      }\n      else {\n        sendport = 1;\n      }\n      goto LAB_0010ca2b;\n    }\nLAB_0010cc9e:\n    iVar4 = bind(data,(sockaddr *)&data_addr,ctladdrlen);\n    if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,&DAT_0011a4df);\n      goto LAB_0010ca03;\n    }\n    if (((byte)options & 1) != 0) {\n      iVar4 = setsockopt(data,1,1,&on,4);\n      if (iVar4 < 0) {\n        piVar6 = __errno_location();\n        if (*piVar6 != 0xd) {\n          error(0,*piVar6,"setsockopt DEBUG (ignored)");\n        }\n      }\n    }\n    len = 0x80;\n    iVar4 = getsockname(data,(sockaddr *)&data_addr,&len);\n    if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,"getsockname");\n      goto LAB_0010ca03;\n    }\n    iVar4 = listen(data,1);\n    if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,"listen");\n    }\n    if (sendport == 0) {\n      if (uVar7 != 0) {\n        sendport = 1;\n      }\n      on = 8;\n      uVar7 = 0;\n      if (data_addr.ss_family == 2) {\n        iVar4 = setsockopt(data,0,1,&on,4);\n        if (iVar4 < 0) {\n          piVar6 = __errno_location();\n          error(0,*piVar6,"setsockopt TOS (ignored)");\n        }\n      }\n      goto LAB_0010ca2b;\n    }\n    if ((data_addr.ss_family == 2) && (doepsv4 == 0)) {\n      bVar8 = true;\nLAB_0010cd36:\n      if (!bVar8) {\n        iVar4 = 2;\nLAB_0010cd3f:\n        uVar7 = (uint)(iVar4 != 2);\n        goto LAB_0010ca2b;\n      }\nLAB_0010cd6c:\n      iVar4 = command("PORT %d,%d,%d,%d,%d,%d",(ulong)data_addr._0_8_ >> 0x20 & 0xff,\n                      (ulong)data_addr._0_8_ >> 0x28 & 0xff,(ulong)data_addr._0_8_ >> 0x30 & 0xff,\n                      (ulong)data_addr._0_8_ >> 0x38,(ulong)data_addr._0_8_ >> 0x10 & 0xff,\n                      (ulong)data_addr._0_8_ >> 0x18 & 0xff);\n    }\n    else {\n      getnameinfo((sockaddr *)&data_addr,ctladdrlen,ia,0x2e,portstr,10,3);\n      iVar4 = command("EPRT |%d|%s|%s|",(ulong)((data_addr.ss_family != 2) + 1),ia,portstr);\n      if (data_addr.ss_family == 2) {\n        bVar8 = iVar4 != 2;\n        if ((doepsv4 == 0) || (!bVar8)) goto LAB_0010cd36;\n        doepsv4 = 0;\n        goto LAB_0010cd6c;\n      }\n    }\n    if (iVar4 == 2) goto LAB_0010cd3f;\n    if (data_addr.ss_family == 2) {\n      iVar4 = command("LPRT 4,4,%u,%u,%u,%u,2,%u,%u",(ulong)data_addr._0_8_ >> 0x20 & 0xff,\n                      (ulong)data_addr._0_8_ >> 0x28 & 0xff,(ulong)data_addr._0_8_ >> 0x30 & 0xff,\n                      (ulong)data_addr._0_8_ >> 0x38,(ulong)(byte)data_addr.__ss_padding[0],\n                      (ulong)(byte)data_addr.__ss_padding[1]);\n    }\n    else if (data_addr.ss_family == 10) {\n      iVar4 = command("LPRT 6,16,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,2,%u,%u",\n                      data_addr.__ss_padding._6_8_ & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 8 & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 0x10 & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 0x18 & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 0x20 & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 0x28 & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 0x30 & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 0x38,\n                      data_addr.__ss_padding._14_8_ & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 8 & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 0x10 & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 0x18 & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 0x20 & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 0x28 & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 0x30 & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 0x38,\n                      (ulong)(byte)data_addr.__ss_padding[0],(ulong)(byte)data_addr.__ss_padding[1])\n      ;\n    }\n    if ((iVar4 != 5) || (sendport != -1)) goto LAB_0010cd3f;\n    sendport = 0;\n    uVar7 = 1;\n    goto LAB_0010cba4;\n  }" { (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;) (labeled_statement "LAB_0010cba4:\n    uVar1._2_1_ = myctladdr.__ss_padding[0];" statement_identifier : (expression_statement "uVar1._2_1_ = myctladdr.__ss_padding[0];" (assignment_expression "uVar1._2_1_ = myctladdr.__ss_padding[0]" (field_expression "uVar1._2_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;)) (expression_statement "uVar1._3_1_ = myctladdr.__ss_padding[1];" (assignment_expression "uVar1._3_1_ = myctladdr.__ss_padding[1]" (field_expression "uVar1._3_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[1]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar1._4_1_ = myctladdr.__ss_padding[2];" (assignment_expression "uVar1._4_1_ = myctladdr.__ss_padding[2]" (field_expression "uVar1._4_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[2]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar1._5_1_ = myctladdr.__ss_padding[3];" (assignment_expression "uVar1._5_1_ = myctladdr.__ss_padding[3]" (field_expression "uVar1._5_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[3]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar1._6_1_ = myctladdr.__ss_padding[4];" (assignment_expression "uVar1._6_1_ = myctladdr.__ss_padding[4]" (field_expression "uVar1._6_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[4]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar1._7_1_ = myctladdr.__ss_padding[5];" (assignment_expression "uVar1._7_1_ = myctladdr.__ss_padding[5]" (field_expression "uVar1._7_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[5]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar1._0_2_ = myctladdr.ss_family;" (assignment_expression "uVar1._0_2_ = myctladdr.ss_family" (field_expression "uVar1._0_2_" identifier . field_identifier) = (field_expression "myctladdr.ss_family" identifier . field_identifier)) ;) (expression_statement "uVar9._0_1_ = myctladdr.__ss_padding[6];" (assignment_expression "uVar9._0_1_ = myctladdr.__ss_padding[6]" (field_expression "uVar9._0_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[6]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar9._1_1_ = myctladdr.__ss_padding[7];" (assignment_expression "uVar9._1_1_ = myctladdr.__ss_padding[7]" (field_expression "uVar9._1_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[7]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar9._2_1_ = myctladdr.__ss_padding[8];" (assignment_expression "uVar9._2_1_ = myctladdr.__ss_padding[8]" (field_expression "uVar9._2_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[8]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar9._3_1_ = myctladdr.__ss_padding[9];" (assignment_expression "uVar9._3_1_ = myctladdr.__ss_padding[9]" (field_expression "uVar9._3_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[9]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar9._4_1_ = myctladdr.__ss_padding[10];" (assignment_expression "uVar9._4_1_ = myctladdr.__ss_padding[10]" (field_expression "uVar9._4_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[10]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar9._5_1_ = myctladdr.__ss_padding[0xb];" (assignment_expression "uVar9._5_1_ = myctladdr.__ss_padding[0xb]" (field_expression "uVar9._5_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0xb]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar9._6_1_ = myctladdr.__ss_padding[0xc];" (assignment_expression "uVar9._6_1_ = myctladdr.__ss_padding[0xc]" (field_expression "uVar9._6_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0xc]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar9._7_1_ = myctladdr.__ss_padding[0xd];" (assignment_expression "uVar9._7_1_ = myctladdr.__ss_padding[0xd]" (field_expression "uVar9._7_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0xd]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[6] = myctladdr.__ss_padding[6];" (assignment_expression "data_addr.__ss_padding[6] = myctladdr.__ss_padding[6]" (subscript_expression "data_addr.__ss_padding[6]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[6]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[7] = myctladdr.__ss_padding[7];" (assignment_expression "data_addr.__ss_padding[7] = myctladdr.__ss_padding[7]" (subscript_expression "data_addr.__ss_padding[7]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[7]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[8] = myctladdr.__ss_padding[8];" (assignment_expression "data_addr.__ss_padding[8] = myctladdr.__ss_padding[8]" (subscript_expression "data_addr.__ss_padding[8]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[8]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[9] = myctladdr.__ss_padding[9];" (assignment_expression "data_addr.__ss_padding[9] = myctladdr.__ss_padding[9]" (subscript_expression "data_addr.__ss_padding[9]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[9]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[10] = myctladdr.__ss_padding[10];" (assignment_expression "data_addr.__ss_padding[10] = myctladdr.__ss_padding[10]" (subscript_expression "data_addr.__ss_padding[10]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[10]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0xb] = myctladdr.__ss_padding[0xb];" (assignment_expression "data_addr.__ss_padding[0xb] = myctladdr.__ss_padding[0xb]" (subscript_expression "data_addr.__ss_padding[0xb]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0xb]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0xc] = myctladdr.__ss_padding[0xc];" (assignment_expression "data_addr.__ss_padding[0xc] = myctladdr.__ss_padding[0xc]" (subscript_expression "data_addr.__ss_padding[0xc]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0xc]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0xd] = myctladdr.__ss_padding[0xd];" (assignment_expression "data_addr.__ss_padding[0xd] = myctladdr.__ss_padding[0xd]" (subscript_expression "data_addr.__ss_padding[0xd]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0xd]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar10._0_1_ = myctladdr.__ss_padding[0xe];" (assignment_expression "uVar10._0_1_ = myctladdr.__ss_padding[0xe]" (field_expression "uVar10._0_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0xe]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar10._1_1_ = myctladdr.__ss_padding[0xf];" (assignment_expression "uVar10._1_1_ = myctladdr.__ss_padding[0xf]" (field_expression "uVar10._1_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0xf]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar10._2_1_ = myctladdr.__ss_padding[0x10];" (assignment_expression "uVar10._2_1_ = myctladdr.__ss_padding[0x10]" (field_expression "uVar10._2_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x10]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar10._3_1_ = myctladdr.__ss_padding[0x11];" (assignment_expression "uVar10._3_1_ = myctladdr.__ss_padding[0x11]" (field_expression "uVar10._3_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x11]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar10._4_1_ = myctladdr.__ss_padding[0x12];" (assignment_expression "uVar10._4_1_ = myctladdr.__ss_padding[0x12]" (field_expression "uVar10._4_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x12]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar10._5_1_ = myctladdr.__ss_padding[0x13];" (assignment_expression "uVar10._5_1_ = myctladdr.__ss_padding[0x13]" (field_expression "uVar10._5_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x13]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar10._6_1_ = myctladdr.__ss_padding[0x14];" (assignment_expression "uVar10._6_1_ = myctladdr.__ss_padding[0x14]" (field_expression "uVar10._6_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x14]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar10._7_1_ = myctladdr.__ss_padding[0x15];" (assignment_expression "uVar10._7_1_ = myctladdr.__ss_padding[0x15]" (field_expression "uVar10._7_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x15]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar11._0_1_ = myctladdr.__ss_padding[0x16];" (assignment_expression "uVar11._0_1_ = myctladdr.__ss_padding[0x16]" (field_expression "uVar11._0_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x16]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar11._1_1_ = myctladdr.__ss_padding[0x17];" (assignment_expression "uVar11._1_1_ = myctladdr.__ss_padding[0x17]" (field_expression "uVar11._1_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x17]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar11._2_1_ = myctladdr.__ss_padding[0x18];" (assignment_expression "uVar11._2_1_ = myctladdr.__ss_padding[0x18]" (field_expression "uVar11._2_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x18]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar11._3_1_ = myctladdr.__ss_padding[0x19];" (assignment_expression "uVar11._3_1_ = myctladdr.__ss_padding[0x19]" (field_expression "uVar11._3_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x19]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar11._4_1_ = myctladdr.__ss_padding[0x1a];" (assignment_expression "uVar11._4_1_ = myctladdr.__ss_padding[0x1a]" (field_expression "uVar11._4_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x1a]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar11._5_1_ = myctladdr.__ss_padding[0x1b];" (assignment_expression "uVar11._5_1_ = myctladdr.__ss_padding[0x1b]" (field_expression "uVar11._5_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x1b]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar11._6_1_ = myctladdr.__ss_padding[0x1c];" (assignment_expression "uVar11._6_1_ = myctladdr.__ss_padding[0x1c]" (field_expression "uVar11._6_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x1c]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar11._7_1_ = myctladdr.__ss_padding[0x1d];" (assignment_expression "uVar11._7_1_ = myctladdr.__ss_padding[0x1d]" (field_expression "uVar11._7_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x1d]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0xe] = myctladdr.__ss_padding[0xe];" (assignment_expression "data_addr.__ss_padding[0xe] = myctladdr.__ss_padding[0xe]" (subscript_expression "data_addr.__ss_padding[0xe]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0xe]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0xf] = myctladdr.__ss_padding[0xf];" (assignment_expression "data_addr.__ss_padding[0xf] = myctladdr.__ss_padding[0xf]" (subscript_expression "data_addr.__ss_padding[0xf]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0xf]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x10] = myctladdr.__ss_padding[0x10];" (assignment_expression "data_addr.__ss_padding[0x10] = myctladdr.__ss_padding[0x10]" (subscript_expression "data_addr.__ss_padding[0x10]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x10]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x11] = myctladdr.__ss_padding[0x11];" (assignment_expression "data_addr.__ss_padding[0x11] = myctladdr.__ss_padding[0x11]" (subscript_expression "data_addr.__ss_padding[0x11]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x11]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x12] = myctladdr.__ss_padding[0x12];" (assignment_expression "data_addr.__ss_padding[0x12] = myctladdr.__ss_padding[0x12]" (subscript_expression "data_addr.__ss_padding[0x12]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x12]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x13] = myctladdr.__ss_padding[0x13];" (assignment_expression "data_addr.__ss_padding[0x13] = myctladdr.__ss_padding[0x13]" (subscript_expression "data_addr.__ss_padding[0x13]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x13]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x14] = myctladdr.__ss_padding[0x14];" (assignment_expression "data_addr.__ss_padding[0x14] = myctladdr.__ss_padding[0x14]" (subscript_expression "data_addr.__ss_padding[0x14]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x14]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x15] = myctladdr.__ss_padding[0x15];" (assignment_expression "data_addr.__ss_padding[0x15] = myctladdr.__ss_padding[0x15]" (subscript_expression "data_addr.__ss_padding[0x15]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x15]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x16] = myctladdr.__ss_padding[0x16];" (assignment_expression "data_addr.__ss_padding[0x16] = myctladdr.__ss_padding[0x16]" (subscript_expression "data_addr.__ss_padding[0x16]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x16]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x17] = myctladdr.__ss_padding[0x17];" (assignment_expression "data_addr.__ss_padding[0x17] = myctladdr.__ss_padding[0x17]" (subscript_expression "data_addr.__ss_padding[0x17]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x17]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x18] = myctladdr.__ss_padding[0x18];" (assignment_expression "data_addr.__ss_padding[0x18] = myctladdr.__ss_padding[0x18]" (subscript_expression "data_addr.__ss_padding[0x18]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x18]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x19] = myctladdr.__ss_padding[0x19];" (assignment_expression "data_addr.__ss_padding[0x19] = myctladdr.__ss_padding[0x19]" (subscript_expression "data_addr.__ss_padding[0x19]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x19]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x1a] = myctladdr.__ss_padding[0x1a];" (assignment_expression "data_addr.__ss_padding[0x1a] = myctladdr.__ss_padding[0x1a]" (subscript_expression "data_addr.__ss_padding[0x1a]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x1a]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x1b] = myctladdr.__ss_padding[0x1b];" (assignment_expression "data_addr.__ss_padding[0x1b] = myctladdr.__ss_padding[0x1b]" (subscript_expression "data_addr.__ss_padding[0x1b]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x1b]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x1c] = myctladdr.__ss_padding[0x1c];" (assignment_expression "data_addr.__ss_padding[0x1c] = myctladdr.__ss_padding[0x1c]" (subscript_expression "data_addr.__ss_padding[0x1c]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x1c]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x1d] = myctladdr.__ss_padding[0x1d];" (assignment_expression "data_addr.__ss_padding[0x1d] = myctladdr.__ss_padding[0x1d]" (subscript_expression "data_addr.__ss_padding[0x1d]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x1d]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar12._0_1_ = myctladdr.__ss_padding[0x1e];" (assignment_expression "uVar12._0_1_ = myctladdr.__ss_padding[0x1e]" (field_expression "uVar12._0_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x1e]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar12._1_1_ = myctladdr.__ss_padding[0x1f];" (assignment_expression "uVar12._1_1_ = myctladdr.__ss_padding[0x1f]" (field_expression "uVar12._1_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x1f]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar12._2_1_ = myctladdr.__ss_padding[0x20];" (assignment_expression "uVar12._2_1_ = myctladdr.__ss_padding[0x20]" (field_expression "uVar12._2_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x20]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar12._3_1_ = myctladdr.__ss_padding[0x21];" (assignment_expression "uVar12._3_1_ = myctladdr.__ss_padding[0x21]" (field_expression "uVar12._3_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x21]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar12._4_1_ = myctladdr.__ss_padding[0x22];" (assignment_expression "uVar12._4_1_ = myctladdr.__ss_padding[0x22]" (field_expression "uVar12._4_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x22]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar12._5_1_ = myctladdr.__ss_padding[0x23];" (assignment_expression "uVar12._5_1_ = myctladdr.__ss_padding[0x23]" (field_expression "uVar12._5_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x23]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar12._6_1_ = myctladdr.__ss_padding[0x24];" (assignment_expression "uVar12._6_1_ = myctladdr.__ss_padding[0x24]" (field_expression "uVar12._6_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x24]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar12._7_1_ = myctladdr.__ss_padding[0x25];" (assignment_expression "uVar12._7_1_ = myctladdr.__ss_padding[0x25]" (field_expression "uVar12._7_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x25]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar13._0_1_ = myctladdr.__ss_padding[0x26];" (assignment_expression "uVar13._0_1_ = myctladdr.__ss_padding[0x26]" (field_expression "uVar13._0_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x26]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar13._1_1_ = myctladdr.__ss_padding[0x27];" (assignment_expression "uVar13._1_1_ = myctladdr.__ss_padding[0x27]" (field_expression "uVar13._1_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x27]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar13._2_1_ = myctladdr.__ss_padding[0x28];" (assignment_expression "uVar13._2_1_ = myctladdr.__ss_padding[0x28]" (field_expression "uVar13._2_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x28]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar13._3_1_ = myctladdr.__ss_padding[0x29];" (assignment_expression "uVar13._3_1_ = myctladdr.__ss_padding[0x29]" (field_expression "uVar13._3_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x29]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar13._4_1_ = myctladdr.__ss_padding[0x2a];" (assignment_expression "uVar13._4_1_ = myctladdr.__ss_padding[0x2a]" (field_expression "uVar13._4_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x2a]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar13._5_1_ = myctladdr.__ss_padding[0x2b];" (assignment_expression "uVar13._5_1_ = myctladdr.__ss_padding[0x2b]" (field_expression "uVar13._5_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x2b]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar13._6_1_ = myctladdr.__ss_padding[0x2c];" (assignment_expression "uVar13._6_1_ = myctladdr.__ss_padding[0x2c]" (field_expression "uVar13._6_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x2c]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar13._7_1_ = myctladdr.__ss_padding[0x2d];" (assignment_expression "uVar13._7_1_ = myctladdr.__ss_padding[0x2d]" (field_expression "uVar13._7_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x2d]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x1e] = myctladdr.__ss_padding[0x1e];" (assignment_expression "data_addr.__ss_padding[0x1e] = myctladdr.__ss_padding[0x1e]" (subscript_expression "data_addr.__ss_padding[0x1e]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x1e]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x1f] = myctladdr.__ss_padding[0x1f];" (assignment_expression "data_addr.__ss_padding[0x1f] = myctladdr.__ss_padding[0x1f]" (subscript_expression "data_addr.__ss_padding[0x1f]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x1f]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x20] = myctladdr.__ss_padding[0x20];" (assignment_expression "data_addr.__ss_padding[0x20] = myctladdr.__ss_padding[0x20]" (subscript_expression "data_addr.__ss_padding[0x20]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x20]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x21] = myctladdr.__ss_padding[0x21];" (assignment_expression "data_addr.__ss_padding[0x21] = myctladdr.__ss_padding[0x21]" (subscript_expression "data_addr.__ss_padding[0x21]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x21]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x22] = myctladdr.__ss_padding[0x22];" (assignment_expression "data_addr.__ss_padding[0x22] = myctladdr.__ss_padding[0x22]" (subscript_expression "data_addr.__ss_padding[0x22]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x22]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x23] = myctladdr.__ss_padding[0x23];" (assignment_expression "data_addr.__ss_padding[0x23] = myctladdr.__ss_padding[0x23]" (subscript_expression "data_addr.__ss_padding[0x23]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x23]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x24] = myctladdr.__ss_padding[0x24];" (assignment_expression "data_addr.__ss_padding[0x24] = myctladdr.__ss_padding[0x24]" (subscript_expression "data_addr.__ss_padding[0x24]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x24]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x25] = myctladdr.__ss_padding[0x25];" (assignment_expression "data_addr.__ss_padding[0x25] = myctladdr.__ss_padding[0x25]" (subscript_expression "data_addr.__ss_padding[0x25]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x25]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x26] = myctladdr.__ss_padding[0x26];" (assignment_expression "data_addr.__ss_padding[0x26] = myctladdr.__ss_padding[0x26]" (subscript_expression "data_addr.__ss_padding[0x26]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x26]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x27] = myctladdr.__ss_padding[0x27];" (assignment_expression "data_addr.__ss_padding[0x27] = myctladdr.__ss_padding[0x27]" (subscript_expression "data_addr.__ss_padding[0x27]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x27]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x28] = myctladdr.__ss_padding[0x28];" (assignment_expression "data_addr.__ss_padding[0x28] = myctladdr.__ss_padding[0x28]" (subscript_expression "data_addr.__ss_padding[0x28]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x28]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x29] = myctladdr.__ss_padding[0x29];" (assignment_expression "data_addr.__ss_padding[0x29] = myctladdr.__ss_padding[0x29]" (subscript_expression "data_addr.__ss_padding[0x29]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x29]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x2a] = myctladdr.__ss_padding[0x2a];" (assignment_expression "data_addr.__ss_padding[0x2a] = myctladdr.__ss_padding[0x2a]" (subscript_expression "data_addr.__ss_padding[0x2a]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x2a]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x2b] = myctladdr.__ss_padding[0x2b];" (assignment_expression "data_addr.__ss_padding[0x2b] = myctladdr.__ss_padding[0x2b]" (subscript_expression "data_addr.__ss_padding[0x2b]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x2b]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x2c] = myctladdr.__ss_padding[0x2c];" (assignment_expression "data_addr.__ss_padding[0x2c] = myctladdr.__ss_padding[0x2c]" (subscript_expression "data_addr.__ss_padding[0x2c]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x2c]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x2d] = myctladdr.__ss_padding[0x2d];" (assignment_expression "data_addr.__ss_padding[0x2d] = myctladdr.__ss_padding[0x2d]" (subscript_expression "data_addr.__ss_padding[0x2d]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x2d]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar14._0_1_ = myctladdr.__ss_padding[0x2e];" (assignment_expression "uVar14._0_1_ = myctladdr.__ss_padding[0x2e]" (field_expression "uVar14._0_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x2e]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar14._1_1_ = myctladdr.__ss_padding[0x2f];" (assignment_expression "uVar14._1_1_ = myctladdr.__ss_padding[0x2f]" (field_expression "uVar14._1_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x2f]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar14._2_1_ = myctladdr.__ss_padding[0x30];" (assignment_expression "uVar14._2_1_ = myctladdr.__ss_padding[0x30]" (field_expression "uVar14._2_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x30]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar14._3_1_ = myctladdr.__ss_padding[0x31];" (assignment_expression "uVar14._3_1_ = myctladdr.__ss_padding[0x31]" (field_expression "uVar14._3_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x31]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar14._4_1_ = myctladdr.__ss_padding[0x32];" (assignment_expression "uVar14._4_1_ = myctladdr.__ss_padding[0x32]" (field_expression "uVar14._4_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x32]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar14._5_1_ = myctladdr.__ss_padding[0x33];" (assignment_expression "uVar14._5_1_ = myctladdr.__ss_padding[0x33]" (field_expression "uVar14._5_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x33]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar14._6_1_ = myctladdr.__ss_padding[0x34];" (assignment_expression "uVar14._6_1_ = myctladdr.__ss_padding[0x34]" (field_expression "uVar14._6_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x34]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar14._7_1_ = myctladdr.__ss_padding[0x35];" (assignment_expression "uVar14._7_1_ = myctladdr.__ss_padding[0x35]" (field_expression "uVar14._7_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x35]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar15._0_1_ = myctladdr.__ss_padding[0x36];" (assignment_expression "uVar15._0_1_ = myctladdr.__ss_padding[0x36]" (field_expression "uVar15._0_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x36]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar15._1_1_ = myctladdr.__ss_padding[0x37];" (assignment_expression "uVar15._1_1_ = myctladdr.__ss_padding[0x37]" (field_expression "uVar15._1_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x37]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar15._2_1_ = myctladdr.__ss_padding[0x38];" (assignment_expression "uVar15._2_1_ = myctladdr.__ss_padding[0x38]" (field_expression "uVar15._2_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x38]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar15._3_1_ = myctladdr.__ss_padding[0x39];" (assignment_expression "uVar15._3_1_ = myctladdr.__ss_padding[0x39]" (field_expression "uVar15._3_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x39]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar15._4_1_ = myctladdr.__ss_padding[0x3a];" (assignment_expression "uVar15._4_1_ = myctladdr.__ss_padding[0x3a]" (field_expression "uVar15._4_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x3a]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar15._5_1_ = myctladdr.__ss_padding[0x3b];" (assignment_expression "uVar15._5_1_ = myctladdr.__ss_padding[0x3b]" (field_expression "uVar15._5_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x3b]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar15._6_1_ = myctladdr.__ss_padding[0x3c];" (assignment_expression "uVar15._6_1_ = myctladdr.__ss_padding[0x3c]" (field_expression "uVar15._6_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x3c]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar15._7_1_ = myctladdr.__ss_padding[0x3d];" (assignment_expression "uVar15._7_1_ = myctladdr.__ss_padding[0x3d]" (field_expression "uVar15._7_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x3d]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x2e] = myctladdr.__ss_padding[0x2e];" (assignment_expression "data_addr.__ss_padding[0x2e] = myctladdr.__ss_padding[0x2e]" (subscript_expression "data_addr.__ss_padding[0x2e]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x2e]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x2f] = myctladdr.__ss_padding[0x2f];" (assignment_expression "data_addr.__ss_padding[0x2f] = myctladdr.__ss_padding[0x2f]" (subscript_expression "data_addr.__ss_padding[0x2f]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x2f]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x30] = myctladdr.__ss_padding[0x30];" (assignment_expression "data_addr.__ss_padding[0x30] = myctladdr.__ss_padding[0x30]" (subscript_expression "data_addr.__ss_padding[0x30]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x30]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x31] = myctladdr.__ss_padding[0x31];" (assignment_expression "data_addr.__ss_padding[0x31] = myctladdr.__ss_padding[0x31]" (subscript_expression "data_addr.__ss_padding[0x31]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x31]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x32] = myctladdr.__ss_padding[0x32];" (assignment_expression "data_addr.__ss_padding[0x32] = myctladdr.__ss_padding[0x32]" (subscript_expression "data_addr.__ss_padding[0x32]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x32]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x33] = myctladdr.__ss_padding[0x33];" (assignment_expression "data_addr.__ss_padding[0x33] = myctladdr.__ss_padding[0x33]" (subscript_expression "data_addr.__ss_padding[0x33]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x33]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x34] = myctladdr.__ss_padding[0x34];" (assignment_expression "data_addr.__ss_padding[0x34] = myctladdr.__ss_padding[0x34]" (subscript_expression "data_addr.__ss_padding[0x34]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x34]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x35] = myctladdr.__ss_padding[0x35];" (assignment_expression "data_addr.__ss_padding[0x35] = myctladdr.__ss_padding[0x35]" (subscript_expression "data_addr.__ss_padding[0x35]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x35]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x36] = myctladdr.__ss_padding[0x36];" (assignment_expression "data_addr.__ss_padding[0x36] = myctladdr.__ss_padding[0x36]" (subscript_expression "data_addr.__ss_padding[0x36]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x36]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x37] = myctladdr.__ss_padding[0x37];" (assignment_expression "data_addr.__ss_padding[0x37] = myctladdr.__ss_padding[0x37]" (subscript_expression "data_addr.__ss_padding[0x37]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x37]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x38] = myctladdr.__ss_padding[0x38];" (assignment_expression "data_addr.__ss_padding[0x38] = myctladdr.__ss_padding[0x38]" (subscript_expression "data_addr.__ss_padding[0x38]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x38]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x39] = myctladdr.__ss_padding[0x39];" (assignment_expression "data_addr.__ss_padding[0x39] = myctladdr.__ss_padding[0x39]" (subscript_expression "data_addr.__ss_padding[0x39]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x39]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x3a] = myctladdr.__ss_padding[0x3a];" (assignment_expression "data_addr.__ss_padding[0x3a] = myctladdr.__ss_padding[0x3a]" (subscript_expression "data_addr.__ss_padding[0x3a]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x3a]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x3b] = myctladdr.__ss_padding[0x3b];" (assignment_expression "data_addr.__ss_padding[0x3b] = myctladdr.__ss_padding[0x3b]" (subscript_expression "data_addr.__ss_padding[0x3b]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x3b]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x3c] = myctladdr.__ss_padding[0x3c];" (assignment_expression "data_addr.__ss_padding[0x3c] = myctladdr.__ss_padding[0x3c]" (subscript_expression "data_addr.__ss_padding[0x3c]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x3c]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x3d] = myctladdr.__ss_padding[0x3d];" (assignment_expression "data_addr.__ss_padding[0x3d] = myctladdr.__ss_padding[0x3d]" (subscript_expression "data_addr.__ss_padding[0x3d]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x3d]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar16._0_1_ = myctladdr.__ss_padding[0x3e];" (assignment_expression "uVar16._0_1_ = myctladdr.__ss_padding[0x3e]" (field_expression "uVar16._0_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x3e]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar16._1_1_ = myctladdr.__ss_padding[0x3f];" (assignment_expression "uVar16._1_1_ = myctladdr.__ss_padding[0x3f]" (field_expression "uVar16._1_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x3f]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar16._2_1_ = myctladdr.__ss_padding[0x40];" (assignment_expression "uVar16._2_1_ = myctladdr.__ss_padding[0x40]" (field_expression "uVar16._2_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x40]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar16._3_1_ = myctladdr.__ss_padding[0x41];" (assignment_expression "uVar16._3_1_ = myctladdr.__ss_padding[0x41]" (field_expression "uVar16._3_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x41]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar16._4_1_ = myctladdr.__ss_padding[0x42];" (assignment_expression "uVar16._4_1_ = myctladdr.__ss_padding[0x42]" (field_expression "uVar16._4_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x42]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar16._5_1_ = myctladdr.__ss_padding[0x43];" (assignment_expression "uVar16._5_1_ = myctladdr.__ss_padding[0x43]" (field_expression "uVar16._5_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x43]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar16._6_1_ = myctladdr.__ss_padding[0x44];" (assignment_expression "uVar16._6_1_ = myctladdr.__ss_padding[0x44]" (field_expression "uVar16._6_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x44]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar16._7_1_ = myctladdr.__ss_padding[0x45];" (assignment_expression "uVar16._7_1_ = myctladdr.__ss_padding[0x45]" (field_expression "uVar16._7_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x45]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar17._0_1_ = myctladdr.__ss_padding[0x46];" (assignment_expression "uVar17._0_1_ = myctladdr.__ss_padding[0x46]" (field_expression "uVar17._0_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x46]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar17._1_1_ = myctladdr.__ss_padding[0x47];" (assignment_expression "uVar17._1_1_ = myctladdr.__ss_padding[0x47]" (field_expression "uVar17._1_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x47]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar17._2_1_ = myctladdr.__ss_padding[0x48];" (assignment_expression "uVar17._2_1_ = myctladdr.__ss_padding[0x48]" (field_expression "uVar17._2_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x48]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar17._3_1_ = myctladdr.__ss_padding[0x49];" (assignment_expression "uVar17._3_1_ = myctladdr.__ss_padding[0x49]" (field_expression "uVar17._3_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x49]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar17._4_1_ = myctladdr.__ss_padding[0x4a];" (assignment_expression "uVar17._4_1_ = myctladdr.__ss_padding[0x4a]" (field_expression "uVar17._4_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x4a]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar17._5_1_ = myctladdr.__ss_padding[0x4b];" (assignment_expression "uVar17._5_1_ = myctladdr.__ss_padding[0x4b]" (field_expression "uVar17._5_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x4b]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar17._6_1_ = myctladdr.__ss_padding[0x4c];" (assignment_expression "uVar17._6_1_ = myctladdr.__ss_padding[0x4c]" (field_expression "uVar17._6_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x4c]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar17._7_1_ = myctladdr.__ss_padding[0x4d];" (assignment_expression "uVar17._7_1_ = myctladdr.__ss_padding[0x4d]" (field_expression "uVar17._7_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x4d]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x3e] = myctladdr.__ss_padding[0x3e];" (assignment_expression "data_addr.__ss_padding[0x3e] = myctladdr.__ss_padding[0x3e]" (subscript_expression "data_addr.__ss_padding[0x3e]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x3e]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x3f] = myctladdr.__ss_padding[0x3f];" (assignment_expression "data_addr.__ss_padding[0x3f] = myctladdr.__ss_padding[0x3f]" (subscript_expression "data_addr.__ss_padding[0x3f]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x3f]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x40] = myctladdr.__ss_padding[0x40];" (assignment_expression "data_addr.__ss_padding[0x40] = myctladdr.__ss_padding[0x40]" (subscript_expression "data_addr.__ss_padding[0x40]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x40]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x41] = myctladdr.__ss_padding[0x41];" (assignment_expression "data_addr.__ss_padding[0x41] = myctladdr.__ss_padding[0x41]" (subscript_expression "data_addr.__ss_padding[0x41]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x41]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x42] = myctladdr.__ss_padding[0x42];" (assignment_expression "data_addr.__ss_padding[0x42] = myctladdr.__ss_padding[0x42]" (subscript_expression "data_addr.__ss_padding[0x42]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x42]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x43] = myctladdr.__ss_padding[0x43];" (assignment_expression "data_addr.__ss_padding[0x43] = myctladdr.__ss_padding[0x43]" (subscript_expression "data_addr.__ss_padding[0x43]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x43]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x44] = myctladdr.__ss_padding[0x44];" (assignment_expression "data_addr.__ss_padding[0x44] = myctladdr.__ss_padding[0x44]" (subscript_expression "data_addr.__ss_padding[0x44]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x44]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x45] = myctladdr.__ss_padding[0x45];" (assignment_expression "data_addr.__ss_padding[0x45] = myctladdr.__ss_padding[0x45]" (subscript_expression "data_addr.__ss_padding[0x45]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x45]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x46] = myctladdr.__ss_padding[0x46];" (assignment_expression "data_addr.__ss_padding[0x46] = myctladdr.__ss_padding[0x46]" (subscript_expression "data_addr.__ss_padding[0x46]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x46]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x47] = myctladdr.__ss_padding[0x47];" (assignment_expression "data_addr.__ss_padding[0x47] = myctladdr.__ss_padding[0x47]" (subscript_expression "data_addr.__ss_padding[0x47]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x47]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x48] = myctladdr.__ss_padding[0x48];" (assignment_expression "data_addr.__ss_padding[0x48] = myctladdr.__ss_padding[0x48]" (subscript_expression "data_addr.__ss_padding[0x48]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x48]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x49] = myctladdr.__ss_padding[0x49];" (assignment_expression "data_addr.__ss_padding[0x49] = myctladdr.__ss_padding[0x49]" (subscript_expression "data_addr.__ss_padding[0x49]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x49]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x4a] = myctladdr.__ss_padding[0x4a];" (assignment_expression "data_addr.__ss_padding[0x4a] = myctladdr.__ss_padding[0x4a]" (subscript_expression "data_addr.__ss_padding[0x4a]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x4a]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x4b] = myctladdr.__ss_padding[0x4b];" (assignment_expression "data_addr.__ss_padding[0x4b] = myctladdr.__ss_padding[0x4b]" (subscript_expression "data_addr.__ss_padding[0x4b]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x4b]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x4c] = myctladdr.__ss_padding[0x4c];" (assignment_expression "data_addr.__ss_padding[0x4c] = myctladdr.__ss_padding[0x4c]" (subscript_expression "data_addr.__ss_padding[0x4c]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x4c]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x4d] = myctladdr.__ss_padding[0x4d];" (assignment_expression "data_addr.__ss_padding[0x4d] = myctladdr.__ss_padding[0x4d]" (subscript_expression "data_addr.__ss_padding[0x4d]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x4d]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar18._0_1_ = myctladdr.__ss_padding[0x4e];" (assignment_expression "uVar18._0_1_ = myctladdr.__ss_padding[0x4e]" (field_expression "uVar18._0_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x4e]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar18._1_1_ = myctladdr.__ss_padding[0x4f];" (assignment_expression "uVar18._1_1_ = myctladdr.__ss_padding[0x4f]" (field_expression "uVar18._1_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x4f]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar18._2_1_ = myctladdr.__ss_padding[0x50];" (assignment_expression "uVar18._2_1_ = myctladdr.__ss_padding[0x50]" (field_expression "uVar18._2_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x50]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar18._3_1_ = myctladdr.__ss_padding[0x51];" (assignment_expression "uVar18._3_1_ = myctladdr.__ss_padding[0x51]" (field_expression "uVar18._3_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x51]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar18._4_1_ = myctladdr.__ss_padding[0x52];" (assignment_expression "uVar18._4_1_ = myctladdr.__ss_padding[0x52]" (field_expression "uVar18._4_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x52]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar18._5_1_ = myctladdr.__ss_padding[0x53];" (assignment_expression "uVar18._5_1_ = myctladdr.__ss_padding[0x53]" (field_expression "uVar18._5_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x53]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar18._6_1_ = myctladdr.__ss_padding[0x54];" (assignment_expression "uVar18._6_1_ = myctladdr.__ss_padding[0x54]" (field_expression "uVar18._6_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x54]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar18._7_1_ = myctladdr.__ss_padding[0x55];" (assignment_expression "uVar18._7_1_ = myctladdr.__ss_padding[0x55]" (field_expression "uVar18._7_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x55]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar19._0_1_ = myctladdr.__ss_padding[0x56];" (assignment_expression "uVar19._0_1_ = myctladdr.__ss_padding[0x56]" (field_expression "uVar19._0_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x56]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar19._1_1_ = myctladdr.__ss_padding[0x57];" (assignment_expression "uVar19._1_1_ = myctladdr.__ss_padding[0x57]" (field_expression "uVar19._1_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x57]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar19._2_1_ = myctladdr.__ss_padding[0x58];" (assignment_expression "uVar19._2_1_ = myctladdr.__ss_padding[0x58]" (field_expression "uVar19._2_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x58]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar19._3_1_ = myctladdr.__ss_padding[0x59];" (assignment_expression "uVar19._3_1_ = myctladdr.__ss_padding[0x59]" (field_expression "uVar19._3_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x59]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar19._4_1_ = myctladdr.__ss_padding[0x5a];" (assignment_expression "uVar19._4_1_ = myctladdr.__ss_padding[0x5a]" (field_expression "uVar19._4_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x5a]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar19._5_1_ = myctladdr.__ss_padding[0x5b];" (assignment_expression "uVar19._5_1_ = myctladdr.__ss_padding[0x5b]" (field_expression "uVar19._5_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x5b]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar19._6_1_ = myctladdr.__ss_padding[0x5c];" (assignment_expression "uVar19._6_1_ = myctladdr.__ss_padding[0x5c]" (field_expression "uVar19._6_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x5c]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar19._7_1_ = myctladdr.__ss_padding[0x5d];" (assignment_expression "uVar19._7_1_ = myctladdr.__ss_padding[0x5d]" (field_expression "uVar19._7_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x5d]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x4e] = myctladdr.__ss_padding[0x4e];" (assignment_expression "data_addr.__ss_padding[0x4e] = myctladdr.__ss_padding[0x4e]" (subscript_expression "data_addr.__ss_padding[0x4e]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x4e]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x4f] = myctladdr.__ss_padding[0x4f];" (assignment_expression "data_addr.__ss_padding[0x4f] = myctladdr.__ss_padding[0x4f]" (subscript_expression "data_addr.__ss_padding[0x4f]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x4f]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x50] = myctladdr.__ss_padding[0x50];" (assignment_expression "data_addr.__ss_padding[0x50] = myctladdr.__ss_padding[0x50]" (subscript_expression "data_addr.__ss_padding[0x50]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x50]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x51] = myctladdr.__ss_padding[0x51];" (assignment_expression "data_addr.__ss_padding[0x51] = myctladdr.__ss_padding[0x51]" (subscript_expression "data_addr.__ss_padding[0x51]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x51]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x52] = myctladdr.__ss_padding[0x52];" (assignment_expression "data_addr.__ss_padding[0x52] = myctladdr.__ss_padding[0x52]" (subscript_expression "data_addr.__ss_padding[0x52]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x52]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x53] = myctladdr.__ss_padding[0x53];" (assignment_expression "data_addr.__ss_padding[0x53] = myctladdr.__ss_padding[0x53]" (subscript_expression "data_addr.__ss_padding[0x53]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x53]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x54] = myctladdr.__ss_padding[0x54];" (assignment_expression "data_addr.__ss_padding[0x54] = myctladdr.__ss_padding[0x54]" (subscript_expression "data_addr.__ss_padding[0x54]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x54]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x55] = myctladdr.__ss_padding[0x55];" (assignment_expression "data_addr.__ss_padding[0x55] = myctladdr.__ss_padding[0x55]" (subscript_expression "data_addr.__ss_padding[0x55]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x55]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x56] = myctladdr.__ss_padding[0x56];" (assignment_expression "data_addr.__ss_padding[0x56] = myctladdr.__ss_padding[0x56]" (subscript_expression "data_addr.__ss_padding[0x56]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x56]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x57] = myctladdr.__ss_padding[0x57];" (assignment_expression "data_addr.__ss_padding[0x57] = myctladdr.__ss_padding[0x57]" (subscript_expression "data_addr.__ss_padding[0x57]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x57]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x58] = myctladdr.__ss_padding[0x58];" (assignment_expression "data_addr.__ss_padding[0x58] = myctladdr.__ss_padding[0x58]" (subscript_expression "data_addr.__ss_padding[0x58]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x58]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x59] = myctladdr.__ss_padding[0x59];" (assignment_expression "data_addr.__ss_padding[0x59] = myctladdr.__ss_padding[0x59]" (subscript_expression "data_addr.__ss_padding[0x59]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x59]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x5a] = myctladdr.__ss_padding[0x5a];" (assignment_expression "data_addr.__ss_padding[0x5a] = myctladdr.__ss_padding[0x5a]" (subscript_expression "data_addr.__ss_padding[0x5a]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x5a]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x5b] = myctladdr.__ss_padding[0x5b];" (assignment_expression "data_addr.__ss_padding[0x5b] = myctladdr.__ss_padding[0x5b]" (subscript_expression "data_addr.__ss_padding[0x5b]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x5b]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x5c] = myctladdr.__ss_padding[0x5c];" (assignment_expression "data_addr.__ss_padding[0x5c] = myctladdr.__ss_padding[0x5c]" (subscript_expression "data_addr.__ss_padding[0x5c]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x5c]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x5d] = myctladdr.__ss_padding[0x5d];" (assignment_expression "data_addr.__ss_padding[0x5d] = myctladdr.__ss_padding[0x5d]" (subscript_expression "data_addr.__ss_padding[0x5d]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x5d]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar20._0_1_ = myctladdr.__ss_padding[0x5e];" (assignment_expression "uVar20._0_1_ = myctladdr.__ss_padding[0x5e]" (field_expression "uVar20._0_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x5e]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar20._1_1_ = myctladdr.__ss_padding[0x5f];" (assignment_expression "uVar20._1_1_ = myctladdr.__ss_padding[0x5f]" (field_expression "uVar20._1_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x5f]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar20._2_1_ = myctladdr.__ss_padding[0x60];" (assignment_expression "uVar20._2_1_ = myctladdr.__ss_padding[0x60]" (field_expression "uVar20._2_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x60]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar20._3_1_ = myctladdr.__ss_padding[0x61];" (assignment_expression "uVar20._3_1_ = myctladdr.__ss_padding[0x61]" (field_expression "uVar20._3_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x61]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar20._4_1_ = myctladdr.__ss_padding[0x62];" (assignment_expression "uVar20._4_1_ = myctladdr.__ss_padding[0x62]" (field_expression "uVar20._4_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x62]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar20._5_1_ = myctladdr.__ss_padding[99];" (assignment_expression "uVar20._5_1_ = myctladdr.__ss_padding[99]" (field_expression "uVar20._5_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[99]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar20._6_1_ = myctladdr.__ss_padding[100];" (assignment_expression "uVar20._6_1_ = myctladdr.__ss_padding[100]" (field_expression "uVar20._6_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[100]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar20._7_1_ = myctladdr.__ss_padding[0x65];" (assignment_expression "uVar20._7_1_ = myctladdr.__ss_padding[0x65]" (field_expression "uVar20._7_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x65]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar21._0_1_ = myctladdr.__ss_padding[0x66];" (assignment_expression "uVar21._0_1_ = myctladdr.__ss_padding[0x66]" (field_expression "uVar21._0_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x66]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar21._1_1_ = myctladdr.__ss_padding[0x67];" (assignment_expression "uVar21._1_1_ = myctladdr.__ss_padding[0x67]" (field_expression "uVar21._1_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x67]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar21._2_1_ = myctladdr.__ss_padding[0x68];" (assignment_expression "uVar21._2_1_ = myctladdr.__ss_padding[0x68]" (field_expression "uVar21._2_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x68]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar21._3_1_ = myctladdr.__ss_padding[0x69];" (assignment_expression "uVar21._3_1_ = myctladdr.__ss_padding[0x69]" (field_expression "uVar21._3_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x69]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar21._4_1_ = myctladdr.__ss_padding[0x6a];" (assignment_expression "uVar21._4_1_ = myctladdr.__ss_padding[0x6a]" (field_expression "uVar21._4_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x6a]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar21._5_1_ = myctladdr.__ss_padding[0x6b];" (assignment_expression "uVar21._5_1_ = myctladdr.__ss_padding[0x6b]" (field_expression "uVar21._5_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x6b]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar21._6_1_ = myctladdr.__ss_padding[0x6c];" (assignment_expression "uVar21._6_1_ = myctladdr.__ss_padding[0x6c]" (field_expression "uVar21._6_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x6c]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar21._7_1_ = myctladdr.__ss_padding[0x6d];" (assignment_expression "uVar21._7_1_ = myctladdr.__ss_padding[0x6d]" (field_expression "uVar21._7_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x6d]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x5e] = myctladdr.__ss_padding[0x5e];" (assignment_expression "data_addr.__ss_padding[0x5e] = myctladdr.__ss_padding[0x5e]" (subscript_expression "data_addr.__ss_padding[0x5e]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x5e]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x5f] = myctladdr.__ss_padding[0x5f];" (assignment_expression "data_addr.__ss_padding[0x5f] = myctladdr.__ss_padding[0x5f]" (subscript_expression "data_addr.__ss_padding[0x5f]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x5f]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x60] = myctladdr.__ss_padding[0x60];" (assignment_expression "data_addr.__ss_padding[0x60] = myctladdr.__ss_padding[0x60]" (subscript_expression "data_addr.__ss_padding[0x60]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x60]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x61] = myctladdr.__ss_padding[0x61];" (assignment_expression "data_addr.__ss_padding[0x61] = myctladdr.__ss_padding[0x61]" (subscript_expression "data_addr.__ss_padding[0x61]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x61]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x62] = myctladdr.__ss_padding[0x62];" (assignment_expression "data_addr.__ss_padding[0x62] = myctladdr.__ss_padding[0x62]" (subscript_expression "data_addr.__ss_padding[0x62]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x62]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[99] = myctladdr.__ss_padding[99];" (assignment_expression "data_addr.__ss_padding[99] = myctladdr.__ss_padding[99]" (subscript_expression "data_addr.__ss_padding[99]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[99]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[100] = myctladdr.__ss_padding[100];" (assignment_expression "data_addr.__ss_padding[100] = myctladdr.__ss_padding[100]" (subscript_expression "data_addr.__ss_padding[100]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[100]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x65] = myctladdr.__ss_padding[0x65];" (assignment_expression "data_addr.__ss_padding[0x65] = myctladdr.__ss_padding[0x65]" (subscript_expression "data_addr.__ss_padding[0x65]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x65]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x66] = myctladdr.__ss_padding[0x66];" (assignment_expression "data_addr.__ss_padding[0x66] = myctladdr.__ss_padding[0x66]" (subscript_expression "data_addr.__ss_padding[0x66]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x66]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x67] = myctladdr.__ss_padding[0x67];" (assignment_expression "data_addr.__ss_padding[0x67] = myctladdr.__ss_padding[0x67]" (subscript_expression "data_addr.__ss_padding[0x67]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x67]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x68] = myctladdr.__ss_padding[0x68];" (assignment_expression "data_addr.__ss_padding[0x68] = myctladdr.__ss_padding[0x68]" (subscript_expression "data_addr.__ss_padding[0x68]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x68]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x69] = myctladdr.__ss_padding[0x69];" (assignment_expression "data_addr.__ss_padding[0x69] = myctladdr.__ss_padding[0x69]" (subscript_expression "data_addr.__ss_padding[0x69]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x69]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x6a] = myctladdr.__ss_padding[0x6a];" (assignment_expression "data_addr.__ss_padding[0x6a] = myctladdr.__ss_padding[0x6a]" (subscript_expression "data_addr.__ss_padding[0x6a]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x6a]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x6b] = myctladdr.__ss_padding[0x6b];" (assignment_expression "data_addr.__ss_padding[0x6b] = myctladdr.__ss_padding[0x6b]" (subscript_expression "data_addr.__ss_padding[0x6b]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x6b]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x6c] = myctladdr.__ss_padding[0x6c];" (assignment_expression "data_addr.__ss_padding[0x6c] = myctladdr.__ss_padding[0x6c]" (subscript_expression "data_addr.__ss_padding[0x6c]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x6c]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x6d] = myctladdr.__ss_padding[0x6d];" (assignment_expression "data_addr.__ss_padding[0x6d] = myctladdr.__ss_padding[0x6d]" (subscript_expression "data_addr.__ss_padding[0x6d]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x6d]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar22._0_1_ = myctladdr.__ss_padding[0x6e];" (assignment_expression "uVar22._0_1_ = myctladdr.__ss_padding[0x6e]" (field_expression "uVar22._0_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x6e]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar22._1_1_ = myctladdr.__ss_padding[0x6f];" (assignment_expression "uVar22._1_1_ = myctladdr.__ss_padding[0x6f]" (field_expression "uVar22._1_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x6f]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar22._2_1_ = myctladdr.__ss_padding[0x70];" (assignment_expression "uVar22._2_1_ = myctladdr.__ss_padding[0x70]" (field_expression "uVar22._2_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x70]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar22._3_1_ = myctladdr.__ss_padding[0x71];" (assignment_expression "uVar22._3_1_ = myctladdr.__ss_padding[0x71]" (field_expression "uVar22._3_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x71]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar22._4_1_ = myctladdr.__ss_padding[0x72];" (assignment_expression "uVar22._4_1_ = myctladdr.__ss_padding[0x72]" (field_expression "uVar22._4_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x72]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar22._5_1_ = myctladdr.__ss_padding[0x73];" (assignment_expression "uVar22._5_1_ = myctladdr.__ss_padding[0x73]" (field_expression "uVar22._5_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x73]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar22._6_1_ = myctladdr.__ss_padding[0x74];" (assignment_expression "uVar22._6_1_ = myctladdr.__ss_padding[0x74]" (field_expression "uVar22._6_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x74]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar22._7_1_ = myctladdr.__ss_padding[0x75];" (assignment_expression "uVar22._7_1_ = myctladdr.__ss_padding[0x75]" (field_expression "uVar22._7_1_" identifier . field_identifier) = (subscript_expression "myctladdr.__ss_padding[0x75]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_align = myctladdr.__ss_align;" (assignment_expression "data_addr.__ss_align = myctladdr.__ss_align" (field_expression "data_addr.__ss_align" identifier . field_identifier) = (field_expression "myctladdr.__ss_align" identifier . field_identifier)) ;) (expression_statement "data_addr.__ss_padding[0x6e] = myctladdr.__ss_padding[0x6e];" (assignment_expression "data_addr.__ss_padding[0x6e] = myctladdr.__ss_padding[0x6e]" (subscript_expression "data_addr.__ss_padding[0x6e]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x6e]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x6f] = myctladdr.__ss_padding[0x6f];" (assignment_expression "data_addr.__ss_padding[0x6f] = myctladdr.__ss_padding[0x6f]" (subscript_expression "data_addr.__ss_padding[0x6f]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x6f]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x70] = myctladdr.__ss_padding[0x70];" (assignment_expression "data_addr.__ss_padding[0x70] = myctladdr.__ss_padding[0x70]" (subscript_expression "data_addr.__ss_padding[0x70]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x70]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x71] = myctladdr.__ss_padding[0x71];" (assignment_expression "data_addr.__ss_padding[0x71] = myctladdr.__ss_padding[0x71]" (subscript_expression "data_addr.__ss_padding[0x71]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x71]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x72] = myctladdr.__ss_padding[0x72];" (assignment_expression "data_addr.__ss_padding[0x72] = myctladdr.__ss_padding[0x72]" (subscript_expression "data_addr.__ss_padding[0x72]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x72]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x73] = myctladdr.__ss_padding[0x73];" (assignment_expression "data_addr.__ss_padding[0x73] = myctladdr.__ss_padding[0x73]" (subscript_expression "data_addr.__ss_padding[0x73]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x73]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x74] = myctladdr.__ss_padding[0x74];" (assignment_expression "data_addr.__ss_padding[0x74] = myctladdr.__ss_padding[0x74]" (subscript_expression "data_addr.__ss_padding[0x74]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x74]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x75] = myctladdr.__ss_padding[0x75];" (assignment_expression "data_addr.__ss_padding[0x75] = myctladdr.__ss_padding[0x75]" (subscript_expression "data_addr.__ss_padding[0x75]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "myctladdr.__ss_padding[0x75]" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (if_statement "if (sendport != 0) {\n      data_addr.__ss_padding._2_4_ = SUB64(myctladdr.__ss_padding._0_6_,2);\n      if (myctladdr.ss_family == 2) {\n        data_addr.ss_family = 2;\n        data_addr.__ss_padding[0] = '\0';\n        data_addr.__ss_padding[1] = '\0';\n        uVar1 = data_addr._0_8_;\n      }\n      else if (myctladdr.ss_family == 10) {\n        data_addr.ss_family = 10;\n        data_addr.__ss_padding[0] = '\0';\n        data_addr.__ss_padding[1] = '\0';\n        uVar1 = data_addr._0_8_;\n      }\n    }" if (parenthesized_expression "(sendport != 0)" ( (binary_expression "sendport != 0" identifier != number_literal) )) (compound_statement "{\n      data_addr.__ss_padding._2_4_ = SUB64(myctladdr.__ss_padding._0_6_,2);\n      if (myctladdr.ss_family == 2) {\n        data_addr.ss_family = 2;\n        data_addr.__ss_padding[0] = '\0';\n        data_addr.__ss_padding[1] = '\0';\n        uVar1 = data_addr._0_8_;\n      }\n      else if (myctladdr.ss_family == 10) {\n        data_addr.ss_family = 10;\n        data_addr.__ss_padding[0] = '\0';\n        data_addr.__ss_padding[1] = '\0';\n        uVar1 = data_addr._0_8_;\n      }\n    }" { (expression_statement "data_addr.__ss_padding._2_4_ = SUB64(myctladdr.__ss_padding._0_6_,2);" (assignment_expression "data_addr.__ss_padding._2_4_ = SUB64(myctladdr.__ss_padding._0_6_,2)" (field_expression "data_addr.__ss_padding._2_4_" (field_expression "data_addr.__ss_padding" identifier . field_identifier) . field_identifier) = (call_expression "SUB64(myctladdr.__ss_padding._0_6_,2)" identifier (argument_list "(myctladdr.__ss_padding._0_6_,2)" ( (field_expression "myctladdr.__ss_padding._0_6_" (field_expression "myctladdr.__ss_padding" identifier . field_identifier) . field_identifier) , number_literal )))) ;) (if_statement "if (myctladdr.ss_family == 2) {\n        data_addr.ss_family = 2;\n        data_addr.__ss_padding[0] = '\0';\n        data_addr.__ss_padding[1] = '\0';\n        uVar1 = data_addr._0_8_;\n      }\n      else if (myctladdr.ss_family == 10) {\n        data_addr.ss_family = 10;\n        data_addr.__ss_padding[0] = '\0';\n        data_addr.__ss_padding[1] = '\0';\n        uVar1 = data_addr._0_8_;\n      }" if (parenthesized_expression "(myctladdr.ss_family == 2)" ( (binary_expression "myctladdr.ss_family == 2" (field_expression "myctladdr.ss_family" identifier . field_identifier) == number_literal) )) (compound_statement "{\n        data_addr.ss_family = 2;\n        data_addr.__ss_padding[0] = '\0';\n        data_addr.__ss_padding[1] = '\0';\n        uVar1 = data_addr._0_8_;\n      }" { (expression_statement "data_addr.ss_family = 2;" (assignment_expression "data_addr.ss_family = 2" (field_expression "data_addr.ss_family" identifier . field_identifier) = number_literal) ;) (expression_statement "data_addr.__ss_padding[0] = '\0';" (assignment_expression "data_addr.__ss_padding[0] = '\0'" (subscript_expression "data_addr.__ss_padding[0]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "data_addr.__ss_padding[1] = '\0';" (assignment_expression "data_addr.__ss_padding[1] = '\0'" (subscript_expression "data_addr.__ss_padding[1]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "uVar1 = data_addr._0_8_;" (assignment_expression "uVar1 = data_addr._0_8_" identifier = (field_expression "data_addr._0_8_" identifier . field_identifier)) ;) }) (else_clause "else if (myctladdr.ss_family == 10) {\n        data_addr.ss_family = 10;\n        data_addr.__ss_padding[0] = '\0';\n        data_addr.__ss_padding[1] = '\0';\n        uVar1 = data_addr._0_8_;\n      }" else (if_statement "if (myctladdr.ss_family == 10) {\n        data_addr.ss_family = 10;\n        data_addr.__ss_padding[0] = '\0';\n        data_addr.__ss_padding[1] = '\0';\n        uVar1 = data_addr._0_8_;\n      }" if (parenthesized_expression "(myctladdr.ss_family == 10)" ( (binary_expression "myctladdr.ss_family == 10" (field_expression "myctladdr.ss_family" identifier . field_identifier) == number_literal) )) (compound_statement "{\n        data_addr.ss_family = 10;\n        data_addr.__ss_padding[0] = '\0';\n        data_addr.__ss_padding[1] = '\0';\n        uVar1 = data_addr._0_8_;\n      }" { (expression_statement "data_addr.ss_family = 10;" (assignment_expression "data_addr.ss_family = 10" (field_expression "data_addr.ss_family" identifier . field_identifier) = number_literal) ;) (expression_statement "data_addr.__ss_padding[0] = '\0';" (assignment_expression "data_addr.__ss_padding[0] = '\0'" (subscript_expression "data_addr.__ss_padding[0]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "data_addr.__ss_padding[1] = '\0';" (assignment_expression "data_addr.__ss_padding[1] = '\0'" (subscript_expression "data_addr.__ss_padding[1]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "uVar1 = data_addr._0_8_;" (assignment_expression "uVar1 = data_addr._0_8_" identifier = (field_expression "data_addr._0_8_" identifier . field_identifier)) ;) })))) })) (expression_statement "data_addr._0_8_ = uVar1;" (assignment_expression "data_addr._0_8_ = uVar1" (field_expression "data_addr._0_8_" identifier . field_identifier) = identifier) ;) (if_statement "if (data != -1) {\n      data_addr.__ss_padding._6_8_ = uVar9;\n      data_addr.__ss_padding._14_8_ = uVar10;\n      data_addr.__ss_padding._22_8_ = uVar11;\n      data_addr.__ss_padding._30_8_ = uVar12;\n      data_addr.__ss_padding._38_8_ = uVar13;\n      data_addr.__ss_padding._46_8_ = uVar14;\n      data_addr.__ss_padding._54_8_ = uVar15;\n      data_addr.__ss_padding._62_8_ = uVar16;\n      data_addr.__ss_padding._70_8_ = uVar17;\n      data_addr.__ss_padding._78_8_ = uVar18;\n      data_addr.__ss_padding._86_8_ = uVar19;\n      data_addr.__ss_padding._94_8_ = uVar20;\n      data_addr.__ss_padding._102_8_ = uVar21;\n      data_addr.__ss_padding._110_8_ = uVar22;\n      close(data);\n    }" if (parenthesized_expression "(data != -1)" ( (binary_expression "data != -1" identifier != number_literal) )) (compound_statement "{\n      data_addr.__ss_padding._6_8_ = uVar9;\n      data_addr.__ss_padding._14_8_ = uVar10;\n      data_addr.__ss_padding._22_8_ = uVar11;\n      data_addr.__ss_padding._30_8_ = uVar12;\n      data_addr.__ss_padding._38_8_ = uVar13;\n      data_addr.__ss_padding._46_8_ = uVar14;\n      data_addr.__ss_padding._54_8_ = uVar15;\n      data_addr.__ss_padding._62_8_ = uVar16;\n      data_addr.__ss_padding._70_8_ = uVar17;\n      data_addr.__ss_padding._78_8_ = uVar18;\n      data_addr.__ss_padding._86_8_ = uVar19;\n      data_addr.__ss_padding._94_8_ = uVar20;\n      data_addr.__ss_padding._102_8_ = uVar21;\n      data_addr.__ss_padding._110_8_ = uVar22;\n      close(data);\n    }" { (expression_statement "data_addr.__ss_padding._6_8_ = uVar9;" (assignment_expression "data_addr.__ss_padding._6_8_ = uVar9" (field_expression "data_addr.__ss_padding._6_8_" (field_expression "data_addr.__ss_padding" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "data_addr.__ss_padding._14_8_ = uVar10;" (assignment_expression "data_addr.__ss_padding._14_8_ = uVar10" (field_expression "data_addr.__ss_padding._14_8_" (field_expression "data_addr.__ss_padding" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "data_addr.__ss_padding._22_8_ = uVar11;" (assignment_expression "data_addr.__ss_padding._22_8_ = uVar11" (field_expression "data_addr.__ss_padding._22_8_" (field_expression "data_addr.__ss_padding" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "data_addr.__ss_padding._30_8_ = uVar12;" (assignment_expression "data_addr.__ss_padding._30_8_ = uVar12" (field_expression "data_addr.__ss_padding._30_8_" (field_expression "data_addr.__ss_padding" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "data_addr.__ss_padding._38_8_ = uVar13;" (assignment_expression "data_addr.__ss_padding._38_8_ = uVar13" (field_expression "data_addr.__ss_padding._38_8_" (field_expression "data_addr.__ss_padding" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "data_addr.__ss_padding._46_8_ = uVar14;" (assignment_expression "data_addr.__ss_padding._46_8_ = uVar14" (field_expression "data_addr.__ss_padding._46_8_" (field_expression "data_addr.__ss_padding" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "data_addr.__ss_padding._54_8_ = uVar15;" (assignment_expression "data_addr.__ss_padding._54_8_ = uVar15" (field_expression "data_addr.__ss_padding._54_8_" (field_expression "data_addr.__ss_padding" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "data_addr.__ss_padding._62_8_ = uVar16;" (assignment_expression "data_addr.__ss_padding._62_8_ = uVar16" (field_expression "data_addr.__ss_padding._62_8_" (field_expression "data_addr.__ss_padding" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "data_addr.__ss_padding._70_8_ = uVar17;" (assignment_expression "data_addr.__ss_padding._70_8_ = uVar17" (field_expression "data_addr.__ss_padding._70_8_" (field_expression "data_addr.__ss_padding" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "data_addr.__ss_padding._78_8_ = uVar18;" (assignment_expression "data_addr.__ss_padding._78_8_ = uVar18" (field_expression "data_addr.__ss_padding._78_8_" (field_expression "data_addr.__ss_padding" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "data_addr.__ss_padding._86_8_ = uVar19;" (assignment_expression "data_addr.__ss_padding._86_8_ = uVar19" (field_expression "data_addr.__ss_padding._86_8_" (field_expression "data_addr.__ss_padding" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "data_addr.__ss_padding._94_8_ = uVar20;" (assignment_expression "data_addr.__ss_padding._94_8_ = uVar20" (field_expression "data_addr.__ss_padding._94_8_" (field_expression "data_addr.__ss_padding" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "data_addr.__ss_padding._102_8_ = uVar21;" (assignment_expression "data_addr.__ss_padding._102_8_ = uVar21" (field_expression "data_addr.__ss_padding._102_8_" (field_expression "data_addr.__ss_padding" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "data_addr.__ss_padding._110_8_ = uVar22;" (assignment_expression "data_addr.__ss_padding._110_8_ = uVar22" (field_expression "data_addr.__ss_padding._110_8_" (field_expression "data_addr.__ss_padding" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "close(data);" (call_expression "close(data)" identifier (argument_list "(data)" ( identifier ))) ;) })) (expression_statement "data = socket((uint)myctladdr.ss_family,1,0);" (assignment_expression "data = socket((uint)myctladdr.ss_family,1,0)" identifier = (call_expression "socket((uint)myctladdr.ss_family,1,0)" identifier (argument_list "((uint)myctladdr.ss_family,1,0)" ( (cast_expression "(uint)myctladdr.ss_family" ( (type_descriptor "uint" type_identifier) ) (field_expression "myctladdr.ss_family" identifier . field_identifier)) , number_literal , number_literal )))) ;) (if_statement "if (data < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,"socket");\n      if (uVar7 == 0) {\n        uVar7 = 1;\n      }\n      else {\n        sendport = 1;\n      }\n      goto LAB_0010ca2b;\n    }" if (parenthesized_expression "(data < 0)" ( (binary_expression "data < 0" identifier < number_literal) )) (compound_statement "{\n      piVar6 = __errno_location();\n      error(0,*piVar6,"socket");\n      if (uVar7 == 0) {\n        uVar7 = 1;\n      }\n      else {\n        sendport = 1;\n      }\n      goto LAB_0010ca2b;\n    }" { (expression_statement "piVar6 = __errno_location();" (assignment_expression "piVar6 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "error(0,*piVar6,"socket");" (call_expression "error(0,*piVar6,"socket")" identifier (argument_list "(0,*piVar6,"socket")" ( number_literal , (pointer_expression "*piVar6" * identifier) , (string_literal ""socket"" " string_content ") ))) ;) (if_statement "if (uVar7 == 0) {\n        uVar7 = 1;\n      }\n      else {\n        sendport = 1;\n      }" if (parenthesized_expression "(uVar7 == 0)" ( (binary_expression "uVar7 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar7 = 1;\n      }" { (expression_statement "uVar7 = 1;" (assignment_expression "uVar7 = 1" identifier = number_literal) ;) }) (else_clause "else {\n        sendport = 1;\n      }" else (compound_statement "{\n        sendport = 1;\n      }" { (expression_statement "sendport = 1;" (assignment_expression "sendport = 1" identifier = number_literal) ;) }))) (goto_statement "goto LAB_0010ca2b;" goto statement_identifier ;) })) (if_statement "if (sendport == 0) {\n      iVar4 = setsockopt(data,1,2,&on,4);\n      if (-1 < iVar4) goto LAB_0010cc9e;\n      piVar6 = __errno_location();\n      error(0,*piVar6,"setsockopt (reuse address)");\nLAB_0010ca03:\n      close(data);\n      data = -1;\n      if (uVar7 == 0) {\n        uVar7 = 1;\n      }\n      else {\n        sendport = 1;\n      }\n      goto LAB_0010ca2b;\n    }" if (parenthesized_expression "(sendport == 0)" ( (binary_expression "sendport == 0" identifier == number_literal) )) (compound_statement "{\n      iVar4 = setsockopt(data,1,2,&on,4);\n      if (-1 < iVar4) goto LAB_0010cc9e;\n      piVar6 = __errno_location();\n      error(0,*piVar6,"setsockopt (reuse address)");\nLAB_0010ca03:\n      close(data);\n      data = -1;\n      if (uVar7 == 0) {\n        uVar7 = 1;\n      }\n      else {\n        sendport = 1;\n      }\n      goto LAB_0010ca2b;\n    }" { (expression_statement "iVar4 = setsockopt(data,1,2,&on,4);" (assignment_expression "iVar4 = setsockopt(data,1,2,&on,4)" identifier = (call_expression "setsockopt(data,1,2,&on,4)" identifier (argument_list "(data,1,2,&on,4)" ( identifier , number_literal , number_literal , (pointer_expression "&on" & identifier) , number_literal )))) ;) (if_statement "if (-1 < iVar4) goto LAB_0010cc9e;" if (parenthesized_expression "(-1 < iVar4)" ( (binary_expression "-1 < iVar4" number_literal < identifier) )) (goto_statement "goto LAB_0010cc9e;" goto statement_identifier ;)) (expression_statement "piVar6 = __errno_location();" (assignment_expression "piVar6 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "error(0,*piVar6,"setsockopt (reuse address)");" (call_expression "error(0,*piVar6,"setsockopt (reuse address)")" identifier (argument_list "(0,*piVar6,"setsockopt (reuse address)")" ( number_literal , (pointer_expression "*piVar6" * identifier) , (string_literal ""setsockopt (reuse address)"" " string_content ") ))) ;) (labeled_statement "LAB_0010ca03:\n      close(data);" statement_identifier : (expression_statement "close(data);" (call_expression "close(data)" identifier (argument_list "(data)" ( identifier ))) ;)) (expression_statement "data = -1;" (assignment_expression "data = -1" identifier = number_literal) ;) (if_statement "if (uVar7 == 0) {\n        uVar7 = 1;\n      }\n      else {\n        sendport = 1;\n      }" if (parenthesized_expression "(uVar7 == 0)" ( (binary_expression "uVar7 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar7 = 1;\n      }" { (expression_statement "uVar7 = 1;" (assignment_expression "uVar7 = 1" identifier = number_literal) ;) }) (else_clause "else {\n        sendport = 1;\n      }" else (compound_statement "{\n        sendport = 1;\n      }" { (expression_statement "sendport = 1;" (assignment_expression "sendport = 1" identifier = number_literal) ;) }))) (goto_statement "goto LAB_0010ca2b;" goto statement_identifier ;) })) (labeled_statement "LAB_0010cc9e:\n    iVar4 = bind(data,(sockaddr *)&data_addr,ctladdrlen);" statement_identifier : (expression_statement "iVar4 = bind(data,(sockaddr *)&data_addr,ctladdrlen);" (assignment_expression "iVar4 = bind(data,(sockaddr *)&data_addr,ctladdrlen)" identifier = (call_expression "bind(data,(sockaddr *)&data_addr,ctladdrlen)" identifier (argument_list "(data,(sockaddr *)&data_addr,ctladdrlen)" ( identifier , (cast_expression "(sockaddr *)&data_addr" ( (type_descriptor "sockaddr *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&data_addr" & identifier)) , identifier )))) ;)) (if_statement "if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,&DAT_0011a4df);\n      goto LAB_0010ca03;\n    }" if (parenthesized_expression "(iVar4 < 0)" ( (binary_expression "iVar4 < 0" identifier < number_literal) )) (compound_statement "{\n      piVar6 = __errno_location();\n      error(0,*piVar6,&DAT_0011a4df);\n      goto LAB_0010ca03;\n    }" { (expression_statement "piVar6 = __errno_location();" (assignment_expression "piVar6 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "error(0,*piVar6,&DAT_0011a4df);" (call_expression "error(0,*piVar6,&DAT_0011a4df)" identifier (argument_list "(0,*piVar6,&DAT_0011a4df)" ( number_literal , (pointer_expression "*piVar6" * identifier) , (pointer_expression "&DAT_0011a4df" & identifier) ))) ;) (goto_statement "goto LAB_0010ca03;" goto statement_identifier ;) })) (if_statement "if (((byte)options & 1) != 0) {\n      iVar4 = setsockopt(data,1,1,&on,4);\n      if (iVar4 < 0) {\n        piVar6 = __errno_location();\n        if (*piVar6 != 0xd) {\n          error(0,*piVar6,"setsockopt DEBUG (ignored)");\n        }\n      }\n    }" if (parenthesized_expression "(((byte)options & 1) != 0)" ( (binary_expression "((byte)options & 1) != 0" (parenthesized_expression "((byte)options & 1)" ( (binary_expression "(byte)options & 1" (cast_expression "(byte)options" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n      iVar4 = setsockopt(data,1,1,&on,4);\n      if (iVar4 < 0) {\n        piVar6 = __errno_location();\n        if (*piVar6 != 0xd) {\n          error(0,*piVar6,"setsockopt DEBUG (ignored)");\n        }\n      }\n    }" { (expression_statement "iVar4 = setsockopt(data,1,1,&on,4);" (assignment_expression "iVar4 = setsockopt(data,1,1,&on,4)" identifier = (call_expression "setsockopt(data,1,1,&on,4)" identifier (argument_list "(data,1,1,&on,4)" ( identifier , number_literal , number_literal , (pointer_expression "&on" & identifier) , number_literal )))) ;) (if_statement "if (iVar4 < 0) {\n        piVar6 = __errno_location();\n        if (*piVar6 != 0xd) {\n          error(0,*piVar6,"setsockopt DEBUG (ignored)");\n        }\n      }" if (parenthesized_expression "(iVar4 < 0)" ( (binary_expression "iVar4 < 0" identifier < number_literal) )) (compound_statement "{\n        piVar6 = __errno_location();\n        if (*piVar6 != 0xd) {\n          error(0,*piVar6,"setsockopt DEBUG (ignored)");\n        }\n      }" { (expression_statement "piVar6 = __errno_location();" (assignment_expression "piVar6 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*piVar6 != 0xd) {\n          error(0,*piVar6,"setsockopt DEBUG (ignored)");\n        }" if (parenthesized_expression "(*piVar6 != 0xd)" ( (binary_expression "*piVar6 != 0xd" (pointer_expression "*piVar6" * identifier) != number_literal) )) (compound_statement "{\n          error(0,*piVar6,"setsockopt DEBUG (ignored)");\n        }" { (expression_statement "error(0,*piVar6,"setsockopt DEBUG (ignored)");" (call_expression "error(0,*piVar6,"setsockopt DEBUG (ignored)")" identifier (argument_list "(0,*piVar6,"setsockopt DEBUG (ignored)")" ( number_literal , (pointer_expression "*piVar6" * identifier) , (string_literal ""setsockopt DEBUG (ignored)"" " string_content ") ))) ;) })) })) })) (expression_statement "len = 0x80;" (assignment_expression "len = 0x80" identifier = number_literal) ;) (expression_statement "iVar4 = getsockname(data,(sockaddr *)&data_addr,&len);" (assignment_expression "iVar4 = getsockname(data,(sockaddr *)&data_addr,&len)" identifier = (call_expression "getsockname(data,(sockaddr *)&data_addr,&len)" identifier (argument_list "(data,(sockaddr *)&data_addr,&len)" ( identifier , (cast_expression "(sockaddr *)&data_addr" ( (type_descriptor "sockaddr *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&data_addr" & identifier)) , (pointer_expression "&len" & identifier) )))) ;) (if_statement "if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,"getsockname");\n      goto LAB_0010ca03;\n    }" if (parenthesized_expression "(iVar4 < 0)" ( (binary_expression "iVar4 < 0" identifier < number_literal) )) (compound_statement "{\n      piVar6 = __errno_location();\n      error(0,*piVar6,"getsockname");\n      goto LAB_0010ca03;\n    }" { (expression_statement "piVar6 = __errno_location();" (assignment_expression "piVar6 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "error(0,*piVar6,"getsockname");" (call_expression "error(0,*piVar6,"getsockname")" identifier (argument_list "(0,*piVar6,"getsockname")" ( number_literal , (pointer_expression "*piVar6" * identifier) , (string_literal ""getsockname"" " string_content ") ))) ;) (goto_statement "goto LAB_0010ca03;" goto statement_identifier ;) })) (expression_statement "iVar4 = listen(data,1);" (assignment_expression "iVar4 = listen(data,1)" identifier = (call_expression "listen(data,1)" identifier (argument_list "(data,1)" ( identifier , number_literal )))) ;) (if_statement "if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,"listen");\n    }" if (parenthesized_expression "(iVar4 < 0)" ( (binary_expression "iVar4 < 0" identifier < number_literal) )) (compound_statement "{\n      piVar6 = __errno_location();\n      error(0,*piVar6,"listen");\n    }" { (expression_statement "piVar6 = __errno_location();" (assignment_expression "piVar6 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "error(0,*piVar6,"listen");" (call_expression "error(0,*piVar6,"listen")" identifier (argument_list "(0,*piVar6,"listen")" ( number_literal , (pointer_expression "*piVar6" * identifier) , (string_literal ""listen"" " string_content ") ))) ;) })) (if_statement "if (sendport == 0) {\n      if (uVar7 != 0) {\n        sendport = 1;\n      }\n      on = 8;\n      uVar7 = 0;\n      if (data_addr.ss_family == 2) {\n        iVar4 = setsockopt(data,0,1,&on,4);\n        if (iVar4 < 0) {\n          piVar6 = __errno_location();\n          error(0,*piVar6,"setsockopt TOS (ignored)");\n        }\n      }\n      goto LAB_0010ca2b;\n    }" if (parenthesized_expression "(sendport == 0)" ( (binary_expression "sendport == 0" identifier == number_literal) )) (compound_statement "{\n      if (uVar7 != 0) {\n        sendport = 1;\n      }\n      on = 8;\n      uVar7 = 0;\n      if (data_addr.ss_family == 2) {\n        iVar4 = setsockopt(data,0,1,&on,4);\n        if (iVar4 < 0) {\n          piVar6 = __errno_location();\n          error(0,*piVar6,"setsockopt TOS (ignored)");\n        }\n      }\n      goto LAB_0010ca2b;\n    }" { (if_statement "if (uVar7 != 0) {\n        sendport = 1;\n      }" if (parenthesized_expression "(uVar7 != 0)" ( (binary_expression "uVar7 != 0" identifier != number_literal) )) (compound_statement "{\n        sendport = 1;\n      }" { (expression_statement "sendport = 1;" (assignment_expression "sendport = 1" identifier = number_literal) ;) })) (expression_statement "on = 8;" (assignment_expression "on = 8" identifier = number_literal) ;) (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;) (if_statement "if (data_addr.ss_family == 2) {\n        iVar4 = setsockopt(data,0,1,&on,4);\n        if (iVar4 < 0) {\n          piVar6 = __errno_location();\n          error(0,*piVar6,"setsockopt TOS (ignored)");\n        }\n      }" if (parenthesized_expression "(data_addr.ss_family == 2)" ( (binary_expression "data_addr.ss_family == 2" (field_expression "data_addr.ss_family" identifier . field_identifier) == number_literal) )) (compound_statement "{\n        iVar4 = setsockopt(data,0,1,&on,4);\n        if (iVar4 < 0) {\n          piVar6 = __errno_location();\n          error(0,*piVar6,"setsockopt TOS (ignored)");\n        }\n      }" { (expression_statement "iVar4 = setsockopt(data,0,1,&on,4);" (assignment_expression "iVar4 = setsockopt(data,0,1,&on,4)" identifier = (call_expression "setsockopt(data,0,1,&on,4)" identifier (argument_list "(data,0,1,&on,4)" ( identifier , number_literal , number_literal , (pointer_expression "&on" & identifier) , number_literal )))) ;) (if_statement "if (iVar4 < 0) {\n          piVar6 = __errno_location();\n          error(0,*piVar6,"setsockopt TOS (ignored)");\n        }" if (parenthesized_expression "(iVar4 < 0)" ( (binary_expression "iVar4 < 0" identifier < number_literal) )) (compound_statement "{\n          piVar6 = __errno_location();\n          error(0,*piVar6,"setsockopt TOS (ignored)");\n        }" { (expression_statement "piVar6 = __errno_location();" (assignment_expression "piVar6 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "error(0,*piVar6,"setsockopt TOS (ignored)");" (call_expression "error(0,*piVar6,"setsockopt TOS (ignored)")" identifier (argument_list "(0,*piVar6,"setsockopt TOS (ignored)")" ( number_literal , (pointer_expression "*piVar6" * identifier) , (string_literal ""setsockopt TOS (ignored)"" " string_content ") ))) ;) })) })) (goto_statement "goto LAB_0010ca2b;" goto statement_identifier ;) })) (if_statement "if ((data_addr.ss_family == 2) && (doepsv4 == 0)) {\n      bVar8 = true;\nLAB_0010cd36:\n      if (!bVar8) {\n        iVar4 = 2;\nLAB_0010cd3f:\n        uVar7 = (uint)(iVar4 != 2);\n        goto LAB_0010ca2b;\n      }\nLAB_0010cd6c:\n      iVar4 = command("PORT %d,%d,%d,%d,%d,%d",(ulong)data_addr._0_8_ >> 0x20 & 0xff,\n                      (ulong)data_addr._0_8_ >> 0x28 & 0xff,(ulong)data_addr._0_8_ >> 0x30 & 0xff,\n                      (ulong)data_addr._0_8_ >> 0x38,(ulong)data_addr._0_8_ >> 0x10 & 0xff,\n                      (ulong)data_addr._0_8_ >> 0x18 & 0xff);\n    }\n    else {\n      getnameinfo((sockaddr *)&data_addr,ctladdrlen,ia,0x2e,portstr,10,3);\n      iVar4 = command("EPRT |%d|%s|%s|",(ulong)((data_addr.ss_family != 2) + 1),ia,portstr);\n      if (data_addr.ss_family == 2) {\n        bVar8 = iVar4 != 2;\n        if ((doepsv4 == 0) || (!bVar8)) goto LAB_0010cd36;\n        doepsv4 = 0;\n        goto LAB_0010cd6c;\n      }\n    }" if (parenthesized_expression "((data_addr.ss_family == 2) && (doepsv4 == 0))" ( (binary_expression "(data_addr.ss_family == 2) && (doepsv4 == 0)" (parenthesized_expression "(data_addr.ss_family == 2)" ( (binary_expression "data_addr.ss_family == 2" (field_expression "data_addr.ss_family" identifier . field_identifier) == number_literal) )) && (parenthesized_expression "(doepsv4 == 0)" ( (binary_expression "doepsv4 == 0" identifier == number_literal) ))) )) (compound_statement "{\n      bVar8 = true;\nLAB_0010cd36:\n      if (!bVar8) {\n        iVar4 = 2;\nLAB_0010cd3f:\n        uVar7 = (uint)(iVar4 != 2);\n        goto LAB_0010ca2b;\n      }\nLAB_0010cd6c:\n      iVar4 = command("PORT %d,%d,%d,%d,%d,%d",(ulong)data_addr._0_8_ >> 0x20 & 0xff,\n                      (ulong)data_addr._0_8_ >> 0x28 & 0xff,(ulong)data_addr._0_8_ >> 0x30 & 0xff,\n                      (ulong)data_addr._0_8_ >> 0x38,(ulong)data_addr._0_8_ >> 0x10 & 0xff,\n                      (ulong)data_addr._0_8_ >> 0x18 & 0xff);\n    }" { (expression_statement "bVar8 = true;" (assignment_expression "bVar8 = true" identifier = true) ;) (labeled_statement "LAB_0010cd36:\n      if (!bVar8) {\n        iVar4 = 2;\nLAB_0010cd3f:\n        uVar7 = (uint)(iVar4 != 2);\n        goto LAB_0010ca2b;\n      }" statement_identifier : (if_statement "if (!bVar8) {\n        iVar4 = 2;\nLAB_0010cd3f:\n        uVar7 = (uint)(iVar4 != 2);\n        goto LAB_0010ca2b;\n      }" if (parenthesized_expression "(!bVar8)" ( (unary_expression "!bVar8" ! identifier) )) (compound_statement "{\n        iVar4 = 2;\nLAB_0010cd3f:\n        uVar7 = (uint)(iVar4 != 2);\n        goto LAB_0010ca2b;\n      }" { (expression_statement "iVar4 = 2;" (assignment_expression "iVar4 = 2" identifier = number_literal) ;) (labeled_statement "LAB_0010cd3f:\n        uVar7 = (uint)(iVar4 != 2);" statement_identifier : (expression_statement "uVar7 = (uint)(iVar4 != 2);" (assignment_expression "uVar7 = (uint)(iVar4 != 2)" identifier = (call_expression "(uint)(iVar4 != 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar4 != 2)" ( (binary_expression "iVar4 != 2" identifier != number_literal) )))) ;)) (goto_statement "goto LAB_0010ca2b;" goto statement_identifier ;) }))) (labeled_statement "LAB_0010cd6c:\n      iVar4 = command("PORT %d,%d,%d,%d,%d,%d",(ulong)data_addr._0_8_ >> 0x20 & 0xff,\n                      (ulong)data_addr._0_8_ >> 0x28 & 0xff,(ulong)data_addr._0_8_ >> 0x30 & 0xff,\n                      (ulong)data_addr._0_8_ >> 0x38,(ulong)data_addr._0_8_ >> 0x10 & 0xff,\n                      (ulong)data_addr._0_8_ >> 0x18 & 0xff);" statement_identifier : (expression_statement "iVar4 = command("PORT %d,%d,%d,%d,%d,%d",(ulong)data_addr._0_8_ >> 0x20 & 0xff,\n                      (ulong)data_addr._0_8_ >> 0x28 & 0xff,(ulong)data_addr._0_8_ >> 0x30 & 0xff,\n                      (ulong)data_addr._0_8_ >> 0x38,(ulong)data_addr._0_8_ >> 0x10 & 0xff,\n                      (ulong)data_addr._0_8_ >> 0x18 & 0xff);" (assignment_expression "iVar4 = command("PORT %d,%d,%d,%d,%d,%d",(ulong)data_addr._0_8_ >> 0x20 & 0xff,\n                      (ulong)data_addr._0_8_ >> 0x28 & 0xff,(ulong)data_addr._0_8_ >> 0x30 & 0xff,\n                      (ulong)data_addr._0_8_ >> 0x38,(ulong)data_addr._0_8_ >> 0x10 & 0xff,\n                      (ulong)data_addr._0_8_ >> 0x18 & 0xff)" identifier = (call_expression "command("PORT %d,%d,%d,%d,%d,%d",(ulong)data_addr._0_8_ >> 0x20 & 0xff,\n                      (ulong)data_addr._0_8_ >> 0x28 & 0xff,(ulong)data_addr._0_8_ >> 0x30 & 0xff,\n                      (ulong)data_addr._0_8_ >> 0x38,(ulong)data_addr._0_8_ >> 0x10 & 0xff,\n                      (ulong)data_addr._0_8_ >> 0x18 & 0xff)" identifier (argument_list "("PORT %d,%d,%d,%d,%d,%d",(ulong)data_addr._0_8_ >> 0x20 & 0xff,\n                      (ulong)data_addr._0_8_ >> 0x28 & 0xff,(ulong)data_addr._0_8_ >> 0x30 & 0xff,\n                      (ulong)data_addr._0_8_ >> 0x38,(ulong)data_addr._0_8_ >> 0x10 & 0xff,\n                      (ulong)data_addr._0_8_ >> 0x18 & 0xff)" ( (string_literal ""PORT %d,%d,%d,%d,%d,%d"" " string_content ") , (binary_expression "(ulong)data_addr._0_8_ >> 0x20 & 0xff" (binary_expression "(ulong)data_addr._0_8_ >> 0x20" (cast_expression "(ulong)data_addr._0_8_" ( (type_descriptor "ulong" type_identifier) ) (field_expression "data_addr._0_8_" identifier . field_identifier)) >> number_literal) & number_literal) , (binary_expression "(ulong)data_addr._0_8_ >> 0x28 & 0xff" (binary_expression "(ulong)data_addr._0_8_ >> 0x28" (cast_expression "(ulong)data_addr._0_8_" ( (type_descriptor "ulong" type_identifier) ) (field_expression "data_addr._0_8_" identifier . field_identifier)) >> number_literal) & number_literal) , (binary_expression "(ulong)data_addr._0_8_ >> 0x30 & 0xff" (binary_expression "(ulong)data_addr._0_8_ >> 0x30" (cast_expression "(ulong)data_addr._0_8_" ( (type_descriptor "ulong" type_identifier) ) (field_expression "data_addr._0_8_" identifier . field_identifier)) >> number_literal) & number_literal) , (binary_expression "(ulong)data_addr._0_8_ >> 0x38" (cast_expression "(ulong)data_addr._0_8_" ( (type_descriptor "ulong" type_identifier) ) (field_expression "data_addr._0_8_" identifier . field_identifier)) >> number_literal) , (binary_expression "(ulong)data_addr._0_8_ >> 0x10 & 0xff" (binary_expression "(ulong)data_addr._0_8_ >> 0x10" (cast_expression "(ulong)data_addr._0_8_" ( (type_descriptor "ulong" type_identifier) ) (field_expression "data_addr._0_8_" identifier . field_identifier)) >> number_literal) & number_literal) , (binary_expression "(ulong)data_addr._0_8_ >> 0x18 & 0xff" (binary_expression "(ulong)data_addr._0_8_ >> 0x18" (cast_expression "(ulong)data_addr._0_8_" ( (type_descriptor "ulong" type_identifier) ) (field_expression "data_addr._0_8_" identifier . field_identifier)) >> number_literal) & number_literal) )))) ;)) }) (else_clause "else {\n      getnameinfo((sockaddr *)&data_addr,ctladdrlen,ia,0x2e,portstr,10,3);\n      iVar4 = command("EPRT |%d|%s|%s|",(ulong)((data_addr.ss_family != 2) + 1),ia,portstr);\n      if (data_addr.ss_family == 2) {\n        bVar8 = iVar4 != 2;\n        if ((doepsv4 == 0) || (!bVar8)) goto LAB_0010cd36;\n        doepsv4 = 0;\n        goto LAB_0010cd6c;\n      }\n    }" else (compound_statement "{\n      getnameinfo((sockaddr *)&data_addr,ctladdrlen,ia,0x2e,portstr,10,3);\n      iVar4 = command("EPRT |%d|%s|%s|",(ulong)((data_addr.ss_family != 2) + 1),ia,portstr);\n      if (data_addr.ss_family == 2) {\n        bVar8 = iVar4 != 2;\n        if ((doepsv4 == 0) || (!bVar8)) goto LAB_0010cd36;\n        doepsv4 = 0;\n        goto LAB_0010cd6c;\n      }\n    }" { (expression_statement "getnameinfo((sockaddr *)&data_addr,ctladdrlen,ia,0x2e,portstr,10,3);" (call_expression "getnameinfo((sockaddr *)&data_addr,ctladdrlen,ia,0x2e,portstr,10,3)" identifier (argument_list "((sockaddr *)&data_addr,ctladdrlen,ia,0x2e,portstr,10,3)" ( (cast_expression "(sockaddr *)&data_addr" ( (type_descriptor "sockaddr *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&data_addr" & identifier)) , identifier , identifier , number_literal , identifier , number_literal , number_literal ))) ;) (expression_statement "iVar4 = command("EPRT |%d|%s|%s|",(ulong)((data_addr.ss_family != 2) + 1),ia,portstr);" (assignment_expression "iVar4 = command("EPRT |%d|%s|%s|",(ulong)((data_addr.ss_family != 2) + 1),ia,portstr)" identifier = (call_expression "command("EPRT |%d|%s|%s|",(ulong)((data_addr.ss_family != 2) + 1),ia,portstr)" identifier (argument_list "("EPRT |%d|%s|%s|",(ulong)((data_addr.ss_family != 2) + 1),ia,portstr)" ( (string_literal ""EPRT |%d|%s|%s|"" " string_content ") , (call_expression "(ulong)((data_addr.ss_family != 2) + 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((data_addr.ss_family != 2) + 1)" ( (binary_expression "(data_addr.ss_family != 2) + 1" (parenthesized_expression "(data_addr.ss_family != 2)" ( (binary_expression "data_addr.ss_family != 2" (field_expression "data_addr.ss_family" identifier . field_identifier) != number_literal) )) + number_literal) ))) , identifier , identifier )))) ;) (if_statement "if (data_addr.ss_family == 2) {\n        bVar8 = iVar4 != 2;\n        if ((doepsv4 == 0) || (!bVar8)) goto LAB_0010cd36;\n        doepsv4 = 0;\n        goto LAB_0010cd6c;\n      }" if (parenthesized_expression "(data_addr.ss_family == 2)" ( (binary_expression "data_addr.ss_family == 2" (field_expression "data_addr.ss_family" identifier . field_identifier) == number_literal) )) (compound_statement "{\n        bVar8 = iVar4 != 2;\n        if ((doepsv4 == 0) || (!bVar8)) goto LAB_0010cd36;\n        doepsv4 = 0;\n        goto LAB_0010cd6c;\n      }" { (expression_statement "bVar8 = iVar4 != 2;" (assignment_expression "bVar8 = iVar4 != 2" identifier = (binary_expression "iVar4 != 2" identifier != number_literal)) ;) (if_statement "if ((doepsv4 == 0) || (!bVar8)) goto LAB_0010cd36;" if (parenthesized_expression "((doepsv4 == 0) || (!bVar8))" ( (binary_expression "(doepsv4 == 0) || (!bVar8)" (parenthesized_expression "(doepsv4 == 0)" ( (binary_expression "doepsv4 == 0" identifier == number_literal) )) || (parenthesized_expression "(!bVar8)" ( (unary_expression "!bVar8" ! identifier) ))) )) (goto_statement "goto LAB_0010cd36;" goto statement_identifier ;)) (expression_statement "doepsv4 = 0;" (assignment_expression "doepsv4 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0010cd6c;" goto statement_identifier ;) })) }))) (if_statement "if (iVar4 == 2) goto LAB_0010cd3f;" if (parenthesized_expression "(iVar4 == 2)" ( (binary_expression "iVar4 == 2" identifier == number_literal) )) (goto_statement "goto LAB_0010cd3f;" goto statement_identifier ;)) (if_statement "if (data_addr.ss_family == 2) {\n      iVar4 = command("LPRT 4,4,%u,%u,%u,%u,2,%u,%u",(ulong)data_addr._0_8_ >> 0x20 & 0xff,\n                      (ulong)data_addr._0_8_ >> 0x28 & 0xff,(ulong)data_addr._0_8_ >> 0x30 & 0xff,\n                      (ulong)data_addr._0_8_ >> 0x38,(ulong)(byte)data_addr.__ss_padding[0],\n                      (ulong)(byte)data_addr.__ss_padding[1]);\n    }\n    else if (data_addr.ss_family == 10) {\n      iVar4 = command("LPRT 6,16,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,2,%u,%u",\n                      data_addr.__ss_padding._6_8_ & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 8 & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 0x10 & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 0x18 & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 0x20 & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 0x28 & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 0x30 & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 0x38,\n                      data_addr.__ss_padding._14_8_ & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 8 & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 0x10 & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 0x18 & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 0x20 & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 0x28 & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 0x30 & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 0x38,\n                      (ulong)(byte)data_addr.__ss_padding[0],(ulong)(byte)data_addr.__ss_padding[1])\n      ;\n    }" if (parenthesized_expression "(data_addr.ss_family == 2)" ( (binary_expression "data_addr.ss_family == 2" (field_expression "data_addr.ss_family" identifier . field_identifier) == number_literal) )) (compound_statement "{\n      iVar4 = command("LPRT 4,4,%u,%u,%u,%u,2,%u,%u",(ulong)data_addr._0_8_ >> 0x20 & 0xff,\n                      (ulong)data_addr._0_8_ >> 0x28 & 0xff,(ulong)data_addr._0_8_ >> 0x30 & 0xff,\n                      (ulong)data_addr._0_8_ >> 0x38,(ulong)(byte)data_addr.__ss_padding[0],\n                      (ulong)(byte)data_addr.__ss_padding[1]);\n    }" { (expression_statement "iVar4 = command("LPRT 4,4,%u,%u,%u,%u,2,%u,%u",(ulong)data_addr._0_8_ >> 0x20 & 0xff,\n                      (ulong)data_addr._0_8_ >> 0x28 & 0xff,(ulong)data_addr._0_8_ >> 0x30 & 0xff,\n                      (ulong)data_addr._0_8_ >> 0x38,(ulong)(byte)data_addr.__ss_padding[0],\n                      (ulong)(byte)data_addr.__ss_padding[1]);" (assignment_expression "iVar4 = command("LPRT 4,4,%u,%u,%u,%u,2,%u,%u",(ulong)data_addr._0_8_ >> 0x20 & 0xff,\n                      (ulong)data_addr._0_8_ >> 0x28 & 0xff,(ulong)data_addr._0_8_ >> 0x30 & 0xff,\n                      (ulong)data_addr._0_8_ >> 0x38,(ulong)(byte)data_addr.__ss_padding[0],\n                      (ulong)(byte)data_addr.__ss_padding[1])" identifier = (call_expression "command("LPRT 4,4,%u,%u,%u,%u,2,%u,%u",(ulong)data_addr._0_8_ >> 0x20 & 0xff,\n                      (ulong)data_addr._0_8_ >> 0x28 & 0xff,(ulong)data_addr._0_8_ >> 0x30 & 0xff,\n                      (ulong)data_addr._0_8_ >> 0x38,(ulong)(byte)data_addr.__ss_padding[0],\n                      (ulong)(byte)data_addr.__ss_padding[1])" identifier (argument_list "("LPRT 4,4,%u,%u,%u,%u,2,%u,%u",(ulong)data_addr._0_8_ >> 0x20 & 0xff,\n                      (ulong)data_addr._0_8_ >> 0x28 & 0xff,(ulong)data_addr._0_8_ >> 0x30 & 0xff,\n                      (ulong)data_addr._0_8_ >> 0x38,(ulong)(byte)data_addr.__ss_padding[0],\n                      (ulong)(byte)data_addr.__ss_padding[1])" ( (string_literal ""LPRT 4,4,%u,%u,%u,%u,2,%u,%u"" " string_content ") , (binary_expression "(ulong)data_addr._0_8_ >> 0x20 & 0xff" (binary_expression "(ulong)data_addr._0_8_ >> 0x20" (cast_expression "(ulong)data_addr._0_8_" ( (type_descriptor "ulong" type_identifier) ) (field_expression "data_addr._0_8_" identifier . field_identifier)) >> number_literal) & number_literal) , (binary_expression "(ulong)data_addr._0_8_ >> 0x28 & 0xff" (binary_expression "(ulong)data_addr._0_8_ >> 0x28" (cast_expression "(ulong)data_addr._0_8_" ( (type_descriptor "ulong" type_identifier) ) (field_expression "data_addr._0_8_" identifier . field_identifier)) >> number_literal) & number_literal) , (binary_expression "(ulong)data_addr._0_8_ >> 0x30 & 0xff" (binary_expression "(ulong)data_addr._0_8_ >> 0x30" (cast_expression "(ulong)data_addr._0_8_" ( (type_descriptor "ulong" type_identifier) ) (field_expression "data_addr._0_8_" identifier . field_identifier)) >> number_literal) & number_literal) , (binary_expression "(ulong)data_addr._0_8_ >> 0x38" (cast_expression "(ulong)data_addr._0_8_" ( (type_descriptor "ulong" type_identifier) ) (field_expression "data_addr._0_8_" identifier . field_identifier)) >> number_literal) , (cast_expression "(ulong)(byte)data_addr.__ss_padding[0]" ( (type_descriptor "ulong" type_identifier) ) (cast_expression "(byte)data_addr.__ss_padding[0]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "data_addr.__ss_padding[0]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]))) , (cast_expression "(ulong)(byte)data_addr.__ss_padding[1]" ( (type_descriptor "ulong" type_identifier) ) (cast_expression "(byte)data_addr.__ss_padding[1]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "data_addr.__ss_padding[1]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]))) )))) ;) }) (else_clause "else if (data_addr.ss_family == 10) {\n      iVar4 = command("LPRT 6,16,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,2,%u,%u",\n                      data_addr.__ss_padding._6_8_ & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 8 & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 0x10 & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 0x18 & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 0x20 & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 0x28 & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 0x30 & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 0x38,\n                      data_addr.__ss_padding._14_8_ & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 8 & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 0x10 & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 0x18 & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 0x20 & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 0x28 & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 0x30 & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 0x38,\n                      (ulong)(byte)data_addr.__ss_padding[0],(ulong)(byte)data_addr.__ss_padding[1])\n      ;\n    }" else (if_statement "if (data_addr.ss_family == 10) {\n      iVar4 = command("LPRT 6,16,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,2,%u,%u",\n                      data_addr.__ss_padding._6_8_ & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 8 & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 0x10 & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 0x18 & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 0x20 & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 0x28 & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 0x30 & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 0x38,\n                      data_addr.__ss_padding._14_8_ & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 8 & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 0x10 & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 0x18 & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 0x20 & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 0x28 & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 0x30 & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 0x38,\n                      (ulong)(byte)data_addr.__ss_padding[0],(ulong)(byte)data_addr.__ss_padding[1])\n      ;\n    }" if (parenthesized_expression "(data_addr.ss_family == 10)" ( (binary_expression "data_addr.ss_family == 10" (field_expression "data_addr.ss_family" identifier . field_identifier) == number_literal) )) (compound_statement "{\n      iVar4 = command("LPRT 6,16,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,2,%u,%u",\n                      data_addr.__ss_padding._6_8_ & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 8 & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 0x10 & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 0x18 & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 0x20 & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 0x28 & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 0x30 & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 0x38,\n                      data_addr.__ss_padding._14_8_ & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 8 & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 0x10 & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 0x18 & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 0x20 & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 0x28 & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 0x30 & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 0x38,\n                      (ulong)(byte)data_addr.__ss_padding[0],(ulong)(byte)data_addr.__ss_padding[1])\n      ;\n    }" { (expression_statement "iVar4 = command("LPRT 6,16,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,2,%u,%u",\n                      data_addr.__ss_padding._6_8_ & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 8 & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 0x10 & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 0x18 & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 0x20 & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 0x28 & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 0x30 & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 0x38,\n                      data_addr.__ss_padding._14_8_ & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 8 & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 0x10 & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 0x18 & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 0x20 & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 0x28 & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 0x30 & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 0x38,\n                      (ulong)(byte)data_addr.__ss_padding[0],(ulong)(byte)data_addr.__ss_padding[1])\n      ;" (assignment_expression "iVar4 = command("LPRT 6,16,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,2,%u,%u",\n                      data_addr.__ss_padding._6_8_ & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 8 & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 0x10 & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 0x18 & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 0x20 & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 0x28 & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 0x30 & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 0x38,\n                      data_addr.__ss_padding._14_8_ & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 8 & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 0x10 & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 0x18 & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 0x20 & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 0x28 & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 0x30 & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 0x38,\n                      (ulong)(byte)data_addr.__ss_padding[0],(ulong)(byte)data_addr.__ss_padding[1])" identifier = (call_expression "command("LPRT 6,16,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,2,%u,%u",\n                      data_addr.__ss_padding._6_8_ & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 8 & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 0x10 & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 0x18 & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 0x20 & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 0x28 & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 0x30 & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 0x38,\n                      data_addr.__ss_padding._14_8_ & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 8 & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 0x10 & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 0x18 & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 0x20 & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 0x28 & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 0x30 & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 0x38,\n                      (ulong)(byte)data_addr.__ss_padding[0],(ulong)(byte)data_addr.__ss_padding[1])" identifier (argument_list "("LPRT 6,16,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,2,%u,%u",\n                      data_addr.__ss_padding._6_8_ & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 8 & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 0x10 & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 0x18 & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 0x20 & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 0x28 & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 0x30 & 0xff,\n                      (ulong)data_addr.__ss_padding._6_8_ >> 0x38,\n                      data_addr.__ss_padding._14_8_ & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 8 & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 0x10 & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 0x18 & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 0x20 & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 0x28 & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 0x30 & 0xff,\n                      (ulong)data_addr.__ss_padding._14_8_ >> 0x38,\n                      (ulong)(byte)data_addr.__ss_padding[0],(ulong)(byte)data_addr.__ss_padding[1])" ( (string_literal ""LPRT 6,16,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,2,%u,%u"" " string_content ") , (binary_expression "data_addr.__ss_padding._6_8_ & 0xff" (field_expression "data_addr.__ss_padding._6_8_" (field_expression "data_addr.__ss_padding" identifier . field_identifier) . field_identifier) & number_literal) , (binary_expression "(ulong)data_addr.__ss_padding._6_8_ >> 8 & 0xff" (binary_expression "(ulong)data_addr.__ss_padding._6_8_ >> 8" (cast_expression "(ulong)data_addr.__ss_padding._6_8_" ( (type_descriptor "ulong" type_identifier) ) (field_expression "data_addr.__ss_padding._6_8_" (field_expression "data_addr.__ss_padding" identifier . field_identifier) . field_identifier)) >> number_literal) & number_literal) , (binary_expression "(ulong)data_addr.__ss_padding._6_8_ >> 0x10 & 0xff" (binary_expression "(ulong)data_addr.__ss_padding._6_8_ >> 0x10" (cast_expression "(ulong)data_addr.__ss_padding._6_8_" ( (type_descriptor "ulong" type_identifier) ) (field_expression "data_addr.__ss_padding._6_8_" (field_expression "data_addr.__ss_padding" identifier . field_identifier) . field_identifier)) >> number_literal) & number_literal) , (binary_expression "(ulong)data_addr.__ss_padding._6_8_ >> 0x18 & 0xff" (binary_expression "(ulong)data_addr.__ss_padding._6_8_ >> 0x18" (cast_expression "(ulong)data_addr.__ss_padding._6_8_" ( (type_descriptor "ulong" type_identifier) ) (field_expression "data_addr.__ss_padding._6_8_" (field_expression "data_addr.__ss_padding" identifier . field_identifier) . field_identifier)) >> number_literal) & number_literal) , (binary_expression "(ulong)data_addr.__ss_padding._6_8_ >> 0x20 & 0xff" (binary_expression "(ulong)data_addr.__ss_padding._6_8_ >> 0x20" (cast_expression "(ulong)data_addr.__ss_padding._6_8_" ( (type_descriptor "ulong" type_identifier) ) (field_expression "data_addr.__ss_padding._6_8_" (field_expression "data_addr.__ss_padding" identifier . field_identifier) . field_identifier)) >> number_literal) & number_literal) , (binary_expression "(ulong)data_addr.__ss_padding._6_8_ >> 0x28 & 0xff" (binary_expression "(ulong)data_addr.__ss_padding._6_8_ >> 0x28" (cast_expression "(ulong)data_addr.__ss_padding._6_8_" ( (type_descriptor "ulong" type_identifier) ) (field_expression "data_addr.__ss_padding._6_8_" (field_expression "data_addr.__ss_padding" identifier . field_identifier) . field_identifier)) >> number_literal) & number_literal) , (binary_expression "(ulong)data_addr.__ss_padding._6_8_ >> 0x30 & 0xff" (binary_expression "(ulong)data_addr.__ss_padding._6_8_ >> 0x30" (cast_expression "(ulong)data_addr.__ss_padding._6_8_" ( (type_descriptor "ulong" type_identifier) ) (field_expression "data_addr.__ss_padding._6_8_" (field_expression "data_addr.__ss_padding" identifier . field_identifier) . field_identifier)) >> number_literal) & number_literal) , (binary_expression "(ulong)data_addr.__ss_padding._6_8_ >> 0x38" (cast_expression "(ulong)data_addr.__ss_padding._6_8_" ( (type_descriptor "ulong" type_identifier) ) (field_expression "data_addr.__ss_padding._6_8_" (field_expression "data_addr.__ss_padding" identifier . field_identifier) . field_identifier)) >> number_literal) , (binary_expression "data_addr.__ss_padding._14_8_ & 0xff" (field_expression "data_addr.__ss_padding._14_8_" (field_expression "data_addr.__ss_padding" identifier . field_identifier) . field_identifier) & number_literal) , (binary_expression "(ulong)data_addr.__ss_padding._14_8_ >> 8 & 0xff" (binary_expression "(ulong)data_addr.__ss_padding._14_8_ >> 8" (cast_expression "(ulong)data_addr.__ss_padding._14_8_" ( (type_descriptor "ulong" type_identifier) ) (field_expression "data_addr.__ss_padding._14_8_" (field_expression "data_addr.__ss_padding" identifier . field_identifier) . field_identifier)) >> number_literal) & number_literal) , (binary_expression "(ulong)data_addr.__ss_padding._14_8_ >> 0x10 & 0xff" (binary_expression "(ulong)data_addr.__ss_padding._14_8_ >> 0x10" (cast_expression "(ulong)data_addr.__ss_padding._14_8_" ( (type_descriptor "ulong" type_identifier) ) (field_expression "data_addr.__ss_padding._14_8_" (field_expression "data_addr.__ss_padding" identifier . field_identifier) . field_identifier)) >> number_literal) & number_literal) , (binary_expression "(ulong)data_addr.__ss_padding._14_8_ >> 0x18 & 0xff" (binary_expression "(ulong)data_addr.__ss_padding._14_8_ >> 0x18" (cast_expression "(ulong)data_addr.__ss_padding._14_8_" ( (type_descriptor "ulong" type_identifier) ) (field_expression "data_addr.__ss_padding._14_8_" (field_expression "data_addr.__ss_padding" identifier . field_identifier) . field_identifier)) >> number_literal) & number_literal) , (binary_expression "(ulong)data_addr.__ss_padding._14_8_ >> 0x20 & 0xff" (binary_expression "(ulong)data_addr.__ss_padding._14_8_ >> 0x20" (cast_expression "(ulong)data_addr.__ss_padding._14_8_" ( (type_descriptor "ulong" type_identifier) ) (field_expression "data_addr.__ss_padding._14_8_" (field_expression "data_addr.__ss_padding" identifier . field_identifier) . field_identifier)) >> number_literal) & number_literal) , (binary_expression "(ulong)data_addr.__ss_padding._14_8_ >> 0x28 & 0xff" (binary_expression "(ulong)data_addr.__ss_padding._14_8_ >> 0x28" (cast_expression "(ulong)data_addr.__ss_padding._14_8_" ( (type_descriptor "ulong" type_identifier) ) (field_expression "data_addr.__ss_padding._14_8_" (field_expression "data_addr.__ss_padding" identifier . field_identifier) . field_identifier)) >> number_literal) & number_literal) , (binary_expression "(ulong)data_addr.__ss_padding._14_8_ >> 0x30 & 0xff" (binary_expression "(ulong)data_addr.__ss_padding._14_8_ >> 0x30" (cast_expression "(ulong)data_addr.__ss_padding._14_8_" ( (type_descriptor "ulong" type_identifier) ) (field_expression "data_addr.__ss_padding._14_8_" (field_expression "data_addr.__ss_padding" identifier . field_identifier) . field_identifier)) >> number_literal) & number_literal) , (binary_expression "(ulong)data_addr.__ss_padding._14_8_ >> 0x38" (cast_expression "(ulong)data_addr.__ss_padding._14_8_" ( (type_descriptor "ulong" type_identifier) ) (field_expression "data_addr.__ss_padding._14_8_" (field_expression "data_addr.__ss_padding" identifier . field_identifier) . field_identifier)) >> number_literal) , (cast_expression "(ulong)(byte)data_addr.__ss_padding[0]" ( (type_descriptor "ulong" type_identifier) ) (cast_expression "(byte)data_addr.__ss_padding[0]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "data_addr.__ss_padding[0]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]))) , (cast_expression "(ulong)(byte)data_addr.__ss_padding[1]" ( (type_descriptor "ulong" type_identifier) ) (cast_expression "(byte)data_addr.__ss_padding[1]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "data_addr.__ss_padding[1]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]))) )))) ;) })))) (if_statement "if ((iVar4 != 5) || (sendport != -1)) goto LAB_0010cd3f;" if (parenthesized_expression "((iVar4 != 5) || (sendport != -1))" ( (binary_expression "(iVar4 != 5) || (sendport != -1)" (parenthesized_expression "(iVar4 != 5)" ( (binary_expression "iVar4 != 5" identifier != number_literal) )) || (parenthesized_expression "(sendport != -1)" ( (binary_expression "sendport != -1" identifier != number_literal) ))) )) (goto_statement "goto LAB_0010cd3f;" goto statement_identifier ;)) (expression_statement "sendport = 0;" (assignment_expression "sendport = 0" identifier = number_literal) ;) (expression_statement "uVar7 = 1;" (assignment_expression "uVar7 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_0010cba4;" goto statement_identifier ;) })) (expression_statement "data = socket((uint)myctladdr.ss_family,1,0);" (assignment_expression "data = socket((uint)myctladdr.ss_family,1,0)" identifier = (call_expression "socket((uint)myctladdr.ss_family,1,0)" identifier (argument_list "((uint)myctladdr.ss_family,1,0)" ( (cast_expression "(uint)myctladdr.ss_family" ( (type_descriptor "uint" type_identifier) ) (field_expression "myctladdr.ss_family" identifier . field_identifier)) , number_literal , number_literal )))) ;) (if_statement "if (data < 0) {\n    perror("ftp: socket");\n    uVar7 = 1;\n    goto LAB_0010ca2b;\n  }" if (parenthesized_expression "(data < 0)" ( (binary_expression "data < 0" identifier < number_literal) )) (compound_statement "{\n    perror("ftp: socket");\n    uVar7 = 1;\n    goto LAB_0010ca2b;\n  }" { (expression_statement "perror("ftp: socket");" (call_expression "perror("ftp: socket")" identifier (argument_list "("ftp: socket")" ( (string_literal ""ftp: socket"" " string_content ") ))) ;) (expression_statement "uVar7 = 1;" (assignment_expression "uVar7 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_0010ca2b;" goto statement_identifier ;) })) (if_statement "if (((byte)options & 1) != 0) {\n    iVar4 = setsockopt(data,1,1,&on,4);\n    if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      if (*piVar6 != 0xd) {\n        error(0,*piVar6,"setsockopt DEBUG (ignored)");\n      }\n    }\n  }" if (parenthesized_expression "(((byte)options & 1) != 0)" ( (binary_expression "((byte)options & 1) != 0" (parenthesized_expression "((byte)options & 1)" ( (binary_expression "(byte)options & 1" (cast_expression "(byte)options" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n    iVar4 = setsockopt(data,1,1,&on,4);\n    if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      if (*piVar6 != 0xd) {\n        error(0,*piVar6,"setsockopt DEBUG (ignored)");\n      }\n    }\n  }" { (expression_statement "iVar4 = setsockopt(data,1,1,&on,4);" (assignment_expression "iVar4 = setsockopt(data,1,1,&on,4)" identifier = (call_expression "setsockopt(data,1,1,&on,4)" identifier (argument_list "(data,1,1,&on,4)" ( identifier , number_literal , number_literal , (pointer_expression "&on" & identifier) , number_literal )))) ;) (if_statement "if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      if (*piVar6 != 0xd) {\n        error(0,*piVar6,"setsockopt DEBUG (ignored)");\n      }\n    }" if (parenthesized_expression "(iVar4 < 0)" ( (binary_expression "iVar4 < 0" identifier < number_literal) )) (compound_statement "{\n      piVar6 = __errno_location();\n      if (*piVar6 != 0xd) {\n        error(0,*piVar6,"setsockopt DEBUG (ignored)");\n      }\n    }" { (expression_statement "piVar6 = __errno_location();" (assignment_expression "piVar6 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*piVar6 != 0xd) {\n        error(0,*piVar6,"setsockopt DEBUG (ignored)");\n      }" if (parenthesized_expression "(*piVar6 != 0xd)" ( (binary_expression "*piVar6 != 0xd" (pointer_expression "*piVar6" * identifier) != number_literal) )) (compound_statement "{\n        error(0,*piVar6,"setsockopt DEBUG (ignored)");\n      }" { (expression_statement "error(0,*piVar6,"setsockopt DEBUG (ignored)");" (call_expression "error(0,*piVar6,"setsockopt DEBUG (ignored)")" identifier (argument_list "(0,*piVar6,"setsockopt DEBUG (ignored)")" ( number_literal , (pointer_expression "*piVar6" * identifier) , (string_literal ""setsockopt DEBUG (ignored)"" " string_content ") ))) ;) })) })) })) (if_statement "if (myctladdr.ss_family == 2) {\n    if (doepsv4 != 0) {\n      iVar4 = command("EPSV");\n      if (iVar4 == 2) goto LAB_0010c336;\n      if (doepsv4 != 0) {\n        doepsv4 = 0;\n      }\n    }\n    iVar4 = command("PASV");\n    if (iVar4 == 2) goto LAB_0010c499;\n    iVar4 = command("LPSV");\n    if (iVar4 == 2) {\nLAB_0010c62c:\n      if (myctladdr.ss_family == 2) {\n        iVar4 = sscanf(pasv,"%u,%u,%u,%u,%u,%u,%u,%u,%u",&af,&hal,h,h + 1,h + 2,h + 3,&len,&p0,&p1);\n        if ((((iVar4 == 9) && (af == 4)) && (hal == 4)) && (len == 2)) {\n          puVar5 = h;\n          do {\n            *puVar5 = *puVar5 & 0xff;\n            puVar5 = puVar5 + 1;\n          } while (puVar5 != h + 4);\n          uVar2 = (ushort)(byte)p1 << 8 | (ushort)p0 & 0xff;\n          data_addr.__ss_padding[0] = (char)uVar2;\n          data_addr.__ss_padding[1] = (char)(uVar2 >> 8);\n          data_addr.ss_family = 2;\n          uVar7 = h[0] << 0x18 | h[1] << 0x10 | h[3] | h[2] << 8;\n          uVar7 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | h[3] << 0x18;\n          data_addr.__ss_padding[2] = (char)uVar7;\n          data_addr.__ss_padding[3] = (char)(uVar7 >> 8);\n          data_addr.__ss_padding[4] = (char)(uVar7 >> 0x10);\n          data_addr.__ss_padding[5] = (char)(uVar7 >> 0x18);\n          uVar1 = data_addr._0_8_;\n          goto LAB_0010c540;\n        }\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        command("ABOR");\n        goto LAB_0010c703;\n      }\n      iVar4 = sscanf(pasv,"%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u",&af,&hal,\n                     h,h + 1,h + 2,h + 3,h + 4,h + 5,h + 6,h + 7,h + 8,h + 9,h + 10,h + 0xb,h + 0xc,\n                     h + 0xd,h + 0xe,h + 0xf,&len,&p0,&p1);\n      if (((iVar4 != 0x15) || (af != 6)) || ((hal != 0x10 || (len != 2)))) {\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        command("ABOR");\n        goto LAB_0010c703;\n      }\n      puVar5 = h;\n      do {\n        *puVar5 = *puVar5 & 0xff;\n        puVar5 = puVar5 + 1;\n      } while (puVar5 != local_48);\n      uVar2 = (ushort)(byte)p1 << 8 | (ushort)p0 & 0xff;\n      data_addr.__ss_padding[0] = (char)uVar2;\n      data_addr.__ss_padding[1] = (char)(uVar2 >> 8);\n      data_addr.ss_family = 10;\n      uVar7 = h[0] << 0x18 | h[1] << 0x10 | h[3] | h[2] << 8;\n      uVar7 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | h[3] << 0x18;\n      uVar3 = h[4] << 0x18 | h[5] << 0x10 | h[7] | h[6] << 8;\n      uVar3 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | h[7] << 0x18;\n      data_addr.__ss_padding[10] = (char)uVar3;\n      data_addr.__ss_padding[0xb] = (char)(uVar3 >> 8);\n      data_addr.__ss_padding[0xc] = (char)(uVar3 >> 0x10);\n      data_addr.__ss_padding[0xd] = (char)(uVar3 >> 0x18);\n      data_addr.__ss_padding[6] = (char)uVar7;\n      data_addr.__ss_padding[7] = (char)(uVar7 >> 8);\n      data_addr.__ss_padding[8] = (char)(uVar7 >> 0x10);\n      data_addr.__ss_padding[9] = (char)(uVar7 >> 0x18);\n      uVar7 = h[8] << 0x18 | h[9] << 0x10 | h[0xb] | h[10] << 8;\n      uVar7 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | h[0xb] << 0x18;\n      uVar3 = h[0xc] << 0x18 | h[0xd] << 0x10 | h[0xf] | h[0xe] << 8;\n      uVar3 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | h[0xf] << 0x18;\n      data_addr.__ss_padding[0x12] = (char)uVar3;\n      data_addr.__ss_padding[0x13] = (char)(uVar3 >> 8);\n      data_addr.__ss_padding[0x14] = (char)(uVar3 >> 0x10);\n      data_addr.__ss_padding[0x15] = (char)(uVar3 >> 0x18);\n      data_addr.__ss_padding[0xe] = (char)uVar7;\n      data_addr.__ss_padding[0xf] = (char)(uVar7 >> 8);\n      data_addr.__ss_padding[0x10] = (char)(uVar7 >> 0x10);\n      data_addr.__ss_padding[0x11] = (char)(uVar7 >> 0x18);\n      uVar1 = data_addr._0_8_;\n      goto LAB_0010c540;\n    }\n    puts("Passive mode refused.");\n  }\n  else {\n    if (myctladdr.ss_family == 10) {\n      iVar4 = command("EPSV");\n      if (iVar4 == 2) {\nLAB_0010c336:\n        iVar4 = sscanf(pasv,"%u|",&port);\n        if (iVar4 == 1) {\n          data_addr.ss_family = hisctladdr.ss_family;\n          data_addr.__ss_padding[0] = hisctladdr.__ss_padding[0];\n          data_addr.__ss_padding[1] = hisctladdr.__ss_padding[1];\n          data_addr.__ss_padding[2] = hisctladdr.__ss_padding[2];\n          data_addr.__ss_padding[3] = hisctladdr.__ss_padding[3];\n          data_addr.__ss_padding[4] = hisctladdr.__ss_padding[4];\n          data_addr.__ss_padding[5] = hisctladdr.__ss_padding[5];\n          uVar1 = data_addr._0_8_;\n          data_addr.__ss_padding[6] = hisctladdr.__ss_padding[6];\n          data_addr.__ss_padding[7] = hisctladdr.__ss_padding[7];\n          data_addr.__ss_padding[8] = hisctladdr.__ss_padding[8];\n          data_addr.__ss_padding[9] = hisctladdr.__ss_padding[9];\n          data_addr.__ss_padding[10] = hisctladdr.__ss_padding[10];\n          data_addr.__ss_padding[0xb] = hisctladdr.__ss_padding[0xb];\n          data_addr.__ss_padding[0xc] = hisctladdr.__ss_padding[0xc];\n          data_addr.__ss_padding[0xd] = hisctladdr.__ss_padding[0xd];\n          data_addr.__ss_padding[0xe] = hisctladdr.__ss_padding[0xe];\n          data_addr.__ss_padding[0xf] = hisctladdr.__ss_padding[0xf];\n          data_addr.__ss_padding[0x10] = hisctladdr.__ss_padding[0x10];\n          data_addr.__ss_padding[0x11] = hisctladdr.__ss_padding[0x11];\n          data_addr.__ss_padding[0x12] = hisctladdr.__ss_padding[0x12];\n          data_addr.__ss_padding[0x13] = hisctladdr.__ss_padding[0x13];\n          data_addr.__ss_padding[0x14] = hisctladdr.__ss_padding[0x14];\n          data_addr.__ss_padding[0x15] = hisctladdr.__ss_padding[0x15];\n          data_addr.__ss_padding[0x16] = hisctladdr.__ss_padding[0x16];\n          data_addr.__ss_padding[0x17] = hisctladdr.__ss_padding[0x17];\n          data_addr.__ss_padding[0x18] = hisctladdr.__ss_padding[0x18];\n          data_addr.__ss_padding[0x19] = hisctladdr.__ss_padding[0x19];\n          data_addr.__ss_padding[0x1a] = hisctladdr.__ss_padding[0x1a];\n          data_addr.__ss_padding[0x1b] = hisctladdr.__ss_padding[0x1b];\n          data_addr.__ss_padding[0x1c] = hisctladdr.__ss_padding[0x1c];\n          data_addr.__ss_padding[0x1d] = hisctladdr.__ss_padding[0x1d];\n          data_addr.__ss_padding[0x1e] = hisctladdr.__ss_padding[0x1e];\n          data_addr.__ss_padding[0x1f] = hisctladdr.__ss_padding[0x1f];\n          data_addr.__ss_padding[0x20] = hisctladdr.__ss_padding[0x20];\n          data_addr.__ss_padding[0x21] = hisctladdr.__ss_padding[0x21];\n          data_addr.__ss_padding[0x22] = hisctladdr.__ss_padding[0x22];\n          data_addr.__ss_padding[0x23] = hisctladdr.__ss_padding[0x23];\n          data_addr.__ss_padding[0x24] = hisctladdr.__ss_padding[0x24];\n          data_addr.__ss_padding[0x25] = hisctladdr.__ss_padding[0x25];\n          data_addr.__ss_padding[0x26] = hisctladdr.__ss_padding[0x26];\n          data_addr.__ss_padding[0x27] = hisctladdr.__ss_padding[0x27];\n          data_addr.__ss_padding[0x28] = hisctladdr.__ss_padding[0x28];\n          data_addr.__ss_padding[0x29] = hisctladdr.__ss_padding[0x29];\n          data_addr.__ss_padding[0x2a] = hisctladdr.__ss_padding[0x2a];\n          data_addr.__ss_padding[0x2b] = hisctladdr.__ss_padding[0x2b];\n          data_addr.__ss_padding[0x2c] = hisctladdr.__ss_padding[0x2c];\n          data_addr.__ss_padding[0x2d] = hisctladdr.__ss_padding[0x2d];\n          data_addr.__ss_padding[0x2e] = hisctladdr.__ss_padding[0x2e];\n          data_addr.__ss_padding[0x2f] = hisctladdr.__ss_padding[0x2f];\n          data_addr.__ss_padding[0x30] = hisctladdr.__ss_padding[0x30];\n          data_addr.__ss_padding[0x31] = hisctladdr.__ss_padding[0x31];\n          data_addr.__ss_padding[0x32] = hisctladdr.__ss_padding[0x32];\n          data_addr.__ss_padding[0x33] = hisctladdr.__ss_padding[0x33];\n          data_addr.__ss_padding[0x34] = hisctladdr.__ss_padding[0x34];\n          data_addr.__ss_padding[0x35] = hisctladdr.__ss_padding[0x35];\n          data_addr.__ss_padding[0x36] = hisctladdr.__ss_padding[0x36];\n          data_addr.__ss_padding[0x37] = hisctladdr.__ss_padding[0x37];\n          data_addr.__ss_padding[0x38] = hisctladdr.__ss_padding[0x38];\n          data_addr.__ss_padding[0x39] = hisctladdr.__ss_padding[0x39];\n          data_addr.__ss_padding[0x3a] = hisctladdr.__ss_padding[0x3a];\n          data_addr.__ss_padding[0x3b] = hisctladdr.__ss_padding[0x3b];\n          data_addr.__ss_padding[0x3c] = hisctladdr.__ss_padding[0x3c];\n          data_addr.__ss_padding[0x3d] = hisctladdr.__ss_padding[0x3d];\n          data_addr.__ss_padding[0x3e] = hisctladdr.__ss_padding[0x3e];\n          data_addr.__ss_padding[0x3f] = hisctladdr.__ss_padding[0x3f];\n          data_addr.__ss_padding[0x40] = hisctladdr.__ss_padding[0x40];\n          data_addr.__ss_padding[0x41] = hisctladdr.__ss_padding[0x41];\n          data_addr.__ss_padding[0x42] = hisctladdr.__ss_padding[0x42];\n          data_addr.__ss_padding[0x43] = hisctladdr.__ss_padding[0x43];\n          data_addr.__ss_padding[0x44] = hisctladdr.__ss_padding[0x44];\n          data_addr.__ss_padding[0x45] = hisctladdr.__ss_padding[0x45];\n          data_addr.__ss_padding[0x46] = hisctladdr.__ss_padding[0x46];\n          data_addr.__ss_padding[0x47] = hisctladdr.__ss_padding[0x47];\n          data_addr.__ss_padding[0x48] = hisctladdr.__ss_padding[0x48];\n          data_addr.__ss_padding[0x49] = hisctladdr.__ss_padding[0x49];\n          data_addr.__ss_padding[0x4a] = hisctladdr.__ss_padding[0x4a];\n          data_addr.__ss_padding[0x4b] = hisctladdr.__ss_padding[0x4b];\n          data_addr.__ss_padding[0x4c] = hisctladdr.__ss_padding[0x4c];\n          data_addr.__ss_padding[0x4d] = hisctladdr.__ss_padding[0x4d];\n          data_addr.__ss_padding[0x4e] = hisctladdr.__ss_padding[0x4e];\n          data_addr.__ss_padding[0x4f] = hisctladdr.__ss_padding[0x4f];\n          data_addr.__ss_padding[0x50] = hisctladdr.__ss_padding[0x50];\n          data_addr.__ss_padding[0x51] = hisctladdr.__ss_padding[0x51];\n          data_addr.__ss_padding[0x52] = hisctladdr.__ss_padding[0x52];\n          data_addr.__ss_padding[0x53] = hisctladdr.__ss_padding[0x53];\n          data_addr.__ss_padding[0x54] = hisctladdr.__ss_padding[0x54];\n          data_addr.__ss_padding[0x55] = hisctladdr.__ss_padding[0x55];\n          data_addr.__ss_padding[0x56] = hisctladdr.__ss_padding[0x56];\n          data_addr.__ss_padding[0x57] = hisctladdr.__ss_padding[0x57];\n          data_addr.__ss_padding[0x58] = hisctladdr.__ss_padding[0x58];\n          data_addr.__ss_padding[0x59] = hisctladdr.__ss_padding[0x59];\n          data_addr.__ss_padding[0x5a] = hisctladdr.__ss_padding[0x5a];\n          data_addr.__ss_padding[0x5b] = hisctladdr.__ss_padding[0x5b];\n          data_addr.__ss_padding[0x5c] = hisctladdr.__ss_padding[0x5c];\n          data_addr.__ss_padding[0x5d] = hisctladdr.__ss_padding[0x5d];\n          data_addr.__ss_padding[0x5e] = hisctladdr.__ss_padding[0x5e];\n          data_addr.__ss_padding[0x5f] = hisctladdr.__ss_padding[0x5f];\n          data_addr.__ss_padding[0x60] = hisctladdr.__ss_padding[0x60];\n          data_addr.__ss_padding[0x61] = hisctladdr.__ss_padding[0x61];\n          data_addr.__ss_padding[0x62] = hisctladdr.__ss_padding[0x62];\n          data_addr.__ss_padding[99] = hisctladdr.__ss_padding[99];\n          data_addr.__ss_padding[100] = hisctladdr.__ss_padding[100];\n          data_addr.__ss_padding[0x65] = hisctladdr.__ss_padding[0x65];\n          data_addr.__ss_padding[0x66] = hisctladdr.__ss_padding[0x66];\n          data_addr.__ss_padding[0x67] = hisctladdr.__ss_padding[0x67];\n          data_addr.__ss_padding[0x68] = hisctladdr.__ss_padding[0x68];\n          data_addr.__ss_padding[0x69] = hisctladdr.__ss_padding[0x69];\n          data_addr.__ss_padding[0x6a] = hisctladdr.__ss_padding[0x6a];\n          data_addr.__ss_padding[0x6b] = hisctladdr.__ss_padding[0x6b];\n          data_addr.__ss_padding[0x6c] = hisctladdr.__ss_padding[0x6c];\n          data_addr.__ss_padding[0x6d] = hisctladdr.__ss_padding[0x6d];\n          data_addr.__ss_padding[0x6e] = hisctladdr.__ss_padding[0x6e];\n          data_addr.__ss_padding[0x6f] = hisctladdr.__ss_padding[0x6f];\n          data_addr.__ss_padding[0x70] = hisctladdr.__ss_padding[0x70];\n          data_addr.__ss_padding[0x71] = hisctladdr.__ss_padding[0x71];\n          data_addr.__ss_padding[0x72] = hisctladdr.__ss_padding[0x72];\n          data_addr.__ss_padding[0x73] = hisctladdr.__ss_padding[0x73];\n          data_addr.__ss_padding[0x74] = hisctladdr.__ss_padding[0x74];\n          data_addr.__ss_padding[0x75] = hisctladdr.__ss_padding[0x75];\n          data_addr.__ss_align = hisctladdr.__ss_align;\n          data_addr.__ss_padding._2_4_ = SUB84(hisctladdr._0_8_,4);\n          if ((sa_family_t)hisctladdr._0_8_ == 2) {\n            uVar2 = (ushort)port << 8 | (ushort)port >> 8;\n            data_addr.__ss_padding[0] = (char)uVar2;\n            data_addr.__ss_padding[1] = (char)(uVar2 >> 8);\n            data_addr.ss_family = 2;\n            uVar1 = data_addr._0_8_;\n          }\n          else if ((sa_family_t)hisctladdr._0_8_ == 10) {\n            uVar2 = (ushort)port << 8 | (ushort)port >> 8;\n            data_addr.__ss_padding[0] = (char)uVar2;\n            data_addr.__ss_padding[1] = (char)(uVar2 >> 8);\n            data_addr.ss_family = 10;\n            uVar1 = data_addr._0_8_;\n          }\n          goto LAB_0010c540;\n        }\n        puts("Extended passive mode scan failure. Should not happen!");\n        command("ABOR");\n      }\n      else {\n        iVar4 = command("LPSV");\n        if (iVar4 == 2) goto LAB_0010c62c;\n        puts("Passive mode refused.");\n      }\n      goto LAB_0010c703;\n    }\nLAB_0010c499:\n    if (myctladdr.ss_family == 2) {\n      iVar4 = sscanf(pasv,"%u,%u,%u,%u,%u,%u",&a0,&a1,&a2,&a3,&p0,&p1);\n      if (iVar4 == 6) {\n        uVar7 = a0 & 0xff | ((a1 & 0xff) << 0x10) >> 8 | (a2 & 0xff) << 0x10 |\n                (uint)(byte)a3 << 0x18;\n        uVar2 = (ushort)(byte)p1 << 8 | (ushort)p0 & 0xff;\n        data_addr.__ss_padding[0] = (char)uVar2;\n        data_addr.__ss_padding[1] = (char)(uVar2 >> 8);\n        data_addr.ss_family = 2;\n        data_addr.__ss_padding[2] = (char)uVar7;\n        data_addr.__ss_padding[3] = (char)(uVar7 >> 8);\n        data_addr.__ss_padding[4] = (char)(uVar7 >> 0x10);\n        data_addr.__ss_padding[5] = (char)(uVar7 >> 0x18);\n        uVar1 = data_addr._0_8_;\nLAB_0010c540:\n        data_addr._0_8_ = uVar1;\n        iVar4 = connect(data,(sockaddr *)&data_addr,ctladdrlen);\n        if (-1 < iVar4) {\n          on = 8;\n          uVar7 = 0;\n          if (data_addr.ss_family == 2) {\n            iVar4 = setsockopt(data,0,1,&on,4);\n            if (iVar4 < 0) {\n              perror("ftp: setsockopt TOS (ignored)");\n            }\n          }\n          goto LAB_0010ca2b;\n        }\n        perror("ftp: connect");\n      }\n      else {\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        command("ABOR");\n      }\n    }\n    else {\n      puts("Passive mode address scan failure. Shouldn\'t happen!");\n    }\n  }" if (parenthesized_expression "(myctladdr.ss_family == 2)" ( (binary_expression "myctladdr.ss_family == 2" (field_expression "myctladdr.ss_family" identifier . field_identifier) == number_literal) )) (compound_statement "{\n    if (doepsv4 != 0) {\n      iVar4 = command("EPSV");\n      if (iVar4 == 2) goto LAB_0010c336;\n      if (doepsv4 != 0) {\n        doepsv4 = 0;\n      }\n    }\n    iVar4 = command("PASV");\n    if (iVar4 == 2) goto LAB_0010c499;\n    iVar4 = command("LPSV");\n    if (iVar4 == 2) {\nLAB_0010c62c:\n      if (myctladdr.ss_family == 2) {\n        iVar4 = sscanf(pasv,"%u,%u,%u,%u,%u,%u,%u,%u,%u",&af,&hal,h,h + 1,h + 2,h + 3,&len,&p0,&p1);\n        if ((((iVar4 == 9) && (af == 4)) && (hal == 4)) && (len == 2)) {\n          puVar5 = h;\n          do {\n            *puVar5 = *puVar5 & 0xff;\n            puVar5 = puVar5 + 1;\n          } while (puVar5 != h + 4);\n          uVar2 = (ushort)(byte)p1 << 8 | (ushort)p0 & 0xff;\n          data_addr.__ss_padding[0] = (char)uVar2;\n          data_addr.__ss_padding[1] = (char)(uVar2 >> 8);\n          data_addr.ss_family = 2;\n          uVar7 = h[0] << 0x18 | h[1] << 0x10 | h[3] | h[2] << 8;\n          uVar7 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | h[3] << 0x18;\n          data_addr.__ss_padding[2] = (char)uVar7;\n          data_addr.__ss_padding[3] = (char)(uVar7 >> 8);\n          data_addr.__ss_padding[4] = (char)(uVar7 >> 0x10);\n          data_addr.__ss_padding[5] = (char)(uVar7 >> 0x18);\n          uVar1 = data_addr._0_8_;\n          goto LAB_0010c540;\n        }\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        command("ABOR");\n        goto LAB_0010c703;\n      }\n      iVar4 = sscanf(pasv,"%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u",&af,&hal,\n                     h,h + 1,h + 2,h + 3,h + 4,h + 5,h + 6,h + 7,h + 8,h + 9,h + 10,h + 0xb,h + 0xc,\n                     h + 0xd,h + 0xe,h + 0xf,&len,&p0,&p1);\n      if (((iVar4 != 0x15) || (af != 6)) || ((hal != 0x10 || (len != 2)))) {\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        command("ABOR");\n        goto LAB_0010c703;\n      }\n      puVar5 = h;\n      do {\n        *puVar5 = *puVar5 & 0xff;\n        puVar5 = puVar5 + 1;\n      } while (puVar5 != local_48);\n      uVar2 = (ushort)(byte)p1 << 8 | (ushort)p0 & 0xff;\n      data_addr.__ss_padding[0] = (char)uVar2;\n      data_addr.__ss_padding[1] = (char)(uVar2 >> 8);\n      data_addr.ss_family = 10;\n      uVar7 = h[0] << 0x18 | h[1] << 0x10 | h[3] | h[2] << 8;\n      uVar7 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | h[3] << 0x18;\n      uVar3 = h[4] << 0x18 | h[5] << 0x10 | h[7] | h[6] << 8;\n      uVar3 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | h[7] << 0x18;\n      data_addr.__ss_padding[10] = (char)uVar3;\n      data_addr.__ss_padding[0xb] = (char)(uVar3 >> 8);\n      data_addr.__ss_padding[0xc] = (char)(uVar3 >> 0x10);\n      data_addr.__ss_padding[0xd] = (char)(uVar3 >> 0x18);\n      data_addr.__ss_padding[6] = (char)uVar7;\n      data_addr.__ss_padding[7] = (char)(uVar7 >> 8);\n      data_addr.__ss_padding[8] = (char)(uVar7 >> 0x10);\n      data_addr.__ss_padding[9] = (char)(uVar7 >> 0x18);\n      uVar7 = h[8] << 0x18 | h[9] << 0x10 | h[0xb] | h[10] << 8;\n      uVar7 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | h[0xb] << 0x18;\n      uVar3 = h[0xc] << 0x18 | h[0xd] << 0x10 | h[0xf] | h[0xe] << 8;\n      uVar3 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | h[0xf] << 0x18;\n      data_addr.__ss_padding[0x12] = (char)uVar3;\n      data_addr.__ss_padding[0x13] = (char)(uVar3 >> 8);\n      data_addr.__ss_padding[0x14] = (char)(uVar3 >> 0x10);\n      data_addr.__ss_padding[0x15] = (char)(uVar3 >> 0x18);\n      data_addr.__ss_padding[0xe] = (char)uVar7;\n      data_addr.__ss_padding[0xf] = (char)(uVar7 >> 8);\n      data_addr.__ss_padding[0x10] = (char)(uVar7 >> 0x10);\n      data_addr.__ss_padding[0x11] = (char)(uVar7 >> 0x18);\n      uVar1 = data_addr._0_8_;\n      goto LAB_0010c540;\n    }\n    puts("Passive mode refused.");\n  }" { (if_statement "if (doepsv4 != 0) {\n      iVar4 = command("EPSV");\n      if (iVar4 == 2) goto LAB_0010c336;\n      if (doepsv4 != 0) {\n        doepsv4 = 0;\n      }\n    }" if (parenthesized_expression "(doepsv4 != 0)" ( (binary_expression "doepsv4 != 0" identifier != number_literal) )) (compound_statement "{\n      iVar4 = command("EPSV");\n      if (iVar4 == 2) goto LAB_0010c336;\n      if (doepsv4 != 0) {\n        doepsv4 = 0;\n      }\n    }" { (expression_statement "iVar4 = command("EPSV");" (assignment_expression "iVar4 = command("EPSV")" identifier = (call_expression "command("EPSV")" identifier (argument_list "("EPSV")" ( (string_literal ""EPSV"" " string_content ") )))) ;) (if_statement "if (iVar4 == 2) goto LAB_0010c336;" if (parenthesized_expression "(iVar4 == 2)" ( (binary_expression "iVar4 == 2" identifier == number_literal) )) (goto_statement "goto LAB_0010c336;" goto statement_identifier ;)) (if_statement "if (doepsv4 != 0) {\n        doepsv4 = 0;\n      }" if (parenthesized_expression "(doepsv4 != 0)" ( (binary_expression "doepsv4 != 0" identifier != number_literal) )) (compound_statement "{\n        doepsv4 = 0;\n      }" { (expression_statement "doepsv4 = 0;" (assignment_expression "doepsv4 = 0" identifier = number_literal) ;) })) })) (expression_statement "iVar4 = command("PASV");" (assignment_expression "iVar4 = command("PASV")" identifier = (call_expression "command("PASV")" identifier (argument_list "("PASV")" ( (string_literal ""PASV"" " string_content ") )))) ;) (if_statement "if (iVar4 == 2) goto LAB_0010c499;" if (parenthesized_expression "(iVar4 == 2)" ( (binary_expression "iVar4 == 2" identifier == number_literal) )) (goto_statement "goto LAB_0010c499;" goto statement_identifier ;)) (expression_statement "iVar4 = command("LPSV");" (assignment_expression "iVar4 = command("LPSV")" identifier = (call_expression "command("LPSV")" identifier (argument_list "("LPSV")" ( (string_literal ""LPSV"" " string_content ") )))) ;) (if_statement "if (iVar4 == 2) {\nLAB_0010c62c:\n      if (myctladdr.ss_family == 2) {\n        iVar4 = sscanf(pasv,"%u,%u,%u,%u,%u,%u,%u,%u,%u",&af,&hal,h,h + 1,h + 2,h + 3,&len,&p0,&p1);\n        if ((((iVar4 == 9) && (af == 4)) && (hal == 4)) && (len == 2)) {\n          puVar5 = h;\n          do {\n            *puVar5 = *puVar5 & 0xff;\n            puVar5 = puVar5 + 1;\n          } while (puVar5 != h + 4);\n          uVar2 = (ushort)(byte)p1 << 8 | (ushort)p0 & 0xff;\n          data_addr.__ss_padding[0] = (char)uVar2;\n          data_addr.__ss_padding[1] = (char)(uVar2 >> 8);\n          data_addr.ss_family = 2;\n          uVar7 = h[0] << 0x18 | h[1] << 0x10 | h[3] | h[2] << 8;\n          uVar7 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | h[3] << 0x18;\n          data_addr.__ss_padding[2] = (char)uVar7;\n          data_addr.__ss_padding[3] = (char)(uVar7 >> 8);\n          data_addr.__ss_padding[4] = (char)(uVar7 >> 0x10);\n          data_addr.__ss_padding[5] = (char)(uVar7 >> 0x18);\n          uVar1 = data_addr._0_8_;\n          goto LAB_0010c540;\n        }\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        command("ABOR");\n        goto LAB_0010c703;\n      }\n      iVar4 = sscanf(pasv,"%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u",&af,&hal,\n                     h,h + 1,h + 2,h + 3,h + 4,h + 5,h + 6,h + 7,h + 8,h + 9,h + 10,h + 0xb,h + 0xc,\n                     h + 0xd,h + 0xe,h + 0xf,&len,&p0,&p1);\n      if (((iVar4 != 0x15) || (af != 6)) || ((hal != 0x10 || (len != 2)))) {\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        command("ABOR");\n        goto LAB_0010c703;\n      }\n      puVar5 = h;\n      do {\n        *puVar5 = *puVar5 & 0xff;\n        puVar5 = puVar5 + 1;\n      } while (puVar5 != local_48);\n      uVar2 = (ushort)(byte)p1 << 8 | (ushort)p0 & 0xff;\n      data_addr.__ss_padding[0] = (char)uVar2;\n      data_addr.__ss_padding[1] = (char)(uVar2 >> 8);\n      data_addr.ss_family = 10;\n      uVar7 = h[0] << 0x18 | h[1] << 0x10 | h[3] | h[2] << 8;\n      uVar7 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | h[3] << 0x18;\n      uVar3 = h[4] << 0x18 | h[5] << 0x10 | h[7] | h[6] << 8;\n      uVar3 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | h[7] << 0x18;\n      data_addr.__ss_padding[10] = (char)uVar3;\n      data_addr.__ss_padding[0xb] = (char)(uVar3 >> 8);\n      data_addr.__ss_padding[0xc] = (char)(uVar3 >> 0x10);\n      data_addr.__ss_padding[0xd] = (char)(uVar3 >> 0x18);\n      data_addr.__ss_padding[6] = (char)uVar7;\n      data_addr.__ss_padding[7] = (char)(uVar7 >> 8);\n      data_addr.__ss_padding[8] = (char)(uVar7 >> 0x10);\n      data_addr.__ss_padding[9] = (char)(uVar7 >> 0x18);\n      uVar7 = h[8] << 0x18 | h[9] << 0x10 | h[0xb] | h[10] << 8;\n      uVar7 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | h[0xb] << 0x18;\n      uVar3 = h[0xc] << 0x18 | h[0xd] << 0x10 | h[0xf] | h[0xe] << 8;\n      uVar3 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | h[0xf] << 0x18;\n      data_addr.__ss_padding[0x12] = (char)uVar3;\n      data_addr.__ss_padding[0x13] = (char)(uVar3 >> 8);\n      data_addr.__ss_padding[0x14] = (char)(uVar3 >> 0x10);\n      data_addr.__ss_padding[0x15] = (char)(uVar3 >> 0x18);\n      data_addr.__ss_padding[0xe] = (char)uVar7;\n      data_addr.__ss_padding[0xf] = (char)(uVar7 >> 8);\n      data_addr.__ss_padding[0x10] = (char)(uVar7 >> 0x10);\n      data_addr.__ss_padding[0x11] = (char)(uVar7 >> 0x18);\n      uVar1 = data_addr._0_8_;\n      goto LAB_0010c540;\n    }" if (parenthesized_expression "(iVar4 == 2)" ( (binary_expression "iVar4 == 2" identifier == number_literal) )) (compound_statement "{\nLAB_0010c62c:\n      if (myctladdr.ss_family == 2) {\n        iVar4 = sscanf(pasv,"%u,%u,%u,%u,%u,%u,%u,%u,%u",&af,&hal,h,h + 1,h + 2,h + 3,&len,&p0,&p1);\n        if ((((iVar4 == 9) && (af == 4)) && (hal == 4)) && (len == 2)) {\n          puVar5 = h;\n          do {\n            *puVar5 = *puVar5 & 0xff;\n            puVar5 = puVar5 + 1;\n          } while (puVar5 != h + 4);\n          uVar2 = (ushort)(byte)p1 << 8 | (ushort)p0 & 0xff;\n          data_addr.__ss_padding[0] = (char)uVar2;\n          data_addr.__ss_padding[1] = (char)(uVar2 >> 8);\n          data_addr.ss_family = 2;\n          uVar7 = h[0] << 0x18 | h[1] << 0x10 | h[3] | h[2] << 8;\n          uVar7 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | h[3] << 0x18;\n          data_addr.__ss_padding[2] = (char)uVar7;\n          data_addr.__ss_padding[3] = (char)(uVar7 >> 8);\n          data_addr.__ss_padding[4] = (char)(uVar7 >> 0x10);\n          data_addr.__ss_padding[5] = (char)(uVar7 >> 0x18);\n          uVar1 = data_addr._0_8_;\n          goto LAB_0010c540;\n        }\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        command("ABOR");\n        goto LAB_0010c703;\n      }\n      iVar4 = sscanf(pasv,"%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u",&af,&hal,\n                     h,h + 1,h + 2,h + 3,h + 4,h + 5,h + 6,h + 7,h + 8,h + 9,h + 10,h + 0xb,h + 0xc,\n                     h + 0xd,h + 0xe,h + 0xf,&len,&p0,&p1);\n      if (((iVar4 != 0x15) || (af != 6)) || ((hal != 0x10 || (len != 2)))) {\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        command("ABOR");\n        goto LAB_0010c703;\n      }\n      puVar5 = h;\n      do {\n        *puVar5 = *puVar5 & 0xff;\n        puVar5 = puVar5 + 1;\n      } while (puVar5 != local_48);\n      uVar2 = (ushort)(byte)p1 << 8 | (ushort)p0 & 0xff;\n      data_addr.__ss_padding[0] = (char)uVar2;\n      data_addr.__ss_padding[1] = (char)(uVar2 >> 8);\n      data_addr.ss_family = 10;\n      uVar7 = h[0] << 0x18 | h[1] << 0x10 | h[3] | h[2] << 8;\n      uVar7 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | h[3] << 0x18;\n      uVar3 = h[4] << 0x18 | h[5] << 0x10 | h[7] | h[6] << 8;\n      uVar3 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | h[7] << 0x18;\n      data_addr.__ss_padding[10] = (char)uVar3;\n      data_addr.__ss_padding[0xb] = (char)(uVar3 >> 8);\n      data_addr.__ss_padding[0xc] = (char)(uVar3 >> 0x10);\n      data_addr.__ss_padding[0xd] = (char)(uVar3 >> 0x18);\n      data_addr.__ss_padding[6] = (char)uVar7;\n      data_addr.__ss_padding[7] = (char)(uVar7 >> 8);\n      data_addr.__ss_padding[8] = (char)(uVar7 >> 0x10);\n      data_addr.__ss_padding[9] = (char)(uVar7 >> 0x18);\n      uVar7 = h[8] << 0x18 | h[9] << 0x10 | h[0xb] | h[10] << 8;\n      uVar7 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | h[0xb] << 0x18;\n      uVar3 = h[0xc] << 0x18 | h[0xd] << 0x10 | h[0xf] | h[0xe] << 8;\n      uVar3 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | h[0xf] << 0x18;\n      data_addr.__ss_padding[0x12] = (char)uVar3;\n      data_addr.__ss_padding[0x13] = (char)(uVar3 >> 8);\n      data_addr.__ss_padding[0x14] = (char)(uVar3 >> 0x10);\n      data_addr.__ss_padding[0x15] = (char)(uVar3 >> 0x18);\n      data_addr.__ss_padding[0xe] = (char)uVar7;\n      data_addr.__ss_padding[0xf] = (char)(uVar7 >> 8);\n      data_addr.__ss_padding[0x10] = (char)(uVar7 >> 0x10);\n      data_addr.__ss_padding[0x11] = (char)(uVar7 >> 0x18);\n      uVar1 = data_addr._0_8_;\n      goto LAB_0010c540;\n    }" { (labeled_statement "LAB_0010c62c:\n      if (myctladdr.ss_family == 2) {\n        iVar4 = sscanf(pasv,"%u,%u,%u,%u,%u,%u,%u,%u,%u",&af,&hal,h,h + 1,h + 2,h + 3,&len,&p0,&p1);\n        if ((((iVar4 == 9) && (af == 4)) && (hal == 4)) && (len == 2)) {\n          puVar5 = h;\n          do {\n            *puVar5 = *puVar5 & 0xff;\n            puVar5 = puVar5 + 1;\n          } while (puVar5 != h + 4);\n          uVar2 = (ushort)(byte)p1 << 8 | (ushort)p0 & 0xff;\n          data_addr.__ss_padding[0] = (char)uVar2;\n          data_addr.__ss_padding[1] = (char)(uVar2 >> 8);\n          data_addr.ss_family = 2;\n          uVar7 = h[0] << 0x18 | h[1] << 0x10 | h[3] | h[2] << 8;\n          uVar7 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | h[3] << 0x18;\n          data_addr.__ss_padding[2] = (char)uVar7;\n          data_addr.__ss_padding[3] = (char)(uVar7 >> 8);\n          data_addr.__ss_padding[4] = (char)(uVar7 >> 0x10);\n          data_addr.__ss_padding[5] = (char)(uVar7 >> 0x18);\n          uVar1 = data_addr._0_8_;\n          goto LAB_0010c540;\n        }\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        command("ABOR");\n        goto LAB_0010c703;\n      }" statement_identifier : (if_statement "if (myctladdr.ss_family == 2) {\n        iVar4 = sscanf(pasv,"%u,%u,%u,%u,%u,%u,%u,%u,%u",&af,&hal,h,h + 1,h + 2,h + 3,&len,&p0,&p1);\n        if ((((iVar4 == 9) && (af == 4)) && (hal == 4)) && (len == 2)) {\n          puVar5 = h;\n          do {\n            *puVar5 = *puVar5 & 0xff;\n            puVar5 = puVar5 + 1;\n          } while (puVar5 != h + 4);\n          uVar2 = (ushort)(byte)p1 << 8 | (ushort)p0 & 0xff;\n          data_addr.__ss_padding[0] = (char)uVar2;\n          data_addr.__ss_padding[1] = (char)(uVar2 >> 8);\n          data_addr.ss_family = 2;\n          uVar7 = h[0] << 0x18 | h[1] << 0x10 | h[3] | h[2] << 8;\n          uVar7 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | h[3] << 0x18;\n          data_addr.__ss_padding[2] = (char)uVar7;\n          data_addr.__ss_padding[3] = (char)(uVar7 >> 8);\n          data_addr.__ss_padding[4] = (char)(uVar7 >> 0x10);\n          data_addr.__ss_padding[5] = (char)(uVar7 >> 0x18);\n          uVar1 = data_addr._0_8_;\n          goto LAB_0010c540;\n        }\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        command("ABOR");\n        goto LAB_0010c703;\n      }" if (parenthesized_expression "(myctladdr.ss_family == 2)" ( (binary_expression "myctladdr.ss_family == 2" (field_expression "myctladdr.ss_family" identifier . field_identifier) == number_literal) )) (compound_statement "{\n        iVar4 = sscanf(pasv,"%u,%u,%u,%u,%u,%u,%u,%u,%u",&af,&hal,h,h + 1,h + 2,h + 3,&len,&p0,&p1);\n        if ((((iVar4 == 9) && (af == 4)) && (hal == 4)) && (len == 2)) {\n          puVar5 = h;\n          do {\n            *puVar5 = *puVar5 & 0xff;\n            puVar5 = puVar5 + 1;\n          } while (puVar5 != h + 4);\n          uVar2 = (ushort)(byte)p1 << 8 | (ushort)p0 & 0xff;\n          data_addr.__ss_padding[0] = (char)uVar2;\n          data_addr.__ss_padding[1] = (char)(uVar2 >> 8);\n          data_addr.ss_family = 2;\n          uVar7 = h[0] << 0x18 | h[1] << 0x10 | h[3] | h[2] << 8;\n          uVar7 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | h[3] << 0x18;\n          data_addr.__ss_padding[2] = (char)uVar7;\n          data_addr.__ss_padding[3] = (char)(uVar7 >> 8);\n          data_addr.__ss_padding[4] = (char)(uVar7 >> 0x10);\n          data_addr.__ss_padding[5] = (char)(uVar7 >> 0x18);\n          uVar1 = data_addr._0_8_;\n          goto LAB_0010c540;\n        }\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        command("ABOR");\n        goto LAB_0010c703;\n      }" { (expression_statement "iVar4 = sscanf(pasv,"%u,%u,%u,%u,%u,%u,%u,%u,%u",&af,&hal,h,h + 1,h + 2,h + 3,&len,&p0,&p1);" (assignment_expression "iVar4 = sscanf(pasv,"%u,%u,%u,%u,%u,%u,%u,%u,%u",&af,&hal,h,h + 1,h + 2,h + 3,&len,&p0,&p1)" identifier = (call_expression "sscanf(pasv,"%u,%u,%u,%u,%u,%u,%u,%u,%u",&af,&hal,h,h + 1,h + 2,h + 3,&len,&p0,&p1)" identifier (argument_list "(pasv,"%u,%u,%u,%u,%u,%u,%u,%u,%u",&af,&hal,h,h + 1,h + 2,h + 3,&len,&p0,&p1)" ( identifier , (string_literal ""%u,%u,%u,%u,%u,%u,%u,%u,%u"" " string_content ") , (pointer_expression "&af" & identifier) , (pointer_expression "&hal" & identifier) , identifier , (binary_expression "h + 1" identifier + number_literal) , (binary_expression "h + 2" identifier + number_literal) , (binary_expression "h + 3" identifier + number_literal) , (pointer_expression "&len" & identifier) , (pointer_expression "&p0" & identifier) , (pointer_expression "&p1" & identifier) )))) ;) (if_statement "if ((((iVar4 == 9) && (af == 4)) && (hal == 4)) && (len == 2)) {\n          puVar5 = h;\n          do {\n            *puVar5 = *puVar5 & 0xff;\n            puVar5 = puVar5 + 1;\n          } while (puVar5 != h + 4);\n          uVar2 = (ushort)(byte)p1 << 8 | (ushort)p0 & 0xff;\n          data_addr.__ss_padding[0] = (char)uVar2;\n          data_addr.__ss_padding[1] = (char)(uVar2 >> 8);\n          data_addr.ss_family = 2;\n          uVar7 = h[0] << 0x18 | h[1] << 0x10 | h[3] | h[2] << 8;\n          uVar7 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | h[3] << 0x18;\n          data_addr.__ss_padding[2] = (char)uVar7;\n          data_addr.__ss_padding[3] = (char)(uVar7 >> 8);\n          data_addr.__ss_padding[4] = (char)(uVar7 >> 0x10);\n          data_addr.__ss_padding[5] = (char)(uVar7 >> 0x18);\n          uVar1 = data_addr._0_8_;\n          goto LAB_0010c540;\n        }" if (parenthesized_expression "((((iVar4 == 9) && (af == 4)) && (hal == 4)) && (len == 2))" ( (binary_expression "(((iVar4 == 9) && (af == 4)) && (hal == 4)) && (len == 2)" (parenthesized_expression "(((iVar4 == 9) && (af == 4)) && (hal == 4))" ( (binary_expression "((iVar4 == 9) && (af == 4)) && (hal == 4)" (parenthesized_expression "((iVar4 == 9) && (af == 4))" ( (binary_expression "(iVar4 == 9) && (af == 4)" (parenthesized_expression "(iVar4 == 9)" ( (binary_expression "iVar4 == 9" identifier == number_literal) )) && (parenthesized_expression "(af == 4)" ( (binary_expression "af == 4" identifier == number_literal) ))) )) && (parenthesized_expression "(hal == 4)" ( (binary_expression "hal == 4" identifier == number_literal) ))) )) && (parenthesized_expression "(len == 2)" ( (binary_expression "len == 2" identifier == number_literal) ))) )) (compound_statement "{\n          puVar5 = h;\n          do {\n            *puVar5 = *puVar5 & 0xff;\n            puVar5 = puVar5 + 1;\n          } while (puVar5 != h + 4);\n          uVar2 = (ushort)(byte)p1 << 8 | (ushort)p0 & 0xff;\n          data_addr.__ss_padding[0] = (char)uVar2;\n          data_addr.__ss_padding[1] = (char)(uVar2 >> 8);\n          data_addr.ss_family = 2;\n          uVar7 = h[0] << 0x18 | h[1] << 0x10 | h[3] | h[2] << 8;\n          uVar7 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | h[3] << 0x18;\n          data_addr.__ss_padding[2] = (char)uVar7;\n          data_addr.__ss_padding[3] = (char)(uVar7 >> 8);\n          data_addr.__ss_padding[4] = (char)(uVar7 >> 0x10);\n          data_addr.__ss_padding[5] = (char)(uVar7 >> 0x18);\n          uVar1 = data_addr._0_8_;\n          goto LAB_0010c540;\n        }" { (expression_statement "puVar5 = h;" (assignment_expression "puVar5 = h" identifier = identifier) ;) (do_statement "do {\n            *puVar5 = *puVar5 & 0xff;\n            puVar5 = puVar5 + 1;\n          } while (puVar5 != h + 4);" do (compound_statement "{\n            *puVar5 = *puVar5 & 0xff;\n            puVar5 = puVar5 + 1;\n          }" { (expression_statement "*puVar5 = *puVar5 & 0xff;" (assignment_expression "*puVar5 = *puVar5 & 0xff" (pointer_expression "*puVar5" * identifier) = (binary_expression "*puVar5 & 0xff" (pointer_expression "*puVar5" * identifier) & number_literal)) ;) (expression_statement "puVar5 = puVar5 + 1;" (assignment_expression "puVar5 = puVar5 + 1" identifier = (binary_expression "puVar5 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar5 != h + 4)" ( (binary_expression "puVar5 != h + 4" identifier != (binary_expression "h + 4" identifier + number_literal)) )) ;) (expression_statement "uVar2 = (ushort)(byte)p1 << 8 | (ushort)p0 & 0xff;" (assignment_expression "uVar2 = (ushort)(byte)p1 << 8 | (ushort)p0 & 0xff" identifier = (binary_expression "(ushort)(byte)p1 << 8 | (ushort)p0 & 0xff" (binary_expression "(ushort)(byte)p1 << 8" (cast_expression "(ushort)(byte)p1" ( (type_descriptor "ushort" type_identifier) ) (cast_expression "(byte)p1" ( (type_descriptor "byte" type_identifier) ) identifier)) << number_literal) | (binary_expression "(ushort)p0 & 0xff" (cast_expression "(ushort)p0" ( (type_descriptor "ushort" type_identifier) ) identifier) & number_literal))) ;) (expression_statement "data_addr.__ss_padding[0] = (char)uVar2;" (assignment_expression "data_addr.__ss_padding[0] = (char)uVar2" (subscript_expression "data_addr.__ss_padding[0]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (cast_expression "(char)uVar2" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "data_addr.__ss_padding[1] = (char)(uVar2 >> 8);" (assignment_expression "data_addr.__ss_padding[1] = (char)(uVar2 >> 8)" (subscript_expression "data_addr.__ss_padding[1]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (cast_expression "(char)(uVar2 >> 8)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(uVar2 >> 8)" ( (binary_expression "uVar2 >> 8" identifier >> number_literal) )))) ;) (expression_statement "data_addr.ss_family = 2;" (assignment_expression "data_addr.ss_family = 2" (field_expression "data_addr.ss_family" identifier . field_identifier) = number_literal) ;) (expression_statement "uVar7 = h[0] << 0x18 | h[1] << 0x10 | h[3] | h[2] << 8;" (assignment_expression "uVar7 = h[0] << 0x18 | h[1] << 0x10 | h[3] | h[2] << 8" identifier = (binary_expression "h[0] << 0x18 | h[1] << 0x10 | h[3] | h[2] << 8" (binary_expression "h[0] << 0x18 | h[1] << 0x10 | h[3]" (binary_expression "h[0] << 0x18 | h[1] << 0x10" (binary_expression "h[0] << 0x18" (subscript_expression "h[0]" identifier [ number_literal ]) << number_literal) | (binary_expression "h[1] << 0x10" (subscript_expression "h[1]" identifier [ number_literal ]) << number_literal)) | (subscript_expression "h[3]" identifier [ number_literal ])) | (binary_expression "h[2] << 8" (subscript_expression "h[2]" identifier [ number_literal ]) << number_literal))) ;) (expression_statement "uVar7 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | h[3] << 0x18;" (assignment_expression "uVar7 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | h[3] << 0x18" identifier = (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | h[3] << 0x18" (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8" (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8" (binary_expression "uVar7 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar7 & 0xff0000) >> 8" (parenthesized_expression "(uVar7 & 0xff0000)" ( (binary_expression "uVar7 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar7 & 0xff00) << 8" (parenthesized_expression "(uVar7 & 0xff00)" ( (binary_expression "uVar7 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "h[3] << 0x18" (subscript_expression "h[3]" identifier [ number_literal ]) << number_literal))) ;) (expression_statement "data_addr.__ss_padding[2] = (char)uVar7;" (assignment_expression "data_addr.__ss_padding[2] = (char)uVar7" (subscript_expression "data_addr.__ss_padding[2]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (cast_expression "(char)uVar7" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "data_addr.__ss_padding[3] = (char)(uVar7 >> 8);" (assignment_expression "data_addr.__ss_padding[3] = (char)(uVar7 >> 8)" (subscript_expression "data_addr.__ss_padding[3]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (cast_expression "(char)(uVar7 >> 8)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(uVar7 >> 8)" ( (binary_expression "uVar7 >> 8" identifier >> number_literal) )))) ;) (expression_statement "data_addr.__ss_padding[4] = (char)(uVar7 >> 0x10);" (assignment_expression "data_addr.__ss_padding[4] = (char)(uVar7 >> 0x10)" (subscript_expression "data_addr.__ss_padding[4]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (cast_expression "(char)(uVar7 >> 0x10)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(uVar7 >> 0x10)" ( (binary_expression "uVar7 >> 0x10" identifier >> number_literal) )))) ;) (expression_statement "data_addr.__ss_padding[5] = (char)(uVar7 >> 0x18);" (assignment_expression "data_addr.__ss_padding[5] = (char)(uVar7 >> 0x18)" (subscript_expression "data_addr.__ss_padding[5]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (cast_expression "(char)(uVar7 >> 0x18)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(uVar7 >> 0x18)" ( (binary_expression "uVar7 >> 0x18" identifier >> number_literal) )))) ;) (expression_statement "uVar1 = data_addr._0_8_;" (assignment_expression "uVar1 = data_addr._0_8_" identifier = (field_expression "data_addr._0_8_" identifier . field_identifier)) ;) (goto_statement "goto LAB_0010c540;" goto statement_identifier ;) })) (expression_statement "puts("Passive mode address scan failure. Shouldn\'t happen!");" (call_expression "puts("Passive mode address scan failure. Shouldn\'t happen!")" identifier (argument_list "("Passive mode address scan failure. Shouldn\'t happen!")" ( (string_literal ""Passive mode address scan failure. Shouldn\'t happen!"" " string_content escape_sequence string_content ") ))) ;) (expression_statement "command("ABOR");" (call_expression "command("ABOR")" identifier (argument_list "("ABOR")" ( (string_literal ""ABOR"" " string_content ") ))) ;) (goto_statement "goto LAB_0010c703;" goto statement_identifier ;) }))) (expression_statement "iVar4 = sscanf(pasv,"%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u",&af,&hal,\n                     h,h + 1,h + 2,h + 3,h + 4,h + 5,h + 6,h + 7,h + 8,h + 9,h + 10,h + 0xb,h + 0xc,\n                     h + 0xd,h + 0xe,h + 0xf,&len,&p0,&p1);" (assignment_expression "iVar4 = sscanf(pasv,"%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u",&af,&hal,\n                     h,h + 1,h + 2,h + 3,h + 4,h + 5,h + 6,h + 7,h + 8,h + 9,h + 10,h + 0xb,h + 0xc,\n                     h + 0xd,h + 0xe,h + 0xf,&len,&p0,&p1)" identifier = (call_expression "sscanf(pasv,"%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u",&af,&hal,\n                     h,h + 1,h + 2,h + 3,h + 4,h + 5,h + 6,h + 7,h + 8,h + 9,h + 10,h + 0xb,h + 0xc,\n                     h + 0xd,h + 0xe,h + 0xf,&len,&p0,&p1)" identifier (argument_list "(pasv,"%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u",&af,&hal,\n                     h,h + 1,h + 2,h + 3,h + 4,h + 5,h + 6,h + 7,h + 8,h + 9,h + 10,h + 0xb,h + 0xc,\n                     h + 0xd,h + 0xe,h + 0xf,&len,&p0,&p1)" ( identifier , (string_literal ""%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u"" " string_content ") , (pointer_expression "&af" & identifier) , (pointer_expression "&hal" & identifier) , identifier , (binary_expression "h + 1" identifier + number_literal) , (binary_expression "h + 2" identifier + number_literal) , (binary_expression "h + 3" identifier + number_literal) , (binary_expression "h + 4" identifier + number_literal) , (binary_expression "h + 5" identifier + number_literal) , (binary_expression "h + 6" identifier + number_literal) , (binary_expression "h + 7" identifier + number_literal) , (binary_expression "h + 8" identifier + number_literal) , (binary_expression "h + 9" identifier + number_literal) , (binary_expression "h + 10" identifier + number_literal) , (binary_expression "h + 0xb" identifier + number_literal) , (binary_expression "h + 0xc" identifier + number_literal) , (binary_expression "h + 0xd" identifier + number_literal) , (binary_expression "h + 0xe" identifier + number_literal) , (binary_expression "h + 0xf" identifier + number_literal) , (pointer_expression "&len" & identifier) , (pointer_expression "&p0" & identifier) , (pointer_expression "&p1" & identifier) )))) ;) (if_statement "if (((iVar4 != 0x15) || (af != 6)) || ((hal != 0x10 || (len != 2)))) {\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        command("ABOR");\n        goto LAB_0010c703;\n      }" if (parenthesized_expression "(((iVar4 != 0x15) || (af != 6)) || ((hal != 0x10 || (len != 2))))" ( (binary_expression "((iVar4 != 0x15) || (af != 6)) || ((hal != 0x10 || (len != 2)))" (parenthesized_expression "((iVar4 != 0x15) || (af != 6))" ( (binary_expression "(iVar4 != 0x15) || (af != 6)" (parenthesized_expression "(iVar4 != 0x15)" ( (binary_expression "iVar4 != 0x15" identifier != number_literal) )) || (parenthesized_expression "(af != 6)" ( (binary_expression "af != 6" identifier != number_literal) ))) )) || (parenthesized_expression "((hal != 0x10 || (len != 2)))" ( (parenthesized_expression "(hal != 0x10 || (len != 2))" ( (binary_expression "hal != 0x10 || (len != 2)" (binary_expression "hal != 0x10" identifier != number_literal) || (parenthesized_expression "(len != 2)" ( (binary_expression "len != 2" identifier != number_literal) ))) )) ))) )) (compound_statement "{\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        command("ABOR");\n        goto LAB_0010c703;\n      }" { (expression_statement "puts("Passive mode address scan failure. Shouldn\'t happen!");" (call_expression "puts("Passive mode address scan failure. Shouldn\'t happen!")" identifier (argument_list "("Passive mode address scan failure. Shouldn\'t happen!")" ( (string_literal ""Passive mode address scan failure. Shouldn\'t happen!"" " string_content escape_sequence string_content ") ))) ;) (expression_statement "command("ABOR");" (call_expression "command("ABOR")" identifier (argument_list "("ABOR")" ( (string_literal ""ABOR"" " string_content ") ))) ;) (goto_statement "goto LAB_0010c703;" goto statement_identifier ;) })) (expression_statement "puVar5 = h;" (assignment_expression "puVar5 = h" identifier = identifier) ;) (do_statement "do {\n        *puVar5 = *puVar5 & 0xff;\n        puVar5 = puVar5 + 1;\n      } while (puVar5 != local_48);" do (compound_statement "{\n        *puVar5 = *puVar5 & 0xff;\n        puVar5 = puVar5 + 1;\n      }" { (expression_statement "*puVar5 = *puVar5 & 0xff;" (assignment_expression "*puVar5 = *puVar5 & 0xff" (pointer_expression "*puVar5" * identifier) = (binary_expression "*puVar5 & 0xff" (pointer_expression "*puVar5" * identifier) & number_literal)) ;) (expression_statement "puVar5 = puVar5 + 1;" (assignment_expression "puVar5 = puVar5 + 1" identifier = (binary_expression "puVar5 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar5 != local_48)" ( (binary_expression "puVar5 != local_48" identifier != identifier) )) ;) (expression_statement "uVar2 = (ushort)(byte)p1 << 8 | (ushort)p0 & 0xff;" (assignment_expression "uVar2 = (ushort)(byte)p1 << 8 | (ushort)p0 & 0xff" identifier = (binary_expression "(ushort)(byte)p1 << 8 | (ushort)p0 & 0xff" (binary_expression "(ushort)(byte)p1 << 8" (cast_expression "(ushort)(byte)p1" ( (type_descriptor "ushort" type_identifier) ) (cast_expression "(byte)p1" ( (type_descriptor "byte" type_identifier) ) identifier)) << number_literal) | (binary_expression "(ushort)p0 & 0xff" (cast_expression "(ushort)p0" ( (type_descriptor "ushort" type_identifier) ) identifier) & number_literal))) ;) (expression_statement "data_addr.__ss_padding[0] = (char)uVar2;" (assignment_expression "data_addr.__ss_padding[0] = (char)uVar2" (subscript_expression "data_addr.__ss_padding[0]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (cast_expression "(char)uVar2" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "data_addr.__ss_padding[1] = (char)(uVar2 >> 8);" (assignment_expression "data_addr.__ss_padding[1] = (char)(uVar2 >> 8)" (subscript_expression "data_addr.__ss_padding[1]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (cast_expression "(char)(uVar2 >> 8)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(uVar2 >> 8)" ( (binary_expression "uVar2 >> 8" identifier >> number_literal) )))) ;) (expression_statement "data_addr.ss_family = 10;" (assignment_expression "data_addr.ss_family = 10" (field_expression "data_addr.ss_family" identifier . field_identifier) = number_literal) ;) (expression_statement "uVar7 = h[0] << 0x18 | h[1] << 0x10 | h[3] | h[2] << 8;" (assignment_expression "uVar7 = h[0] << 0x18 | h[1] << 0x10 | h[3] | h[2] << 8" identifier = (binary_expression "h[0] << 0x18 | h[1] << 0x10 | h[3] | h[2] << 8" (binary_expression "h[0] << 0x18 | h[1] << 0x10 | h[3]" (binary_expression "h[0] << 0x18 | h[1] << 0x10" (binary_expression "h[0] << 0x18" (subscript_expression "h[0]" identifier [ number_literal ]) << number_literal) | (binary_expression "h[1] << 0x10" (subscript_expression "h[1]" identifier [ number_literal ]) << number_literal)) | (subscript_expression "h[3]" identifier [ number_literal ])) | (binary_expression "h[2] << 8" (subscript_expression "h[2]" identifier [ number_literal ]) << number_literal))) ;) (expression_statement "uVar7 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | h[3] << 0x18;" (assignment_expression "uVar7 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | h[3] << 0x18" identifier = (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | h[3] << 0x18" (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8" (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8" (binary_expression "uVar7 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar7 & 0xff0000) >> 8" (parenthesized_expression "(uVar7 & 0xff0000)" ( (binary_expression "uVar7 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar7 & 0xff00) << 8" (parenthesized_expression "(uVar7 & 0xff00)" ( (binary_expression "uVar7 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "h[3] << 0x18" (subscript_expression "h[3]" identifier [ number_literal ]) << number_literal))) ;) (expression_statement "uVar3 = h[4] << 0x18 | h[5] << 0x10 | h[7] | h[6] << 8;" (assignment_expression "uVar3 = h[4] << 0x18 | h[5] << 0x10 | h[7] | h[6] << 8" identifier = (binary_expression "h[4] << 0x18 | h[5] << 0x10 | h[7] | h[6] << 8" (binary_expression "h[4] << 0x18 | h[5] << 0x10 | h[7]" (binary_expression "h[4] << 0x18 | h[5] << 0x10" (binary_expression "h[4] << 0x18" (subscript_expression "h[4]" identifier [ number_literal ]) << number_literal) | (binary_expression "h[5] << 0x10" (subscript_expression "h[5]" identifier [ number_literal ]) << number_literal)) | (subscript_expression "h[7]" identifier [ number_literal ])) | (binary_expression "h[6] << 8" (subscript_expression "h[6]" identifier [ number_literal ]) << number_literal))) ;) (expression_statement "uVar3 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | h[7] << 0x18;" (assignment_expression "uVar3 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | h[7] << 0x18" identifier = (binary_expression "uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | h[7] << 0x18" (binary_expression "uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8" (binary_expression "uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8" (binary_expression "uVar3 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar3 & 0xff0000) >> 8" (parenthesized_expression "(uVar3 & 0xff0000)" ( (binary_expression "uVar3 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar3 & 0xff00) << 8" (parenthesized_expression "(uVar3 & 0xff00)" ( (binary_expression "uVar3 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "h[7] << 0x18" (subscript_expression "h[7]" identifier [ number_literal ]) << number_literal))) ;) (expression_statement "data_addr.__ss_padding[10] = (char)uVar3;" (assignment_expression "data_addr.__ss_padding[10] = (char)uVar3" (subscript_expression "data_addr.__ss_padding[10]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (cast_expression "(char)uVar3" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "data_addr.__ss_padding[0xb] = (char)(uVar3 >> 8);" (assignment_expression "data_addr.__ss_padding[0xb] = (char)(uVar3 >> 8)" (subscript_expression "data_addr.__ss_padding[0xb]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (cast_expression "(char)(uVar3 >> 8)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(uVar3 >> 8)" ( (binary_expression "uVar3 >> 8" identifier >> number_literal) )))) ;) (expression_statement "data_addr.__ss_padding[0xc] = (char)(uVar3 >> 0x10);" (assignment_expression "data_addr.__ss_padding[0xc] = (char)(uVar3 >> 0x10)" (subscript_expression "data_addr.__ss_padding[0xc]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (cast_expression "(char)(uVar3 >> 0x10)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(uVar3 >> 0x10)" ( (binary_expression "uVar3 >> 0x10" identifier >> number_literal) )))) ;) (expression_statement "data_addr.__ss_padding[0xd] = (char)(uVar3 >> 0x18);" (assignment_expression "data_addr.__ss_padding[0xd] = (char)(uVar3 >> 0x18)" (subscript_expression "data_addr.__ss_padding[0xd]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (cast_expression "(char)(uVar3 >> 0x18)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(uVar3 >> 0x18)" ( (binary_expression "uVar3 >> 0x18" identifier >> number_literal) )))) ;) (expression_statement "data_addr.__ss_padding[6] = (char)uVar7;" (assignment_expression "data_addr.__ss_padding[6] = (char)uVar7" (subscript_expression "data_addr.__ss_padding[6]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (cast_expression "(char)uVar7" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "data_addr.__ss_padding[7] = (char)(uVar7 >> 8);" (assignment_expression "data_addr.__ss_padding[7] = (char)(uVar7 >> 8)" (subscript_expression "data_addr.__ss_padding[7]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (cast_expression "(char)(uVar7 >> 8)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(uVar7 >> 8)" ( (binary_expression "uVar7 >> 8" identifier >> number_literal) )))) ;) (expression_statement "data_addr.__ss_padding[8] = (char)(uVar7 >> 0x10);" (assignment_expression "data_addr.__ss_padding[8] = (char)(uVar7 >> 0x10)" (subscript_expression "data_addr.__ss_padding[8]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (cast_expression "(char)(uVar7 >> 0x10)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(uVar7 >> 0x10)" ( (binary_expression "uVar7 >> 0x10" identifier >> number_literal) )))) ;) (expression_statement "data_addr.__ss_padding[9] = (char)(uVar7 >> 0x18);" (assignment_expression "data_addr.__ss_padding[9] = (char)(uVar7 >> 0x18)" (subscript_expression "data_addr.__ss_padding[9]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (cast_expression "(char)(uVar7 >> 0x18)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(uVar7 >> 0x18)" ( (binary_expression "uVar7 >> 0x18" identifier >> number_literal) )))) ;) (expression_statement "uVar7 = h[8] << 0x18 | h[9] << 0x10 | h[0xb] | h[10] << 8;" (assignment_expression "uVar7 = h[8] << 0x18 | h[9] << 0x10 | h[0xb] | h[10] << 8" identifier = (binary_expression "h[8] << 0x18 | h[9] << 0x10 | h[0xb] | h[10] << 8" (binary_expression "h[8] << 0x18 | h[9] << 0x10 | h[0xb]" (binary_expression "h[8] << 0x18 | h[9] << 0x10" (binary_expression "h[8] << 0x18" (subscript_expression "h[8]" identifier [ number_literal ]) << number_literal) | (binary_expression "h[9] << 0x10" (subscript_expression "h[9]" identifier [ number_literal ]) << number_literal)) | (subscript_expression "h[0xb]" identifier [ number_literal ])) | (binary_expression "h[10] << 8" (subscript_expression "h[10]" identifier [ number_literal ]) << number_literal))) ;) (expression_statement "uVar7 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | h[0xb] << 0x18;" (assignment_expression "uVar7 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | h[0xb] << 0x18" identifier = (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | h[0xb] << 0x18" (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8" (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8" (binary_expression "uVar7 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar7 & 0xff0000) >> 8" (parenthesized_expression "(uVar7 & 0xff0000)" ( (binary_expression "uVar7 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar7 & 0xff00) << 8" (parenthesized_expression "(uVar7 & 0xff00)" ( (binary_expression "uVar7 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "h[0xb] << 0x18" (subscript_expression "h[0xb]" identifier [ number_literal ]) << number_literal))) ;) (expression_statement "uVar3 = h[0xc] << 0x18 | h[0xd] << 0x10 | h[0xf] | h[0xe] << 8;" (assignment_expression "uVar3 = h[0xc] << 0x18 | h[0xd] << 0x10 | h[0xf] | h[0xe] << 8" identifier = (binary_expression "h[0xc] << 0x18 | h[0xd] << 0x10 | h[0xf] | h[0xe] << 8" (binary_expression "h[0xc] << 0x18 | h[0xd] << 0x10 | h[0xf]" (binary_expression "h[0xc] << 0x18 | h[0xd] << 0x10" (binary_expression "h[0xc] << 0x18" (subscript_expression "h[0xc]" identifier [ number_literal ]) << number_literal) | (binary_expression "h[0xd] << 0x10" (subscript_expression "h[0xd]" identifier [ number_literal ]) << number_literal)) | (subscript_expression "h[0xf]" identifier [ number_literal ])) | (binary_expression "h[0xe] << 8" (subscript_expression "h[0xe]" identifier [ number_literal ]) << number_literal))) ;) (expression_statement "uVar3 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | h[0xf] << 0x18;" (assignment_expression "uVar3 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | h[0xf] << 0x18" identifier = (binary_expression "uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | h[0xf] << 0x18" (binary_expression "uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8" (binary_expression "uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8" (binary_expression "uVar3 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar3 & 0xff0000) >> 8" (parenthesized_expression "(uVar3 & 0xff0000)" ( (binary_expression "uVar3 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar3 & 0xff00) << 8" (parenthesized_expression "(uVar3 & 0xff00)" ( (binary_expression "uVar3 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "h[0xf] << 0x18" (subscript_expression "h[0xf]" identifier [ number_literal ]) << number_literal))) ;) (expression_statement "data_addr.__ss_padding[0x12] = (char)uVar3;" (assignment_expression "data_addr.__ss_padding[0x12] = (char)uVar3" (subscript_expression "data_addr.__ss_padding[0x12]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (cast_expression "(char)uVar3" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "data_addr.__ss_padding[0x13] = (char)(uVar3 >> 8);" (assignment_expression "data_addr.__ss_padding[0x13] = (char)(uVar3 >> 8)" (subscript_expression "data_addr.__ss_padding[0x13]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (cast_expression "(char)(uVar3 >> 8)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(uVar3 >> 8)" ( (binary_expression "uVar3 >> 8" identifier >> number_literal) )))) ;) (expression_statement "data_addr.__ss_padding[0x14] = (char)(uVar3 >> 0x10);" (assignment_expression "data_addr.__ss_padding[0x14] = (char)(uVar3 >> 0x10)" (subscript_expression "data_addr.__ss_padding[0x14]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (cast_expression "(char)(uVar3 >> 0x10)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(uVar3 >> 0x10)" ( (binary_expression "uVar3 >> 0x10" identifier >> number_literal) )))) ;) (expression_statement "data_addr.__ss_padding[0x15] = (char)(uVar3 >> 0x18);" (assignment_expression "data_addr.__ss_padding[0x15] = (char)(uVar3 >> 0x18)" (subscript_expression "data_addr.__ss_padding[0x15]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (cast_expression "(char)(uVar3 >> 0x18)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(uVar3 >> 0x18)" ( (binary_expression "uVar3 >> 0x18" identifier >> number_literal) )))) ;) (expression_statement "data_addr.__ss_padding[0xe] = (char)uVar7;" (assignment_expression "data_addr.__ss_padding[0xe] = (char)uVar7" (subscript_expression "data_addr.__ss_padding[0xe]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (cast_expression "(char)uVar7" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "data_addr.__ss_padding[0xf] = (char)(uVar7 >> 8);" (assignment_expression "data_addr.__ss_padding[0xf] = (char)(uVar7 >> 8)" (subscript_expression "data_addr.__ss_padding[0xf]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (cast_expression "(char)(uVar7 >> 8)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(uVar7 >> 8)" ( (binary_expression "uVar7 >> 8" identifier >> number_literal) )))) ;) (expression_statement "data_addr.__ss_padding[0x10] = (char)(uVar7 >> 0x10);" (assignment_expression "data_addr.__ss_padding[0x10] = (char)(uVar7 >> 0x10)" (subscript_expression "data_addr.__ss_padding[0x10]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (cast_expression "(char)(uVar7 >> 0x10)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(uVar7 >> 0x10)" ( (binary_expression "uVar7 >> 0x10" identifier >> number_literal) )))) ;) (expression_statement "data_addr.__ss_padding[0x11] = (char)(uVar7 >> 0x18);" (assignment_expression "data_addr.__ss_padding[0x11] = (char)(uVar7 >> 0x18)" (subscript_expression "data_addr.__ss_padding[0x11]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (cast_expression "(char)(uVar7 >> 0x18)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(uVar7 >> 0x18)" ( (binary_expression "uVar7 >> 0x18" identifier >> number_literal) )))) ;) (expression_statement "uVar1 = data_addr._0_8_;" (assignment_expression "uVar1 = data_addr._0_8_" identifier = (field_expression "data_addr._0_8_" identifier . field_identifier)) ;) (goto_statement "goto LAB_0010c540;" goto statement_identifier ;) })) (expression_statement "puts("Passive mode refused.");" (call_expression "puts("Passive mode refused.")" identifier (argument_list "("Passive mode refused.")" ( (string_literal ""Passive mode refused."" " string_content ") ))) ;) }) (else_clause "else {\n    if (myctladdr.ss_family == 10) {\n      iVar4 = command("EPSV");\n      if (iVar4 == 2) {\nLAB_0010c336:\n        iVar4 = sscanf(pasv,"%u|",&port);\n        if (iVar4 == 1) {\n          data_addr.ss_family = hisctladdr.ss_family;\n          data_addr.__ss_padding[0] = hisctladdr.__ss_padding[0];\n          data_addr.__ss_padding[1] = hisctladdr.__ss_padding[1];\n          data_addr.__ss_padding[2] = hisctladdr.__ss_padding[2];\n          data_addr.__ss_padding[3] = hisctladdr.__ss_padding[3];\n          data_addr.__ss_padding[4] = hisctladdr.__ss_padding[4];\n          data_addr.__ss_padding[5] = hisctladdr.__ss_padding[5];\n          uVar1 = data_addr._0_8_;\n          data_addr.__ss_padding[6] = hisctladdr.__ss_padding[6];\n          data_addr.__ss_padding[7] = hisctladdr.__ss_padding[7];\n          data_addr.__ss_padding[8] = hisctladdr.__ss_padding[8];\n          data_addr.__ss_padding[9] = hisctladdr.__ss_padding[9];\n          data_addr.__ss_padding[10] = hisctladdr.__ss_padding[10];\n          data_addr.__ss_padding[0xb] = hisctladdr.__ss_padding[0xb];\n          data_addr.__ss_padding[0xc] = hisctladdr.__ss_padding[0xc];\n          data_addr.__ss_padding[0xd] = hisctladdr.__ss_padding[0xd];\n          data_addr.__ss_padding[0xe] = hisctladdr.__ss_padding[0xe];\n          data_addr.__ss_padding[0xf] = hisctladdr.__ss_padding[0xf];\n          data_addr.__ss_padding[0x10] = hisctladdr.__ss_padding[0x10];\n          data_addr.__ss_padding[0x11] = hisctladdr.__ss_padding[0x11];\n          data_addr.__ss_padding[0x12] = hisctladdr.__ss_padding[0x12];\n          data_addr.__ss_padding[0x13] = hisctladdr.__ss_padding[0x13];\n          data_addr.__ss_padding[0x14] = hisctladdr.__ss_padding[0x14];\n          data_addr.__ss_padding[0x15] = hisctladdr.__ss_padding[0x15];\n          data_addr.__ss_padding[0x16] = hisctladdr.__ss_padding[0x16];\n          data_addr.__ss_padding[0x17] = hisctladdr.__ss_padding[0x17];\n          data_addr.__ss_padding[0x18] = hisctladdr.__ss_padding[0x18];\n          data_addr.__ss_padding[0x19] = hisctladdr.__ss_padding[0x19];\n          data_addr.__ss_padding[0x1a] = hisctladdr.__ss_padding[0x1a];\n          data_addr.__ss_padding[0x1b] = hisctladdr.__ss_padding[0x1b];\n          data_addr.__ss_padding[0x1c] = hisctladdr.__ss_padding[0x1c];\n          data_addr.__ss_padding[0x1d] = hisctladdr.__ss_padding[0x1d];\n          data_addr.__ss_padding[0x1e] = hisctladdr.__ss_padding[0x1e];\n          data_addr.__ss_padding[0x1f] = hisctladdr.__ss_padding[0x1f];\n          data_addr.__ss_padding[0x20] = hisctladdr.__ss_padding[0x20];\n          data_addr.__ss_padding[0x21] = hisctladdr.__ss_padding[0x21];\n          data_addr.__ss_padding[0x22] = hisctladdr.__ss_padding[0x22];\n          data_addr.__ss_padding[0x23] = hisctladdr.__ss_padding[0x23];\n          data_addr.__ss_padding[0x24] = hisctladdr.__ss_padding[0x24];\n          data_addr.__ss_padding[0x25] = hisctladdr.__ss_padding[0x25];\n          data_addr.__ss_padding[0x26] = hisctladdr.__ss_padding[0x26];\n          data_addr.__ss_padding[0x27] = hisctladdr.__ss_padding[0x27];\n          data_addr.__ss_padding[0x28] = hisctladdr.__ss_padding[0x28];\n          data_addr.__ss_padding[0x29] = hisctladdr.__ss_padding[0x29];\n          data_addr.__ss_padding[0x2a] = hisctladdr.__ss_padding[0x2a];\n          data_addr.__ss_padding[0x2b] = hisctladdr.__ss_padding[0x2b];\n          data_addr.__ss_padding[0x2c] = hisctladdr.__ss_padding[0x2c];\n          data_addr.__ss_padding[0x2d] = hisctladdr.__ss_padding[0x2d];\n          data_addr.__ss_padding[0x2e] = hisctladdr.__ss_padding[0x2e];\n          data_addr.__ss_padding[0x2f] = hisctladdr.__ss_padding[0x2f];\n          data_addr.__ss_padding[0x30] = hisctladdr.__ss_padding[0x30];\n          data_addr.__ss_padding[0x31] = hisctladdr.__ss_padding[0x31];\n          data_addr.__ss_padding[0x32] = hisctladdr.__ss_padding[0x32];\n          data_addr.__ss_padding[0x33] = hisctladdr.__ss_padding[0x33];\n          data_addr.__ss_padding[0x34] = hisctladdr.__ss_padding[0x34];\n          data_addr.__ss_padding[0x35] = hisctladdr.__ss_padding[0x35];\n          data_addr.__ss_padding[0x36] = hisctladdr.__ss_padding[0x36];\n          data_addr.__ss_padding[0x37] = hisctladdr.__ss_padding[0x37];\n          data_addr.__ss_padding[0x38] = hisctladdr.__ss_padding[0x38];\n          data_addr.__ss_padding[0x39] = hisctladdr.__ss_padding[0x39];\n          data_addr.__ss_padding[0x3a] = hisctladdr.__ss_padding[0x3a];\n          data_addr.__ss_padding[0x3b] = hisctladdr.__ss_padding[0x3b];\n          data_addr.__ss_padding[0x3c] = hisctladdr.__ss_padding[0x3c];\n          data_addr.__ss_padding[0x3d] = hisctladdr.__ss_padding[0x3d];\n          data_addr.__ss_padding[0x3e] = hisctladdr.__ss_padding[0x3e];\n          data_addr.__ss_padding[0x3f] = hisctladdr.__ss_padding[0x3f];\n          data_addr.__ss_padding[0x40] = hisctladdr.__ss_padding[0x40];\n          data_addr.__ss_padding[0x41] = hisctladdr.__ss_padding[0x41];\n          data_addr.__ss_padding[0x42] = hisctladdr.__ss_padding[0x42];\n          data_addr.__ss_padding[0x43] = hisctladdr.__ss_padding[0x43];\n          data_addr.__ss_padding[0x44] = hisctladdr.__ss_padding[0x44];\n          data_addr.__ss_padding[0x45] = hisctladdr.__ss_padding[0x45];\n          data_addr.__ss_padding[0x46] = hisctladdr.__ss_padding[0x46];\n          data_addr.__ss_padding[0x47] = hisctladdr.__ss_padding[0x47];\n          data_addr.__ss_padding[0x48] = hisctladdr.__ss_padding[0x48];\n          data_addr.__ss_padding[0x49] = hisctladdr.__ss_padding[0x49];\n          data_addr.__ss_padding[0x4a] = hisctladdr.__ss_padding[0x4a];\n          data_addr.__ss_padding[0x4b] = hisctladdr.__ss_padding[0x4b];\n          data_addr.__ss_padding[0x4c] = hisctladdr.__ss_padding[0x4c];\n          data_addr.__ss_padding[0x4d] = hisctladdr.__ss_padding[0x4d];\n          data_addr.__ss_padding[0x4e] = hisctladdr.__ss_padding[0x4e];\n          data_addr.__ss_padding[0x4f] = hisctladdr.__ss_padding[0x4f];\n          data_addr.__ss_padding[0x50] = hisctladdr.__ss_padding[0x50];\n          data_addr.__ss_padding[0x51] = hisctladdr.__ss_padding[0x51];\n          data_addr.__ss_padding[0x52] = hisctladdr.__ss_padding[0x52];\n          data_addr.__ss_padding[0x53] = hisctladdr.__ss_padding[0x53];\n          data_addr.__ss_padding[0x54] = hisctladdr.__ss_padding[0x54];\n          data_addr.__ss_padding[0x55] = hisctladdr.__ss_padding[0x55];\n          data_addr.__ss_padding[0x56] = hisctladdr.__ss_padding[0x56];\n          data_addr.__ss_padding[0x57] = hisctladdr.__ss_padding[0x57];\n          data_addr.__ss_padding[0x58] = hisctladdr.__ss_padding[0x58];\n          data_addr.__ss_padding[0x59] = hisctladdr.__ss_padding[0x59];\n          data_addr.__ss_padding[0x5a] = hisctladdr.__ss_padding[0x5a];\n          data_addr.__ss_padding[0x5b] = hisctladdr.__ss_padding[0x5b];\n          data_addr.__ss_padding[0x5c] = hisctladdr.__ss_padding[0x5c];\n          data_addr.__ss_padding[0x5d] = hisctladdr.__ss_padding[0x5d];\n          data_addr.__ss_padding[0x5e] = hisctladdr.__ss_padding[0x5e];\n          data_addr.__ss_padding[0x5f] = hisctladdr.__ss_padding[0x5f];\n          data_addr.__ss_padding[0x60] = hisctladdr.__ss_padding[0x60];\n          data_addr.__ss_padding[0x61] = hisctladdr.__ss_padding[0x61];\n          data_addr.__ss_padding[0x62] = hisctladdr.__ss_padding[0x62];\n          data_addr.__ss_padding[99] = hisctladdr.__ss_padding[99];\n          data_addr.__ss_padding[100] = hisctladdr.__ss_padding[100];\n          data_addr.__ss_padding[0x65] = hisctladdr.__ss_padding[0x65];\n          data_addr.__ss_padding[0x66] = hisctladdr.__ss_padding[0x66];\n          data_addr.__ss_padding[0x67] = hisctladdr.__ss_padding[0x67];\n          data_addr.__ss_padding[0x68] = hisctladdr.__ss_padding[0x68];\n          data_addr.__ss_padding[0x69] = hisctladdr.__ss_padding[0x69];\n          data_addr.__ss_padding[0x6a] = hisctladdr.__ss_padding[0x6a];\n          data_addr.__ss_padding[0x6b] = hisctladdr.__ss_padding[0x6b];\n          data_addr.__ss_padding[0x6c] = hisctladdr.__ss_padding[0x6c];\n          data_addr.__ss_padding[0x6d] = hisctladdr.__ss_padding[0x6d];\n          data_addr.__ss_padding[0x6e] = hisctladdr.__ss_padding[0x6e];\n          data_addr.__ss_padding[0x6f] = hisctladdr.__ss_padding[0x6f];\n          data_addr.__ss_padding[0x70] = hisctladdr.__ss_padding[0x70];\n          data_addr.__ss_padding[0x71] = hisctladdr.__ss_padding[0x71];\n          data_addr.__ss_padding[0x72] = hisctladdr.__ss_padding[0x72];\n          data_addr.__ss_padding[0x73] = hisctladdr.__ss_padding[0x73];\n          data_addr.__ss_padding[0x74] = hisctladdr.__ss_padding[0x74];\n          data_addr.__ss_padding[0x75] = hisctladdr.__ss_padding[0x75];\n          data_addr.__ss_align = hisctladdr.__ss_align;\n          data_addr.__ss_padding._2_4_ = SUB84(hisctladdr._0_8_,4);\n          if ((sa_family_t)hisctladdr._0_8_ == 2) {\n            uVar2 = (ushort)port << 8 | (ushort)port >> 8;\n            data_addr.__ss_padding[0] = (char)uVar2;\n            data_addr.__ss_padding[1] = (char)(uVar2 >> 8);\n            data_addr.ss_family = 2;\n            uVar1 = data_addr._0_8_;\n          }\n          else if ((sa_family_t)hisctladdr._0_8_ == 10) {\n            uVar2 = (ushort)port << 8 | (ushort)port >> 8;\n            data_addr.__ss_padding[0] = (char)uVar2;\n            data_addr.__ss_padding[1] = (char)(uVar2 >> 8);\n            data_addr.ss_family = 10;\n            uVar1 = data_addr._0_8_;\n          }\n          goto LAB_0010c540;\n        }\n        puts("Extended passive mode scan failure. Should not happen!");\n        command("ABOR");\n      }\n      else {\n        iVar4 = command("LPSV");\n        if (iVar4 == 2) goto LAB_0010c62c;\n        puts("Passive mode refused.");\n      }\n      goto LAB_0010c703;\n    }\nLAB_0010c499:\n    if (myctladdr.ss_family == 2) {\n      iVar4 = sscanf(pasv,"%u,%u,%u,%u,%u,%u",&a0,&a1,&a2,&a3,&p0,&p1);\n      if (iVar4 == 6) {\n        uVar7 = a0 & 0xff | ((a1 & 0xff) << 0x10) >> 8 | (a2 & 0xff) << 0x10 |\n                (uint)(byte)a3 << 0x18;\n        uVar2 = (ushort)(byte)p1 << 8 | (ushort)p0 & 0xff;\n        data_addr.__ss_padding[0] = (char)uVar2;\n        data_addr.__ss_padding[1] = (char)(uVar2 >> 8);\n        data_addr.ss_family = 2;\n        data_addr.__ss_padding[2] = (char)uVar7;\n        data_addr.__ss_padding[3] = (char)(uVar7 >> 8);\n        data_addr.__ss_padding[4] = (char)(uVar7 >> 0x10);\n        data_addr.__ss_padding[5] = (char)(uVar7 >> 0x18);\n        uVar1 = data_addr._0_8_;\nLAB_0010c540:\n        data_addr._0_8_ = uVar1;\n        iVar4 = connect(data,(sockaddr *)&data_addr,ctladdrlen);\n        if (-1 < iVar4) {\n          on = 8;\n          uVar7 = 0;\n          if (data_addr.ss_family == 2) {\n            iVar4 = setsockopt(data,0,1,&on,4);\n            if (iVar4 < 0) {\n              perror("ftp: setsockopt TOS (ignored)");\n            }\n          }\n          goto LAB_0010ca2b;\n        }\n        perror("ftp: connect");\n      }\n      else {\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        command("ABOR");\n      }\n    }\n    else {\n      puts("Passive mode address scan failure. Shouldn\'t happen!");\n    }\n  }" else (compound_statement "{\n    if (myctladdr.ss_family == 10) {\n      iVar4 = command("EPSV");\n      if (iVar4 == 2) {\nLAB_0010c336:\n        iVar4 = sscanf(pasv,"%u|",&port);\n        if (iVar4 == 1) {\n          data_addr.ss_family = hisctladdr.ss_family;\n          data_addr.__ss_padding[0] = hisctladdr.__ss_padding[0];\n          data_addr.__ss_padding[1] = hisctladdr.__ss_padding[1];\n          data_addr.__ss_padding[2] = hisctladdr.__ss_padding[2];\n          data_addr.__ss_padding[3] = hisctladdr.__ss_padding[3];\n          data_addr.__ss_padding[4] = hisctladdr.__ss_padding[4];\n          data_addr.__ss_padding[5] = hisctladdr.__ss_padding[5];\n          uVar1 = data_addr._0_8_;\n          data_addr.__ss_padding[6] = hisctladdr.__ss_padding[6];\n          data_addr.__ss_padding[7] = hisctladdr.__ss_padding[7];\n          data_addr.__ss_padding[8] = hisctladdr.__ss_padding[8];\n          data_addr.__ss_padding[9] = hisctladdr.__ss_padding[9];\n          data_addr.__ss_padding[10] = hisctladdr.__ss_padding[10];\n          data_addr.__ss_padding[0xb] = hisctladdr.__ss_padding[0xb];\n          data_addr.__ss_padding[0xc] = hisctladdr.__ss_padding[0xc];\n          data_addr.__ss_padding[0xd] = hisctladdr.__ss_padding[0xd];\n          data_addr.__ss_padding[0xe] = hisctladdr.__ss_padding[0xe];\n          data_addr.__ss_padding[0xf] = hisctladdr.__ss_padding[0xf];\n          data_addr.__ss_padding[0x10] = hisctladdr.__ss_padding[0x10];\n          data_addr.__ss_padding[0x11] = hisctladdr.__ss_padding[0x11];\n          data_addr.__ss_padding[0x12] = hisctladdr.__ss_padding[0x12];\n          data_addr.__ss_padding[0x13] = hisctladdr.__ss_padding[0x13];\n          data_addr.__ss_padding[0x14] = hisctladdr.__ss_padding[0x14];\n          data_addr.__ss_padding[0x15] = hisctladdr.__ss_padding[0x15];\n          data_addr.__ss_padding[0x16] = hisctladdr.__ss_padding[0x16];\n          data_addr.__ss_padding[0x17] = hisctladdr.__ss_padding[0x17];\n          data_addr.__ss_padding[0x18] = hisctladdr.__ss_padding[0x18];\n          data_addr.__ss_padding[0x19] = hisctladdr.__ss_padding[0x19];\n          data_addr.__ss_padding[0x1a] = hisctladdr.__ss_padding[0x1a];\n          data_addr.__ss_padding[0x1b] = hisctladdr.__ss_padding[0x1b];\n          data_addr.__ss_padding[0x1c] = hisctladdr.__ss_padding[0x1c];\n          data_addr.__ss_padding[0x1d] = hisctladdr.__ss_padding[0x1d];\n          data_addr.__ss_padding[0x1e] = hisctladdr.__ss_padding[0x1e];\n          data_addr.__ss_padding[0x1f] = hisctladdr.__ss_padding[0x1f];\n          data_addr.__ss_padding[0x20] = hisctladdr.__ss_padding[0x20];\n          data_addr.__ss_padding[0x21] = hisctladdr.__ss_padding[0x21];\n          data_addr.__ss_padding[0x22] = hisctladdr.__ss_padding[0x22];\n          data_addr.__ss_padding[0x23] = hisctladdr.__ss_padding[0x23];\n          data_addr.__ss_padding[0x24] = hisctladdr.__ss_padding[0x24];\n          data_addr.__ss_padding[0x25] = hisctladdr.__ss_padding[0x25];\n          data_addr.__ss_padding[0x26] = hisctladdr.__ss_padding[0x26];\n          data_addr.__ss_padding[0x27] = hisctladdr.__ss_padding[0x27];\n          data_addr.__ss_padding[0x28] = hisctladdr.__ss_padding[0x28];\n          data_addr.__ss_padding[0x29] = hisctladdr.__ss_padding[0x29];\n          data_addr.__ss_padding[0x2a] = hisctladdr.__ss_padding[0x2a];\n          data_addr.__ss_padding[0x2b] = hisctladdr.__ss_padding[0x2b];\n          data_addr.__ss_padding[0x2c] = hisctladdr.__ss_padding[0x2c];\n          data_addr.__ss_padding[0x2d] = hisctladdr.__ss_padding[0x2d];\n          data_addr.__ss_padding[0x2e] = hisctladdr.__ss_padding[0x2e];\n          data_addr.__ss_padding[0x2f] = hisctladdr.__ss_padding[0x2f];\n          data_addr.__ss_padding[0x30] = hisctladdr.__ss_padding[0x30];\n          data_addr.__ss_padding[0x31] = hisctladdr.__ss_padding[0x31];\n          data_addr.__ss_padding[0x32] = hisctladdr.__ss_padding[0x32];\n          data_addr.__ss_padding[0x33] = hisctladdr.__ss_padding[0x33];\n          data_addr.__ss_padding[0x34] = hisctladdr.__ss_padding[0x34];\n          data_addr.__ss_padding[0x35] = hisctladdr.__ss_padding[0x35];\n          data_addr.__ss_padding[0x36] = hisctladdr.__ss_padding[0x36];\n          data_addr.__ss_padding[0x37] = hisctladdr.__ss_padding[0x37];\n          data_addr.__ss_padding[0x38] = hisctladdr.__ss_padding[0x38];\n          data_addr.__ss_padding[0x39] = hisctladdr.__ss_padding[0x39];\n          data_addr.__ss_padding[0x3a] = hisctladdr.__ss_padding[0x3a];\n          data_addr.__ss_padding[0x3b] = hisctladdr.__ss_padding[0x3b];\n          data_addr.__ss_padding[0x3c] = hisctladdr.__ss_padding[0x3c];\n          data_addr.__ss_padding[0x3d] = hisctladdr.__ss_padding[0x3d];\n          data_addr.__ss_padding[0x3e] = hisctladdr.__ss_padding[0x3e];\n          data_addr.__ss_padding[0x3f] = hisctladdr.__ss_padding[0x3f];\n          data_addr.__ss_padding[0x40] = hisctladdr.__ss_padding[0x40];\n          data_addr.__ss_padding[0x41] = hisctladdr.__ss_padding[0x41];\n          data_addr.__ss_padding[0x42] = hisctladdr.__ss_padding[0x42];\n          data_addr.__ss_padding[0x43] = hisctladdr.__ss_padding[0x43];\n          data_addr.__ss_padding[0x44] = hisctladdr.__ss_padding[0x44];\n          data_addr.__ss_padding[0x45] = hisctladdr.__ss_padding[0x45];\n          data_addr.__ss_padding[0x46] = hisctladdr.__ss_padding[0x46];\n          data_addr.__ss_padding[0x47] = hisctladdr.__ss_padding[0x47];\n          data_addr.__ss_padding[0x48] = hisctladdr.__ss_padding[0x48];\n          data_addr.__ss_padding[0x49] = hisctladdr.__ss_padding[0x49];\n          data_addr.__ss_padding[0x4a] = hisctladdr.__ss_padding[0x4a];\n          data_addr.__ss_padding[0x4b] = hisctladdr.__ss_padding[0x4b];\n          data_addr.__ss_padding[0x4c] = hisctladdr.__ss_padding[0x4c];\n          data_addr.__ss_padding[0x4d] = hisctladdr.__ss_padding[0x4d];\n          data_addr.__ss_padding[0x4e] = hisctladdr.__ss_padding[0x4e];\n          data_addr.__ss_padding[0x4f] = hisctladdr.__ss_padding[0x4f];\n          data_addr.__ss_padding[0x50] = hisctladdr.__ss_padding[0x50];\n          data_addr.__ss_padding[0x51] = hisctladdr.__ss_padding[0x51];\n          data_addr.__ss_padding[0x52] = hisctladdr.__ss_padding[0x52];\n          data_addr.__ss_padding[0x53] = hisctladdr.__ss_padding[0x53];\n          data_addr.__ss_padding[0x54] = hisctladdr.__ss_padding[0x54];\n          data_addr.__ss_padding[0x55] = hisctladdr.__ss_padding[0x55];\n          data_addr.__ss_padding[0x56] = hisctladdr.__ss_padding[0x56];\n          data_addr.__ss_padding[0x57] = hisctladdr.__ss_padding[0x57];\n          data_addr.__ss_padding[0x58] = hisctladdr.__ss_padding[0x58];\n          data_addr.__ss_padding[0x59] = hisctladdr.__ss_padding[0x59];\n          data_addr.__ss_padding[0x5a] = hisctladdr.__ss_padding[0x5a];\n          data_addr.__ss_padding[0x5b] = hisctladdr.__ss_padding[0x5b];\n          data_addr.__ss_padding[0x5c] = hisctladdr.__ss_padding[0x5c];\n          data_addr.__ss_padding[0x5d] = hisctladdr.__ss_padding[0x5d];\n          data_addr.__ss_padding[0x5e] = hisctladdr.__ss_padding[0x5e];\n          data_addr.__ss_padding[0x5f] = hisctladdr.__ss_padding[0x5f];\n          data_addr.__ss_padding[0x60] = hisctladdr.__ss_padding[0x60];\n          data_addr.__ss_padding[0x61] = hisctladdr.__ss_padding[0x61];\n          data_addr.__ss_padding[0x62] = hisctladdr.__ss_padding[0x62];\n          data_addr.__ss_padding[99] = hisctladdr.__ss_padding[99];\n          data_addr.__ss_padding[100] = hisctladdr.__ss_padding[100];\n          data_addr.__ss_padding[0x65] = hisctladdr.__ss_padding[0x65];\n          data_addr.__ss_padding[0x66] = hisctladdr.__ss_padding[0x66];\n          data_addr.__ss_padding[0x67] = hisctladdr.__ss_padding[0x67];\n          data_addr.__ss_padding[0x68] = hisctladdr.__ss_padding[0x68];\n          data_addr.__ss_padding[0x69] = hisctladdr.__ss_padding[0x69];\n          data_addr.__ss_padding[0x6a] = hisctladdr.__ss_padding[0x6a];\n          data_addr.__ss_padding[0x6b] = hisctladdr.__ss_padding[0x6b];\n          data_addr.__ss_padding[0x6c] = hisctladdr.__ss_padding[0x6c];\n          data_addr.__ss_padding[0x6d] = hisctladdr.__ss_padding[0x6d];\n          data_addr.__ss_padding[0x6e] = hisctladdr.__ss_padding[0x6e];\n          data_addr.__ss_padding[0x6f] = hisctladdr.__ss_padding[0x6f];\n          data_addr.__ss_padding[0x70] = hisctladdr.__ss_padding[0x70];\n          data_addr.__ss_padding[0x71] = hisctladdr.__ss_padding[0x71];\n          data_addr.__ss_padding[0x72] = hisctladdr.__ss_padding[0x72];\n          data_addr.__ss_padding[0x73] = hisctladdr.__ss_padding[0x73];\n          data_addr.__ss_padding[0x74] = hisctladdr.__ss_padding[0x74];\n          data_addr.__ss_padding[0x75] = hisctladdr.__ss_padding[0x75];\n          data_addr.__ss_align = hisctladdr.__ss_align;\n          data_addr.__ss_padding._2_4_ = SUB84(hisctladdr._0_8_,4);\n          if ((sa_family_t)hisctladdr._0_8_ == 2) {\n            uVar2 = (ushort)port << 8 | (ushort)port >> 8;\n            data_addr.__ss_padding[0] = (char)uVar2;\n            data_addr.__ss_padding[1] = (char)(uVar2 >> 8);\n            data_addr.ss_family = 2;\n            uVar1 = data_addr._0_8_;\n          }\n          else if ((sa_family_t)hisctladdr._0_8_ == 10) {\n            uVar2 = (ushort)port << 8 | (ushort)port >> 8;\n            data_addr.__ss_padding[0] = (char)uVar2;\n            data_addr.__ss_padding[1] = (char)(uVar2 >> 8);\n            data_addr.ss_family = 10;\n            uVar1 = data_addr._0_8_;\n          }\n          goto LAB_0010c540;\n        }\n        puts("Extended passive mode scan failure. Should not happen!");\n        command("ABOR");\n      }\n      else {\n        iVar4 = command("LPSV");\n        if (iVar4 == 2) goto LAB_0010c62c;\n        puts("Passive mode refused.");\n      }\n      goto LAB_0010c703;\n    }\nLAB_0010c499:\n    if (myctladdr.ss_family == 2) {\n      iVar4 = sscanf(pasv,"%u,%u,%u,%u,%u,%u",&a0,&a1,&a2,&a3,&p0,&p1);\n      if (iVar4 == 6) {\n        uVar7 = a0 & 0xff | ((a1 & 0xff) << 0x10) >> 8 | (a2 & 0xff) << 0x10 |\n                (uint)(byte)a3 << 0x18;\n        uVar2 = (ushort)(byte)p1 << 8 | (ushort)p0 & 0xff;\n        data_addr.__ss_padding[0] = (char)uVar2;\n        data_addr.__ss_padding[1] = (char)(uVar2 >> 8);\n        data_addr.ss_family = 2;\n        data_addr.__ss_padding[2] = (char)uVar7;\n        data_addr.__ss_padding[3] = (char)(uVar7 >> 8);\n        data_addr.__ss_padding[4] = (char)(uVar7 >> 0x10);\n        data_addr.__ss_padding[5] = (char)(uVar7 >> 0x18);\n        uVar1 = data_addr._0_8_;\nLAB_0010c540:\n        data_addr._0_8_ = uVar1;\n        iVar4 = connect(data,(sockaddr *)&data_addr,ctladdrlen);\n        if (-1 < iVar4) {\n          on = 8;\n          uVar7 = 0;\n          if (data_addr.ss_family == 2) {\n            iVar4 = setsockopt(data,0,1,&on,4);\n            if (iVar4 < 0) {\n              perror("ftp: setsockopt TOS (ignored)");\n            }\n          }\n          goto LAB_0010ca2b;\n        }\n        perror("ftp: connect");\n      }\n      else {\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        command("ABOR");\n      }\n    }\n    else {\n      puts("Passive mode address scan failure. Shouldn\'t happen!");\n    }\n  }" { (if_statement "if (myctladdr.ss_family == 10) {\n      iVar4 = command("EPSV");\n      if (iVar4 == 2) {\nLAB_0010c336:\n        iVar4 = sscanf(pasv,"%u|",&port);\n        if (iVar4 == 1) {\n          data_addr.ss_family = hisctladdr.ss_family;\n          data_addr.__ss_padding[0] = hisctladdr.__ss_padding[0];\n          data_addr.__ss_padding[1] = hisctladdr.__ss_padding[1];\n          data_addr.__ss_padding[2] = hisctladdr.__ss_padding[2];\n          data_addr.__ss_padding[3] = hisctladdr.__ss_padding[3];\n          data_addr.__ss_padding[4] = hisctladdr.__ss_padding[4];\n          data_addr.__ss_padding[5] = hisctladdr.__ss_padding[5];\n          uVar1 = data_addr._0_8_;\n          data_addr.__ss_padding[6] = hisctladdr.__ss_padding[6];\n          data_addr.__ss_padding[7] = hisctladdr.__ss_padding[7];\n          data_addr.__ss_padding[8] = hisctladdr.__ss_padding[8];\n          data_addr.__ss_padding[9] = hisctladdr.__ss_padding[9];\n          data_addr.__ss_padding[10] = hisctladdr.__ss_padding[10];\n          data_addr.__ss_padding[0xb] = hisctladdr.__ss_padding[0xb];\n          data_addr.__ss_padding[0xc] = hisctladdr.__ss_padding[0xc];\n          data_addr.__ss_padding[0xd] = hisctladdr.__ss_padding[0xd];\n          data_addr.__ss_padding[0xe] = hisctladdr.__ss_padding[0xe];\n          data_addr.__ss_padding[0xf] = hisctladdr.__ss_padding[0xf];\n          data_addr.__ss_padding[0x10] = hisctladdr.__ss_padding[0x10];\n          data_addr.__ss_padding[0x11] = hisctladdr.__ss_padding[0x11];\n          data_addr.__ss_padding[0x12] = hisctladdr.__ss_padding[0x12];\n          data_addr.__ss_padding[0x13] = hisctladdr.__ss_padding[0x13];\n          data_addr.__ss_padding[0x14] = hisctladdr.__ss_padding[0x14];\n          data_addr.__ss_padding[0x15] = hisctladdr.__ss_padding[0x15];\n          data_addr.__ss_padding[0x16] = hisctladdr.__ss_padding[0x16];\n          data_addr.__ss_padding[0x17] = hisctladdr.__ss_padding[0x17];\n          data_addr.__ss_padding[0x18] = hisctladdr.__ss_padding[0x18];\n          data_addr.__ss_padding[0x19] = hisctladdr.__ss_padding[0x19];\n          data_addr.__ss_padding[0x1a] = hisctladdr.__ss_padding[0x1a];\n          data_addr.__ss_padding[0x1b] = hisctladdr.__ss_padding[0x1b];\n          data_addr.__ss_padding[0x1c] = hisctladdr.__ss_padding[0x1c];\n          data_addr.__ss_padding[0x1d] = hisctladdr.__ss_padding[0x1d];\n          data_addr.__ss_padding[0x1e] = hisctladdr.__ss_padding[0x1e];\n          data_addr.__ss_padding[0x1f] = hisctladdr.__ss_padding[0x1f];\n          data_addr.__ss_padding[0x20] = hisctladdr.__ss_padding[0x20];\n          data_addr.__ss_padding[0x21] = hisctladdr.__ss_padding[0x21];\n          data_addr.__ss_padding[0x22] = hisctladdr.__ss_padding[0x22];\n          data_addr.__ss_padding[0x23] = hisctladdr.__ss_padding[0x23];\n          data_addr.__ss_padding[0x24] = hisctladdr.__ss_padding[0x24];\n          data_addr.__ss_padding[0x25] = hisctladdr.__ss_padding[0x25];\n          data_addr.__ss_padding[0x26] = hisctladdr.__ss_padding[0x26];\n          data_addr.__ss_padding[0x27] = hisctladdr.__ss_padding[0x27];\n          data_addr.__ss_padding[0x28] = hisctladdr.__ss_padding[0x28];\n          data_addr.__ss_padding[0x29] = hisctladdr.__ss_padding[0x29];\n          data_addr.__ss_padding[0x2a] = hisctladdr.__ss_padding[0x2a];\n          data_addr.__ss_padding[0x2b] = hisctladdr.__ss_padding[0x2b];\n          data_addr.__ss_padding[0x2c] = hisctladdr.__ss_padding[0x2c];\n          data_addr.__ss_padding[0x2d] = hisctladdr.__ss_padding[0x2d];\n          data_addr.__ss_padding[0x2e] = hisctladdr.__ss_padding[0x2e];\n          data_addr.__ss_padding[0x2f] = hisctladdr.__ss_padding[0x2f];\n          data_addr.__ss_padding[0x30] = hisctladdr.__ss_padding[0x30];\n          data_addr.__ss_padding[0x31] = hisctladdr.__ss_padding[0x31];\n          data_addr.__ss_padding[0x32] = hisctladdr.__ss_padding[0x32];\n          data_addr.__ss_padding[0x33] = hisctladdr.__ss_padding[0x33];\n          data_addr.__ss_padding[0x34] = hisctladdr.__ss_padding[0x34];\n          data_addr.__ss_padding[0x35] = hisctladdr.__ss_padding[0x35];\n          data_addr.__ss_padding[0x36] = hisctladdr.__ss_padding[0x36];\n          data_addr.__ss_padding[0x37] = hisctladdr.__ss_padding[0x37];\n          data_addr.__ss_padding[0x38] = hisctladdr.__ss_padding[0x38];\n          data_addr.__ss_padding[0x39] = hisctladdr.__ss_padding[0x39];\n          data_addr.__ss_padding[0x3a] = hisctladdr.__ss_padding[0x3a];\n          data_addr.__ss_padding[0x3b] = hisctladdr.__ss_padding[0x3b];\n          data_addr.__ss_padding[0x3c] = hisctladdr.__ss_padding[0x3c];\n          data_addr.__ss_padding[0x3d] = hisctladdr.__ss_padding[0x3d];\n          data_addr.__ss_padding[0x3e] = hisctladdr.__ss_padding[0x3e];\n          data_addr.__ss_padding[0x3f] = hisctladdr.__ss_padding[0x3f];\n          data_addr.__ss_padding[0x40] = hisctladdr.__ss_padding[0x40];\n          data_addr.__ss_padding[0x41] = hisctladdr.__ss_padding[0x41];\n          data_addr.__ss_padding[0x42] = hisctladdr.__ss_padding[0x42];\n          data_addr.__ss_padding[0x43] = hisctladdr.__ss_padding[0x43];\n          data_addr.__ss_padding[0x44] = hisctladdr.__ss_padding[0x44];\n          data_addr.__ss_padding[0x45] = hisctladdr.__ss_padding[0x45];\n          data_addr.__ss_padding[0x46] = hisctladdr.__ss_padding[0x46];\n          data_addr.__ss_padding[0x47] = hisctladdr.__ss_padding[0x47];\n          data_addr.__ss_padding[0x48] = hisctladdr.__ss_padding[0x48];\n          data_addr.__ss_padding[0x49] = hisctladdr.__ss_padding[0x49];\n          data_addr.__ss_padding[0x4a] = hisctladdr.__ss_padding[0x4a];\n          data_addr.__ss_padding[0x4b] = hisctladdr.__ss_padding[0x4b];\n          data_addr.__ss_padding[0x4c] = hisctladdr.__ss_padding[0x4c];\n          data_addr.__ss_padding[0x4d] = hisctladdr.__ss_padding[0x4d];\n          data_addr.__ss_padding[0x4e] = hisctladdr.__ss_padding[0x4e];\n          data_addr.__ss_padding[0x4f] = hisctladdr.__ss_padding[0x4f];\n          data_addr.__ss_padding[0x50] = hisctladdr.__ss_padding[0x50];\n          data_addr.__ss_padding[0x51] = hisctladdr.__ss_padding[0x51];\n          data_addr.__ss_padding[0x52] = hisctladdr.__ss_padding[0x52];\n          data_addr.__ss_padding[0x53] = hisctladdr.__ss_padding[0x53];\n          data_addr.__ss_padding[0x54] = hisctladdr.__ss_padding[0x54];\n          data_addr.__ss_padding[0x55] = hisctladdr.__ss_padding[0x55];\n          data_addr.__ss_padding[0x56] = hisctladdr.__ss_padding[0x56];\n          data_addr.__ss_padding[0x57] = hisctladdr.__ss_padding[0x57];\n          data_addr.__ss_padding[0x58] = hisctladdr.__ss_padding[0x58];\n          data_addr.__ss_padding[0x59] = hisctladdr.__ss_padding[0x59];\n          data_addr.__ss_padding[0x5a] = hisctladdr.__ss_padding[0x5a];\n          data_addr.__ss_padding[0x5b] = hisctladdr.__ss_padding[0x5b];\n          data_addr.__ss_padding[0x5c] = hisctladdr.__ss_padding[0x5c];\n          data_addr.__ss_padding[0x5d] = hisctladdr.__ss_padding[0x5d];\n          data_addr.__ss_padding[0x5e] = hisctladdr.__ss_padding[0x5e];\n          data_addr.__ss_padding[0x5f] = hisctladdr.__ss_padding[0x5f];\n          data_addr.__ss_padding[0x60] = hisctladdr.__ss_padding[0x60];\n          data_addr.__ss_padding[0x61] = hisctladdr.__ss_padding[0x61];\n          data_addr.__ss_padding[0x62] = hisctladdr.__ss_padding[0x62];\n          data_addr.__ss_padding[99] = hisctladdr.__ss_padding[99];\n          data_addr.__ss_padding[100] = hisctladdr.__ss_padding[100];\n          data_addr.__ss_padding[0x65] = hisctladdr.__ss_padding[0x65];\n          data_addr.__ss_padding[0x66] = hisctladdr.__ss_padding[0x66];\n          data_addr.__ss_padding[0x67] = hisctladdr.__ss_padding[0x67];\n          data_addr.__ss_padding[0x68] = hisctladdr.__ss_padding[0x68];\n          data_addr.__ss_padding[0x69] = hisctladdr.__ss_padding[0x69];\n          data_addr.__ss_padding[0x6a] = hisctladdr.__ss_padding[0x6a];\n          data_addr.__ss_padding[0x6b] = hisctladdr.__ss_padding[0x6b];\n          data_addr.__ss_padding[0x6c] = hisctladdr.__ss_padding[0x6c];\n          data_addr.__ss_padding[0x6d] = hisctladdr.__ss_padding[0x6d];\n          data_addr.__ss_padding[0x6e] = hisctladdr.__ss_padding[0x6e];\n          data_addr.__ss_padding[0x6f] = hisctladdr.__ss_padding[0x6f];\n          data_addr.__ss_padding[0x70] = hisctladdr.__ss_padding[0x70];\n          data_addr.__ss_padding[0x71] = hisctladdr.__ss_padding[0x71];\n          data_addr.__ss_padding[0x72] = hisctladdr.__ss_padding[0x72];\n          data_addr.__ss_padding[0x73] = hisctladdr.__ss_padding[0x73];\n          data_addr.__ss_padding[0x74] = hisctladdr.__ss_padding[0x74];\n          data_addr.__ss_padding[0x75] = hisctladdr.__ss_padding[0x75];\n          data_addr.__ss_align = hisctladdr.__ss_align;\n          data_addr.__ss_padding._2_4_ = SUB84(hisctladdr._0_8_,4);\n          if ((sa_family_t)hisctladdr._0_8_ == 2) {\n            uVar2 = (ushort)port << 8 | (ushort)port >> 8;\n            data_addr.__ss_padding[0] = (char)uVar2;\n            data_addr.__ss_padding[1] = (char)(uVar2 >> 8);\n            data_addr.ss_family = 2;\n            uVar1 = data_addr._0_8_;\n          }\n          else if ((sa_family_t)hisctladdr._0_8_ == 10) {\n            uVar2 = (ushort)port << 8 | (ushort)port >> 8;\n            data_addr.__ss_padding[0] = (char)uVar2;\n            data_addr.__ss_padding[1] = (char)(uVar2 >> 8);\n            data_addr.ss_family = 10;\n            uVar1 = data_addr._0_8_;\n          }\n          goto LAB_0010c540;\n        }\n        puts("Extended passive mode scan failure. Should not happen!");\n        command("ABOR");\n      }\n      else {\n        iVar4 = command("LPSV");\n        if (iVar4 == 2) goto LAB_0010c62c;\n        puts("Passive mode refused.");\n      }\n      goto LAB_0010c703;\n    }" if (parenthesized_expression "(myctladdr.ss_family == 10)" ( (binary_expression "myctladdr.ss_family == 10" (field_expression "myctladdr.ss_family" identifier . field_identifier) == number_literal) )) (compound_statement "{\n      iVar4 = command("EPSV");\n      if (iVar4 == 2) {\nLAB_0010c336:\n        iVar4 = sscanf(pasv,"%u|",&port);\n        if (iVar4 == 1) {\n          data_addr.ss_family = hisctladdr.ss_family;\n          data_addr.__ss_padding[0] = hisctladdr.__ss_padding[0];\n          data_addr.__ss_padding[1] = hisctladdr.__ss_padding[1];\n          data_addr.__ss_padding[2] = hisctladdr.__ss_padding[2];\n          data_addr.__ss_padding[3] = hisctladdr.__ss_padding[3];\n          data_addr.__ss_padding[4] = hisctladdr.__ss_padding[4];\n          data_addr.__ss_padding[5] = hisctladdr.__ss_padding[5];\n          uVar1 = data_addr._0_8_;\n          data_addr.__ss_padding[6] = hisctladdr.__ss_padding[6];\n          data_addr.__ss_padding[7] = hisctladdr.__ss_padding[7];\n          data_addr.__ss_padding[8] = hisctladdr.__ss_padding[8];\n          data_addr.__ss_padding[9] = hisctladdr.__ss_padding[9];\n          data_addr.__ss_padding[10] = hisctladdr.__ss_padding[10];\n          data_addr.__ss_padding[0xb] = hisctladdr.__ss_padding[0xb];\n          data_addr.__ss_padding[0xc] = hisctladdr.__ss_padding[0xc];\n          data_addr.__ss_padding[0xd] = hisctladdr.__ss_padding[0xd];\n          data_addr.__ss_padding[0xe] = hisctladdr.__ss_padding[0xe];\n          data_addr.__ss_padding[0xf] = hisctladdr.__ss_padding[0xf];\n          data_addr.__ss_padding[0x10] = hisctladdr.__ss_padding[0x10];\n          data_addr.__ss_padding[0x11] = hisctladdr.__ss_padding[0x11];\n          data_addr.__ss_padding[0x12] = hisctladdr.__ss_padding[0x12];\n          data_addr.__ss_padding[0x13] = hisctladdr.__ss_padding[0x13];\n          data_addr.__ss_padding[0x14] = hisctladdr.__ss_padding[0x14];\n          data_addr.__ss_padding[0x15] = hisctladdr.__ss_padding[0x15];\n          data_addr.__ss_padding[0x16] = hisctladdr.__ss_padding[0x16];\n          data_addr.__ss_padding[0x17] = hisctladdr.__ss_padding[0x17];\n          data_addr.__ss_padding[0x18] = hisctladdr.__ss_padding[0x18];\n          data_addr.__ss_padding[0x19] = hisctladdr.__ss_padding[0x19];\n          data_addr.__ss_padding[0x1a] = hisctladdr.__ss_padding[0x1a];\n          data_addr.__ss_padding[0x1b] = hisctladdr.__ss_padding[0x1b];\n          data_addr.__ss_padding[0x1c] = hisctladdr.__ss_padding[0x1c];\n          data_addr.__ss_padding[0x1d] = hisctladdr.__ss_padding[0x1d];\n          data_addr.__ss_padding[0x1e] = hisctladdr.__ss_padding[0x1e];\n          data_addr.__ss_padding[0x1f] = hisctladdr.__ss_padding[0x1f];\n          data_addr.__ss_padding[0x20] = hisctladdr.__ss_padding[0x20];\n          data_addr.__ss_padding[0x21] = hisctladdr.__ss_padding[0x21];\n          data_addr.__ss_padding[0x22] = hisctladdr.__ss_padding[0x22];\n          data_addr.__ss_padding[0x23] = hisctladdr.__ss_padding[0x23];\n          data_addr.__ss_padding[0x24] = hisctladdr.__ss_padding[0x24];\n          data_addr.__ss_padding[0x25] = hisctladdr.__ss_padding[0x25];\n          data_addr.__ss_padding[0x26] = hisctladdr.__ss_padding[0x26];\n          data_addr.__ss_padding[0x27] = hisctladdr.__ss_padding[0x27];\n          data_addr.__ss_padding[0x28] = hisctladdr.__ss_padding[0x28];\n          data_addr.__ss_padding[0x29] = hisctladdr.__ss_padding[0x29];\n          data_addr.__ss_padding[0x2a] = hisctladdr.__ss_padding[0x2a];\n          data_addr.__ss_padding[0x2b] = hisctladdr.__ss_padding[0x2b];\n          data_addr.__ss_padding[0x2c] = hisctladdr.__ss_padding[0x2c];\n          data_addr.__ss_padding[0x2d] = hisctladdr.__ss_padding[0x2d];\n          data_addr.__ss_padding[0x2e] = hisctladdr.__ss_padding[0x2e];\n          data_addr.__ss_padding[0x2f] = hisctladdr.__ss_padding[0x2f];\n          data_addr.__ss_padding[0x30] = hisctladdr.__ss_padding[0x30];\n          data_addr.__ss_padding[0x31] = hisctladdr.__ss_padding[0x31];\n          data_addr.__ss_padding[0x32] = hisctladdr.__ss_padding[0x32];\n          data_addr.__ss_padding[0x33] = hisctladdr.__ss_padding[0x33];\n          data_addr.__ss_padding[0x34] = hisctladdr.__ss_padding[0x34];\n          data_addr.__ss_padding[0x35] = hisctladdr.__ss_padding[0x35];\n          data_addr.__ss_padding[0x36] = hisctladdr.__ss_padding[0x36];\n          data_addr.__ss_padding[0x37] = hisctladdr.__ss_padding[0x37];\n          data_addr.__ss_padding[0x38] = hisctladdr.__ss_padding[0x38];\n          data_addr.__ss_padding[0x39] = hisctladdr.__ss_padding[0x39];\n          data_addr.__ss_padding[0x3a] = hisctladdr.__ss_padding[0x3a];\n          data_addr.__ss_padding[0x3b] = hisctladdr.__ss_padding[0x3b];\n          data_addr.__ss_padding[0x3c] = hisctladdr.__ss_padding[0x3c];\n          data_addr.__ss_padding[0x3d] = hisctladdr.__ss_padding[0x3d];\n          data_addr.__ss_padding[0x3e] = hisctladdr.__ss_padding[0x3e];\n          data_addr.__ss_padding[0x3f] = hisctladdr.__ss_padding[0x3f];\n          data_addr.__ss_padding[0x40] = hisctladdr.__ss_padding[0x40];\n          data_addr.__ss_padding[0x41] = hisctladdr.__ss_padding[0x41];\n          data_addr.__ss_padding[0x42] = hisctladdr.__ss_padding[0x42];\n          data_addr.__ss_padding[0x43] = hisctladdr.__ss_padding[0x43];\n          data_addr.__ss_padding[0x44] = hisctladdr.__ss_padding[0x44];\n          data_addr.__ss_padding[0x45] = hisctladdr.__ss_padding[0x45];\n          data_addr.__ss_padding[0x46] = hisctladdr.__ss_padding[0x46];\n          data_addr.__ss_padding[0x47] = hisctladdr.__ss_padding[0x47];\n          data_addr.__ss_padding[0x48] = hisctladdr.__ss_padding[0x48];\n          data_addr.__ss_padding[0x49] = hisctladdr.__ss_padding[0x49];\n          data_addr.__ss_padding[0x4a] = hisctladdr.__ss_padding[0x4a];\n          data_addr.__ss_padding[0x4b] = hisctladdr.__ss_padding[0x4b];\n          data_addr.__ss_padding[0x4c] = hisctladdr.__ss_padding[0x4c];\n          data_addr.__ss_padding[0x4d] = hisctladdr.__ss_padding[0x4d];\n          data_addr.__ss_padding[0x4e] = hisctladdr.__ss_padding[0x4e];\n          data_addr.__ss_padding[0x4f] = hisctladdr.__ss_padding[0x4f];\n          data_addr.__ss_padding[0x50] = hisctladdr.__ss_padding[0x50];\n          data_addr.__ss_padding[0x51] = hisctladdr.__ss_padding[0x51];\n          data_addr.__ss_padding[0x52] = hisctladdr.__ss_padding[0x52];\n          data_addr.__ss_padding[0x53] = hisctladdr.__ss_padding[0x53];\n          data_addr.__ss_padding[0x54] = hisctladdr.__ss_padding[0x54];\n          data_addr.__ss_padding[0x55] = hisctladdr.__ss_padding[0x55];\n          data_addr.__ss_padding[0x56] = hisctladdr.__ss_padding[0x56];\n          data_addr.__ss_padding[0x57] = hisctladdr.__ss_padding[0x57];\n          data_addr.__ss_padding[0x58] = hisctladdr.__ss_padding[0x58];\n          data_addr.__ss_padding[0x59] = hisctladdr.__ss_padding[0x59];\n          data_addr.__ss_padding[0x5a] = hisctladdr.__ss_padding[0x5a];\n          data_addr.__ss_padding[0x5b] = hisctladdr.__ss_padding[0x5b];\n          data_addr.__ss_padding[0x5c] = hisctladdr.__ss_padding[0x5c];\n          data_addr.__ss_padding[0x5d] = hisctladdr.__ss_padding[0x5d];\n          data_addr.__ss_padding[0x5e] = hisctladdr.__ss_padding[0x5e];\n          data_addr.__ss_padding[0x5f] = hisctladdr.__ss_padding[0x5f];\n          data_addr.__ss_padding[0x60] = hisctladdr.__ss_padding[0x60];\n          data_addr.__ss_padding[0x61] = hisctladdr.__ss_padding[0x61];\n          data_addr.__ss_padding[0x62] = hisctladdr.__ss_padding[0x62];\n          data_addr.__ss_padding[99] = hisctladdr.__ss_padding[99];\n          data_addr.__ss_padding[100] = hisctladdr.__ss_padding[100];\n          data_addr.__ss_padding[0x65] = hisctladdr.__ss_padding[0x65];\n          data_addr.__ss_padding[0x66] = hisctladdr.__ss_padding[0x66];\n          data_addr.__ss_padding[0x67] = hisctladdr.__ss_padding[0x67];\n          data_addr.__ss_padding[0x68] = hisctladdr.__ss_padding[0x68];\n          data_addr.__ss_padding[0x69] = hisctladdr.__ss_padding[0x69];\n          data_addr.__ss_padding[0x6a] = hisctladdr.__ss_padding[0x6a];\n          data_addr.__ss_padding[0x6b] = hisctladdr.__ss_padding[0x6b];\n          data_addr.__ss_padding[0x6c] = hisctladdr.__ss_padding[0x6c];\n          data_addr.__ss_padding[0x6d] = hisctladdr.__ss_padding[0x6d];\n          data_addr.__ss_padding[0x6e] = hisctladdr.__ss_padding[0x6e];\n          data_addr.__ss_padding[0x6f] = hisctladdr.__ss_padding[0x6f];\n          data_addr.__ss_padding[0x70] = hisctladdr.__ss_padding[0x70];\n          data_addr.__ss_padding[0x71] = hisctladdr.__ss_padding[0x71];\n          data_addr.__ss_padding[0x72] = hisctladdr.__ss_padding[0x72];\n          data_addr.__ss_padding[0x73] = hisctladdr.__ss_padding[0x73];\n          data_addr.__ss_padding[0x74] = hisctladdr.__ss_padding[0x74];\n          data_addr.__ss_padding[0x75] = hisctladdr.__ss_padding[0x75];\n          data_addr.__ss_align = hisctladdr.__ss_align;\n          data_addr.__ss_padding._2_4_ = SUB84(hisctladdr._0_8_,4);\n          if ((sa_family_t)hisctladdr._0_8_ == 2) {\n            uVar2 = (ushort)port << 8 | (ushort)port >> 8;\n            data_addr.__ss_padding[0] = (char)uVar2;\n            data_addr.__ss_padding[1] = (char)(uVar2 >> 8);\n            data_addr.ss_family = 2;\n            uVar1 = data_addr._0_8_;\n          }\n          else if ((sa_family_t)hisctladdr._0_8_ == 10) {\n            uVar2 = (ushort)port << 8 | (ushort)port >> 8;\n            data_addr.__ss_padding[0] = (char)uVar2;\n            data_addr.__ss_padding[1] = (char)(uVar2 >> 8);\n            data_addr.ss_family = 10;\n            uVar1 = data_addr._0_8_;\n          }\n          goto LAB_0010c540;\n        }\n        puts("Extended passive mode scan failure. Should not happen!");\n        command("ABOR");\n      }\n      else {\n        iVar4 = command("LPSV");\n        if (iVar4 == 2) goto LAB_0010c62c;\n        puts("Passive mode refused.");\n      }\n      goto LAB_0010c703;\n    }" { (expression_statement "iVar4 = command("EPSV");" (assignment_expression "iVar4 = command("EPSV")" identifier = (call_expression "command("EPSV")" identifier (argument_list "("EPSV")" ( (string_literal ""EPSV"" " string_content ") )))) ;) (if_statement "if (iVar4 == 2) {\nLAB_0010c336:\n        iVar4 = sscanf(pasv,"%u|",&port);\n        if (iVar4 == 1) {\n          data_addr.ss_family = hisctladdr.ss_family;\n          data_addr.__ss_padding[0] = hisctladdr.__ss_padding[0];\n          data_addr.__ss_padding[1] = hisctladdr.__ss_padding[1];\n          data_addr.__ss_padding[2] = hisctladdr.__ss_padding[2];\n          data_addr.__ss_padding[3] = hisctladdr.__ss_padding[3];\n          data_addr.__ss_padding[4] = hisctladdr.__ss_padding[4];\n          data_addr.__ss_padding[5] = hisctladdr.__ss_padding[5];\n          uVar1 = data_addr._0_8_;\n          data_addr.__ss_padding[6] = hisctladdr.__ss_padding[6];\n          data_addr.__ss_padding[7] = hisctladdr.__ss_padding[7];\n          data_addr.__ss_padding[8] = hisctladdr.__ss_padding[8];\n          data_addr.__ss_padding[9] = hisctladdr.__ss_padding[9];\n          data_addr.__ss_padding[10] = hisctladdr.__ss_padding[10];\n          data_addr.__ss_padding[0xb] = hisctladdr.__ss_padding[0xb];\n          data_addr.__ss_padding[0xc] = hisctladdr.__ss_padding[0xc];\n          data_addr.__ss_padding[0xd] = hisctladdr.__ss_padding[0xd];\n          data_addr.__ss_padding[0xe] = hisctladdr.__ss_padding[0xe];\n          data_addr.__ss_padding[0xf] = hisctladdr.__ss_padding[0xf];\n          data_addr.__ss_padding[0x10] = hisctladdr.__ss_padding[0x10];\n          data_addr.__ss_padding[0x11] = hisctladdr.__ss_padding[0x11];\n          data_addr.__ss_padding[0x12] = hisctladdr.__ss_padding[0x12];\n          data_addr.__ss_padding[0x13] = hisctladdr.__ss_padding[0x13];\n          data_addr.__ss_padding[0x14] = hisctladdr.__ss_padding[0x14];\n          data_addr.__ss_padding[0x15] = hisctladdr.__ss_padding[0x15];\n          data_addr.__ss_padding[0x16] = hisctladdr.__ss_padding[0x16];\n          data_addr.__ss_padding[0x17] = hisctladdr.__ss_padding[0x17];\n          data_addr.__ss_padding[0x18] = hisctladdr.__ss_padding[0x18];\n          data_addr.__ss_padding[0x19] = hisctladdr.__ss_padding[0x19];\n          data_addr.__ss_padding[0x1a] = hisctladdr.__ss_padding[0x1a];\n          data_addr.__ss_padding[0x1b] = hisctladdr.__ss_padding[0x1b];\n          data_addr.__ss_padding[0x1c] = hisctladdr.__ss_padding[0x1c];\n          data_addr.__ss_padding[0x1d] = hisctladdr.__ss_padding[0x1d];\n          data_addr.__ss_padding[0x1e] = hisctladdr.__ss_padding[0x1e];\n          data_addr.__ss_padding[0x1f] = hisctladdr.__ss_padding[0x1f];\n          data_addr.__ss_padding[0x20] = hisctladdr.__ss_padding[0x20];\n          data_addr.__ss_padding[0x21] = hisctladdr.__ss_padding[0x21];\n          data_addr.__ss_padding[0x22] = hisctladdr.__ss_padding[0x22];\n          data_addr.__ss_padding[0x23] = hisctladdr.__ss_padding[0x23];\n          data_addr.__ss_padding[0x24] = hisctladdr.__ss_padding[0x24];\n          data_addr.__ss_padding[0x25] = hisctladdr.__ss_padding[0x25];\n          data_addr.__ss_padding[0x26] = hisctladdr.__ss_padding[0x26];\n          data_addr.__ss_padding[0x27] = hisctladdr.__ss_padding[0x27];\n          data_addr.__ss_padding[0x28] = hisctladdr.__ss_padding[0x28];\n          data_addr.__ss_padding[0x29] = hisctladdr.__ss_padding[0x29];\n          data_addr.__ss_padding[0x2a] = hisctladdr.__ss_padding[0x2a];\n          data_addr.__ss_padding[0x2b] = hisctladdr.__ss_padding[0x2b];\n          data_addr.__ss_padding[0x2c] = hisctladdr.__ss_padding[0x2c];\n          data_addr.__ss_padding[0x2d] = hisctladdr.__ss_padding[0x2d];\n          data_addr.__ss_padding[0x2e] = hisctladdr.__ss_padding[0x2e];\n          data_addr.__ss_padding[0x2f] = hisctladdr.__ss_padding[0x2f];\n          data_addr.__ss_padding[0x30] = hisctladdr.__ss_padding[0x30];\n          data_addr.__ss_padding[0x31] = hisctladdr.__ss_padding[0x31];\n          data_addr.__ss_padding[0x32] = hisctladdr.__ss_padding[0x32];\n          data_addr.__ss_padding[0x33] = hisctladdr.__ss_padding[0x33];\n          data_addr.__ss_padding[0x34] = hisctladdr.__ss_padding[0x34];\n          data_addr.__ss_padding[0x35] = hisctladdr.__ss_padding[0x35];\n          data_addr.__ss_padding[0x36] = hisctladdr.__ss_padding[0x36];\n          data_addr.__ss_padding[0x37] = hisctladdr.__ss_padding[0x37];\n          data_addr.__ss_padding[0x38] = hisctladdr.__ss_padding[0x38];\n          data_addr.__ss_padding[0x39] = hisctladdr.__ss_padding[0x39];\n          data_addr.__ss_padding[0x3a] = hisctladdr.__ss_padding[0x3a];\n          data_addr.__ss_padding[0x3b] = hisctladdr.__ss_padding[0x3b];\n          data_addr.__ss_padding[0x3c] = hisctladdr.__ss_padding[0x3c];\n          data_addr.__ss_padding[0x3d] = hisctladdr.__ss_padding[0x3d];\n          data_addr.__ss_padding[0x3e] = hisctladdr.__ss_padding[0x3e];\n          data_addr.__ss_padding[0x3f] = hisctladdr.__ss_padding[0x3f];\n          data_addr.__ss_padding[0x40] = hisctladdr.__ss_padding[0x40];\n          data_addr.__ss_padding[0x41] = hisctladdr.__ss_padding[0x41];\n          data_addr.__ss_padding[0x42] = hisctladdr.__ss_padding[0x42];\n          data_addr.__ss_padding[0x43] = hisctladdr.__ss_padding[0x43];\n          data_addr.__ss_padding[0x44] = hisctladdr.__ss_padding[0x44];\n          data_addr.__ss_padding[0x45] = hisctladdr.__ss_padding[0x45];\n          data_addr.__ss_padding[0x46] = hisctladdr.__ss_padding[0x46];\n          data_addr.__ss_padding[0x47] = hisctladdr.__ss_padding[0x47];\n          data_addr.__ss_padding[0x48] = hisctladdr.__ss_padding[0x48];\n          data_addr.__ss_padding[0x49] = hisctladdr.__ss_padding[0x49];\n          data_addr.__ss_padding[0x4a] = hisctladdr.__ss_padding[0x4a];\n          data_addr.__ss_padding[0x4b] = hisctladdr.__ss_padding[0x4b];\n          data_addr.__ss_padding[0x4c] = hisctladdr.__ss_padding[0x4c];\n          data_addr.__ss_padding[0x4d] = hisctladdr.__ss_padding[0x4d];\n          data_addr.__ss_padding[0x4e] = hisctladdr.__ss_padding[0x4e];\n          data_addr.__ss_padding[0x4f] = hisctladdr.__ss_padding[0x4f];\n          data_addr.__ss_padding[0x50] = hisctladdr.__ss_padding[0x50];\n          data_addr.__ss_padding[0x51] = hisctladdr.__ss_padding[0x51];\n          data_addr.__ss_padding[0x52] = hisctladdr.__ss_padding[0x52];\n          data_addr.__ss_padding[0x53] = hisctladdr.__ss_padding[0x53];\n          data_addr.__ss_padding[0x54] = hisctladdr.__ss_padding[0x54];\n          data_addr.__ss_padding[0x55] = hisctladdr.__ss_padding[0x55];\n          data_addr.__ss_padding[0x56] = hisctladdr.__ss_padding[0x56];\n          data_addr.__ss_padding[0x57] = hisctladdr.__ss_padding[0x57];\n          data_addr.__ss_padding[0x58] = hisctladdr.__ss_padding[0x58];\n          data_addr.__ss_padding[0x59] = hisctladdr.__ss_padding[0x59];\n          data_addr.__ss_padding[0x5a] = hisctladdr.__ss_padding[0x5a];\n          data_addr.__ss_padding[0x5b] = hisctladdr.__ss_padding[0x5b];\n          data_addr.__ss_padding[0x5c] = hisctladdr.__ss_padding[0x5c];\n          data_addr.__ss_padding[0x5d] = hisctladdr.__ss_padding[0x5d];\n          data_addr.__ss_padding[0x5e] = hisctladdr.__ss_padding[0x5e];\n          data_addr.__ss_padding[0x5f] = hisctladdr.__ss_padding[0x5f];\n          data_addr.__ss_padding[0x60] = hisctladdr.__ss_padding[0x60];\n          data_addr.__ss_padding[0x61] = hisctladdr.__ss_padding[0x61];\n          data_addr.__ss_padding[0x62] = hisctladdr.__ss_padding[0x62];\n          data_addr.__ss_padding[99] = hisctladdr.__ss_padding[99];\n          data_addr.__ss_padding[100] = hisctladdr.__ss_padding[100];\n          data_addr.__ss_padding[0x65] = hisctladdr.__ss_padding[0x65];\n          data_addr.__ss_padding[0x66] = hisctladdr.__ss_padding[0x66];\n          data_addr.__ss_padding[0x67] = hisctladdr.__ss_padding[0x67];\n          data_addr.__ss_padding[0x68] = hisctladdr.__ss_padding[0x68];\n          data_addr.__ss_padding[0x69] = hisctladdr.__ss_padding[0x69];\n          data_addr.__ss_padding[0x6a] = hisctladdr.__ss_padding[0x6a];\n          data_addr.__ss_padding[0x6b] = hisctladdr.__ss_padding[0x6b];\n          data_addr.__ss_padding[0x6c] = hisctladdr.__ss_padding[0x6c];\n          data_addr.__ss_padding[0x6d] = hisctladdr.__ss_padding[0x6d];\n          data_addr.__ss_padding[0x6e] = hisctladdr.__ss_padding[0x6e];\n          data_addr.__ss_padding[0x6f] = hisctladdr.__ss_padding[0x6f];\n          data_addr.__ss_padding[0x70] = hisctladdr.__ss_padding[0x70];\n          data_addr.__ss_padding[0x71] = hisctladdr.__ss_padding[0x71];\n          data_addr.__ss_padding[0x72] = hisctladdr.__ss_padding[0x72];\n          data_addr.__ss_padding[0x73] = hisctladdr.__ss_padding[0x73];\n          data_addr.__ss_padding[0x74] = hisctladdr.__ss_padding[0x74];\n          data_addr.__ss_padding[0x75] = hisctladdr.__ss_padding[0x75];\n          data_addr.__ss_align = hisctladdr.__ss_align;\n          data_addr.__ss_padding._2_4_ = SUB84(hisctladdr._0_8_,4);\n          if ((sa_family_t)hisctladdr._0_8_ == 2) {\n            uVar2 = (ushort)port << 8 | (ushort)port >> 8;\n            data_addr.__ss_padding[0] = (char)uVar2;\n            data_addr.__ss_padding[1] = (char)(uVar2 >> 8);\n            data_addr.ss_family = 2;\n            uVar1 = data_addr._0_8_;\n          }\n          else if ((sa_family_t)hisctladdr._0_8_ == 10) {\n            uVar2 = (ushort)port << 8 | (ushort)port >> 8;\n            data_addr.__ss_padding[0] = (char)uVar2;\n            data_addr.__ss_padding[1] = (char)(uVar2 >> 8);\n            data_addr.ss_family = 10;\n            uVar1 = data_addr._0_8_;\n          }\n          goto LAB_0010c540;\n        }\n        puts("Extended passive mode scan failure. Should not happen!");\n        command("ABOR");\n      }\n      else {\n        iVar4 = command("LPSV");\n        if (iVar4 == 2) goto LAB_0010c62c;\n        puts("Passive mode refused.");\n      }" if (parenthesized_expression "(iVar4 == 2)" ( (binary_expression "iVar4 == 2" identifier == number_literal) )) (compound_statement "{\nLAB_0010c336:\n        iVar4 = sscanf(pasv,"%u|",&port);\n        if (iVar4 == 1) {\n          data_addr.ss_family = hisctladdr.ss_family;\n          data_addr.__ss_padding[0] = hisctladdr.__ss_padding[0];\n          data_addr.__ss_padding[1] = hisctladdr.__ss_padding[1];\n          data_addr.__ss_padding[2] = hisctladdr.__ss_padding[2];\n          data_addr.__ss_padding[3] = hisctladdr.__ss_padding[3];\n          data_addr.__ss_padding[4] = hisctladdr.__ss_padding[4];\n          data_addr.__ss_padding[5] = hisctladdr.__ss_padding[5];\n          uVar1 = data_addr._0_8_;\n          data_addr.__ss_padding[6] = hisctladdr.__ss_padding[6];\n          data_addr.__ss_padding[7] = hisctladdr.__ss_padding[7];\n          data_addr.__ss_padding[8] = hisctladdr.__ss_padding[8];\n          data_addr.__ss_padding[9] = hisctladdr.__ss_padding[9];\n          data_addr.__ss_padding[10] = hisctladdr.__ss_padding[10];\n          data_addr.__ss_padding[0xb] = hisctladdr.__ss_padding[0xb];\n          data_addr.__ss_padding[0xc] = hisctladdr.__ss_padding[0xc];\n          data_addr.__ss_padding[0xd] = hisctladdr.__ss_padding[0xd];\n          data_addr.__ss_padding[0xe] = hisctladdr.__ss_padding[0xe];\n          data_addr.__ss_padding[0xf] = hisctladdr.__ss_padding[0xf];\n          data_addr.__ss_padding[0x10] = hisctladdr.__ss_padding[0x10];\n          data_addr.__ss_padding[0x11] = hisctladdr.__ss_padding[0x11];\n          data_addr.__ss_padding[0x12] = hisctladdr.__ss_padding[0x12];\n          data_addr.__ss_padding[0x13] = hisctladdr.__ss_padding[0x13];\n          data_addr.__ss_padding[0x14] = hisctladdr.__ss_padding[0x14];\n          data_addr.__ss_padding[0x15] = hisctladdr.__ss_padding[0x15];\n          data_addr.__ss_padding[0x16] = hisctladdr.__ss_padding[0x16];\n          data_addr.__ss_padding[0x17] = hisctladdr.__ss_padding[0x17];\n          data_addr.__ss_padding[0x18] = hisctladdr.__ss_padding[0x18];\n          data_addr.__ss_padding[0x19] = hisctladdr.__ss_padding[0x19];\n          data_addr.__ss_padding[0x1a] = hisctladdr.__ss_padding[0x1a];\n          data_addr.__ss_padding[0x1b] = hisctladdr.__ss_padding[0x1b];\n          data_addr.__ss_padding[0x1c] = hisctladdr.__ss_padding[0x1c];\n          data_addr.__ss_padding[0x1d] = hisctladdr.__ss_padding[0x1d];\n          data_addr.__ss_padding[0x1e] = hisctladdr.__ss_padding[0x1e];\n          data_addr.__ss_padding[0x1f] = hisctladdr.__ss_padding[0x1f];\n          data_addr.__ss_padding[0x20] = hisctladdr.__ss_padding[0x20];\n          data_addr.__ss_padding[0x21] = hisctladdr.__ss_padding[0x21];\n          data_addr.__ss_padding[0x22] = hisctladdr.__ss_padding[0x22];\n          data_addr.__ss_padding[0x23] = hisctladdr.__ss_padding[0x23];\n          data_addr.__ss_padding[0x24] = hisctladdr.__ss_padding[0x24];\n          data_addr.__ss_padding[0x25] = hisctladdr.__ss_padding[0x25];\n          data_addr.__ss_padding[0x26] = hisctladdr.__ss_padding[0x26];\n          data_addr.__ss_padding[0x27] = hisctladdr.__ss_padding[0x27];\n          data_addr.__ss_padding[0x28] = hisctladdr.__ss_padding[0x28];\n          data_addr.__ss_padding[0x29] = hisctladdr.__ss_padding[0x29];\n          data_addr.__ss_padding[0x2a] = hisctladdr.__ss_padding[0x2a];\n          data_addr.__ss_padding[0x2b] = hisctladdr.__ss_padding[0x2b];\n          data_addr.__ss_padding[0x2c] = hisctladdr.__ss_padding[0x2c];\n          data_addr.__ss_padding[0x2d] = hisctladdr.__ss_padding[0x2d];\n          data_addr.__ss_padding[0x2e] = hisctladdr.__ss_padding[0x2e];\n          data_addr.__ss_padding[0x2f] = hisctladdr.__ss_padding[0x2f];\n          data_addr.__ss_padding[0x30] = hisctladdr.__ss_padding[0x30];\n          data_addr.__ss_padding[0x31] = hisctladdr.__ss_padding[0x31];\n          data_addr.__ss_padding[0x32] = hisctladdr.__ss_padding[0x32];\n          data_addr.__ss_padding[0x33] = hisctladdr.__ss_padding[0x33];\n          data_addr.__ss_padding[0x34] = hisctladdr.__ss_padding[0x34];\n          data_addr.__ss_padding[0x35] = hisctladdr.__ss_padding[0x35];\n          data_addr.__ss_padding[0x36] = hisctladdr.__ss_padding[0x36];\n          data_addr.__ss_padding[0x37] = hisctladdr.__ss_padding[0x37];\n          data_addr.__ss_padding[0x38] = hisctladdr.__ss_padding[0x38];\n          data_addr.__ss_padding[0x39] = hisctladdr.__ss_padding[0x39];\n          data_addr.__ss_padding[0x3a] = hisctladdr.__ss_padding[0x3a];\n          data_addr.__ss_padding[0x3b] = hisctladdr.__ss_padding[0x3b];\n          data_addr.__ss_padding[0x3c] = hisctladdr.__ss_padding[0x3c];\n          data_addr.__ss_padding[0x3d] = hisctladdr.__ss_padding[0x3d];\n          data_addr.__ss_padding[0x3e] = hisctladdr.__ss_padding[0x3e];\n          data_addr.__ss_padding[0x3f] = hisctladdr.__ss_padding[0x3f];\n          data_addr.__ss_padding[0x40] = hisctladdr.__ss_padding[0x40];\n          data_addr.__ss_padding[0x41] = hisctladdr.__ss_padding[0x41];\n          data_addr.__ss_padding[0x42] = hisctladdr.__ss_padding[0x42];\n          data_addr.__ss_padding[0x43] = hisctladdr.__ss_padding[0x43];\n          data_addr.__ss_padding[0x44] = hisctladdr.__ss_padding[0x44];\n          data_addr.__ss_padding[0x45] = hisctladdr.__ss_padding[0x45];\n          data_addr.__ss_padding[0x46] = hisctladdr.__ss_padding[0x46];\n          data_addr.__ss_padding[0x47] = hisctladdr.__ss_padding[0x47];\n          data_addr.__ss_padding[0x48] = hisctladdr.__ss_padding[0x48];\n          data_addr.__ss_padding[0x49] = hisctladdr.__ss_padding[0x49];\n          data_addr.__ss_padding[0x4a] = hisctladdr.__ss_padding[0x4a];\n          data_addr.__ss_padding[0x4b] = hisctladdr.__ss_padding[0x4b];\n          data_addr.__ss_padding[0x4c] = hisctladdr.__ss_padding[0x4c];\n          data_addr.__ss_padding[0x4d] = hisctladdr.__ss_padding[0x4d];\n          data_addr.__ss_padding[0x4e] = hisctladdr.__ss_padding[0x4e];\n          data_addr.__ss_padding[0x4f] = hisctladdr.__ss_padding[0x4f];\n          data_addr.__ss_padding[0x50] = hisctladdr.__ss_padding[0x50];\n          data_addr.__ss_padding[0x51] = hisctladdr.__ss_padding[0x51];\n          data_addr.__ss_padding[0x52] = hisctladdr.__ss_padding[0x52];\n          data_addr.__ss_padding[0x53] = hisctladdr.__ss_padding[0x53];\n          data_addr.__ss_padding[0x54] = hisctladdr.__ss_padding[0x54];\n          data_addr.__ss_padding[0x55] = hisctladdr.__ss_padding[0x55];\n          data_addr.__ss_padding[0x56] = hisctladdr.__ss_padding[0x56];\n          data_addr.__ss_padding[0x57] = hisctladdr.__ss_padding[0x57];\n          data_addr.__ss_padding[0x58] = hisctladdr.__ss_padding[0x58];\n          data_addr.__ss_padding[0x59] = hisctladdr.__ss_padding[0x59];\n          data_addr.__ss_padding[0x5a] = hisctladdr.__ss_padding[0x5a];\n          data_addr.__ss_padding[0x5b] = hisctladdr.__ss_padding[0x5b];\n          data_addr.__ss_padding[0x5c] = hisctladdr.__ss_padding[0x5c];\n          data_addr.__ss_padding[0x5d] = hisctladdr.__ss_padding[0x5d];\n          data_addr.__ss_padding[0x5e] = hisctladdr.__ss_padding[0x5e];\n          data_addr.__ss_padding[0x5f] = hisctladdr.__ss_padding[0x5f];\n          data_addr.__ss_padding[0x60] = hisctladdr.__ss_padding[0x60];\n          data_addr.__ss_padding[0x61] = hisctladdr.__ss_padding[0x61];\n          data_addr.__ss_padding[0x62] = hisctladdr.__ss_padding[0x62];\n          data_addr.__ss_padding[99] = hisctladdr.__ss_padding[99];\n          data_addr.__ss_padding[100] = hisctladdr.__ss_padding[100];\n          data_addr.__ss_padding[0x65] = hisctladdr.__ss_padding[0x65];\n          data_addr.__ss_padding[0x66] = hisctladdr.__ss_padding[0x66];\n          data_addr.__ss_padding[0x67] = hisctladdr.__ss_padding[0x67];\n          data_addr.__ss_padding[0x68] = hisctladdr.__ss_padding[0x68];\n          data_addr.__ss_padding[0x69] = hisctladdr.__ss_padding[0x69];\n          data_addr.__ss_padding[0x6a] = hisctladdr.__ss_padding[0x6a];\n          data_addr.__ss_padding[0x6b] = hisctladdr.__ss_padding[0x6b];\n          data_addr.__ss_padding[0x6c] = hisctladdr.__ss_padding[0x6c];\n          data_addr.__ss_padding[0x6d] = hisctladdr.__ss_padding[0x6d];\n          data_addr.__ss_padding[0x6e] = hisctladdr.__ss_padding[0x6e];\n          data_addr.__ss_padding[0x6f] = hisctladdr.__ss_padding[0x6f];\n          data_addr.__ss_padding[0x70] = hisctladdr.__ss_padding[0x70];\n          data_addr.__ss_padding[0x71] = hisctladdr.__ss_padding[0x71];\n          data_addr.__ss_padding[0x72] = hisctladdr.__ss_padding[0x72];\n          data_addr.__ss_padding[0x73] = hisctladdr.__ss_padding[0x73];\n          data_addr.__ss_padding[0x74] = hisctladdr.__ss_padding[0x74];\n          data_addr.__ss_padding[0x75] = hisctladdr.__ss_padding[0x75];\n          data_addr.__ss_align = hisctladdr.__ss_align;\n          data_addr.__ss_padding._2_4_ = SUB84(hisctladdr._0_8_,4);\n          if ((sa_family_t)hisctladdr._0_8_ == 2) {\n            uVar2 = (ushort)port << 8 | (ushort)port >> 8;\n            data_addr.__ss_padding[0] = (char)uVar2;\n            data_addr.__ss_padding[1] = (char)(uVar2 >> 8);\n            data_addr.ss_family = 2;\n            uVar1 = data_addr._0_8_;\n          }\n          else if ((sa_family_t)hisctladdr._0_8_ == 10) {\n            uVar2 = (ushort)port << 8 | (ushort)port >> 8;\n            data_addr.__ss_padding[0] = (char)uVar2;\n            data_addr.__ss_padding[1] = (char)(uVar2 >> 8);\n            data_addr.ss_family = 10;\n            uVar1 = data_addr._0_8_;\n          }\n          goto LAB_0010c540;\n        }\n        puts("Extended passive mode scan failure. Should not happen!");\n        command("ABOR");\n      }" { (labeled_statement "LAB_0010c336:\n        iVar4 = sscanf(pasv,"%u|",&port);" statement_identifier : (expression_statement "iVar4 = sscanf(pasv,"%u|",&port);" (assignment_expression "iVar4 = sscanf(pasv,"%u|",&port)" identifier = (call_expression "sscanf(pasv,"%u|",&port)" identifier (argument_list "(pasv,"%u|",&port)" ( identifier , (string_literal ""%u|"" " string_content ") , (pointer_expression "&port" & identifier) )))) ;)) (if_statement "if (iVar4 == 1) {\n          data_addr.ss_family = hisctladdr.ss_family;\n          data_addr.__ss_padding[0] = hisctladdr.__ss_padding[0];\n          data_addr.__ss_padding[1] = hisctladdr.__ss_padding[1];\n          data_addr.__ss_padding[2] = hisctladdr.__ss_padding[2];\n          data_addr.__ss_padding[3] = hisctladdr.__ss_padding[3];\n          data_addr.__ss_padding[4] = hisctladdr.__ss_padding[4];\n          data_addr.__ss_padding[5] = hisctladdr.__ss_padding[5];\n          uVar1 = data_addr._0_8_;\n          data_addr.__ss_padding[6] = hisctladdr.__ss_padding[6];\n          data_addr.__ss_padding[7] = hisctladdr.__ss_padding[7];\n          data_addr.__ss_padding[8] = hisctladdr.__ss_padding[8];\n          data_addr.__ss_padding[9] = hisctladdr.__ss_padding[9];\n          data_addr.__ss_padding[10] = hisctladdr.__ss_padding[10];\n          data_addr.__ss_padding[0xb] = hisctladdr.__ss_padding[0xb];\n          data_addr.__ss_padding[0xc] = hisctladdr.__ss_padding[0xc];\n          data_addr.__ss_padding[0xd] = hisctladdr.__ss_padding[0xd];\n          data_addr.__ss_padding[0xe] = hisctladdr.__ss_padding[0xe];\n          data_addr.__ss_padding[0xf] = hisctladdr.__ss_padding[0xf];\n          data_addr.__ss_padding[0x10] = hisctladdr.__ss_padding[0x10];\n          data_addr.__ss_padding[0x11] = hisctladdr.__ss_padding[0x11];\n          data_addr.__ss_padding[0x12] = hisctladdr.__ss_padding[0x12];\n          data_addr.__ss_padding[0x13] = hisctladdr.__ss_padding[0x13];\n          data_addr.__ss_padding[0x14] = hisctladdr.__ss_padding[0x14];\n          data_addr.__ss_padding[0x15] = hisctladdr.__ss_padding[0x15];\n          data_addr.__ss_padding[0x16] = hisctladdr.__ss_padding[0x16];\n          data_addr.__ss_padding[0x17] = hisctladdr.__ss_padding[0x17];\n          data_addr.__ss_padding[0x18] = hisctladdr.__ss_padding[0x18];\n          data_addr.__ss_padding[0x19] = hisctladdr.__ss_padding[0x19];\n          data_addr.__ss_padding[0x1a] = hisctladdr.__ss_padding[0x1a];\n          data_addr.__ss_padding[0x1b] = hisctladdr.__ss_padding[0x1b];\n          data_addr.__ss_padding[0x1c] = hisctladdr.__ss_padding[0x1c];\n          data_addr.__ss_padding[0x1d] = hisctladdr.__ss_padding[0x1d];\n          data_addr.__ss_padding[0x1e] = hisctladdr.__ss_padding[0x1e];\n          data_addr.__ss_padding[0x1f] = hisctladdr.__ss_padding[0x1f];\n          data_addr.__ss_padding[0x20] = hisctladdr.__ss_padding[0x20];\n          data_addr.__ss_padding[0x21] = hisctladdr.__ss_padding[0x21];\n          data_addr.__ss_padding[0x22] = hisctladdr.__ss_padding[0x22];\n          data_addr.__ss_padding[0x23] = hisctladdr.__ss_padding[0x23];\n          data_addr.__ss_padding[0x24] = hisctladdr.__ss_padding[0x24];\n          data_addr.__ss_padding[0x25] = hisctladdr.__ss_padding[0x25];\n          data_addr.__ss_padding[0x26] = hisctladdr.__ss_padding[0x26];\n          data_addr.__ss_padding[0x27] = hisctladdr.__ss_padding[0x27];\n          data_addr.__ss_padding[0x28] = hisctladdr.__ss_padding[0x28];\n          data_addr.__ss_padding[0x29] = hisctladdr.__ss_padding[0x29];\n          data_addr.__ss_padding[0x2a] = hisctladdr.__ss_padding[0x2a];\n          data_addr.__ss_padding[0x2b] = hisctladdr.__ss_padding[0x2b];\n          data_addr.__ss_padding[0x2c] = hisctladdr.__ss_padding[0x2c];\n          data_addr.__ss_padding[0x2d] = hisctladdr.__ss_padding[0x2d];\n          data_addr.__ss_padding[0x2e] = hisctladdr.__ss_padding[0x2e];\n          data_addr.__ss_padding[0x2f] = hisctladdr.__ss_padding[0x2f];\n          data_addr.__ss_padding[0x30] = hisctladdr.__ss_padding[0x30];\n          data_addr.__ss_padding[0x31] = hisctladdr.__ss_padding[0x31];\n          data_addr.__ss_padding[0x32] = hisctladdr.__ss_padding[0x32];\n          data_addr.__ss_padding[0x33] = hisctladdr.__ss_padding[0x33];\n          data_addr.__ss_padding[0x34] = hisctladdr.__ss_padding[0x34];\n          data_addr.__ss_padding[0x35] = hisctladdr.__ss_padding[0x35];\n          data_addr.__ss_padding[0x36] = hisctladdr.__ss_padding[0x36];\n          data_addr.__ss_padding[0x37] = hisctladdr.__ss_padding[0x37];\n          data_addr.__ss_padding[0x38] = hisctladdr.__ss_padding[0x38];\n          data_addr.__ss_padding[0x39] = hisctladdr.__ss_padding[0x39];\n          data_addr.__ss_padding[0x3a] = hisctladdr.__ss_padding[0x3a];\n          data_addr.__ss_padding[0x3b] = hisctladdr.__ss_padding[0x3b];\n          data_addr.__ss_padding[0x3c] = hisctladdr.__ss_padding[0x3c];\n          data_addr.__ss_padding[0x3d] = hisctladdr.__ss_padding[0x3d];\n          data_addr.__ss_padding[0x3e] = hisctladdr.__ss_padding[0x3e];\n          data_addr.__ss_padding[0x3f] = hisctladdr.__ss_padding[0x3f];\n          data_addr.__ss_padding[0x40] = hisctladdr.__ss_padding[0x40];\n          data_addr.__ss_padding[0x41] = hisctladdr.__ss_padding[0x41];\n          data_addr.__ss_padding[0x42] = hisctladdr.__ss_padding[0x42];\n          data_addr.__ss_padding[0x43] = hisctladdr.__ss_padding[0x43];\n          data_addr.__ss_padding[0x44] = hisctladdr.__ss_padding[0x44];\n          data_addr.__ss_padding[0x45] = hisctladdr.__ss_padding[0x45];\n          data_addr.__ss_padding[0x46] = hisctladdr.__ss_padding[0x46];\n          data_addr.__ss_padding[0x47] = hisctladdr.__ss_padding[0x47];\n          data_addr.__ss_padding[0x48] = hisctladdr.__ss_padding[0x48];\n          data_addr.__ss_padding[0x49] = hisctladdr.__ss_padding[0x49];\n          data_addr.__ss_padding[0x4a] = hisctladdr.__ss_padding[0x4a];\n          data_addr.__ss_padding[0x4b] = hisctladdr.__ss_padding[0x4b];\n          data_addr.__ss_padding[0x4c] = hisctladdr.__ss_padding[0x4c];\n          data_addr.__ss_padding[0x4d] = hisctladdr.__ss_padding[0x4d];\n          data_addr.__ss_padding[0x4e] = hisctladdr.__ss_padding[0x4e];\n          data_addr.__ss_padding[0x4f] = hisctladdr.__ss_padding[0x4f];\n          data_addr.__ss_padding[0x50] = hisctladdr.__ss_padding[0x50];\n          data_addr.__ss_padding[0x51] = hisctladdr.__ss_padding[0x51];\n          data_addr.__ss_padding[0x52] = hisctladdr.__ss_padding[0x52];\n          data_addr.__ss_padding[0x53] = hisctladdr.__ss_padding[0x53];\n          data_addr.__ss_padding[0x54] = hisctladdr.__ss_padding[0x54];\n          data_addr.__ss_padding[0x55] = hisctladdr.__ss_padding[0x55];\n          data_addr.__ss_padding[0x56] = hisctladdr.__ss_padding[0x56];\n          data_addr.__ss_padding[0x57] = hisctladdr.__ss_padding[0x57];\n          data_addr.__ss_padding[0x58] = hisctladdr.__ss_padding[0x58];\n          data_addr.__ss_padding[0x59] = hisctladdr.__ss_padding[0x59];\n          data_addr.__ss_padding[0x5a] = hisctladdr.__ss_padding[0x5a];\n          data_addr.__ss_padding[0x5b] = hisctladdr.__ss_padding[0x5b];\n          data_addr.__ss_padding[0x5c] = hisctladdr.__ss_padding[0x5c];\n          data_addr.__ss_padding[0x5d] = hisctladdr.__ss_padding[0x5d];\n          data_addr.__ss_padding[0x5e] = hisctladdr.__ss_padding[0x5e];\n          data_addr.__ss_padding[0x5f] = hisctladdr.__ss_padding[0x5f];\n          data_addr.__ss_padding[0x60] = hisctladdr.__ss_padding[0x60];\n          data_addr.__ss_padding[0x61] = hisctladdr.__ss_padding[0x61];\n          data_addr.__ss_padding[0x62] = hisctladdr.__ss_padding[0x62];\n          data_addr.__ss_padding[99] = hisctladdr.__ss_padding[99];\n          data_addr.__ss_padding[100] = hisctladdr.__ss_padding[100];\n          data_addr.__ss_padding[0x65] = hisctladdr.__ss_padding[0x65];\n          data_addr.__ss_padding[0x66] = hisctladdr.__ss_padding[0x66];\n          data_addr.__ss_padding[0x67] = hisctladdr.__ss_padding[0x67];\n          data_addr.__ss_padding[0x68] = hisctladdr.__ss_padding[0x68];\n          data_addr.__ss_padding[0x69] = hisctladdr.__ss_padding[0x69];\n          data_addr.__ss_padding[0x6a] = hisctladdr.__ss_padding[0x6a];\n          data_addr.__ss_padding[0x6b] = hisctladdr.__ss_padding[0x6b];\n          data_addr.__ss_padding[0x6c] = hisctladdr.__ss_padding[0x6c];\n          data_addr.__ss_padding[0x6d] = hisctladdr.__ss_padding[0x6d];\n          data_addr.__ss_padding[0x6e] = hisctladdr.__ss_padding[0x6e];\n          data_addr.__ss_padding[0x6f] = hisctladdr.__ss_padding[0x6f];\n          data_addr.__ss_padding[0x70] = hisctladdr.__ss_padding[0x70];\n          data_addr.__ss_padding[0x71] = hisctladdr.__ss_padding[0x71];\n          data_addr.__ss_padding[0x72] = hisctladdr.__ss_padding[0x72];\n          data_addr.__ss_padding[0x73] = hisctladdr.__ss_padding[0x73];\n          data_addr.__ss_padding[0x74] = hisctladdr.__ss_padding[0x74];\n          data_addr.__ss_padding[0x75] = hisctladdr.__ss_padding[0x75];\n          data_addr.__ss_align = hisctladdr.__ss_align;\n          data_addr.__ss_padding._2_4_ = SUB84(hisctladdr._0_8_,4);\n          if ((sa_family_t)hisctladdr._0_8_ == 2) {\n            uVar2 = (ushort)port << 8 | (ushort)port >> 8;\n            data_addr.__ss_padding[0] = (char)uVar2;\n            data_addr.__ss_padding[1] = (char)(uVar2 >> 8);\n            data_addr.ss_family = 2;\n            uVar1 = data_addr._0_8_;\n          }\n          else if ((sa_family_t)hisctladdr._0_8_ == 10) {\n            uVar2 = (ushort)port << 8 | (ushort)port >> 8;\n            data_addr.__ss_padding[0] = (char)uVar2;\n            data_addr.__ss_padding[1] = (char)(uVar2 >> 8);\n            data_addr.ss_family = 10;\n            uVar1 = data_addr._0_8_;\n          }\n          goto LAB_0010c540;\n        }" if (parenthesized_expression "(iVar4 == 1)" ( (binary_expression "iVar4 == 1" identifier == number_literal) )) (compound_statement "{\n          data_addr.ss_family = hisctladdr.ss_family;\n          data_addr.__ss_padding[0] = hisctladdr.__ss_padding[0];\n          data_addr.__ss_padding[1] = hisctladdr.__ss_padding[1];\n          data_addr.__ss_padding[2] = hisctladdr.__ss_padding[2];\n          data_addr.__ss_padding[3] = hisctladdr.__ss_padding[3];\n          data_addr.__ss_padding[4] = hisctladdr.__ss_padding[4];\n          data_addr.__ss_padding[5] = hisctladdr.__ss_padding[5];\n          uVar1 = data_addr._0_8_;\n          data_addr.__ss_padding[6] = hisctladdr.__ss_padding[6];\n          data_addr.__ss_padding[7] = hisctladdr.__ss_padding[7];\n          data_addr.__ss_padding[8] = hisctladdr.__ss_padding[8];\n          data_addr.__ss_padding[9] = hisctladdr.__ss_padding[9];\n          data_addr.__ss_padding[10] = hisctladdr.__ss_padding[10];\n          data_addr.__ss_padding[0xb] = hisctladdr.__ss_padding[0xb];\n          data_addr.__ss_padding[0xc] = hisctladdr.__ss_padding[0xc];\n          data_addr.__ss_padding[0xd] = hisctladdr.__ss_padding[0xd];\n          data_addr.__ss_padding[0xe] = hisctladdr.__ss_padding[0xe];\n          data_addr.__ss_padding[0xf] = hisctladdr.__ss_padding[0xf];\n          data_addr.__ss_padding[0x10] = hisctladdr.__ss_padding[0x10];\n          data_addr.__ss_padding[0x11] = hisctladdr.__ss_padding[0x11];\n          data_addr.__ss_padding[0x12] = hisctladdr.__ss_padding[0x12];\n          data_addr.__ss_padding[0x13] = hisctladdr.__ss_padding[0x13];\n          data_addr.__ss_padding[0x14] = hisctladdr.__ss_padding[0x14];\n          data_addr.__ss_padding[0x15] = hisctladdr.__ss_padding[0x15];\n          data_addr.__ss_padding[0x16] = hisctladdr.__ss_padding[0x16];\n          data_addr.__ss_padding[0x17] = hisctladdr.__ss_padding[0x17];\n          data_addr.__ss_padding[0x18] = hisctladdr.__ss_padding[0x18];\n          data_addr.__ss_padding[0x19] = hisctladdr.__ss_padding[0x19];\n          data_addr.__ss_padding[0x1a] = hisctladdr.__ss_padding[0x1a];\n          data_addr.__ss_padding[0x1b] = hisctladdr.__ss_padding[0x1b];\n          data_addr.__ss_padding[0x1c] = hisctladdr.__ss_padding[0x1c];\n          data_addr.__ss_padding[0x1d] = hisctladdr.__ss_padding[0x1d];\n          data_addr.__ss_padding[0x1e] = hisctladdr.__ss_padding[0x1e];\n          data_addr.__ss_padding[0x1f] = hisctladdr.__ss_padding[0x1f];\n          data_addr.__ss_padding[0x20] = hisctladdr.__ss_padding[0x20];\n          data_addr.__ss_padding[0x21] = hisctladdr.__ss_padding[0x21];\n          data_addr.__ss_padding[0x22] = hisctladdr.__ss_padding[0x22];\n          data_addr.__ss_padding[0x23] = hisctladdr.__ss_padding[0x23];\n          data_addr.__ss_padding[0x24] = hisctladdr.__ss_padding[0x24];\n          data_addr.__ss_padding[0x25] = hisctladdr.__ss_padding[0x25];\n          data_addr.__ss_padding[0x26] = hisctladdr.__ss_padding[0x26];\n          data_addr.__ss_padding[0x27] = hisctladdr.__ss_padding[0x27];\n          data_addr.__ss_padding[0x28] = hisctladdr.__ss_padding[0x28];\n          data_addr.__ss_padding[0x29] = hisctladdr.__ss_padding[0x29];\n          data_addr.__ss_padding[0x2a] = hisctladdr.__ss_padding[0x2a];\n          data_addr.__ss_padding[0x2b] = hisctladdr.__ss_padding[0x2b];\n          data_addr.__ss_padding[0x2c] = hisctladdr.__ss_padding[0x2c];\n          data_addr.__ss_padding[0x2d] = hisctladdr.__ss_padding[0x2d];\n          data_addr.__ss_padding[0x2e] = hisctladdr.__ss_padding[0x2e];\n          data_addr.__ss_padding[0x2f] = hisctladdr.__ss_padding[0x2f];\n          data_addr.__ss_padding[0x30] = hisctladdr.__ss_padding[0x30];\n          data_addr.__ss_padding[0x31] = hisctladdr.__ss_padding[0x31];\n          data_addr.__ss_padding[0x32] = hisctladdr.__ss_padding[0x32];\n          data_addr.__ss_padding[0x33] = hisctladdr.__ss_padding[0x33];\n          data_addr.__ss_padding[0x34] = hisctladdr.__ss_padding[0x34];\n          data_addr.__ss_padding[0x35] = hisctladdr.__ss_padding[0x35];\n          data_addr.__ss_padding[0x36] = hisctladdr.__ss_padding[0x36];\n          data_addr.__ss_padding[0x37] = hisctladdr.__ss_padding[0x37];\n          data_addr.__ss_padding[0x38] = hisctladdr.__ss_padding[0x38];\n          data_addr.__ss_padding[0x39] = hisctladdr.__ss_padding[0x39];\n          data_addr.__ss_padding[0x3a] = hisctladdr.__ss_padding[0x3a];\n          data_addr.__ss_padding[0x3b] = hisctladdr.__ss_padding[0x3b];\n          data_addr.__ss_padding[0x3c] = hisctladdr.__ss_padding[0x3c];\n          data_addr.__ss_padding[0x3d] = hisctladdr.__ss_padding[0x3d];\n          data_addr.__ss_padding[0x3e] = hisctladdr.__ss_padding[0x3e];\n          data_addr.__ss_padding[0x3f] = hisctladdr.__ss_padding[0x3f];\n          data_addr.__ss_padding[0x40] = hisctladdr.__ss_padding[0x40];\n          data_addr.__ss_padding[0x41] = hisctladdr.__ss_padding[0x41];\n          data_addr.__ss_padding[0x42] = hisctladdr.__ss_padding[0x42];\n          data_addr.__ss_padding[0x43] = hisctladdr.__ss_padding[0x43];\n          data_addr.__ss_padding[0x44] = hisctladdr.__ss_padding[0x44];\n          data_addr.__ss_padding[0x45] = hisctladdr.__ss_padding[0x45];\n          data_addr.__ss_padding[0x46] = hisctladdr.__ss_padding[0x46];\n          data_addr.__ss_padding[0x47] = hisctladdr.__ss_padding[0x47];\n          data_addr.__ss_padding[0x48] = hisctladdr.__ss_padding[0x48];\n          data_addr.__ss_padding[0x49] = hisctladdr.__ss_padding[0x49];\n          data_addr.__ss_padding[0x4a] = hisctladdr.__ss_padding[0x4a];\n          data_addr.__ss_padding[0x4b] = hisctladdr.__ss_padding[0x4b];\n          data_addr.__ss_padding[0x4c] = hisctladdr.__ss_padding[0x4c];\n          data_addr.__ss_padding[0x4d] = hisctladdr.__ss_padding[0x4d];\n          data_addr.__ss_padding[0x4e] = hisctladdr.__ss_padding[0x4e];\n          data_addr.__ss_padding[0x4f] = hisctladdr.__ss_padding[0x4f];\n          data_addr.__ss_padding[0x50] = hisctladdr.__ss_padding[0x50];\n          data_addr.__ss_padding[0x51] = hisctladdr.__ss_padding[0x51];\n          data_addr.__ss_padding[0x52] = hisctladdr.__ss_padding[0x52];\n          data_addr.__ss_padding[0x53] = hisctladdr.__ss_padding[0x53];\n          data_addr.__ss_padding[0x54] = hisctladdr.__ss_padding[0x54];\n          data_addr.__ss_padding[0x55] = hisctladdr.__ss_padding[0x55];\n          data_addr.__ss_padding[0x56] = hisctladdr.__ss_padding[0x56];\n          data_addr.__ss_padding[0x57] = hisctladdr.__ss_padding[0x57];\n          data_addr.__ss_padding[0x58] = hisctladdr.__ss_padding[0x58];\n          data_addr.__ss_padding[0x59] = hisctladdr.__ss_padding[0x59];\n          data_addr.__ss_padding[0x5a] = hisctladdr.__ss_padding[0x5a];\n          data_addr.__ss_padding[0x5b] = hisctladdr.__ss_padding[0x5b];\n          data_addr.__ss_padding[0x5c] = hisctladdr.__ss_padding[0x5c];\n          data_addr.__ss_padding[0x5d] = hisctladdr.__ss_padding[0x5d];\n          data_addr.__ss_padding[0x5e] = hisctladdr.__ss_padding[0x5e];\n          data_addr.__ss_padding[0x5f] = hisctladdr.__ss_padding[0x5f];\n          data_addr.__ss_padding[0x60] = hisctladdr.__ss_padding[0x60];\n          data_addr.__ss_padding[0x61] = hisctladdr.__ss_padding[0x61];\n          data_addr.__ss_padding[0x62] = hisctladdr.__ss_padding[0x62];\n          data_addr.__ss_padding[99] = hisctladdr.__ss_padding[99];\n          data_addr.__ss_padding[100] = hisctladdr.__ss_padding[100];\n          data_addr.__ss_padding[0x65] = hisctladdr.__ss_padding[0x65];\n          data_addr.__ss_padding[0x66] = hisctladdr.__ss_padding[0x66];\n          data_addr.__ss_padding[0x67] = hisctladdr.__ss_padding[0x67];\n          data_addr.__ss_padding[0x68] = hisctladdr.__ss_padding[0x68];\n          data_addr.__ss_padding[0x69] = hisctladdr.__ss_padding[0x69];\n          data_addr.__ss_padding[0x6a] = hisctladdr.__ss_padding[0x6a];\n          data_addr.__ss_padding[0x6b] = hisctladdr.__ss_padding[0x6b];\n          data_addr.__ss_padding[0x6c] = hisctladdr.__ss_padding[0x6c];\n          data_addr.__ss_padding[0x6d] = hisctladdr.__ss_padding[0x6d];\n          data_addr.__ss_padding[0x6e] = hisctladdr.__ss_padding[0x6e];\n          data_addr.__ss_padding[0x6f] = hisctladdr.__ss_padding[0x6f];\n          data_addr.__ss_padding[0x70] = hisctladdr.__ss_padding[0x70];\n          data_addr.__ss_padding[0x71] = hisctladdr.__ss_padding[0x71];\n          data_addr.__ss_padding[0x72] = hisctladdr.__ss_padding[0x72];\n          data_addr.__ss_padding[0x73] = hisctladdr.__ss_padding[0x73];\n          data_addr.__ss_padding[0x74] = hisctladdr.__ss_padding[0x74];\n          data_addr.__ss_padding[0x75] = hisctladdr.__ss_padding[0x75];\n          data_addr.__ss_align = hisctladdr.__ss_align;\n          data_addr.__ss_padding._2_4_ = SUB84(hisctladdr._0_8_,4);\n          if ((sa_family_t)hisctladdr._0_8_ == 2) {\n            uVar2 = (ushort)port << 8 | (ushort)port >> 8;\n            data_addr.__ss_padding[0] = (char)uVar2;\n            data_addr.__ss_padding[1] = (char)(uVar2 >> 8);\n            data_addr.ss_family = 2;\n            uVar1 = data_addr._0_8_;\n          }\n          else if ((sa_family_t)hisctladdr._0_8_ == 10) {\n            uVar2 = (ushort)port << 8 | (ushort)port >> 8;\n            data_addr.__ss_padding[0] = (char)uVar2;\n            data_addr.__ss_padding[1] = (char)(uVar2 >> 8);\n            data_addr.ss_family = 10;\n            uVar1 = data_addr._0_8_;\n          }\n          goto LAB_0010c540;\n        }" { (expression_statement "data_addr.ss_family = hisctladdr.ss_family;" (assignment_expression "data_addr.ss_family = hisctladdr.ss_family" (field_expression "data_addr.ss_family" identifier . field_identifier) = (field_expression "hisctladdr.ss_family" identifier . field_identifier)) ;) (expression_statement "data_addr.__ss_padding[0] = hisctladdr.__ss_padding[0];" (assignment_expression "data_addr.__ss_padding[0] = hisctladdr.__ss_padding[0]" (subscript_expression "data_addr.__ss_padding[0]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[1] = hisctladdr.__ss_padding[1];" (assignment_expression "data_addr.__ss_padding[1] = hisctladdr.__ss_padding[1]" (subscript_expression "data_addr.__ss_padding[1]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[1]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[2] = hisctladdr.__ss_padding[2];" (assignment_expression "data_addr.__ss_padding[2] = hisctladdr.__ss_padding[2]" (subscript_expression "data_addr.__ss_padding[2]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[2]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[3] = hisctladdr.__ss_padding[3];" (assignment_expression "data_addr.__ss_padding[3] = hisctladdr.__ss_padding[3]" (subscript_expression "data_addr.__ss_padding[3]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[3]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[4] = hisctladdr.__ss_padding[4];" (assignment_expression "data_addr.__ss_padding[4] = hisctladdr.__ss_padding[4]" (subscript_expression "data_addr.__ss_padding[4]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[4]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[5] = hisctladdr.__ss_padding[5];" (assignment_expression "data_addr.__ss_padding[5] = hisctladdr.__ss_padding[5]" (subscript_expression "data_addr.__ss_padding[5]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[5]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "uVar1 = data_addr._0_8_;" (assignment_expression "uVar1 = data_addr._0_8_" identifier = (field_expression "data_addr._0_8_" identifier . field_identifier)) ;) (expression_statement "data_addr.__ss_padding[6] = hisctladdr.__ss_padding[6];" (assignment_expression "data_addr.__ss_padding[6] = hisctladdr.__ss_padding[6]" (subscript_expression "data_addr.__ss_padding[6]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[6]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[7] = hisctladdr.__ss_padding[7];" (assignment_expression "data_addr.__ss_padding[7] = hisctladdr.__ss_padding[7]" (subscript_expression "data_addr.__ss_padding[7]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[7]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[8] = hisctladdr.__ss_padding[8];" (assignment_expression "data_addr.__ss_padding[8] = hisctladdr.__ss_padding[8]" (subscript_expression "data_addr.__ss_padding[8]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[8]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[9] = hisctladdr.__ss_padding[9];" (assignment_expression "data_addr.__ss_padding[9] = hisctladdr.__ss_padding[9]" (subscript_expression "data_addr.__ss_padding[9]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[9]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[10] = hisctladdr.__ss_padding[10];" (assignment_expression "data_addr.__ss_padding[10] = hisctladdr.__ss_padding[10]" (subscript_expression "data_addr.__ss_padding[10]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[10]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0xb] = hisctladdr.__ss_padding[0xb];" (assignment_expression "data_addr.__ss_padding[0xb] = hisctladdr.__ss_padding[0xb]" (subscript_expression "data_addr.__ss_padding[0xb]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0xb]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0xc] = hisctladdr.__ss_padding[0xc];" (assignment_expression "data_addr.__ss_padding[0xc] = hisctladdr.__ss_padding[0xc]" (subscript_expression "data_addr.__ss_padding[0xc]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0xc]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0xd] = hisctladdr.__ss_padding[0xd];" (assignment_expression "data_addr.__ss_padding[0xd] = hisctladdr.__ss_padding[0xd]" (subscript_expression "data_addr.__ss_padding[0xd]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0xd]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0xe] = hisctladdr.__ss_padding[0xe];" (assignment_expression "data_addr.__ss_padding[0xe] = hisctladdr.__ss_padding[0xe]" (subscript_expression "data_addr.__ss_padding[0xe]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0xe]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0xf] = hisctladdr.__ss_padding[0xf];" (assignment_expression "data_addr.__ss_padding[0xf] = hisctladdr.__ss_padding[0xf]" (subscript_expression "data_addr.__ss_padding[0xf]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0xf]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x10] = hisctladdr.__ss_padding[0x10];" (assignment_expression "data_addr.__ss_padding[0x10] = hisctladdr.__ss_padding[0x10]" (subscript_expression "data_addr.__ss_padding[0x10]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x10]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x11] = hisctladdr.__ss_padding[0x11];" (assignment_expression "data_addr.__ss_padding[0x11] = hisctladdr.__ss_padding[0x11]" (subscript_expression "data_addr.__ss_padding[0x11]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x11]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x12] = hisctladdr.__ss_padding[0x12];" (assignment_expression "data_addr.__ss_padding[0x12] = hisctladdr.__ss_padding[0x12]" (subscript_expression "data_addr.__ss_padding[0x12]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x12]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x13] = hisctladdr.__ss_padding[0x13];" (assignment_expression "data_addr.__ss_padding[0x13] = hisctladdr.__ss_padding[0x13]" (subscript_expression "data_addr.__ss_padding[0x13]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x13]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x14] = hisctladdr.__ss_padding[0x14];" (assignment_expression "data_addr.__ss_padding[0x14] = hisctladdr.__ss_padding[0x14]" (subscript_expression "data_addr.__ss_padding[0x14]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x14]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x15] = hisctladdr.__ss_padding[0x15];" (assignment_expression "data_addr.__ss_padding[0x15] = hisctladdr.__ss_padding[0x15]" (subscript_expression "data_addr.__ss_padding[0x15]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x15]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x16] = hisctladdr.__ss_padding[0x16];" (assignment_expression "data_addr.__ss_padding[0x16] = hisctladdr.__ss_padding[0x16]" (subscript_expression "data_addr.__ss_padding[0x16]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x16]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x17] = hisctladdr.__ss_padding[0x17];" (assignment_expression "data_addr.__ss_padding[0x17] = hisctladdr.__ss_padding[0x17]" (subscript_expression "data_addr.__ss_padding[0x17]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x17]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x18] = hisctladdr.__ss_padding[0x18];" (assignment_expression "data_addr.__ss_padding[0x18] = hisctladdr.__ss_padding[0x18]" (subscript_expression "data_addr.__ss_padding[0x18]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x18]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x19] = hisctladdr.__ss_padding[0x19];" (assignment_expression "data_addr.__ss_padding[0x19] = hisctladdr.__ss_padding[0x19]" (subscript_expression "data_addr.__ss_padding[0x19]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x19]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x1a] = hisctladdr.__ss_padding[0x1a];" (assignment_expression "data_addr.__ss_padding[0x1a] = hisctladdr.__ss_padding[0x1a]" (subscript_expression "data_addr.__ss_padding[0x1a]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x1a]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x1b] = hisctladdr.__ss_padding[0x1b];" (assignment_expression "data_addr.__ss_padding[0x1b] = hisctladdr.__ss_padding[0x1b]" (subscript_expression "data_addr.__ss_padding[0x1b]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x1b]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x1c] = hisctladdr.__ss_padding[0x1c];" (assignment_expression "data_addr.__ss_padding[0x1c] = hisctladdr.__ss_padding[0x1c]" (subscript_expression "data_addr.__ss_padding[0x1c]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x1c]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x1d] = hisctladdr.__ss_padding[0x1d];" (assignment_expression "data_addr.__ss_padding[0x1d] = hisctladdr.__ss_padding[0x1d]" (subscript_expression "data_addr.__ss_padding[0x1d]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x1d]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x1e] = hisctladdr.__ss_padding[0x1e];" (assignment_expression "data_addr.__ss_padding[0x1e] = hisctladdr.__ss_padding[0x1e]" (subscript_expression "data_addr.__ss_padding[0x1e]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x1e]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x1f] = hisctladdr.__ss_padding[0x1f];" (assignment_expression "data_addr.__ss_padding[0x1f] = hisctladdr.__ss_padding[0x1f]" (subscript_expression "data_addr.__ss_padding[0x1f]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x1f]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x20] = hisctladdr.__ss_padding[0x20];" (assignment_expression "data_addr.__ss_padding[0x20] = hisctladdr.__ss_padding[0x20]" (subscript_expression "data_addr.__ss_padding[0x20]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x20]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x21] = hisctladdr.__ss_padding[0x21];" (assignment_expression "data_addr.__ss_padding[0x21] = hisctladdr.__ss_padding[0x21]" (subscript_expression "data_addr.__ss_padding[0x21]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x21]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x22] = hisctladdr.__ss_padding[0x22];" (assignment_expression "data_addr.__ss_padding[0x22] = hisctladdr.__ss_padding[0x22]" (subscript_expression "data_addr.__ss_padding[0x22]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x22]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x23] = hisctladdr.__ss_padding[0x23];" (assignment_expression "data_addr.__ss_padding[0x23] = hisctladdr.__ss_padding[0x23]" (subscript_expression "data_addr.__ss_padding[0x23]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x23]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x24] = hisctladdr.__ss_padding[0x24];" (assignment_expression "data_addr.__ss_padding[0x24] = hisctladdr.__ss_padding[0x24]" (subscript_expression "data_addr.__ss_padding[0x24]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x24]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x25] = hisctladdr.__ss_padding[0x25];" (assignment_expression "data_addr.__ss_padding[0x25] = hisctladdr.__ss_padding[0x25]" (subscript_expression "data_addr.__ss_padding[0x25]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x25]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x26] = hisctladdr.__ss_padding[0x26];" (assignment_expression "data_addr.__ss_padding[0x26] = hisctladdr.__ss_padding[0x26]" (subscript_expression "data_addr.__ss_padding[0x26]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x26]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x27] = hisctladdr.__ss_padding[0x27];" (assignment_expression "data_addr.__ss_padding[0x27] = hisctladdr.__ss_padding[0x27]" (subscript_expression "data_addr.__ss_padding[0x27]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x27]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x28] = hisctladdr.__ss_padding[0x28];" (assignment_expression "data_addr.__ss_padding[0x28] = hisctladdr.__ss_padding[0x28]" (subscript_expression "data_addr.__ss_padding[0x28]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x28]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x29] = hisctladdr.__ss_padding[0x29];" (assignment_expression "data_addr.__ss_padding[0x29] = hisctladdr.__ss_padding[0x29]" (subscript_expression "data_addr.__ss_padding[0x29]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x29]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x2a] = hisctladdr.__ss_padding[0x2a];" (assignment_expression "data_addr.__ss_padding[0x2a] = hisctladdr.__ss_padding[0x2a]" (subscript_expression "data_addr.__ss_padding[0x2a]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x2a]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x2b] = hisctladdr.__ss_padding[0x2b];" (assignment_expression "data_addr.__ss_padding[0x2b] = hisctladdr.__ss_padding[0x2b]" (subscript_expression "data_addr.__ss_padding[0x2b]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x2b]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x2c] = hisctladdr.__ss_padding[0x2c];" (assignment_expression "data_addr.__ss_padding[0x2c] = hisctladdr.__ss_padding[0x2c]" (subscript_expression "data_addr.__ss_padding[0x2c]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x2c]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x2d] = hisctladdr.__ss_padding[0x2d];" (assignment_expression "data_addr.__ss_padding[0x2d] = hisctladdr.__ss_padding[0x2d]" (subscript_expression "data_addr.__ss_padding[0x2d]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x2d]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x2e] = hisctladdr.__ss_padding[0x2e];" (assignment_expression "data_addr.__ss_padding[0x2e] = hisctladdr.__ss_padding[0x2e]" (subscript_expression "data_addr.__ss_padding[0x2e]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x2e]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x2f] = hisctladdr.__ss_padding[0x2f];" (assignment_expression "data_addr.__ss_padding[0x2f] = hisctladdr.__ss_padding[0x2f]" (subscript_expression "data_addr.__ss_padding[0x2f]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x2f]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x30] = hisctladdr.__ss_padding[0x30];" (assignment_expression "data_addr.__ss_padding[0x30] = hisctladdr.__ss_padding[0x30]" (subscript_expression "data_addr.__ss_padding[0x30]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x30]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x31] = hisctladdr.__ss_padding[0x31];" (assignment_expression "data_addr.__ss_padding[0x31] = hisctladdr.__ss_padding[0x31]" (subscript_expression "data_addr.__ss_padding[0x31]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x31]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x32] = hisctladdr.__ss_padding[0x32];" (assignment_expression "data_addr.__ss_padding[0x32] = hisctladdr.__ss_padding[0x32]" (subscript_expression "data_addr.__ss_padding[0x32]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x32]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x33] = hisctladdr.__ss_padding[0x33];" (assignment_expression "data_addr.__ss_padding[0x33] = hisctladdr.__ss_padding[0x33]" (subscript_expression "data_addr.__ss_padding[0x33]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x33]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x34] = hisctladdr.__ss_padding[0x34];" (assignment_expression "data_addr.__ss_padding[0x34] = hisctladdr.__ss_padding[0x34]" (subscript_expression "data_addr.__ss_padding[0x34]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x34]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x35] = hisctladdr.__ss_padding[0x35];" (assignment_expression "data_addr.__ss_padding[0x35] = hisctladdr.__ss_padding[0x35]" (subscript_expression "data_addr.__ss_padding[0x35]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x35]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x36] = hisctladdr.__ss_padding[0x36];" (assignment_expression "data_addr.__ss_padding[0x36] = hisctladdr.__ss_padding[0x36]" (subscript_expression "data_addr.__ss_padding[0x36]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x36]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x37] = hisctladdr.__ss_padding[0x37];" (assignment_expression "data_addr.__ss_padding[0x37] = hisctladdr.__ss_padding[0x37]" (subscript_expression "data_addr.__ss_padding[0x37]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x37]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x38] = hisctladdr.__ss_padding[0x38];" (assignment_expression "data_addr.__ss_padding[0x38] = hisctladdr.__ss_padding[0x38]" (subscript_expression "data_addr.__ss_padding[0x38]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x38]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x39] = hisctladdr.__ss_padding[0x39];" (assignment_expression "data_addr.__ss_padding[0x39] = hisctladdr.__ss_padding[0x39]" (subscript_expression "data_addr.__ss_padding[0x39]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x39]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x3a] = hisctladdr.__ss_padding[0x3a];" (assignment_expression "data_addr.__ss_padding[0x3a] = hisctladdr.__ss_padding[0x3a]" (subscript_expression "data_addr.__ss_padding[0x3a]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x3a]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x3b] = hisctladdr.__ss_padding[0x3b];" (assignment_expression "data_addr.__ss_padding[0x3b] = hisctladdr.__ss_padding[0x3b]" (subscript_expression "data_addr.__ss_padding[0x3b]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x3b]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x3c] = hisctladdr.__ss_padding[0x3c];" (assignment_expression "data_addr.__ss_padding[0x3c] = hisctladdr.__ss_padding[0x3c]" (subscript_expression "data_addr.__ss_padding[0x3c]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x3c]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x3d] = hisctladdr.__ss_padding[0x3d];" (assignment_expression "data_addr.__ss_padding[0x3d] = hisctladdr.__ss_padding[0x3d]" (subscript_expression "data_addr.__ss_padding[0x3d]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x3d]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x3e] = hisctladdr.__ss_padding[0x3e];" (assignment_expression "data_addr.__ss_padding[0x3e] = hisctladdr.__ss_padding[0x3e]" (subscript_expression "data_addr.__ss_padding[0x3e]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x3e]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x3f] = hisctladdr.__ss_padding[0x3f];" (assignment_expression "data_addr.__ss_padding[0x3f] = hisctladdr.__ss_padding[0x3f]" (subscript_expression "data_addr.__ss_padding[0x3f]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x3f]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x40] = hisctladdr.__ss_padding[0x40];" (assignment_expression "data_addr.__ss_padding[0x40] = hisctladdr.__ss_padding[0x40]" (subscript_expression "data_addr.__ss_padding[0x40]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x40]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x41] = hisctladdr.__ss_padding[0x41];" (assignment_expression "data_addr.__ss_padding[0x41] = hisctladdr.__ss_padding[0x41]" (subscript_expression "data_addr.__ss_padding[0x41]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x41]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x42] = hisctladdr.__ss_padding[0x42];" (assignment_expression "data_addr.__ss_padding[0x42] = hisctladdr.__ss_padding[0x42]" (subscript_expression "data_addr.__ss_padding[0x42]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x42]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x43] = hisctladdr.__ss_padding[0x43];" (assignment_expression "data_addr.__ss_padding[0x43] = hisctladdr.__ss_padding[0x43]" (subscript_expression "data_addr.__ss_padding[0x43]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x43]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x44] = hisctladdr.__ss_padding[0x44];" (assignment_expression "data_addr.__ss_padding[0x44] = hisctladdr.__ss_padding[0x44]" (subscript_expression "data_addr.__ss_padding[0x44]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x44]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x45] = hisctladdr.__ss_padding[0x45];" (assignment_expression "data_addr.__ss_padding[0x45] = hisctladdr.__ss_padding[0x45]" (subscript_expression "data_addr.__ss_padding[0x45]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x45]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x46] = hisctladdr.__ss_padding[0x46];" (assignment_expression "data_addr.__ss_padding[0x46] = hisctladdr.__ss_padding[0x46]" (subscript_expression "data_addr.__ss_padding[0x46]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x46]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x47] = hisctladdr.__ss_padding[0x47];" (assignment_expression "data_addr.__ss_padding[0x47] = hisctladdr.__ss_padding[0x47]" (subscript_expression "data_addr.__ss_padding[0x47]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x47]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x48] = hisctladdr.__ss_padding[0x48];" (assignment_expression "data_addr.__ss_padding[0x48] = hisctladdr.__ss_padding[0x48]" (subscript_expression "data_addr.__ss_padding[0x48]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x48]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x49] = hisctladdr.__ss_padding[0x49];" (assignment_expression "data_addr.__ss_padding[0x49] = hisctladdr.__ss_padding[0x49]" (subscript_expression "data_addr.__ss_padding[0x49]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x49]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x4a] = hisctladdr.__ss_padding[0x4a];" (assignment_expression "data_addr.__ss_padding[0x4a] = hisctladdr.__ss_padding[0x4a]" (subscript_expression "data_addr.__ss_padding[0x4a]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x4a]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x4b] = hisctladdr.__ss_padding[0x4b];" (assignment_expression "data_addr.__ss_padding[0x4b] = hisctladdr.__ss_padding[0x4b]" (subscript_expression "data_addr.__ss_padding[0x4b]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x4b]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x4c] = hisctladdr.__ss_padding[0x4c];" (assignment_expression "data_addr.__ss_padding[0x4c] = hisctladdr.__ss_padding[0x4c]" (subscript_expression "data_addr.__ss_padding[0x4c]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x4c]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x4d] = hisctladdr.__ss_padding[0x4d];" (assignment_expression "data_addr.__ss_padding[0x4d] = hisctladdr.__ss_padding[0x4d]" (subscript_expression "data_addr.__ss_padding[0x4d]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x4d]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x4e] = hisctladdr.__ss_padding[0x4e];" (assignment_expression "data_addr.__ss_padding[0x4e] = hisctladdr.__ss_padding[0x4e]" (subscript_expression "data_addr.__ss_padding[0x4e]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x4e]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x4f] = hisctladdr.__ss_padding[0x4f];" (assignment_expression "data_addr.__ss_padding[0x4f] = hisctladdr.__ss_padding[0x4f]" (subscript_expression "data_addr.__ss_padding[0x4f]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x4f]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x50] = hisctladdr.__ss_padding[0x50];" (assignment_expression "data_addr.__ss_padding[0x50] = hisctladdr.__ss_padding[0x50]" (subscript_expression "data_addr.__ss_padding[0x50]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x50]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x51] = hisctladdr.__ss_padding[0x51];" (assignment_expression "data_addr.__ss_padding[0x51] = hisctladdr.__ss_padding[0x51]" (subscript_expression "data_addr.__ss_padding[0x51]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x51]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x52] = hisctladdr.__ss_padding[0x52];" (assignment_expression "data_addr.__ss_padding[0x52] = hisctladdr.__ss_padding[0x52]" (subscript_expression "data_addr.__ss_padding[0x52]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x52]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x53] = hisctladdr.__ss_padding[0x53];" (assignment_expression "data_addr.__ss_padding[0x53] = hisctladdr.__ss_padding[0x53]" (subscript_expression "data_addr.__ss_padding[0x53]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x53]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x54] = hisctladdr.__ss_padding[0x54];" (assignment_expression "data_addr.__ss_padding[0x54] = hisctladdr.__ss_padding[0x54]" (subscript_expression "data_addr.__ss_padding[0x54]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x54]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x55] = hisctladdr.__ss_padding[0x55];" (assignment_expression "data_addr.__ss_padding[0x55] = hisctladdr.__ss_padding[0x55]" (subscript_expression "data_addr.__ss_padding[0x55]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x55]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x56] = hisctladdr.__ss_padding[0x56];" (assignment_expression "data_addr.__ss_padding[0x56] = hisctladdr.__ss_padding[0x56]" (subscript_expression "data_addr.__ss_padding[0x56]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x56]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x57] = hisctladdr.__ss_padding[0x57];" (assignment_expression "data_addr.__ss_padding[0x57] = hisctladdr.__ss_padding[0x57]" (subscript_expression "data_addr.__ss_padding[0x57]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x57]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x58] = hisctladdr.__ss_padding[0x58];" (assignment_expression "data_addr.__ss_padding[0x58] = hisctladdr.__ss_padding[0x58]" (subscript_expression "data_addr.__ss_padding[0x58]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x58]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x59] = hisctladdr.__ss_padding[0x59];" (assignment_expression "data_addr.__ss_padding[0x59] = hisctladdr.__ss_padding[0x59]" (subscript_expression "data_addr.__ss_padding[0x59]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x59]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x5a] = hisctladdr.__ss_padding[0x5a];" (assignment_expression "data_addr.__ss_padding[0x5a] = hisctladdr.__ss_padding[0x5a]" (subscript_expression "data_addr.__ss_padding[0x5a]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x5a]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x5b] = hisctladdr.__ss_padding[0x5b];" (assignment_expression "data_addr.__ss_padding[0x5b] = hisctladdr.__ss_padding[0x5b]" (subscript_expression "data_addr.__ss_padding[0x5b]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x5b]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x5c] = hisctladdr.__ss_padding[0x5c];" (assignment_expression "data_addr.__ss_padding[0x5c] = hisctladdr.__ss_padding[0x5c]" (subscript_expression "data_addr.__ss_padding[0x5c]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x5c]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x5d] = hisctladdr.__ss_padding[0x5d];" (assignment_expression "data_addr.__ss_padding[0x5d] = hisctladdr.__ss_padding[0x5d]" (subscript_expression "data_addr.__ss_padding[0x5d]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x5d]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x5e] = hisctladdr.__ss_padding[0x5e];" (assignment_expression "data_addr.__ss_padding[0x5e] = hisctladdr.__ss_padding[0x5e]" (subscript_expression "data_addr.__ss_padding[0x5e]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x5e]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x5f] = hisctladdr.__ss_padding[0x5f];" (assignment_expression "data_addr.__ss_padding[0x5f] = hisctladdr.__ss_padding[0x5f]" (subscript_expression "data_addr.__ss_padding[0x5f]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x5f]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x60] = hisctladdr.__ss_padding[0x60];" (assignment_expression "data_addr.__ss_padding[0x60] = hisctladdr.__ss_padding[0x60]" (subscript_expression "data_addr.__ss_padding[0x60]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x60]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x61] = hisctladdr.__ss_padding[0x61];" (assignment_expression "data_addr.__ss_padding[0x61] = hisctladdr.__ss_padding[0x61]" (subscript_expression "data_addr.__ss_padding[0x61]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x61]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x62] = hisctladdr.__ss_padding[0x62];" (assignment_expression "data_addr.__ss_padding[0x62] = hisctladdr.__ss_padding[0x62]" (subscript_expression "data_addr.__ss_padding[0x62]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x62]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[99] = hisctladdr.__ss_padding[99];" (assignment_expression "data_addr.__ss_padding[99] = hisctladdr.__ss_padding[99]" (subscript_expression "data_addr.__ss_padding[99]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[99]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[100] = hisctladdr.__ss_padding[100];" (assignment_expression "data_addr.__ss_padding[100] = hisctladdr.__ss_padding[100]" (subscript_expression "data_addr.__ss_padding[100]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[100]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x65] = hisctladdr.__ss_padding[0x65];" (assignment_expression "data_addr.__ss_padding[0x65] = hisctladdr.__ss_padding[0x65]" (subscript_expression "data_addr.__ss_padding[0x65]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x65]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x66] = hisctladdr.__ss_padding[0x66];" (assignment_expression "data_addr.__ss_padding[0x66] = hisctladdr.__ss_padding[0x66]" (subscript_expression "data_addr.__ss_padding[0x66]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x66]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x67] = hisctladdr.__ss_padding[0x67];" (assignment_expression "data_addr.__ss_padding[0x67] = hisctladdr.__ss_padding[0x67]" (subscript_expression "data_addr.__ss_padding[0x67]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x67]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x68] = hisctladdr.__ss_padding[0x68];" (assignment_expression "data_addr.__ss_padding[0x68] = hisctladdr.__ss_padding[0x68]" (subscript_expression "data_addr.__ss_padding[0x68]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x68]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x69] = hisctladdr.__ss_padding[0x69];" (assignment_expression "data_addr.__ss_padding[0x69] = hisctladdr.__ss_padding[0x69]" (subscript_expression "data_addr.__ss_padding[0x69]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x69]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x6a] = hisctladdr.__ss_padding[0x6a];" (assignment_expression "data_addr.__ss_padding[0x6a] = hisctladdr.__ss_padding[0x6a]" (subscript_expression "data_addr.__ss_padding[0x6a]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x6a]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x6b] = hisctladdr.__ss_padding[0x6b];" (assignment_expression "data_addr.__ss_padding[0x6b] = hisctladdr.__ss_padding[0x6b]" (subscript_expression "data_addr.__ss_padding[0x6b]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x6b]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x6c] = hisctladdr.__ss_padding[0x6c];" (assignment_expression "data_addr.__ss_padding[0x6c] = hisctladdr.__ss_padding[0x6c]" (subscript_expression "data_addr.__ss_padding[0x6c]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x6c]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x6d] = hisctladdr.__ss_padding[0x6d];" (assignment_expression "data_addr.__ss_padding[0x6d] = hisctladdr.__ss_padding[0x6d]" (subscript_expression "data_addr.__ss_padding[0x6d]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x6d]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x6e] = hisctladdr.__ss_padding[0x6e];" (assignment_expression "data_addr.__ss_padding[0x6e] = hisctladdr.__ss_padding[0x6e]" (subscript_expression "data_addr.__ss_padding[0x6e]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x6e]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x6f] = hisctladdr.__ss_padding[0x6f];" (assignment_expression "data_addr.__ss_padding[0x6f] = hisctladdr.__ss_padding[0x6f]" (subscript_expression "data_addr.__ss_padding[0x6f]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x6f]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x70] = hisctladdr.__ss_padding[0x70];" (assignment_expression "data_addr.__ss_padding[0x70] = hisctladdr.__ss_padding[0x70]" (subscript_expression "data_addr.__ss_padding[0x70]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x70]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x71] = hisctladdr.__ss_padding[0x71];" (assignment_expression "data_addr.__ss_padding[0x71] = hisctladdr.__ss_padding[0x71]" (subscript_expression "data_addr.__ss_padding[0x71]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x71]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x72] = hisctladdr.__ss_padding[0x72];" (assignment_expression "data_addr.__ss_padding[0x72] = hisctladdr.__ss_padding[0x72]" (subscript_expression "data_addr.__ss_padding[0x72]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x72]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x73] = hisctladdr.__ss_padding[0x73];" (assignment_expression "data_addr.__ss_padding[0x73] = hisctladdr.__ss_padding[0x73]" (subscript_expression "data_addr.__ss_padding[0x73]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x73]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x74] = hisctladdr.__ss_padding[0x74];" (assignment_expression "data_addr.__ss_padding[0x74] = hisctladdr.__ss_padding[0x74]" (subscript_expression "data_addr.__ss_padding[0x74]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x74]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_padding[0x75] = hisctladdr.__ss_padding[0x75];" (assignment_expression "data_addr.__ss_padding[0x75] = hisctladdr.__ss_padding[0x75]" (subscript_expression "data_addr.__ss_padding[0x75]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (subscript_expression "hisctladdr.__ss_padding[0x75]" (field_expression "hisctladdr.__ss_padding" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "data_addr.__ss_align = hisctladdr.__ss_align;" (assignment_expression "data_addr.__ss_align = hisctladdr.__ss_align" (field_expression "data_addr.__ss_align" identifier . field_identifier) = (field_expression "hisctladdr.__ss_align" identifier . field_identifier)) ;) (expression_statement "data_addr.__ss_padding._2_4_ = SUB84(hisctladdr._0_8_,4);" (assignment_expression "data_addr.__ss_padding._2_4_ = SUB84(hisctladdr._0_8_,4)" (field_expression "data_addr.__ss_padding._2_4_" (field_expression "data_addr.__ss_padding" identifier . field_identifier) . field_identifier) = (call_expression "SUB84(hisctladdr._0_8_,4)" identifier (argument_list "(hisctladdr._0_8_,4)" ( (field_expression "hisctladdr._0_8_" identifier . field_identifier) , number_literal )))) ;) (if_statement "if ((sa_family_t)hisctladdr._0_8_ == 2) {\n            uVar2 = (ushort)port << 8 | (ushort)port >> 8;\n            data_addr.__ss_padding[0] = (char)uVar2;\n            data_addr.__ss_padding[1] = (char)(uVar2 >> 8);\n            data_addr.ss_family = 2;\n            uVar1 = data_addr._0_8_;\n          }\n          else if ((sa_family_t)hisctladdr._0_8_ == 10) {\n            uVar2 = (ushort)port << 8 | (ushort)port >> 8;\n            data_addr.__ss_padding[0] = (char)uVar2;\n            data_addr.__ss_padding[1] = (char)(uVar2 >> 8);\n            data_addr.ss_family = 10;\n            uVar1 = data_addr._0_8_;\n          }" if (parenthesized_expression "((sa_family_t)hisctladdr._0_8_ == 2)" ( (binary_expression "(sa_family_t)hisctladdr._0_8_ == 2" (cast_expression "(sa_family_t)hisctladdr._0_8_" ( (type_descriptor "sa_family_t" type_identifier) ) (field_expression "hisctladdr._0_8_" identifier . field_identifier)) == number_literal) )) (compound_statement "{\n            uVar2 = (ushort)port << 8 | (ushort)port >> 8;\n            data_addr.__ss_padding[0] = (char)uVar2;\n            data_addr.__ss_padding[1] = (char)(uVar2 >> 8);\n            data_addr.ss_family = 2;\n            uVar1 = data_addr._0_8_;\n          }" { (expression_statement "uVar2 = (ushort)port << 8 | (ushort)port >> 8;" (assignment_expression "uVar2 = (ushort)port << 8 | (ushort)port >> 8" identifier = (binary_expression "(ushort)port << 8 | (ushort)port >> 8" (binary_expression "(ushort)port << 8" (cast_expression "(ushort)port" ( (type_descriptor "ushort" type_identifier) ) identifier) << number_literal) | (binary_expression "(ushort)port >> 8" (cast_expression "(ushort)port" ( (type_descriptor "ushort" type_identifier) ) identifier) >> number_literal))) ;) (expression_statement "data_addr.__ss_padding[0] = (char)uVar2;" (assignment_expression "data_addr.__ss_padding[0] = (char)uVar2" (subscript_expression "data_addr.__ss_padding[0]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (cast_expression "(char)uVar2" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "data_addr.__ss_padding[1] = (char)(uVar2 >> 8);" (assignment_expression "data_addr.__ss_padding[1] = (char)(uVar2 >> 8)" (subscript_expression "data_addr.__ss_padding[1]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (cast_expression "(char)(uVar2 >> 8)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(uVar2 >> 8)" ( (binary_expression "uVar2 >> 8" identifier >> number_literal) )))) ;) (expression_statement "data_addr.ss_family = 2;" (assignment_expression "data_addr.ss_family = 2" (field_expression "data_addr.ss_family" identifier . field_identifier) = number_literal) ;) (expression_statement "uVar1 = data_addr._0_8_;" (assignment_expression "uVar1 = data_addr._0_8_" identifier = (field_expression "data_addr._0_8_" identifier . field_identifier)) ;) }) (else_clause "else if ((sa_family_t)hisctladdr._0_8_ == 10) {\n            uVar2 = (ushort)port << 8 | (ushort)port >> 8;\n            data_addr.__ss_padding[0] = (char)uVar2;\n            data_addr.__ss_padding[1] = (char)(uVar2 >> 8);\n            data_addr.ss_family = 10;\n            uVar1 = data_addr._0_8_;\n          }" else (if_statement "if ((sa_family_t)hisctladdr._0_8_ == 10) {\n            uVar2 = (ushort)port << 8 | (ushort)port >> 8;\n            data_addr.__ss_padding[0] = (char)uVar2;\n            data_addr.__ss_padding[1] = (char)(uVar2 >> 8);\n            data_addr.ss_family = 10;\n            uVar1 = data_addr._0_8_;\n          }" if (parenthesized_expression "((sa_family_t)hisctladdr._0_8_ == 10)" ( (binary_expression "(sa_family_t)hisctladdr._0_8_ == 10" (cast_expression "(sa_family_t)hisctladdr._0_8_" ( (type_descriptor "sa_family_t" type_identifier) ) (field_expression "hisctladdr._0_8_" identifier . field_identifier)) == number_literal) )) (compound_statement "{\n            uVar2 = (ushort)port << 8 | (ushort)port >> 8;\n            data_addr.__ss_padding[0] = (char)uVar2;\n            data_addr.__ss_padding[1] = (char)(uVar2 >> 8);\n            data_addr.ss_family = 10;\n            uVar1 = data_addr._0_8_;\n          }" { (expression_statement "uVar2 = (ushort)port << 8 | (ushort)port >> 8;" (assignment_expression "uVar2 = (ushort)port << 8 | (ushort)port >> 8" identifier = (binary_expression "(ushort)port << 8 | (ushort)port >> 8" (binary_expression "(ushort)port << 8" (cast_expression "(ushort)port" ( (type_descriptor "ushort" type_identifier) ) identifier) << number_literal) | (binary_expression "(ushort)port >> 8" (cast_expression "(ushort)port" ( (type_descriptor "ushort" type_identifier) ) identifier) >> number_literal))) ;) (expression_statement "data_addr.__ss_padding[0] = (char)uVar2;" (assignment_expression "data_addr.__ss_padding[0] = (char)uVar2" (subscript_expression "data_addr.__ss_padding[0]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (cast_expression "(char)uVar2" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "data_addr.__ss_padding[1] = (char)(uVar2 >> 8);" (assignment_expression "data_addr.__ss_padding[1] = (char)(uVar2 >> 8)" (subscript_expression "data_addr.__ss_padding[1]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (cast_expression "(char)(uVar2 >> 8)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(uVar2 >> 8)" ( (binary_expression "uVar2 >> 8" identifier >> number_literal) )))) ;) (expression_statement "data_addr.ss_family = 10;" (assignment_expression "data_addr.ss_family = 10" (field_expression "data_addr.ss_family" identifier . field_identifier) = number_literal) ;) (expression_statement "uVar1 = data_addr._0_8_;" (assignment_expression "uVar1 = data_addr._0_8_" identifier = (field_expression "data_addr._0_8_" identifier . field_identifier)) ;) })))) (goto_statement "goto LAB_0010c540;" goto statement_identifier ;) })) (expression_statement "puts("Extended passive mode scan failure. Should not happen!");" (call_expression "puts("Extended passive mode scan failure. Should not happen!")" identifier (argument_list "("Extended passive mode scan failure. Should not happen!")" ( (string_literal ""Extended passive mode scan failure. Should not happen!"" " string_content ") ))) ;) (expression_statement "command("ABOR");" (call_expression "command("ABOR")" identifier (argument_list "("ABOR")" ( (string_literal ""ABOR"" " string_content ") ))) ;) }) (else_clause "else {\n        iVar4 = command("LPSV");\n        if (iVar4 == 2) goto LAB_0010c62c;\n        puts("Passive mode refused.");\n      }" else (compound_statement "{\n        iVar4 = command("LPSV");\n        if (iVar4 == 2) goto LAB_0010c62c;\n        puts("Passive mode refused.");\n      }" { (expression_statement "iVar4 = command("LPSV");" (assignment_expression "iVar4 = command("LPSV")" identifier = (call_expression "command("LPSV")" identifier (argument_list "("LPSV")" ( (string_literal ""LPSV"" " string_content ") )))) ;) (if_statement "if (iVar4 == 2) goto LAB_0010c62c;" if (parenthesized_expression "(iVar4 == 2)" ( (binary_expression "iVar4 == 2" identifier == number_literal) )) (goto_statement "goto LAB_0010c62c;" goto statement_identifier ;)) (expression_statement "puts("Passive mode refused.");" (call_expression "puts("Passive mode refused.")" identifier (argument_list "("Passive mode refused.")" ( (string_literal ""Passive mode refused."" " string_content ") ))) ;) }))) (goto_statement "goto LAB_0010c703;" goto statement_identifier ;) })) (labeled_statement "LAB_0010c499:\n    if (myctladdr.ss_family == 2) {\n      iVar4 = sscanf(pasv,"%u,%u,%u,%u,%u,%u",&a0,&a1,&a2,&a3,&p0,&p1);\n      if (iVar4 == 6) {\n        uVar7 = a0 & 0xff | ((a1 & 0xff) << 0x10) >> 8 | (a2 & 0xff) << 0x10 |\n                (uint)(byte)a3 << 0x18;\n        uVar2 = (ushort)(byte)p1 << 8 | (ushort)p0 & 0xff;\n        data_addr.__ss_padding[0] = (char)uVar2;\n        data_addr.__ss_padding[1] = (char)(uVar2 >> 8);\n        data_addr.ss_family = 2;\n        data_addr.__ss_padding[2] = (char)uVar7;\n        data_addr.__ss_padding[3] = (char)(uVar7 >> 8);\n        data_addr.__ss_padding[4] = (char)(uVar7 >> 0x10);\n        data_addr.__ss_padding[5] = (char)(uVar7 >> 0x18);\n        uVar1 = data_addr._0_8_;\nLAB_0010c540:\n        data_addr._0_8_ = uVar1;\n        iVar4 = connect(data,(sockaddr *)&data_addr,ctladdrlen);\n        if (-1 < iVar4) {\n          on = 8;\n          uVar7 = 0;\n          if (data_addr.ss_family == 2) {\n            iVar4 = setsockopt(data,0,1,&on,4);\n            if (iVar4 < 0) {\n              perror("ftp: setsockopt TOS (ignored)");\n            }\n          }\n          goto LAB_0010ca2b;\n        }\n        perror("ftp: connect");\n      }\n      else {\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        command("ABOR");\n      }\n    }\n    else {\n      puts("Passive mode address scan failure. Shouldn\'t happen!");\n    }" statement_identifier : (if_statement "if (myctladdr.ss_family == 2) {\n      iVar4 = sscanf(pasv,"%u,%u,%u,%u,%u,%u",&a0,&a1,&a2,&a3,&p0,&p1);\n      if (iVar4 == 6) {\n        uVar7 = a0 & 0xff | ((a1 & 0xff) << 0x10) >> 8 | (a2 & 0xff) << 0x10 |\n                (uint)(byte)a3 << 0x18;\n        uVar2 = (ushort)(byte)p1 << 8 | (ushort)p0 & 0xff;\n        data_addr.__ss_padding[0] = (char)uVar2;\n        data_addr.__ss_padding[1] = (char)(uVar2 >> 8);\n        data_addr.ss_family = 2;\n        data_addr.__ss_padding[2] = (char)uVar7;\n        data_addr.__ss_padding[3] = (char)(uVar7 >> 8);\n        data_addr.__ss_padding[4] = (char)(uVar7 >> 0x10);\n        data_addr.__ss_padding[5] = (char)(uVar7 >> 0x18);\n        uVar1 = data_addr._0_8_;\nLAB_0010c540:\n        data_addr._0_8_ = uVar1;\n        iVar4 = connect(data,(sockaddr *)&data_addr,ctladdrlen);\n        if (-1 < iVar4) {\n          on = 8;\n          uVar7 = 0;\n          if (data_addr.ss_family == 2) {\n            iVar4 = setsockopt(data,0,1,&on,4);\n            if (iVar4 < 0) {\n              perror("ftp: setsockopt TOS (ignored)");\n            }\n          }\n          goto LAB_0010ca2b;\n        }\n        perror("ftp: connect");\n      }\n      else {\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        command("ABOR");\n      }\n    }\n    else {\n      puts("Passive mode address scan failure. Shouldn\'t happen!");\n    }" if (parenthesized_expression "(myctladdr.ss_family == 2)" ( (binary_expression "myctladdr.ss_family == 2" (field_expression "myctladdr.ss_family" identifier . field_identifier) == number_literal) )) (compound_statement "{\n      iVar4 = sscanf(pasv,"%u,%u,%u,%u,%u,%u",&a0,&a1,&a2,&a3,&p0,&p1);\n      if (iVar4 == 6) {\n        uVar7 = a0 & 0xff | ((a1 & 0xff) << 0x10) >> 8 | (a2 & 0xff) << 0x10 |\n                (uint)(byte)a3 << 0x18;\n        uVar2 = (ushort)(byte)p1 << 8 | (ushort)p0 & 0xff;\n        data_addr.__ss_padding[0] = (char)uVar2;\n        data_addr.__ss_padding[1] = (char)(uVar2 >> 8);\n        data_addr.ss_family = 2;\n        data_addr.__ss_padding[2] = (char)uVar7;\n        data_addr.__ss_padding[3] = (char)(uVar7 >> 8);\n        data_addr.__ss_padding[4] = (char)(uVar7 >> 0x10);\n        data_addr.__ss_padding[5] = (char)(uVar7 >> 0x18);\n        uVar1 = data_addr._0_8_;\nLAB_0010c540:\n        data_addr._0_8_ = uVar1;\n        iVar4 = connect(data,(sockaddr *)&data_addr,ctladdrlen);\n        if (-1 < iVar4) {\n          on = 8;\n          uVar7 = 0;\n          if (data_addr.ss_family == 2) {\n            iVar4 = setsockopt(data,0,1,&on,4);\n            if (iVar4 < 0) {\n              perror("ftp: setsockopt TOS (ignored)");\n            }\n          }\n          goto LAB_0010ca2b;\n        }\n        perror("ftp: connect");\n      }\n      else {\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        command("ABOR");\n      }\n    }" { (expression_statement "iVar4 = sscanf(pasv,"%u,%u,%u,%u,%u,%u",&a0,&a1,&a2,&a3,&p0,&p1);" (assignment_expression "iVar4 = sscanf(pasv,"%u,%u,%u,%u,%u,%u",&a0,&a1,&a2,&a3,&p0,&p1)" identifier = (call_expression "sscanf(pasv,"%u,%u,%u,%u,%u,%u",&a0,&a1,&a2,&a3,&p0,&p1)" identifier (argument_list "(pasv,"%u,%u,%u,%u,%u,%u",&a0,&a1,&a2,&a3,&p0,&p1)" ( identifier , (string_literal ""%u,%u,%u,%u,%u,%u"" " string_content ") , (pointer_expression "&a0" & identifier) , (pointer_expression "&a1" & identifier) , (pointer_expression "&a2" & identifier) , (pointer_expression "&a3" & identifier) , (pointer_expression "&p0" & identifier) , (pointer_expression "&p1" & identifier) )))) ;) (if_statement "if (iVar4 == 6) {\n        uVar7 = a0 & 0xff | ((a1 & 0xff) << 0x10) >> 8 | (a2 & 0xff) << 0x10 |\n                (uint)(byte)a3 << 0x18;\n        uVar2 = (ushort)(byte)p1 << 8 | (ushort)p0 & 0xff;\n        data_addr.__ss_padding[0] = (char)uVar2;\n        data_addr.__ss_padding[1] = (char)(uVar2 >> 8);\n        data_addr.ss_family = 2;\n        data_addr.__ss_padding[2] = (char)uVar7;\n        data_addr.__ss_padding[3] = (char)(uVar7 >> 8);\n        data_addr.__ss_padding[4] = (char)(uVar7 >> 0x10);\n        data_addr.__ss_padding[5] = (char)(uVar7 >> 0x18);\n        uVar1 = data_addr._0_8_;\nLAB_0010c540:\n        data_addr._0_8_ = uVar1;\n        iVar4 = connect(data,(sockaddr *)&data_addr,ctladdrlen);\n        if (-1 < iVar4) {\n          on = 8;\n          uVar7 = 0;\n          if (data_addr.ss_family == 2) {\n            iVar4 = setsockopt(data,0,1,&on,4);\n            if (iVar4 < 0) {\n              perror("ftp: setsockopt TOS (ignored)");\n            }\n          }\n          goto LAB_0010ca2b;\n        }\n        perror("ftp: connect");\n      }\n      else {\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        command("ABOR");\n      }" if (parenthesized_expression "(iVar4 == 6)" ( (binary_expression "iVar4 == 6" identifier == number_literal) )) (compound_statement "{\n        uVar7 = a0 & 0xff | ((a1 & 0xff) << 0x10) >> 8 | (a2 & 0xff) << 0x10 |\n                (uint)(byte)a3 << 0x18;\n        uVar2 = (ushort)(byte)p1 << 8 | (ushort)p0 & 0xff;\n        data_addr.__ss_padding[0] = (char)uVar2;\n        data_addr.__ss_padding[1] = (char)(uVar2 >> 8);\n        data_addr.ss_family = 2;\n        data_addr.__ss_padding[2] = (char)uVar7;\n        data_addr.__ss_padding[3] = (char)(uVar7 >> 8);\n        data_addr.__ss_padding[4] = (char)(uVar7 >> 0x10);\n        data_addr.__ss_padding[5] = (char)(uVar7 >> 0x18);\n        uVar1 = data_addr._0_8_;\nLAB_0010c540:\n        data_addr._0_8_ = uVar1;\n        iVar4 = connect(data,(sockaddr *)&data_addr,ctladdrlen);\n        if (-1 < iVar4) {\n          on = 8;\n          uVar7 = 0;\n          if (data_addr.ss_family == 2) {\n            iVar4 = setsockopt(data,0,1,&on,4);\n            if (iVar4 < 0) {\n              perror("ftp: setsockopt TOS (ignored)");\n            }\n          }\n          goto LAB_0010ca2b;\n        }\n        perror("ftp: connect");\n      }" { (expression_statement "uVar7 = a0 & 0xff | ((a1 & 0xff) << 0x10) >> 8 | (a2 & 0xff) << 0x10 |\n                (uint)(byte)a3 << 0x18;" (assignment_expression "uVar7 = a0 & 0xff | ((a1 & 0xff) << 0x10) >> 8 | (a2 & 0xff) << 0x10 |\n                (uint)(byte)a3 << 0x18" identifier = (binary_expression "a0 & 0xff | ((a1 & 0xff) << 0x10) >> 8 | (a2 & 0xff) << 0x10 |\n                (uint)(byte)a3 << 0x18" (binary_expression "a0 & 0xff | ((a1 & 0xff) << 0x10) >> 8 | (a2 & 0xff) << 0x10" (binary_expression "a0 & 0xff | ((a1 & 0xff) << 0x10) >> 8" (binary_expression "a0 & 0xff" identifier & number_literal) | (binary_expression "((a1 & 0xff) << 0x10) >> 8" (parenthesized_expression "((a1 & 0xff) << 0x10)" ( (binary_expression "(a1 & 0xff) << 0x10" (parenthesized_expression "(a1 & 0xff)" ( (binary_expression "a1 & 0xff" identifier & number_literal) )) << number_literal) )) >> number_literal)) | (binary_expression "(a2 & 0xff) << 0x10" (parenthesized_expression "(a2 & 0xff)" ( (binary_expression "a2 & 0xff" identifier & number_literal) )) << number_literal)) | (binary_expression "(uint)(byte)a3 << 0x18" (cast_expression "(uint)(byte)a3" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)a3" ( (type_descriptor "byte" type_identifier) ) identifier)) << number_literal))) ;) (expression_statement "uVar2 = (ushort)(byte)p1 << 8 | (ushort)p0 & 0xff;" (assignment_expression "uVar2 = (ushort)(byte)p1 << 8 | (ushort)p0 & 0xff" identifier = (binary_expression "(ushort)(byte)p1 << 8 | (ushort)p0 & 0xff" (binary_expression "(ushort)(byte)p1 << 8" (cast_expression "(ushort)(byte)p1" ( (type_descriptor "ushort" type_identifier) ) (cast_expression "(byte)p1" ( (type_descriptor "byte" type_identifier) ) identifier)) << number_literal) | (binary_expression "(ushort)p0 & 0xff" (cast_expression "(ushort)p0" ( (type_descriptor "ushort" type_identifier) ) identifier) & number_literal))) ;) (expression_statement "data_addr.__ss_padding[0] = (char)uVar2;" (assignment_expression "data_addr.__ss_padding[0] = (char)uVar2" (subscript_expression "data_addr.__ss_padding[0]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (cast_expression "(char)uVar2" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "data_addr.__ss_padding[1] = (char)(uVar2 >> 8);" (assignment_expression "data_addr.__ss_padding[1] = (char)(uVar2 >> 8)" (subscript_expression "data_addr.__ss_padding[1]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (cast_expression "(char)(uVar2 >> 8)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(uVar2 >> 8)" ( (binary_expression "uVar2 >> 8" identifier >> number_literal) )))) ;) (expression_statement "data_addr.ss_family = 2;" (assignment_expression "data_addr.ss_family = 2" (field_expression "data_addr.ss_family" identifier . field_identifier) = number_literal) ;) (expression_statement "data_addr.__ss_padding[2] = (char)uVar7;" (assignment_expression "data_addr.__ss_padding[2] = (char)uVar7" (subscript_expression "data_addr.__ss_padding[2]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (cast_expression "(char)uVar7" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "data_addr.__ss_padding[3] = (char)(uVar7 >> 8);" (assignment_expression "data_addr.__ss_padding[3] = (char)(uVar7 >> 8)" (subscript_expression "data_addr.__ss_padding[3]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (cast_expression "(char)(uVar7 >> 8)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(uVar7 >> 8)" ( (binary_expression "uVar7 >> 8" identifier >> number_literal) )))) ;) (expression_statement "data_addr.__ss_padding[4] = (char)(uVar7 >> 0x10);" (assignment_expression "data_addr.__ss_padding[4] = (char)(uVar7 >> 0x10)" (subscript_expression "data_addr.__ss_padding[4]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (cast_expression "(char)(uVar7 >> 0x10)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(uVar7 >> 0x10)" ( (binary_expression "uVar7 >> 0x10" identifier >> number_literal) )))) ;) (expression_statement "data_addr.__ss_padding[5] = (char)(uVar7 >> 0x18);" (assignment_expression "data_addr.__ss_padding[5] = (char)(uVar7 >> 0x18)" (subscript_expression "data_addr.__ss_padding[5]" (field_expression "data_addr.__ss_padding" identifier . field_identifier) [ number_literal ]) = (cast_expression "(char)(uVar7 >> 0x18)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(uVar7 >> 0x18)" ( (binary_expression "uVar7 >> 0x18" identifier >> number_literal) )))) ;) (expression_statement "uVar1 = data_addr._0_8_;" (assignment_expression "uVar1 = data_addr._0_8_" identifier = (field_expression "data_addr._0_8_" identifier . field_identifier)) ;) (labeled_statement "LAB_0010c540:\n        data_addr._0_8_ = uVar1;" statement_identifier : (expression_statement "data_addr._0_8_ = uVar1;" (assignment_expression "data_addr._0_8_ = uVar1" (field_expression "data_addr._0_8_" identifier . field_identifier) = identifier) ;)) (expression_statement "iVar4 = connect(data,(sockaddr *)&data_addr,ctladdrlen);" (assignment_expression "iVar4 = connect(data,(sockaddr *)&data_addr,ctladdrlen)" identifier = (call_expression "connect(data,(sockaddr *)&data_addr,ctladdrlen)" identifier (argument_list "(data,(sockaddr *)&data_addr,ctladdrlen)" ( identifier , (cast_expression "(sockaddr *)&data_addr" ( (type_descriptor "sockaddr *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&data_addr" & identifier)) , identifier )))) ;) (if_statement "if (-1 < iVar4) {\n          on = 8;\n          uVar7 = 0;\n          if (data_addr.ss_family == 2) {\n            iVar4 = setsockopt(data,0,1,&on,4);\n            if (iVar4 < 0) {\n              perror("ftp: setsockopt TOS (ignored)");\n            }\n          }\n          goto LAB_0010ca2b;\n        }" if (parenthesized_expression "(-1 < iVar4)" ( (binary_expression "-1 < iVar4" number_literal < identifier) )) (compound_statement "{\n          on = 8;\n          uVar7 = 0;\n          if (data_addr.ss_family == 2) {\n            iVar4 = setsockopt(data,0,1,&on,4);\n            if (iVar4 < 0) {\n              perror("ftp: setsockopt TOS (ignored)");\n            }\n          }\n          goto LAB_0010ca2b;\n        }" { (expression_statement "on = 8;" (assignment_expression "on = 8" identifier = number_literal) ;) (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;) (if_statement "if (data_addr.ss_family == 2) {\n            iVar4 = setsockopt(data,0,1,&on,4);\n            if (iVar4 < 0) {\n              perror("ftp: setsockopt TOS (ignored)");\n            }\n          }" if (parenthesized_expression "(data_addr.ss_family == 2)" ( (binary_expression "data_addr.ss_family == 2" (field_expression "data_addr.ss_family" identifier . field_identifier) == number_literal) )) (compound_statement "{\n            iVar4 = setsockopt(data,0,1,&on,4);\n            if (iVar4 < 0) {\n              perror("ftp: setsockopt TOS (ignored)");\n            }\n          }" { (expression_statement "iVar4 = setsockopt(data,0,1,&on,4);" (assignment_expression "iVar4 = setsockopt(data,0,1,&on,4)" identifier = (call_expression "setsockopt(data,0,1,&on,4)" identifier (argument_list "(data,0,1,&on,4)" ( identifier , number_literal , number_literal , (pointer_expression "&on" & identifier) , number_literal )))) ;) (if_statement "if (iVar4 < 0) {\n              perror("ftp: setsockopt TOS (ignored)");\n            }" if (parenthesized_expression "(iVar4 < 0)" ( (binary_expression "iVar4 < 0" identifier < number_literal) )) (compound_statement "{\n              perror("ftp: setsockopt TOS (ignored)");\n            }" { (expression_statement "perror("ftp: setsockopt TOS (ignored)");" (call_expression "perror("ftp: setsockopt TOS (ignored)")" identifier (argument_list "("ftp: setsockopt TOS (ignored)")" ( (string_literal ""ftp: setsockopt TOS (ignored)"" " string_content ") ))) ;) })) })) (goto_statement "goto LAB_0010ca2b;" goto statement_identifier ;) })) (expression_statement "perror("ftp: connect");" (call_expression "perror("ftp: connect")" identifier (argument_list "("ftp: connect")" ( (string_literal ""ftp: connect"" " string_content ") ))) ;) }) (else_clause "else {\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        command("ABOR");\n      }" else (compound_statement "{\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        command("ABOR");\n      }" { (expression_statement "puts("Passive mode address scan failure. Shouldn\'t happen!");" (call_expression "puts("Passive mode address scan failure. Shouldn\'t happen!")" identifier (argument_list "("Passive mode address scan failure. Shouldn\'t happen!")" ( (string_literal ""Passive mode address scan failure. Shouldn\'t happen!"" " string_content escape_sequence string_content ") ))) ;) (expression_statement "command("ABOR");" (call_expression "command("ABOR")" identifier (argument_list "("ABOR")" ( (string_literal ""ABOR"" " string_content ") ))) ;) }))) }) (else_clause "else {\n      puts("Passive mode address scan failure. Shouldn\'t happen!");\n    }" else (compound_statement "{\n      puts("Passive mode address scan failure. Shouldn\'t happen!");\n    }" { (expression_statement "puts("Passive mode address scan failure. Shouldn\'t happen!");" (call_expression "puts("Passive mode address scan failure. Shouldn\'t happen!")" identifier (argument_list "("Passive mode address scan failure. Shouldn\'t happen!")" ( (string_literal ""Passive mode address scan failure. Shouldn\'t happen!"" " string_content escape_sequence string_content ") ))) ;) })))) }))) (labeled_statement "LAB_0010c703:\n  close(data);" statement_identifier : (expression_statement "close(data);" (call_expression "close(data)" identifier (argument_list "(data)" ( identifier ))) ;)) (expression_statement "data = -1;" (assignment_expression "data = -1" identifier = number_literal) ;) (expression_statement "uVar7 = 1;" (assignment_expression "uVar7 = 1" identifier = number_literal) ;) (labeled_statement "LAB_0010ca2b:\n  if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return uVar7;\n  }" statement_identifier : (if_statement "if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return uVar7;\n  }" if (parenthesized_expression "(local_40 == *(long *)(in_FS_OFFSET + 0x28))" ( (binary_expression "local_40 == *(long *)(in_FS_OFFSET + 0x28)" identifier == (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) )) (compound_statement "{\n    return uVar7;\n  }" { (return_statement "return uVar7;" return identifier ;) }))) comment (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit "bool FUN_0010c27f(void)\n\n{\n  ulong uVar1;\n  uint uVar2;\n  uint uVar3;\n  int iVar4;\n  uint *puVar5;\n  int *piVar6;\n  long in_FS_OFFSET;\n  bool bVar7;\n  undefined4 local_b4;\n  uint local_b0;\n  uint local_ac;\n  uint local_a8;\n  byte local_a4 [4];\n  ushort local_a0 [2];\n  byte local_9c [4];\n  ushort local_98 [2];\n  int local_94;\n  int local_90;\n  socklen_t local_8c;\n  uint local_88 [16];\n  uint local_48 [2];\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  local_b4 = 1;\n  if (DAT_00127ac4 == 0) {\n    bVar7 = false;\nLAB_0010cba4:\n    _DAT_00126448 = uRam0000000000124208;\n    _DAT_00126450 = _DAT_00124210;\n    uRam0000000000126458 = uRam0000000000124218;\n    _DAT_00126460 = _DAT_00124220;\n    uRam0000000000126468 = uRam0000000000124228;\n    _DAT_00126470 = _DAT_00124230;\n    uRam0000000000126478 = uRam0000000000124238;\n    _DAT_00126480 = _DAT_00124240;\n    uRam0000000000126488 = uRam0000000000124248;\n    _DAT_00126490 = _DAT_00124250;\n    uRam0000000000126498 = uRam0000000000124258;\n    _DAT_001264a0 = _DAT_00124260;\n    uRam00000000001264a8 = uRam0000000000124268;\n    _DAT_001264b0 = _DAT_00124270;\n    uRam00000000001264b8 = uRam0000000000124278;\n    uVar1 = CONCAT62(uRam0000000000124202,DAT_00124200);\n    if (DAT_00127b64 != 0) {\n      _DAT_00126444 = (undefined4)((uint6)uRam0000000000124202 >> 0x10);\n      if (DAT_00124200 == 2) {\n        _DAT_00126440 = CONCAT44(_DAT_00126444,2);\n        uVar1 = _DAT_00126440;\n      }\n      else if (DAT_00124200 == 10) {\n        _DAT_00126440 = CONCAT44(_DAT_00126444,10);\n        uVar1 = _DAT_00126440;\n      }\n    }\n    _DAT_00126440 = uVar1;\n    if (DAT_001216e0 != -1) {\n      close(DAT_001216e0);\n    }\n    DAT_001216e0 = socket((uint)DAT_00124200,1,0);\n    if (DAT_001216e0 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,"socket");\n      if (bVar7 == false) {\n        bVar7 = true;\n      }\n      else {\n        DAT_00127b64 = 1;\n      }\n      goto LAB_0010ca2b;\n    }\n    if (DAT_00127b64 == 0) {\n      iVar4 = setsockopt(DAT_001216e0,1,2,&local_b4,4);\n      if (-1 < iVar4) goto LAB_0010cc9e;\n      piVar6 = __errno_location();\n      error(0,*piVar6,"setsockopt (reuse address)");\nLAB_0010ca03:\n      close(DAT_001216e0);\n      DAT_001216e0 = -1;\n      if (bVar7 == false) {\n        bVar7 = true;\n      }\n      else {\n        DAT_00127b64 = 1;\n      }\n      goto LAB_0010ca2b;\n    }\nLAB_0010cc9e:\n    iVar4 = bind(DAT_001216e0,(sockaddr *)&DAT_00126440,DAT_001264c0);\n    if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,&DAT_0011a4df);\n      goto LAB_0010ca03;\n    }\n    if ((DAT_001267d0 & 1) != 0) {\n      iVar4 = setsockopt(DAT_001216e0,1,1,&local_b4,4);\n      if (iVar4 < 0) {\n        piVar6 = __errno_location();\n        if (*piVar6 != 0xd) {\n          error(0,*piVar6,"setsockopt DEBUG (ignored)");\n        }\n      }\n    }\n    local_8c = 0x80;\n    iVar4 = getsockname(DAT_001216e0,(sockaddr *)&DAT_00126440,&local_8c);\n    if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,"getsockname");\n      goto LAB_0010ca03;\n    }\n    iVar4 = listen(DAT_001216e0,1);\n    if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,"listen");\n    }\n    if (DAT_00127b64 == 0) {\n      if (bVar7 != false) {\n        DAT_00127b64 = 1;\n      }\n      local_b4 = 8;\n      bVar7 = false;\n      if (DAT_00126440 == 2) {\n        iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);\n        if (iVar4 < 0) {\n          piVar6 = __errno_location();\n          error(0,*piVar6,"setsockopt TOS (ignored)");\n        }\n      }\n      goto LAB_0010ca2b;\n    }\n    if ((DAT_00126440 == 2) && (DAT_001266e0 == 0)) {\n      bVar7 = true;\nLAB_0010cd36:\n      if (!bVar7) {\n        iVar4 = 2;\nLAB_0010cd3f:\n        bVar7 = iVar4 != 2;\n        goto LAB_0010ca2b;\n      }\nLAB_0010cd6c:\n      iVar4 = FUN_0010bb32("PORT %d,%d,%d,%d,%d,%d",DAT_00126444,DAT_00126445,DAT_00126446,\n                           DAT_00126447,DAT_00126442,_DAT_00126440 >> 0x18 & 0xff);\n    }\n    else {\n      getnameinfo((sockaddr *)&DAT_00126440,DAT_001264c0,&DAT_00121ec0,0x2e,&DAT_00121eb0,10,3);\n      iVar4 = FUN_0010bb32("EPRT |%d|%s|%s|",(DAT_00126440 != 2) + '\x01',&DAT_00121ec0,\n                           &DAT_00121eb0);\n      if (DAT_00126440 == 2) {\n        bVar7 = iVar4 != 2;\n        if ((DAT_001266e0 == 0) || (!bVar7)) goto LAB_0010cd36;\n        DAT_001266e0 = 0;\n        goto LAB_0010cd6c;\n      }\n    }\n    if (iVar4 == 2) goto LAB_0010cd3f;\n    if (DAT_00126440 == 2) {\n      iVar4 = FUN_0010bb32("LPRT 4,4,%u,%u,%u,%u,2,%u,%u",DAT_00126444,DAT_00126445,DAT_00126446,\n                           DAT_00126447,DAT_00126442,DAT_00126443);\n    }\n    else if (DAT_00126440 == 10) {\n      iVar4 = FUN_0010bb32("LPRT 6,16,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,2,%u,%u",\n                           DAT_00126448,DAT_00126449,DAT_0012644a,DAT_0012644b,DAT_0012644c,\n                           _DAT_00126448 >> 0x28 & 0xff,_DAT_00126448 >> 0x30 & 0xff,\n                           _DAT_00126448 >> 0x38,_DAT_00126450 & 0xff,_DAT_00126450 >> 8 & 0xff,\n                           _DAT_00126450 >> 0x10 & 0xff,_DAT_00126450 >> 0x18 & 0xff,\n                           _DAT_00126450 >> 0x20 & 0xff,_DAT_00126450 >> 0x28 & 0xff,\n                           _DAT_00126450 >> 0x30 & 0xff,_DAT_00126450 >> 0x38,DAT_00126442,\n                           DAT_00126443);\n    }\n    if ((iVar4 != 5) || (DAT_00127b64 != -1)) goto LAB_0010cd3f;\n    DAT_00127b64 = 0;\n    bVar7 = true;\n    goto LAB_0010cba4;\n  }\n  DAT_001216e0 = socket((uint)DAT_00124200,1,0);\n  if (DAT_001216e0 < 0) {\n    perror("ftp: socket");\n    bVar7 = true;\n    goto LAB_0010ca2b;\n  }\n  if ((DAT_001267d0 & 1) != 0) {\n    iVar4 = setsockopt(DAT_001216e0,1,1,&local_b4,4);\n    if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      if (*piVar6 != 0xd) {\n        error(0,*piVar6,"setsockopt DEBUG (ignored)");\n      }\n    }\n  }\n  if (DAT_00124200 == 2) {\n    if (DAT_001266e0 != 0) {\n      iVar4 = FUN_0010bb32(&DAT_0011a450);\n      if (iVar4 == 2) goto LAB_0010c336;\n      if (DAT_001266e0 != 0) {\n        DAT_001266e0 = 0;\n      }\n    }\n    iVar4 = FUN_0010bb32(&DAT_0011a455);\n    if (iVar4 == 2) goto LAB_0010c499;\n    iVar4 = FUN_0010bb32(&DAT_0011a45a);\n    if (iVar4 == 2) {\nLAB_0010c62c:\n      if (DAT_00124200 == 2) {\n        iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u,%u,%u,%u",&local_94,&local_90,local_88,\n                       local_88 + 1,local_88 + 2,local_88 + 3,&local_8c,local_a0,local_9c);\n        if ((((iVar4 == 9) && (local_94 == 4)) && (local_90 == 4)) && (local_8c == 2)) {\n          puVar5 = local_88;\n          do {\n            *puVar5 = *puVar5 & 0xff;\n            puVar5 = puVar5 + 1;\n          } while (puVar5 != local_88 + 4);\n          _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2);\n          uVar2 = local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3] | local_88[2] << 8;\n          _DAT_00126440 =\n               CONCAT44(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                        local_88[3] << 0x18,_DAT_00126440);\n          uVar1 = _DAT_00126440;\n          goto LAB_0010c540;\n        }\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n        goto LAB_0010c703;\n      }\n      iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u",\n                     &local_94,&local_90,local_88,local_88 + 1,local_88 + 2,local_88 + 3,\n                     local_88 + 4,local_88 + 5,local_88 + 6,local_88 + 7,local_88 + 8,local_88 + 9,\n                     local_88 + 10,local_88 + 0xb,local_88 + 0xc,local_88 + 0xd,local_88 + 0xe,\n                     local_88 + 0xf,&local_8c,local_a0,local_9c);\n      if (((iVar4 != 0x15) || (local_94 != 6)) || ((local_90 != 0x10 || (local_8c != 2)))) {\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n        goto LAB_0010c703;\n      }\n      puVar5 = local_88;\n      do {\n        *puVar5 = *puVar5 & 0xff;\n        puVar5 = puVar5 + 1;\n      } while (puVar5 != local_48);\n      _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,10);\n      uVar2 = local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3] | local_88[2] << 8;\n      uVar3 = local_88[4] << 0x18 | local_88[5] << 0x10 | local_88[7] | local_88[6] << 8;\n      _DAT_00126448 =\n           CONCAT44(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                    local_88[7] << 0x18,\n                    uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                    local_88[3] << 0x18);\n      uVar2 = local_88[8] << 0x18 | local_88[9] << 0x10 | local_88[0xb] | local_88[10] << 8;\n      uVar3 = local_88[0xc] << 0x18 | local_88[0xd] << 0x10 | local_88[0xf] | local_88[0xe] << 8;\n      _DAT_00126450 =\n           CONCAT44(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                    local_88[0xf] << 0x18,\n                    uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                    local_88[0xb] << 0x18);\n      uVar1 = _DAT_00126440;\n      goto LAB_0010c540;\n    }\n    puts("Passive mode refused.");\n  }\n  else {\n    if (DAT_00124200 == 10) {\n      iVar4 = FUN_0010bb32(&DAT_0011a450);\n      if (iVar4 == 2) {\nLAB_0010c336:\n        iVar4 = sscanf(&DAT_00127a80,"%u|",local_98);\n        if (iVar4 == 1) {\n          _DAT_00126440 = DAT_00124160;\n          uVar1 = _DAT_00126440;\n          _DAT_00126448 = DAT_00124168;\n          _DAT_00126450 = _DAT_00124170;\n          uRam0000000000126458 = uRam0000000000124178;\n          _DAT_00126460 = _DAT_00124180;\n          uRam0000000000126468 = uRam0000000000124188;\n          _DAT_00126470 = _DAT_00124190;\n          uRam0000000000126478 = uRam0000000000124198;\n          _DAT_00126480 = _DAT_001241a0;\n          uRam0000000000126488 = uRam00000000001241a8;\n          _DAT_00126490 = _DAT_001241b0;\n          uRam0000000000126498 = uRam00000000001241b8;\n          _DAT_001264a0 = _DAT_001241c0;\n          uRam00000000001264a8 = uRam00000000001241c8;\n          _DAT_001264b0 = _DAT_001241d0;\n          uRam00000000001264b8 = uRam00000000001241d8;\n          _DAT_00126444 = (undefined4)(DAT_00124160 >> 0x20);\n          if ((short)DAT_00124160 == 2) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,2);\n            uVar1 = _DAT_00126440;\n          }\n          else if ((short)DAT_00124160 == 10) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,10);\n            uVar1 = _DAT_00126440;\n          }\n          goto LAB_0010c540;\n        }\n        puts("Extended passive mode scan failure. Should not happen!");\n        FUN_0010bb32(&DAT_0011a479);\n      }\n      else {\n        iVar4 = FUN_0010bb32(&DAT_0011a45a);\n        if (iVar4 == 2) goto LAB_0010c62c;\n        puts("Passive mode refused.");\n      }\n      goto LAB_0010c703;\n    }\nLAB_0010c499:\n    if (DAT_00124200 == 2) {\n      iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u",&local_b0,&local_ac,&local_a8,local_a4,\n                     local_a0,local_9c);\n      if (iVar4 == 6) {\n        _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2);\n        _DAT_00126440 =\n             CONCAT44(local_b0 & 0xff | ((local_ac & 0xff) << 0x10) >> 8 | (local_a8 & 0xff) << 0x10\n                      | (uint)local_a4[0] << 0x18,_DAT_00126440);\n        uVar1 = _DAT_00126440;\nLAB_0010c540:\n        _DAT_00126440 = uVar1;\n        iVar4 = connect(DAT_001216e0,(sockaddr *)&DAT_00126440,DAT_001264c0);\n        if (-1 < iVar4) {\n          local_b4 = 8;\n          bVar7 = false;\n          if (DAT_00126440 == 2) {\n            iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);\n            if (iVar4 < 0) {\n              perror("ftp: setsockopt TOS (ignored)");\n            }\n          }\n          goto LAB_0010ca2b;\n        }\n        perror("ftp: connect");\n      }\n      else {\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n      }\n    }\n    else {\n      puts("Passive mode address scan failure. Shouldn\'t happen!");\n    }\n  }\nLAB_0010c703:\n  close(DAT_001216e0);\n  DAT_001216e0 = -1;\n  bVar7 = true;\nLAB_0010ca2b:\n  if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return bVar7;\n  }\n                    \n  __stack_chk_fail();\n}\n\n" (function_definition "bool FUN_0010c27f(void)\n\n{\n  ulong uVar1;\n  uint uVar2;\n  uint uVar3;\n  int iVar4;\n  uint *puVar5;\n  int *piVar6;\n  long in_FS_OFFSET;\n  bool bVar7;\n  undefined4 local_b4;\n  uint local_b0;\n  uint local_ac;\n  uint local_a8;\n  byte local_a4 [4];\n  ushort local_a0 [2];\n  byte local_9c [4];\n  ushort local_98 [2];\n  int local_94;\n  int local_90;\n  socklen_t local_8c;\n  uint local_88 [16];\n  uint local_48 [2];\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  local_b4 = 1;\n  if (DAT_00127ac4 == 0) {\n    bVar7 = false;\nLAB_0010cba4:\n    _DAT_00126448 = uRam0000000000124208;\n    _DAT_00126450 = _DAT_00124210;\n    uRam0000000000126458 = uRam0000000000124218;\n    _DAT_00126460 = _DAT_00124220;\n    uRam0000000000126468 = uRam0000000000124228;\n    _DAT_00126470 = _DAT_00124230;\n    uRam0000000000126478 = uRam0000000000124238;\n    _DAT_00126480 = _DAT_00124240;\n    uRam0000000000126488 = uRam0000000000124248;\n    _DAT_00126490 = _DAT_00124250;\n    uRam0000000000126498 = uRam0000000000124258;\n    _DAT_001264a0 = _DAT_00124260;\n    uRam00000000001264a8 = uRam0000000000124268;\n    _DAT_001264b0 = _DAT_00124270;\n    uRam00000000001264b8 = uRam0000000000124278;\n    uVar1 = CONCAT62(uRam0000000000124202,DAT_00124200);\n    if (DAT_00127b64 != 0) {\n      _DAT_00126444 = (undefined4)((uint6)uRam0000000000124202 >> 0x10);\n      if (DAT_00124200 == 2) {\n        _DAT_00126440 = CONCAT44(_DAT_00126444,2);\n        uVar1 = _DAT_00126440;\n      }\n      else if (DAT_00124200 == 10) {\n        _DAT_00126440 = CONCAT44(_DAT_00126444,10);\n        uVar1 = _DAT_00126440;\n      }\n    }\n    _DAT_00126440 = uVar1;\n    if (DAT_001216e0 != -1) {\n      close(DAT_001216e0);\n    }\n    DAT_001216e0 = socket((uint)DAT_00124200,1,0);\n    if (DAT_001216e0 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,"socket");\n      if (bVar7 == false) {\n        bVar7 = true;\n      }\n      else {\n        DAT_00127b64 = 1;\n      }\n      goto LAB_0010ca2b;\n    }\n    if (DAT_00127b64 == 0) {\n      iVar4 = setsockopt(DAT_001216e0,1,2,&local_b4,4);\n      if (-1 < iVar4) goto LAB_0010cc9e;\n      piVar6 = __errno_location();\n      error(0,*piVar6,"setsockopt (reuse address)");\nLAB_0010ca03:\n      close(DAT_001216e0);\n      DAT_001216e0 = -1;\n      if (bVar7 == false) {\n        bVar7 = true;\n      }\n      else {\n        DAT_00127b64 = 1;\n      }\n      goto LAB_0010ca2b;\n    }\nLAB_0010cc9e:\n    iVar4 = bind(DAT_001216e0,(sockaddr *)&DAT_00126440,DAT_001264c0);\n    if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,&DAT_0011a4df);\n      goto LAB_0010ca03;\n    }\n    if ((DAT_001267d0 & 1) != 0) {\n      iVar4 = setsockopt(DAT_001216e0,1,1,&local_b4,4);\n      if (iVar4 < 0) {\n        piVar6 = __errno_location();\n        if (*piVar6 != 0xd) {\n          error(0,*piVar6,"setsockopt DEBUG (ignored)");\n        }\n      }\n    }\n    local_8c = 0x80;\n    iVar4 = getsockname(DAT_001216e0,(sockaddr *)&DAT_00126440,&local_8c);\n    if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,"getsockname");\n      goto LAB_0010ca03;\n    }\n    iVar4 = listen(DAT_001216e0,1);\n    if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,"listen");\n    }\n    if (DAT_00127b64 == 0) {\n      if (bVar7 != false) {\n        DAT_00127b64 = 1;\n      }\n      local_b4 = 8;\n      bVar7 = false;\n      if (DAT_00126440 == 2) {\n        iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);\n        if (iVar4 < 0) {\n          piVar6 = __errno_location();\n          error(0,*piVar6,"setsockopt TOS (ignored)");\n        }\n      }\n      goto LAB_0010ca2b;\n    }\n    if ((DAT_00126440 == 2) && (DAT_001266e0 == 0)) {\n      bVar7 = true;\nLAB_0010cd36:\n      if (!bVar7) {\n        iVar4 = 2;\nLAB_0010cd3f:\n        bVar7 = iVar4 != 2;\n        goto LAB_0010ca2b;\n      }\nLAB_0010cd6c:\n      iVar4 = FUN_0010bb32("PORT %d,%d,%d,%d,%d,%d",DAT_00126444,DAT_00126445,DAT_00126446,\n                           DAT_00126447,DAT_00126442,_DAT_00126440 >> 0x18 & 0xff);\n    }\n    else {\n      getnameinfo((sockaddr *)&DAT_00126440,DAT_001264c0,&DAT_00121ec0,0x2e,&DAT_00121eb0,10,3);\n      iVar4 = FUN_0010bb32("EPRT |%d|%s|%s|",(DAT_00126440 != 2) + '\x01',&DAT_00121ec0,\n                           &DAT_00121eb0);\n      if (DAT_00126440 == 2) {\n        bVar7 = iVar4 != 2;\n        if ((DAT_001266e0 == 0) || (!bVar7)) goto LAB_0010cd36;\n        DAT_001266e0 = 0;\n        goto LAB_0010cd6c;\n      }\n    }\n    if (iVar4 == 2) goto LAB_0010cd3f;\n    if (DAT_00126440 == 2) {\n      iVar4 = FUN_0010bb32("LPRT 4,4,%u,%u,%u,%u,2,%u,%u",DAT_00126444,DAT_00126445,DAT_00126446,\n                           DAT_00126447,DAT_00126442,DAT_00126443);\n    }\n    else if (DAT_00126440 == 10) {\n      iVar4 = FUN_0010bb32("LPRT 6,16,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,2,%u,%u",\n                           DAT_00126448,DAT_00126449,DAT_0012644a,DAT_0012644b,DAT_0012644c,\n                           _DAT_00126448 >> 0x28 & 0xff,_DAT_00126448 >> 0x30 & 0xff,\n                           _DAT_00126448 >> 0x38,_DAT_00126450 & 0xff,_DAT_00126450 >> 8 & 0xff,\n                           _DAT_00126450 >> 0x10 & 0xff,_DAT_00126450 >> 0x18 & 0xff,\n                           _DAT_00126450 >> 0x20 & 0xff,_DAT_00126450 >> 0x28 & 0xff,\n                           _DAT_00126450 >> 0x30 & 0xff,_DAT_00126450 >> 0x38,DAT_00126442,\n                           DAT_00126443);\n    }\n    if ((iVar4 != 5) || (DAT_00127b64 != -1)) goto LAB_0010cd3f;\n    DAT_00127b64 = 0;\n    bVar7 = true;\n    goto LAB_0010cba4;\n  }\n  DAT_001216e0 = socket((uint)DAT_00124200,1,0);\n  if (DAT_001216e0 < 0) {\n    perror("ftp: socket");\n    bVar7 = true;\n    goto LAB_0010ca2b;\n  }\n  if ((DAT_001267d0 & 1) != 0) {\n    iVar4 = setsockopt(DAT_001216e0,1,1,&local_b4,4);\n    if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      if (*piVar6 != 0xd) {\n        error(0,*piVar6,"setsockopt DEBUG (ignored)");\n      }\n    }\n  }\n  if (DAT_00124200 == 2) {\n    if (DAT_001266e0 != 0) {\n      iVar4 = FUN_0010bb32(&DAT_0011a450);\n      if (iVar4 == 2) goto LAB_0010c336;\n      if (DAT_001266e0 != 0) {\n        DAT_001266e0 = 0;\n      }\n    }\n    iVar4 = FUN_0010bb32(&DAT_0011a455);\n    if (iVar4 == 2) goto LAB_0010c499;\n    iVar4 = FUN_0010bb32(&DAT_0011a45a);\n    if (iVar4 == 2) {\nLAB_0010c62c:\n      if (DAT_00124200 == 2) {\n        iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u,%u,%u,%u",&local_94,&local_90,local_88,\n                       local_88 + 1,local_88 + 2,local_88 + 3,&local_8c,local_a0,local_9c);\n        if ((((iVar4 == 9) && (local_94 == 4)) && (local_90 == 4)) && (local_8c == 2)) {\n          puVar5 = local_88;\n          do {\n            *puVar5 = *puVar5 & 0xff;\n            puVar5 = puVar5 + 1;\n          } while (puVar5 != local_88 + 4);\n          _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2);\n          uVar2 = local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3] | local_88[2] << 8;\n          _DAT_00126440 =\n               CONCAT44(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                        local_88[3] << 0x18,_DAT_00126440);\n          uVar1 = _DAT_00126440;\n          goto LAB_0010c540;\n        }\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n        goto LAB_0010c703;\n      }\n      iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u",\n                     &local_94,&local_90,local_88,local_88 + 1,local_88 + 2,local_88 + 3,\n                     local_88 + 4,local_88 + 5,local_88 + 6,local_88 + 7,local_88 + 8,local_88 + 9,\n                     local_88 + 10,local_88 + 0xb,local_88 + 0xc,local_88 + 0xd,local_88 + 0xe,\n                     local_88 + 0xf,&local_8c,local_a0,local_9c);\n      if (((iVar4 != 0x15) || (local_94 != 6)) || ((local_90 != 0x10 || (local_8c != 2)))) {\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n        goto LAB_0010c703;\n      }\n      puVar5 = local_88;\n      do {\n        *puVar5 = *puVar5 & 0xff;\n        puVar5 = puVar5 + 1;\n      } while (puVar5 != local_48);\n      _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,10);\n      uVar2 = local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3] | local_88[2] << 8;\n      uVar3 = local_88[4] << 0x18 | local_88[5] << 0x10 | local_88[7] | local_88[6] << 8;\n      _DAT_00126448 =\n           CONCAT44(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                    local_88[7] << 0x18,\n                    uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                    local_88[3] << 0x18);\n      uVar2 = local_88[8] << 0x18 | local_88[9] << 0x10 | local_88[0xb] | local_88[10] << 8;\n      uVar3 = local_88[0xc] << 0x18 | local_88[0xd] << 0x10 | local_88[0xf] | local_88[0xe] << 8;\n      _DAT_00126450 =\n           CONCAT44(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                    local_88[0xf] << 0x18,\n                    uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                    local_88[0xb] << 0x18);\n      uVar1 = _DAT_00126440;\n      goto LAB_0010c540;\n    }\n    puts("Passive mode refused.");\n  }\n  else {\n    if (DAT_00124200 == 10) {\n      iVar4 = FUN_0010bb32(&DAT_0011a450);\n      if (iVar4 == 2) {\nLAB_0010c336:\n        iVar4 = sscanf(&DAT_00127a80,"%u|",local_98);\n        if (iVar4 == 1) {\n          _DAT_00126440 = DAT_00124160;\n          uVar1 = _DAT_00126440;\n          _DAT_00126448 = DAT_00124168;\n          _DAT_00126450 = _DAT_00124170;\n          uRam0000000000126458 = uRam0000000000124178;\n          _DAT_00126460 = _DAT_00124180;\n          uRam0000000000126468 = uRam0000000000124188;\n          _DAT_00126470 = _DAT_00124190;\n          uRam0000000000126478 = uRam0000000000124198;\n          _DAT_00126480 = _DAT_001241a0;\n          uRam0000000000126488 = uRam00000000001241a8;\n          _DAT_00126490 = _DAT_001241b0;\n          uRam0000000000126498 = uRam00000000001241b8;\n          _DAT_001264a0 = _DAT_001241c0;\n          uRam00000000001264a8 = uRam00000000001241c8;\n          _DAT_001264b0 = _DAT_001241d0;\n          uRam00000000001264b8 = uRam00000000001241d8;\n          _DAT_00126444 = (undefined4)(DAT_00124160 >> 0x20);\n          if ((short)DAT_00124160 == 2) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,2);\n            uVar1 = _DAT_00126440;\n          }\n          else if ((short)DAT_00124160 == 10) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,10);\n            uVar1 = _DAT_00126440;\n          }\n          goto LAB_0010c540;\n        }\n        puts("Extended passive mode scan failure. Should not happen!");\n        FUN_0010bb32(&DAT_0011a479);\n      }\n      else {\n        iVar4 = FUN_0010bb32(&DAT_0011a45a);\n        if (iVar4 == 2) goto LAB_0010c62c;\n        puts("Passive mode refused.");\n      }\n      goto LAB_0010c703;\n    }\nLAB_0010c499:\n    if (DAT_00124200 == 2) {\n      iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u",&local_b0,&local_ac,&local_a8,local_a4,\n                     local_a0,local_9c);\n      if (iVar4 == 6) {\n        _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2);\n        _DAT_00126440 =\n             CONCAT44(local_b0 & 0xff | ((local_ac & 0xff) << 0x10) >> 8 | (local_a8 & 0xff) << 0x10\n                      | (uint)local_a4[0] << 0x18,_DAT_00126440);\n        uVar1 = _DAT_00126440;\nLAB_0010c540:\n        _DAT_00126440 = uVar1;\n        iVar4 = connect(DAT_001216e0,(sockaddr *)&DAT_00126440,DAT_001264c0);\n        if (-1 < iVar4) {\n          local_b4 = 8;\n          bVar7 = false;\n          if (DAT_00126440 == 2) {\n            iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);\n            if (iVar4 < 0) {\n              perror("ftp: setsockopt TOS (ignored)");\n            }\n          }\n          goto LAB_0010ca2b;\n        }\n        perror("ftp: connect");\n      }\n      else {\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n      }\n    }\n    else {\n      puts("Passive mode address scan failure. Shouldn\'t happen!");\n    }\n  }\nLAB_0010c703:\n  close(DAT_001216e0);\n  DAT_001216e0 = -1;\n  bVar7 = true;\nLAB_0010ca2b:\n  if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return bVar7;\n  }\n                    \n  __stack_chk_fail();\n}" primitive_type (function_declarator "FUN_0010c27f(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  ulong uVar1;\n  uint uVar2;\n  uint uVar3;\n  int iVar4;\n  uint *puVar5;\n  int *piVar6;\n  long in_FS_OFFSET;\n  bool bVar7;\n  undefined4 local_b4;\n  uint local_b0;\n  uint local_ac;\n  uint local_a8;\n  byte local_a4 [4];\n  ushort local_a0 [2];\n  byte local_9c [4];\n  ushort local_98 [2];\n  int local_94;\n  int local_90;\n  socklen_t local_8c;\n  uint local_88 [16];\n  uint local_48 [2];\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  local_b4 = 1;\n  if (DAT_00127ac4 == 0) {\n    bVar7 = false;\nLAB_0010cba4:\n    _DAT_00126448 = uRam0000000000124208;\n    _DAT_00126450 = _DAT_00124210;\n    uRam0000000000126458 = uRam0000000000124218;\n    _DAT_00126460 = _DAT_00124220;\n    uRam0000000000126468 = uRam0000000000124228;\n    _DAT_00126470 = _DAT_00124230;\n    uRam0000000000126478 = uRam0000000000124238;\n    _DAT_00126480 = _DAT_00124240;\n    uRam0000000000126488 = uRam0000000000124248;\n    _DAT_00126490 = _DAT_00124250;\n    uRam0000000000126498 = uRam0000000000124258;\n    _DAT_001264a0 = _DAT_00124260;\n    uRam00000000001264a8 = uRam0000000000124268;\n    _DAT_001264b0 = _DAT_00124270;\n    uRam00000000001264b8 = uRam0000000000124278;\n    uVar1 = CONCAT62(uRam0000000000124202,DAT_00124200);\n    if (DAT_00127b64 != 0) {\n      _DAT_00126444 = (undefined4)((uint6)uRam0000000000124202 >> 0x10);\n      if (DAT_00124200 == 2) {\n        _DAT_00126440 = CONCAT44(_DAT_00126444,2);\n        uVar1 = _DAT_00126440;\n      }\n      else if (DAT_00124200 == 10) {\n        _DAT_00126440 = CONCAT44(_DAT_00126444,10);\n        uVar1 = _DAT_00126440;\n      }\n    }\n    _DAT_00126440 = uVar1;\n    if (DAT_001216e0 != -1) {\n      close(DAT_001216e0);\n    }\n    DAT_001216e0 = socket((uint)DAT_00124200,1,0);\n    if (DAT_001216e0 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,"socket");\n      if (bVar7 == false) {\n        bVar7 = true;\n      }\n      else {\n        DAT_00127b64 = 1;\n      }\n      goto LAB_0010ca2b;\n    }\n    if (DAT_00127b64 == 0) {\n      iVar4 = setsockopt(DAT_001216e0,1,2,&local_b4,4);\n      if (-1 < iVar4) goto LAB_0010cc9e;\n      piVar6 = __errno_location();\n      error(0,*piVar6,"setsockopt (reuse address)");\nLAB_0010ca03:\n      close(DAT_001216e0);\n      DAT_001216e0 = -1;\n      if (bVar7 == false) {\n        bVar7 = true;\n      }\n      else {\n        DAT_00127b64 = 1;\n      }\n      goto LAB_0010ca2b;\n    }\nLAB_0010cc9e:\n    iVar4 = bind(DAT_001216e0,(sockaddr *)&DAT_00126440,DAT_001264c0);\n    if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,&DAT_0011a4df);\n      goto LAB_0010ca03;\n    }\n    if ((DAT_001267d0 & 1) != 0) {\n      iVar4 = setsockopt(DAT_001216e0,1,1,&local_b4,4);\n      if (iVar4 < 0) {\n        piVar6 = __errno_location();\n        if (*piVar6 != 0xd) {\n          error(0,*piVar6,"setsockopt DEBUG (ignored)");\n        }\n      }\n    }\n    local_8c = 0x80;\n    iVar4 = getsockname(DAT_001216e0,(sockaddr *)&DAT_00126440,&local_8c);\n    if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,"getsockname");\n      goto LAB_0010ca03;\n    }\n    iVar4 = listen(DAT_001216e0,1);\n    if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,"listen");\n    }\n    if (DAT_00127b64 == 0) {\n      if (bVar7 != false) {\n        DAT_00127b64 = 1;\n      }\n      local_b4 = 8;\n      bVar7 = false;\n      if (DAT_00126440 == 2) {\n        iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);\n        if (iVar4 < 0) {\n          piVar6 = __errno_location();\n          error(0,*piVar6,"setsockopt TOS (ignored)");\n        }\n      }\n      goto LAB_0010ca2b;\n    }\n    if ((DAT_00126440 == 2) && (DAT_001266e0 == 0)) {\n      bVar7 = true;\nLAB_0010cd36:\n      if (!bVar7) {\n        iVar4 = 2;\nLAB_0010cd3f:\n        bVar7 = iVar4 != 2;\n        goto LAB_0010ca2b;\n      }\nLAB_0010cd6c:\n      iVar4 = FUN_0010bb32("PORT %d,%d,%d,%d,%d,%d",DAT_00126444,DAT_00126445,DAT_00126446,\n                           DAT_00126447,DAT_00126442,_DAT_00126440 >> 0x18 & 0xff);\n    }\n    else {\n      getnameinfo((sockaddr *)&DAT_00126440,DAT_001264c0,&DAT_00121ec0,0x2e,&DAT_00121eb0,10,3);\n      iVar4 = FUN_0010bb32("EPRT |%d|%s|%s|",(DAT_00126440 != 2) + '\x01',&DAT_00121ec0,\n                           &DAT_00121eb0);\n      if (DAT_00126440 == 2) {\n        bVar7 = iVar4 != 2;\n        if ((DAT_001266e0 == 0) || (!bVar7)) goto LAB_0010cd36;\n        DAT_001266e0 = 0;\n        goto LAB_0010cd6c;\n      }\n    }\n    if (iVar4 == 2) goto LAB_0010cd3f;\n    if (DAT_00126440 == 2) {\n      iVar4 = FUN_0010bb32("LPRT 4,4,%u,%u,%u,%u,2,%u,%u",DAT_00126444,DAT_00126445,DAT_00126446,\n                           DAT_00126447,DAT_00126442,DAT_00126443);\n    }\n    else if (DAT_00126440 == 10) {\n      iVar4 = FUN_0010bb32("LPRT 6,16,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,2,%u,%u",\n                           DAT_00126448,DAT_00126449,DAT_0012644a,DAT_0012644b,DAT_0012644c,\n                           _DAT_00126448 >> 0x28 & 0xff,_DAT_00126448 >> 0x30 & 0xff,\n                           _DAT_00126448 >> 0x38,_DAT_00126450 & 0xff,_DAT_00126450 >> 8 & 0xff,\n                           _DAT_00126450 >> 0x10 & 0xff,_DAT_00126450 >> 0x18 & 0xff,\n                           _DAT_00126450 >> 0x20 & 0xff,_DAT_00126450 >> 0x28 & 0xff,\n                           _DAT_00126450 >> 0x30 & 0xff,_DAT_00126450 >> 0x38,DAT_00126442,\n                           DAT_00126443);\n    }\n    if ((iVar4 != 5) || (DAT_00127b64 != -1)) goto LAB_0010cd3f;\n    DAT_00127b64 = 0;\n    bVar7 = true;\n    goto LAB_0010cba4;\n  }\n  DAT_001216e0 = socket((uint)DAT_00124200,1,0);\n  if (DAT_001216e0 < 0) {\n    perror("ftp: socket");\n    bVar7 = true;\n    goto LAB_0010ca2b;\n  }\n  if ((DAT_001267d0 & 1) != 0) {\n    iVar4 = setsockopt(DAT_001216e0,1,1,&local_b4,4);\n    if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      if (*piVar6 != 0xd) {\n        error(0,*piVar6,"setsockopt DEBUG (ignored)");\n      }\n    }\n  }\n  if (DAT_00124200 == 2) {\n    if (DAT_001266e0 != 0) {\n      iVar4 = FUN_0010bb32(&DAT_0011a450);\n      if (iVar4 == 2) goto LAB_0010c336;\n      if (DAT_001266e0 != 0) {\n        DAT_001266e0 = 0;\n      }\n    }\n    iVar4 = FUN_0010bb32(&DAT_0011a455);\n    if (iVar4 == 2) goto LAB_0010c499;\n    iVar4 = FUN_0010bb32(&DAT_0011a45a);\n    if (iVar4 == 2) {\nLAB_0010c62c:\n      if (DAT_00124200 == 2) {\n        iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u,%u,%u,%u",&local_94,&local_90,local_88,\n                       local_88 + 1,local_88 + 2,local_88 + 3,&local_8c,local_a0,local_9c);\n        if ((((iVar4 == 9) && (local_94 == 4)) && (local_90 == 4)) && (local_8c == 2)) {\n          puVar5 = local_88;\n          do {\n            *puVar5 = *puVar5 & 0xff;\n            puVar5 = puVar5 + 1;\n          } while (puVar5 != local_88 + 4);\n          _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2);\n          uVar2 = local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3] | local_88[2] << 8;\n          _DAT_00126440 =\n               CONCAT44(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                        local_88[3] << 0x18,_DAT_00126440);\n          uVar1 = _DAT_00126440;\n          goto LAB_0010c540;\n        }\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n        goto LAB_0010c703;\n      }\n      iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u",\n                     &local_94,&local_90,local_88,local_88 + 1,local_88 + 2,local_88 + 3,\n                     local_88 + 4,local_88 + 5,local_88 + 6,local_88 + 7,local_88 + 8,local_88 + 9,\n                     local_88 + 10,local_88 + 0xb,local_88 + 0xc,local_88 + 0xd,local_88 + 0xe,\n                     local_88 + 0xf,&local_8c,local_a0,local_9c);\n      if (((iVar4 != 0x15) || (local_94 != 6)) || ((local_90 != 0x10 || (local_8c != 2)))) {\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n        goto LAB_0010c703;\n      }\n      puVar5 = local_88;\n      do {\n        *puVar5 = *puVar5 & 0xff;\n        puVar5 = puVar5 + 1;\n      } while (puVar5 != local_48);\n      _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,10);\n      uVar2 = local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3] | local_88[2] << 8;\n      uVar3 = local_88[4] << 0x18 | local_88[5] << 0x10 | local_88[7] | local_88[6] << 8;\n      _DAT_00126448 =\n           CONCAT44(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                    local_88[7] << 0x18,\n                    uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                    local_88[3] << 0x18);\n      uVar2 = local_88[8] << 0x18 | local_88[9] << 0x10 | local_88[0xb] | local_88[10] << 8;\n      uVar3 = local_88[0xc] << 0x18 | local_88[0xd] << 0x10 | local_88[0xf] | local_88[0xe] << 8;\n      _DAT_00126450 =\n           CONCAT44(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                    local_88[0xf] << 0x18,\n                    uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                    local_88[0xb] << 0x18);\n      uVar1 = _DAT_00126440;\n      goto LAB_0010c540;\n    }\n    puts("Passive mode refused.");\n  }\n  else {\n    if (DAT_00124200 == 10) {\n      iVar4 = FUN_0010bb32(&DAT_0011a450);\n      if (iVar4 == 2) {\nLAB_0010c336:\n        iVar4 = sscanf(&DAT_00127a80,"%u|",local_98);\n        if (iVar4 == 1) {\n          _DAT_00126440 = DAT_00124160;\n          uVar1 = _DAT_00126440;\n          _DAT_00126448 = DAT_00124168;\n          _DAT_00126450 = _DAT_00124170;\n          uRam0000000000126458 = uRam0000000000124178;\n          _DAT_00126460 = _DAT_00124180;\n          uRam0000000000126468 = uRam0000000000124188;\n          _DAT_00126470 = _DAT_00124190;\n          uRam0000000000126478 = uRam0000000000124198;\n          _DAT_00126480 = _DAT_001241a0;\n          uRam0000000000126488 = uRam00000000001241a8;\n          _DAT_00126490 = _DAT_001241b0;\n          uRam0000000000126498 = uRam00000000001241b8;\n          _DAT_001264a0 = _DAT_001241c0;\n          uRam00000000001264a8 = uRam00000000001241c8;\n          _DAT_001264b0 = _DAT_001241d0;\n          uRam00000000001264b8 = uRam00000000001241d8;\n          _DAT_00126444 = (undefined4)(DAT_00124160 >> 0x20);\n          if ((short)DAT_00124160 == 2) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,2);\n            uVar1 = _DAT_00126440;\n          }\n          else if ((short)DAT_00124160 == 10) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,10);\n            uVar1 = _DAT_00126440;\n          }\n          goto LAB_0010c540;\n        }\n        puts("Extended passive mode scan failure. Should not happen!");\n        FUN_0010bb32(&DAT_0011a479);\n      }\n      else {\n        iVar4 = FUN_0010bb32(&DAT_0011a45a);\n        if (iVar4 == 2) goto LAB_0010c62c;\n        puts("Passive mode refused.");\n      }\n      goto LAB_0010c703;\n    }\nLAB_0010c499:\n    if (DAT_00124200 == 2) {\n      iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u",&local_b0,&local_ac,&local_a8,local_a4,\n                     local_a0,local_9c);\n      if (iVar4 == 6) {\n        _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2);\n        _DAT_00126440 =\n             CONCAT44(local_b0 & 0xff | ((local_ac & 0xff) << 0x10) >> 8 | (local_a8 & 0xff) << 0x10\n                      | (uint)local_a4[0] << 0x18,_DAT_00126440);\n        uVar1 = _DAT_00126440;\nLAB_0010c540:\n        _DAT_00126440 = uVar1;\n        iVar4 = connect(DAT_001216e0,(sockaddr *)&DAT_00126440,DAT_001264c0);\n        if (-1 < iVar4) {\n          local_b4 = 8;\n          bVar7 = false;\n          if (DAT_00126440 == 2) {\n            iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);\n            if (iVar4 < 0) {\n              perror("ftp: setsockopt TOS (ignored)");\n            }\n          }\n          goto LAB_0010ca2b;\n        }\n        perror("ftp: connect");\n      }\n      else {\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n      }\n    }\n    else {\n      puts("Passive mode address scan failure. Shouldn\'t happen!");\n    }\n  }\nLAB_0010c703:\n  close(DAT_001216e0);\n  DAT_001216e0 = -1;\n  bVar7 = true;\nLAB_0010ca2b:\n  if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return bVar7;\n  }\n                    \n  __stack_chk_fail();\n}" { (declaration "ulong uVar1;" type_identifier identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "uint *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "int *piVar6;" primitive_type (pointer_declarator "*piVar6" * identifier) ;) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" long) identifier ;) (declaration "bool bVar7;" primitive_type identifier ;) (declaration "undefined4 local_b4;" type_identifier identifier ;) (declaration "uint local_b0;" type_identifier identifier ;) (declaration "uint local_ac;" type_identifier identifier ;) (declaration "uint local_a8;" type_identifier identifier ;) (declaration "byte local_a4 [4];" type_identifier (array_declarator "local_a4 [4]" identifier [ number_literal ]) ;) (declaration "ushort local_a0 [2];" type_identifier (array_declarator "local_a0 [2]" identifier [ number_literal ]) ;) (declaration "byte local_9c [4];" type_identifier (array_declarator "local_9c [4]" identifier [ number_literal ]) ;) (declaration "ushort local_98 [2];" type_identifier (array_declarator "local_98 [2]" identifier [ number_literal ]) ;) (declaration "int local_94;" primitive_type identifier ;) (declaration "int local_90;" primitive_type identifier ;) (declaration "socklen_t local_8c;" type_identifier identifier ;) (declaration "uint local_88 [16];" type_identifier (array_declarator "local_88 [16]" identifier [ number_literal ]) ;) (declaration "uint local_48 [2];" type_identifier (array_declarator "local_48 [2]" identifier [ number_literal ]) ;) (declaration "long local_40;" (sized_type_specifier "long" long) identifier ;) (expression_statement "local_40 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "local_40 = *(long *)(in_FS_OFFSET + 0x28)" identifier = (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) ;) (expression_statement "local_b4 = 1;" (assignment_expression "local_b4 = 1" identifier = number_literal) ;) (if_statement "if (DAT_00127ac4 == 0) {\n    bVar7 = false;\nLAB_0010cba4:\n    _DAT_00126448 = uRam0000000000124208;\n    _DAT_00126450 = _DAT_00124210;\n    uRam0000000000126458 = uRam0000000000124218;\n    _DAT_00126460 = _DAT_00124220;\n    uRam0000000000126468 = uRam0000000000124228;\n    _DAT_00126470 = _DAT_00124230;\n    uRam0000000000126478 = uRam0000000000124238;\n    _DAT_00126480 = _DAT_00124240;\n    uRam0000000000126488 = uRam0000000000124248;\n    _DAT_00126490 = _DAT_00124250;\n    uRam0000000000126498 = uRam0000000000124258;\n    _DAT_001264a0 = _DAT_00124260;\n    uRam00000000001264a8 = uRam0000000000124268;\n    _DAT_001264b0 = _DAT_00124270;\n    uRam00000000001264b8 = uRam0000000000124278;\n    uVar1 = CONCAT62(uRam0000000000124202,DAT_00124200);\n    if (DAT_00127b64 != 0) {\n      _DAT_00126444 = (undefined4)((uint6)uRam0000000000124202 >> 0x10);\n      if (DAT_00124200 == 2) {\n        _DAT_00126440 = CONCAT44(_DAT_00126444,2);\n        uVar1 = _DAT_00126440;\n      }\n      else if (DAT_00124200 == 10) {\n        _DAT_00126440 = CONCAT44(_DAT_00126444,10);\n        uVar1 = _DAT_00126440;\n      }\n    }\n    _DAT_00126440 = uVar1;\n    if (DAT_001216e0 != -1) {\n      close(DAT_001216e0);\n    }\n    DAT_001216e0 = socket((uint)DAT_00124200,1,0);\n    if (DAT_001216e0 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,"socket");\n      if (bVar7 == false) {\n        bVar7 = true;\n      }\n      else {\n        DAT_00127b64 = 1;\n      }\n      goto LAB_0010ca2b;\n    }\n    if (DAT_00127b64 == 0) {\n      iVar4 = setsockopt(DAT_001216e0,1,2,&local_b4,4);\n      if (-1 < iVar4) goto LAB_0010cc9e;\n      piVar6 = __errno_location();\n      error(0,*piVar6,"setsockopt (reuse address)");\nLAB_0010ca03:\n      close(DAT_001216e0);\n      DAT_001216e0 = -1;\n      if (bVar7 == false) {\n        bVar7 = true;\n      }\n      else {\n        DAT_00127b64 = 1;\n      }\n      goto LAB_0010ca2b;\n    }\nLAB_0010cc9e:\n    iVar4 = bind(DAT_001216e0,(sockaddr *)&DAT_00126440,DAT_001264c0);\n    if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,&DAT_0011a4df);\n      goto LAB_0010ca03;\n    }\n    if ((DAT_001267d0 & 1) != 0) {\n      iVar4 = setsockopt(DAT_001216e0,1,1,&local_b4,4);\n      if (iVar4 < 0) {\n        piVar6 = __errno_location();\n        if (*piVar6 != 0xd) {\n          error(0,*piVar6,"setsockopt DEBUG (ignored)");\n        }\n      }\n    }\n    local_8c = 0x80;\n    iVar4 = getsockname(DAT_001216e0,(sockaddr *)&DAT_00126440,&local_8c);\n    if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,"getsockname");\n      goto LAB_0010ca03;\n    }\n    iVar4 = listen(DAT_001216e0,1);\n    if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,"listen");\n    }\n    if (DAT_00127b64 == 0) {\n      if (bVar7 != false) {\n        DAT_00127b64 = 1;\n      }\n      local_b4 = 8;\n      bVar7 = false;\n      if (DAT_00126440 == 2) {\n        iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);\n        if (iVar4 < 0) {\n          piVar6 = __errno_location();\n          error(0,*piVar6,"setsockopt TOS (ignored)");\n        }\n      }\n      goto LAB_0010ca2b;\n    }\n    if ((DAT_00126440 == 2) && (DAT_001266e0 == 0)) {\n      bVar7 = true;\nLAB_0010cd36:\n      if (!bVar7) {\n        iVar4 = 2;\nLAB_0010cd3f:\n        bVar7 = iVar4 != 2;\n        goto LAB_0010ca2b;\n      }\nLAB_0010cd6c:\n      iVar4 = FUN_0010bb32("PORT %d,%d,%d,%d,%d,%d",DAT_00126444,DAT_00126445,DAT_00126446,\n                           DAT_00126447,DAT_00126442,_DAT_00126440 >> 0x18 & 0xff);\n    }\n    else {\n      getnameinfo((sockaddr *)&DAT_00126440,DAT_001264c0,&DAT_00121ec0,0x2e,&DAT_00121eb0,10,3);\n      iVar4 = FUN_0010bb32("EPRT |%d|%s|%s|",(DAT_00126440 != 2) + '\x01',&DAT_00121ec0,\n                           &DAT_00121eb0);\n      if (DAT_00126440 == 2) {\n        bVar7 = iVar4 != 2;\n        if ((DAT_001266e0 == 0) || (!bVar7)) goto LAB_0010cd36;\n        DAT_001266e0 = 0;\n        goto LAB_0010cd6c;\n      }\n    }\n    if (iVar4 == 2) goto LAB_0010cd3f;\n    if (DAT_00126440 == 2) {\n      iVar4 = FUN_0010bb32("LPRT 4,4,%u,%u,%u,%u,2,%u,%u",DAT_00126444,DAT_00126445,DAT_00126446,\n                           DAT_00126447,DAT_00126442,DAT_00126443);\n    }\n    else if (DAT_00126440 == 10) {\n      iVar4 = FUN_0010bb32("LPRT 6,16,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,2,%u,%u",\n                           DAT_00126448,DAT_00126449,DAT_0012644a,DAT_0012644b,DAT_0012644c,\n                           _DAT_00126448 >> 0x28 & 0xff,_DAT_00126448 >> 0x30 & 0xff,\n                           _DAT_00126448 >> 0x38,_DAT_00126450 & 0xff,_DAT_00126450 >> 8 & 0xff,\n                           _DAT_00126450 >> 0x10 & 0xff,_DAT_00126450 >> 0x18 & 0xff,\n                           _DAT_00126450 >> 0x20 & 0xff,_DAT_00126450 >> 0x28 & 0xff,\n                           _DAT_00126450 >> 0x30 & 0xff,_DAT_00126450 >> 0x38,DAT_00126442,\n                           DAT_00126443);\n    }\n    if ((iVar4 != 5) || (DAT_00127b64 != -1)) goto LAB_0010cd3f;\n    DAT_00127b64 = 0;\n    bVar7 = true;\n    goto LAB_0010cba4;\n  }" if (parenthesized_expression "(DAT_00127ac4 == 0)" ( (binary_expression "DAT_00127ac4 == 0" identifier == number_literal) )) (compound_statement "{\n    bVar7 = false;\nLAB_0010cba4:\n    _DAT_00126448 = uRam0000000000124208;\n    _DAT_00126450 = _DAT_00124210;\n    uRam0000000000126458 = uRam0000000000124218;\n    _DAT_00126460 = _DAT_00124220;\n    uRam0000000000126468 = uRam0000000000124228;\n    _DAT_00126470 = _DAT_00124230;\n    uRam0000000000126478 = uRam0000000000124238;\n    _DAT_00126480 = _DAT_00124240;\n    uRam0000000000126488 = uRam0000000000124248;\n    _DAT_00126490 = _DAT_00124250;\n    uRam0000000000126498 = uRam0000000000124258;\n    _DAT_001264a0 = _DAT_00124260;\n    uRam00000000001264a8 = uRam0000000000124268;\n    _DAT_001264b0 = _DAT_00124270;\n    uRam00000000001264b8 = uRam0000000000124278;\n    uVar1 = CONCAT62(uRam0000000000124202,DAT_00124200);\n    if (DAT_00127b64 != 0) {\n      _DAT_00126444 = (undefined4)((uint6)uRam0000000000124202 >> 0x10);\n      if (DAT_00124200 == 2) {\n        _DAT_00126440 = CONCAT44(_DAT_00126444,2);\n        uVar1 = _DAT_00126440;\n      }\n      else if (DAT_00124200 == 10) {\n        _DAT_00126440 = CONCAT44(_DAT_00126444,10);\n        uVar1 = _DAT_00126440;\n      }\n    }\n    _DAT_00126440 = uVar1;\n    if (DAT_001216e0 != -1) {\n      close(DAT_001216e0);\n    }\n    DAT_001216e0 = socket((uint)DAT_00124200,1,0);\n    if (DAT_001216e0 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,"socket");\n      if (bVar7 == false) {\n        bVar7 = true;\n      }\n      else {\n        DAT_00127b64 = 1;\n      }\n      goto LAB_0010ca2b;\n    }\n    if (DAT_00127b64 == 0) {\n      iVar4 = setsockopt(DAT_001216e0,1,2,&local_b4,4);\n      if (-1 < iVar4) goto LAB_0010cc9e;\n      piVar6 = __errno_location();\n      error(0,*piVar6,"setsockopt (reuse address)");\nLAB_0010ca03:\n      close(DAT_001216e0);\n      DAT_001216e0 = -1;\n      if (bVar7 == false) {\n        bVar7 = true;\n      }\n      else {\n        DAT_00127b64 = 1;\n      }\n      goto LAB_0010ca2b;\n    }\nLAB_0010cc9e:\n    iVar4 = bind(DAT_001216e0,(sockaddr *)&DAT_00126440,DAT_001264c0);\n    if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,&DAT_0011a4df);\n      goto LAB_0010ca03;\n    }\n    if ((DAT_001267d0 & 1) != 0) {\n      iVar4 = setsockopt(DAT_001216e0,1,1,&local_b4,4);\n      if (iVar4 < 0) {\n        piVar6 = __errno_location();\n        if (*piVar6 != 0xd) {\n          error(0,*piVar6,"setsockopt DEBUG (ignored)");\n        }\n      }\n    }\n    local_8c = 0x80;\n    iVar4 = getsockname(DAT_001216e0,(sockaddr *)&DAT_00126440,&local_8c);\n    if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,"getsockname");\n      goto LAB_0010ca03;\n    }\n    iVar4 = listen(DAT_001216e0,1);\n    if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,"listen");\n    }\n    if (DAT_00127b64 == 0) {\n      if (bVar7 != false) {\n        DAT_00127b64 = 1;\n      }\n      local_b4 = 8;\n      bVar7 = false;\n      if (DAT_00126440 == 2) {\n        iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);\n        if (iVar4 < 0) {\n          piVar6 = __errno_location();\n          error(0,*piVar6,"setsockopt TOS (ignored)");\n        }\n      }\n      goto LAB_0010ca2b;\n    }\n    if ((DAT_00126440 == 2) && (DAT_001266e0 == 0)) {\n      bVar7 = true;\nLAB_0010cd36:\n      if (!bVar7) {\n        iVar4 = 2;\nLAB_0010cd3f:\n        bVar7 = iVar4 != 2;\n        goto LAB_0010ca2b;\n      }\nLAB_0010cd6c:\n      iVar4 = FUN_0010bb32("PORT %d,%d,%d,%d,%d,%d",DAT_00126444,DAT_00126445,DAT_00126446,\n                           DAT_00126447,DAT_00126442,_DAT_00126440 >> 0x18 & 0xff);\n    }\n    else {\n      getnameinfo((sockaddr *)&DAT_00126440,DAT_001264c0,&DAT_00121ec0,0x2e,&DAT_00121eb0,10,3);\n      iVar4 = FUN_0010bb32("EPRT |%d|%s|%s|",(DAT_00126440 != 2) + '\x01',&DAT_00121ec0,\n                           &DAT_00121eb0);\n      if (DAT_00126440 == 2) {\n        bVar7 = iVar4 != 2;\n        if ((DAT_001266e0 == 0) || (!bVar7)) goto LAB_0010cd36;\n        DAT_001266e0 = 0;\n        goto LAB_0010cd6c;\n      }\n    }\n    if (iVar4 == 2) goto LAB_0010cd3f;\n    if (DAT_00126440 == 2) {\n      iVar4 = FUN_0010bb32("LPRT 4,4,%u,%u,%u,%u,2,%u,%u",DAT_00126444,DAT_00126445,DAT_00126446,\n                           DAT_00126447,DAT_00126442,DAT_00126443);\n    }\n    else if (DAT_00126440 == 10) {\n      iVar4 = FUN_0010bb32("LPRT 6,16,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,2,%u,%u",\n                           DAT_00126448,DAT_00126449,DAT_0012644a,DAT_0012644b,DAT_0012644c,\n                           _DAT_00126448 >> 0x28 & 0xff,_DAT_00126448 >> 0x30 & 0xff,\n                           _DAT_00126448 >> 0x38,_DAT_00126450 & 0xff,_DAT_00126450 >> 8 & 0xff,\n                           _DAT_00126450 >> 0x10 & 0xff,_DAT_00126450 >> 0x18 & 0xff,\n                           _DAT_00126450 >> 0x20 & 0xff,_DAT_00126450 >> 0x28 & 0xff,\n                           _DAT_00126450 >> 0x30 & 0xff,_DAT_00126450 >> 0x38,DAT_00126442,\n                           DAT_00126443);\n    }\n    if ((iVar4 != 5) || (DAT_00127b64 != -1)) goto LAB_0010cd3f;\n    DAT_00127b64 = 0;\n    bVar7 = true;\n    goto LAB_0010cba4;\n  }" { (expression_statement "bVar7 = false;" (assignment_expression "bVar7 = false" identifier = false) ;) (labeled_statement "LAB_0010cba4:\n    _DAT_00126448 = uRam0000000000124208;" statement_identifier : (expression_statement "_DAT_00126448 = uRam0000000000124208;" (assignment_expression "_DAT_00126448 = uRam0000000000124208" identifier = identifier) ;)) (expression_statement "_DAT_00126450 = _DAT_00124210;" (assignment_expression "_DAT_00126450 = _DAT_00124210" identifier = identifier) ;) (expression_statement "uRam0000000000126458 = uRam0000000000124218;" (assignment_expression "uRam0000000000126458 = uRam0000000000124218" identifier = identifier) ;) (expression_statement "_DAT_00126460 = _DAT_00124220;" (assignment_expression "_DAT_00126460 = _DAT_00124220" identifier = identifier) ;) (expression_statement "uRam0000000000126468 = uRam0000000000124228;" (assignment_expression "uRam0000000000126468 = uRam0000000000124228" identifier = identifier) ;) (expression_statement "_DAT_00126470 = _DAT_00124230;" (assignment_expression "_DAT_00126470 = _DAT_00124230" identifier = identifier) ;) (expression_statement "uRam0000000000126478 = uRam0000000000124238;" (assignment_expression "uRam0000000000126478 = uRam0000000000124238" identifier = identifier) ;) (expression_statement "_DAT_00126480 = _DAT_00124240;" (assignment_expression "_DAT_00126480 = _DAT_00124240" identifier = identifier) ;) (expression_statement "uRam0000000000126488 = uRam0000000000124248;" (assignment_expression "uRam0000000000126488 = uRam0000000000124248" identifier = identifier) ;) (expression_statement "_DAT_00126490 = _DAT_00124250;" (assignment_expression "_DAT_00126490 = _DAT_00124250" identifier = identifier) ;) (expression_statement "uRam0000000000126498 = uRam0000000000124258;" (assignment_expression "uRam0000000000126498 = uRam0000000000124258" identifier = identifier) ;) (expression_statement "_DAT_001264a0 = _DAT_00124260;" (assignment_expression "_DAT_001264a0 = _DAT_00124260" identifier = identifier) ;) (expression_statement "uRam00000000001264a8 = uRam0000000000124268;" (assignment_expression "uRam00000000001264a8 = uRam0000000000124268" identifier = identifier) ;) (expression_statement "_DAT_001264b0 = _DAT_00124270;" (assignment_expression "_DAT_001264b0 = _DAT_00124270" identifier = identifier) ;) (expression_statement "uRam00000000001264b8 = uRam0000000000124278;" (assignment_expression "uRam00000000001264b8 = uRam0000000000124278" identifier = identifier) ;) (expression_statement "uVar1 = CONCAT62(uRam0000000000124202,DAT_00124200);" (assignment_expression "uVar1 = CONCAT62(uRam0000000000124202,DAT_00124200)" identifier = (call_expression "CONCAT62(uRam0000000000124202,DAT_00124200)" identifier (argument_list "(uRam0000000000124202,DAT_00124200)" ( identifier , identifier )))) ;) (if_statement "if (DAT_00127b64 != 0) {\n      _DAT_00126444 = (undefined4)((uint6)uRam0000000000124202 >> 0x10);\n      if (DAT_00124200 == 2) {\n        _DAT_00126440 = CONCAT44(_DAT_00126444,2);\n        uVar1 = _DAT_00126440;\n      }\n      else if (DAT_00124200 == 10) {\n        _DAT_00126440 = CONCAT44(_DAT_00126444,10);\n        uVar1 = _DAT_00126440;\n      }\n    }" if (parenthesized_expression "(DAT_00127b64 != 0)" ( (binary_expression "DAT_00127b64 != 0" identifier != number_literal) )) (compound_statement "{\n      _DAT_00126444 = (undefined4)((uint6)uRam0000000000124202 >> 0x10);\n      if (DAT_00124200 == 2) {\n        _DAT_00126440 = CONCAT44(_DAT_00126444,2);\n        uVar1 = _DAT_00126440;\n      }\n      else if (DAT_00124200 == 10) {\n        _DAT_00126440 = CONCAT44(_DAT_00126444,10);\n        uVar1 = _DAT_00126440;\n      }\n    }" { (expression_statement "_DAT_00126444 = (undefined4)((uint6)uRam0000000000124202 >> 0x10);" (assignment_expression "_DAT_00126444 = (undefined4)((uint6)uRam0000000000124202 >> 0x10)" identifier = (call_expression "(undefined4)((uint6)uRam0000000000124202 >> 0x10)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "((uint6)uRam0000000000124202 >> 0x10)" ( (binary_expression "(uint6)uRam0000000000124202 >> 0x10" (cast_expression "(uint6)uRam0000000000124202" ( (type_descriptor "uint6" type_identifier) ) identifier) >> number_literal) )))) ;) (if_statement "if (DAT_00124200 == 2) {\n        _DAT_00126440 = CONCAT44(_DAT_00126444,2);\n        uVar1 = _DAT_00126440;\n      }\n      else if (DAT_00124200 == 10) {\n        _DAT_00126440 = CONCAT44(_DAT_00126444,10);\n        uVar1 = _DAT_00126440;\n      }" if (parenthesized_expression "(DAT_00124200 == 2)" ( (binary_expression "DAT_00124200 == 2" identifier == number_literal) )) (compound_statement "{\n        _DAT_00126440 = CONCAT44(_DAT_00126444,2);\n        uVar1 = _DAT_00126440;\n      }" { (expression_statement "_DAT_00126440 = CONCAT44(_DAT_00126444,2);" (assignment_expression "_DAT_00126440 = CONCAT44(_DAT_00126444,2)" identifier = (call_expression "CONCAT44(_DAT_00126444,2)" identifier (argument_list "(_DAT_00126444,2)" ( identifier , number_literal )))) ;) (expression_statement "uVar1 = _DAT_00126440;" (assignment_expression "uVar1 = _DAT_00126440" identifier = identifier) ;) }) (else_clause "else if (DAT_00124200 == 10) {\n        _DAT_00126440 = CONCAT44(_DAT_00126444,10);\n        uVar1 = _DAT_00126440;\n      }" else (if_statement "if (DAT_00124200 == 10) {\n        _DAT_00126440 = CONCAT44(_DAT_00126444,10);\n        uVar1 = _DAT_00126440;\n      }" if (parenthesized_expression "(DAT_00124200 == 10)" ( (binary_expression "DAT_00124200 == 10" identifier == number_literal) )) (compound_statement "{\n        _DAT_00126440 = CONCAT44(_DAT_00126444,10);\n        uVar1 = _DAT_00126440;\n      }" { (expression_statement "_DAT_00126440 = CONCAT44(_DAT_00126444,10);" (assignment_expression "_DAT_00126440 = CONCAT44(_DAT_00126444,10)" identifier = (call_expression "CONCAT44(_DAT_00126444,10)" identifier (argument_list "(_DAT_00126444,10)" ( identifier , number_literal )))) ;) (expression_statement "uVar1 = _DAT_00126440;" (assignment_expression "uVar1 = _DAT_00126440" identifier = identifier) ;) })))) })) (expression_statement "_DAT_00126440 = uVar1;" (assignment_expression "_DAT_00126440 = uVar1" identifier = identifier) ;) (if_statement "if (DAT_001216e0 != -1) {\n      close(DAT_001216e0);\n    }" if (parenthesized_expression "(DAT_001216e0 != -1)" ( (binary_expression "DAT_001216e0 != -1" identifier != number_literal) )) (compound_statement "{\n      close(DAT_001216e0);\n    }" { (expression_statement "close(DAT_001216e0);" (call_expression "close(DAT_001216e0)" identifier (argument_list "(DAT_001216e0)" ( identifier ))) ;) })) (expression_statement "DAT_001216e0 = socket((uint)DAT_00124200,1,0);" (assignment_expression "DAT_001216e0 = socket((uint)DAT_00124200,1,0)" identifier = (call_expression "socket((uint)DAT_00124200,1,0)" identifier (argument_list "((uint)DAT_00124200,1,0)" ( (cast_expression "(uint)DAT_00124200" ( (type_descriptor "uint" type_identifier) ) identifier) , number_literal , number_literal )))) ;) (if_statement "if (DAT_001216e0 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,"socket");\n      if (bVar7 == false) {\n        bVar7 = true;\n      }\n      else {\n        DAT_00127b64 = 1;\n      }\n      goto LAB_0010ca2b;\n    }" if (parenthesized_expression "(DAT_001216e0 < 0)" ( (binary_expression "DAT_001216e0 < 0" identifier < number_literal) )) (compound_statement "{\n      piVar6 = __errno_location();\n      error(0,*piVar6,"socket");\n      if (bVar7 == false) {\n        bVar7 = true;\n      }\n      else {\n        DAT_00127b64 = 1;\n      }\n      goto LAB_0010ca2b;\n    }" { (expression_statement "piVar6 = __errno_location();" (assignment_expression "piVar6 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "error(0,*piVar6,"socket");" (call_expression "error(0,*piVar6,"socket")" identifier (argument_list "(0,*piVar6,"socket")" ( number_literal , (pointer_expression "*piVar6" * identifier) , (string_literal ""socket"" " string_content ") ))) ;) (if_statement "if (bVar7 == false) {\n        bVar7 = true;\n      }\n      else {\n        DAT_00127b64 = 1;\n      }" if (parenthesized_expression "(bVar7 == false)" ( (binary_expression "bVar7 == false" identifier == false) )) (compound_statement "{\n        bVar7 = true;\n      }" { (expression_statement "bVar7 = true;" (assignment_expression "bVar7 = true" identifier = true) ;) }) (else_clause "else {\n        DAT_00127b64 = 1;\n      }" else (compound_statement "{\n        DAT_00127b64 = 1;\n      }" { (expression_statement "DAT_00127b64 = 1;" (assignment_expression "DAT_00127b64 = 1" identifier = number_literal) ;) }))) (goto_statement "goto LAB_0010ca2b;" goto statement_identifier ;) })) (if_statement "if (DAT_00127b64 == 0) {\n      iVar4 = setsockopt(DAT_001216e0,1,2,&local_b4,4);\n      if (-1 < iVar4) goto LAB_0010cc9e;\n      piVar6 = __errno_location();\n      error(0,*piVar6,"setsockopt (reuse address)");\nLAB_0010ca03:\n      close(DAT_001216e0);\n      DAT_001216e0 = -1;\n      if (bVar7 == false) {\n        bVar7 = true;\n      }\n      else {\n        DAT_00127b64 = 1;\n      }\n      goto LAB_0010ca2b;\n    }" if (parenthesized_expression "(DAT_00127b64 == 0)" ( (binary_expression "DAT_00127b64 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar4 = setsockopt(DAT_001216e0,1,2,&local_b4,4);\n      if (-1 < iVar4) goto LAB_0010cc9e;\n      piVar6 = __errno_location();\n      error(0,*piVar6,"setsockopt (reuse address)");\nLAB_0010ca03:\n      close(DAT_001216e0);\n      DAT_001216e0 = -1;\n      if (bVar7 == false) {\n        bVar7 = true;\n      }\n      else {\n        DAT_00127b64 = 1;\n      }\n      goto LAB_0010ca2b;\n    }" { (expression_statement "iVar4 = setsockopt(DAT_001216e0,1,2,&local_b4,4);" (assignment_expression "iVar4 = setsockopt(DAT_001216e0,1,2,&local_b4,4)" identifier = (call_expression "setsockopt(DAT_001216e0,1,2,&local_b4,4)" identifier (argument_list "(DAT_001216e0,1,2,&local_b4,4)" ( identifier , number_literal , number_literal , (pointer_expression "&local_b4" & identifier) , number_literal )))) ;) (if_statement "if (-1 < iVar4) goto LAB_0010cc9e;" if (parenthesized_expression "(-1 < iVar4)" ( (binary_expression "-1 < iVar4" number_literal < identifier) )) (goto_statement "goto LAB_0010cc9e;" goto statement_identifier ;)) (expression_statement "piVar6 = __errno_location();" (assignment_expression "piVar6 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "error(0,*piVar6,"setsockopt (reuse address)");" (call_expression "error(0,*piVar6,"setsockopt (reuse address)")" identifier (argument_list "(0,*piVar6,"setsockopt (reuse address)")" ( number_literal , (pointer_expression "*piVar6" * identifier) , (string_literal ""setsockopt (reuse address)"" " string_content ") ))) ;) (labeled_statement "LAB_0010ca03:\n      close(DAT_001216e0);" statement_identifier : (expression_statement "close(DAT_001216e0);" (call_expression "close(DAT_001216e0)" identifier (argument_list "(DAT_001216e0)" ( identifier ))) ;)) (expression_statement "DAT_001216e0 = -1;" (assignment_expression "DAT_001216e0 = -1" identifier = number_literal) ;) (if_statement "if (bVar7 == false) {\n        bVar7 = true;\n      }\n      else {\n        DAT_00127b64 = 1;\n      }" if (parenthesized_expression "(bVar7 == false)" ( (binary_expression "bVar7 == false" identifier == false) )) (compound_statement "{\n        bVar7 = true;\n      }" { (expression_statement "bVar7 = true;" (assignment_expression "bVar7 = true" identifier = true) ;) }) (else_clause "else {\n        DAT_00127b64 = 1;\n      }" else (compound_statement "{\n        DAT_00127b64 = 1;\n      }" { (expression_statement "DAT_00127b64 = 1;" (assignment_expression "DAT_00127b64 = 1" identifier = number_literal) ;) }))) (goto_statement "goto LAB_0010ca2b;" goto statement_identifier ;) })) (labeled_statement "LAB_0010cc9e:\n    iVar4 = bind(DAT_001216e0,(sockaddr *)&DAT_00126440,DAT_001264c0);" statement_identifier : (expression_statement "iVar4 = bind(DAT_001216e0,(sockaddr *)&DAT_00126440,DAT_001264c0);" (assignment_expression "iVar4 = bind(DAT_001216e0,(sockaddr *)&DAT_00126440,DAT_001264c0)" identifier = (call_expression "bind(DAT_001216e0,(sockaddr *)&DAT_00126440,DAT_001264c0)" identifier (argument_list "(DAT_001216e0,(sockaddr *)&DAT_00126440,DAT_001264c0)" ( identifier , (cast_expression "(sockaddr *)&DAT_00126440" ( (type_descriptor "sockaddr *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00126440" & identifier)) , identifier )))) ;)) (if_statement "if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,&DAT_0011a4df);\n      goto LAB_0010ca03;\n    }" if (parenthesized_expression "(iVar4 < 0)" ( (binary_expression "iVar4 < 0" identifier < number_literal) )) (compound_statement "{\n      piVar6 = __errno_location();\n      error(0,*piVar6,&DAT_0011a4df);\n      goto LAB_0010ca03;\n    }" { (expression_statement "piVar6 = __errno_location();" (assignment_expression "piVar6 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "error(0,*piVar6,&DAT_0011a4df);" (call_expression "error(0,*piVar6,&DAT_0011a4df)" identifier (argument_list "(0,*piVar6,&DAT_0011a4df)" ( number_literal , (pointer_expression "*piVar6" * identifier) , (pointer_expression "&DAT_0011a4df" & identifier) ))) ;) (goto_statement "goto LAB_0010ca03;" goto statement_identifier ;) })) (if_statement "if ((DAT_001267d0 & 1) != 0) {\n      iVar4 = setsockopt(DAT_001216e0,1,1,&local_b4,4);\n      if (iVar4 < 0) {\n        piVar6 = __errno_location();\n        if (*piVar6 != 0xd) {\n          error(0,*piVar6,"setsockopt DEBUG (ignored)");\n        }\n      }\n    }" if (parenthesized_expression "((DAT_001267d0 & 1) != 0)" ( (binary_expression "(DAT_001267d0 & 1) != 0" (parenthesized_expression "(DAT_001267d0 & 1)" ( (binary_expression "DAT_001267d0 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      iVar4 = setsockopt(DAT_001216e0,1,1,&local_b4,4);\n      if (iVar4 < 0) {\n        piVar6 = __errno_location();\n        if (*piVar6 != 0xd) {\n          error(0,*piVar6,"setsockopt DEBUG (ignored)");\n        }\n      }\n    }" { (expression_statement "iVar4 = setsockopt(DAT_001216e0,1,1,&local_b4,4);" (assignment_expression "iVar4 = setsockopt(DAT_001216e0,1,1,&local_b4,4)" identifier = (call_expression "setsockopt(DAT_001216e0,1,1,&local_b4,4)" identifier (argument_list "(DAT_001216e0,1,1,&local_b4,4)" ( identifier , number_literal , number_literal , (pointer_expression "&local_b4" & identifier) , number_literal )))) ;) (if_statement "if (iVar4 < 0) {\n        piVar6 = __errno_location();\n        if (*piVar6 != 0xd) {\n          error(0,*piVar6,"setsockopt DEBUG (ignored)");\n        }\n      }" if (parenthesized_expression "(iVar4 < 0)" ( (binary_expression "iVar4 < 0" identifier < number_literal) )) (compound_statement "{\n        piVar6 = __errno_location();\n        if (*piVar6 != 0xd) {\n          error(0,*piVar6,"setsockopt DEBUG (ignored)");\n        }\n      }" { (expression_statement "piVar6 = __errno_location();" (assignment_expression "piVar6 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*piVar6 != 0xd) {\n          error(0,*piVar6,"setsockopt DEBUG (ignored)");\n        }" if (parenthesized_expression "(*piVar6 != 0xd)" ( (binary_expression "*piVar6 != 0xd" (pointer_expression "*piVar6" * identifier) != number_literal) )) (compound_statement "{\n          error(0,*piVar6,"setsockopt DEBUG (ignored)");\n        }" { (expression_statement "error(0,*piVar6,"setsockopt DEBUG (ignored)");" (call_expression "error(0,*piVar6,"setsockopt DEBUG (ignored)")" identifier (argument_list "(0,*piVar6,"setsockopt DEBUG (ignored)")" ( number_literal , (pointer_expression "*piVar6" * identifier) , (string_literal ""setsockopt DEBUG (ignored)"" " string_content ") ))) ;) })) })) })) (expression_statement "local_8c = 0x80;" (assignment_expression "local_8c = 0x80" identifier = number_literal) ;) (expression_statement "iVar4 = getsockname(DAT_001216e0,(sockaddr *)&DAT_00126440,&local_8c);" (assignment_expression "iVar4 = getsockname(DAT_001216e0,(sockaddr *)&DAT_00126440,&local_8c)" identifier = (call_expression "getsockname(DAT_001216e0,(sockaddr *)&DAT_00126440,&local_8c)" identifier (argument_list "(DAT_001216e0,(sockaddr *)&DAT_00126440,&local_8c)" ( identifier , (cast_expression "(sockaddr *)&DAT_00126440" ( (type_descriptor "sockaddr *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00126440" & identifier)) , (pointer_expression "&local_8c" & identifier) )))) ;) (if_statement "if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,"getsockname");\n      goto LAB_0010ca03;\n    }" if (parenthesized_expression "(iVar4 < 0)" ( (binary_expression "iVar4 < 0" identifier < number_literal) )) (compound_statement "{\n      piVar6 = __errno_location();\n      error(0,*piVar6,"getsockname");\n      goto LAB_0010ca03;\n    }" { (expression_statement "piVar6 = __errno_location();" (assignment_expression "piVar6 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "error(0,*piVar6,"getsockname");" (call_expression "error(0,*piVar6,"getsockname")" identifier (argument_list "(0,*piVar6,"getsockname")" ( number_literal , (pointer_expression "*piVar6" * identifier) , (string_literal ""getsockname"" " string_content ") ))) ;) (goto_statement "goto LAB_0010ca03;" goto statement_identifier ;) })) (expression_statement "iVar4 = listen(DAT_001216e0,1);" (assignment_expression "iVar4 = listen(DAT_001216e0,1)" identifier = (call_expression "listen(DAT_001216e0,1)" identifier (argument_list "(DAT_001216e0,1)" ( identifier , number_literal )))) ;) (if_statement "if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,"listen");\n    }" if (parenthesized_expression "(iVar4 < 0)" ( (binary_expression "iVar4 < 0" identifier < number_literal) )) (compound_statement "{\n      piVar6 = __errno_location();\n      error(0,*piVar6,"listen");\n    }" { (expression_statement "piVar6 = __errno_location();" (assignment_expression "piVar6 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "error(0,*piVar6,"listen");" (call_expression "error(0,*piVar6,"listen")" identifier (argument_list "(0,*piVar6,"listen")" ( number_literal , (pointer_expression "*piVar6" * identifier) , (string_literal ""listen"" " string_content ") ))) ;) })) (if_statement "if (DAT_00127b64 == 0) {\n      if (bVar7 != false) {\n        DAT_00127b64 = 1;\n      }\n      local_b4 = 8;\n      bVar7 = false;\n      if (DAT_00126440 == 2) {\n        iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);\n        if (iVar4 < 0) {\n          piVar6 = __errno_location();\n          error(0,*piVar6,"setsockopt TOS (ignored)");\n        }\n      }\n      goto LAB_0010ca2b;\n    }" if (parenthesized_expression "(DAT_00127b64 == 0)" ( (binary_expression "DAT_00127b64 == 0" identifier == number_literal) )) (compound_statement "{\n      if (bVar7 != false) {\n        DAT_00127b64 = 1;\n      }\n      local_b4 = 8;\n      bVar7 = false;\n      if (DAT_00126440 == 2) {\n        iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);\n        if (iVar4 < 0) {\n          piVar6 = __errno_location();\n          error(0,*piVar6,"setsockopt TOS (ignored)");\n        }\n      }\n      goto LAB_0010ca2b;\n    }" { (if_statement "if (bVar7 != false) {\n        DAT_00127b64 = 1;\n      }" if (parenthesized_expression "(bVar7 != false)" ( (binary_expression "bVar7 != false" identifier != false) )) (compound_statement "{\n        DAT_00127b64 = 1;\n      }" { (expression_statement "DAT_00127b64 = 1;" (assignment_expression "DAT_00127b64 = 1" identifier = number_literal) ;) })) (expression_statement "local_b4 = 8;" (assignment_expression "local_b4 = 8" identifier = number_literal) ;) (expression_statement "bVar7 = false;" (assignment_expression "bVar7 = false" identifier = false) ;) (if_statement "if (DAT_00126440 == 2) {\n        iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);\n        if (iVar4 < 0) {\n          piVar6 = __errno_location();\n          error(0,*piVar6,"setsockopt TOS (ignored)");\n        }\n      }" if (parenthesized_expression "(DAT_00126440 == 2)" ( (binary_expression "DAT_00126440 == 2" identifier == number_literal) )) (compound_statement "{\n        iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);\n        if (iVar4 < 0) {\n          piVar6 = __errno_location();\n          error(0,*piVar6,"setsockopt TOS (ignored)");\n        }\n      }" { (expression_statement "iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);" (assignment_expression "iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4)" identifier = (call_expression "setsockopt(DAT_001216e0,0,1,&local_b4,4)" identifier (argument_list "(DAT_001216e0,0,1,&local_b4,4)" ( identifier , number_literal , number_literal , (pointer_expression "&local_b4" & identifier) , number_literal )))) ;) (if_statement "if (iVar4 < 0) {\n          piVar6 = __errno_location();\n          error(0,*piVar6,"setsockopt TOS (ignored)");\n        }" if (parenthesized_expression "(iVar4 < 0)" ( (binary_expression "iVar4 < 0" identifier < number_literal) )) (compound_statement "{\n          piVar6 = __errno_location();\n          error(0,*piVar6,"setsockopt TOS (ignored)");\n        }" { (expression_statement "piVar6 = __errno_location();" (assignment_expression "piVar6 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "error(0,*piVar6,"setsockopt TOS (ignored)");" (call_expression "error(0,*piVar6,"setsockopt TOS (ignored)")" identifier (argument_list "(0,*piVar6,"setsockopt TOS (ignored)")" ( number_literal , (pointer_expression "*piVar6" * identifier) , (string_literal ""setsockopt TOS (ignored)"" " string_content ") ))) ;) })) })) (goto_statement "goto LAB_0010ca2b;" goto statement_identifier ;) })) (if_statement "if ((DAT_00126440 == 2) && (DAT_001266e0 == 0)) {\n      bVar7 = true;\nLAB_0010cd36:\n      if (!bVar7) {\n        iVar4 = 2;\nLAB_0010cd3f:\n        bVar7 = iVar4 != 2;\n        goto LAB_0010ca2b;\n      }\nLAB_0010cd6c:\n      iVar4 = FUN_0010bb32("PORT %d,%d,%d,%d,%d,%d",DAT_00126444,DAT_00126445,DAT_00126446,\n                           DAT_00126447,DAT_00126442,_DAT_00126440 >> 0x18 & 0xff);\n    }\n    else {\n      getnameinfo((sockaddr *)&DAT_00126440,DAT_001264c0,&DAT_00121ec0,0x2e,&DAT_00121eb0,10,3);\n      iVar4 = FUN_0010bb32("EPRT |%d|%s|%s|",(DAT_00126440 != 2) + '\x01',&DAT_00121ec0,\n                           &DAT_00121eb0);\n      if (DAT_00126440 == 2) {\n        bVar7 = iVar4 != 2;\n        if ((DAT_001266e0 == 0) || (!bVar7)) goto LAB_0010cd36;\n        DAT_001266e0 = 0;\n        goto LAB_0010cd6c;\n      }\n    }" if (parenthesized_expression "((DAT_00126440 == 2) && (DAT_001266e0 == 0))" ( (binary_expression "(DAT_00126440 == 2) && (DAT_001266e0 == 0)" (parenthesized_expression "(DAT_00126440 == 2)" ( (binary_expression "DAT_00126440 == 2" identifier == number_literal) )) && (parenthesized_expression "(DAT_001266e0 == 0)" ( (binary_expression "DAT_001266e0 == 0" identifier == number_literal) ))) )) (compound_statement "{\n      bVar7 = true;\nLAB_0010cd36:\n      if (!bVar7) {\n        iVar4 = 2;\nLAB_0010cd3f:\n        bVar7 = iVar4 != 2;\n        goto LAB_0010ca2b;\n      }\nLAB_0010cd6c:\n      iVar4 = FUN_0010bb32("PORT %d,%d,%d,%d,%d,%d",DAT_00126444,DAT_00126445,DAT_00126446,\n                           DAT_00126447,DAT_00126442,_DAT_00126440 >> 0x18 & 0xff);\n    }" { (expression_statement "bVar7 = true;" (assignment_expression "bVar7 = true" identifier = true) ;) (labeled_statement "LAB_0010cd36:\n      if (!bVar7) {\n        iVar4 = 2;\nLAB_0010cd3f:\n        bVar7 = iVar4 != 2;\n        goto LAB_0010ca2b;\n      }" statement_identifier : (if_statement "if (!bVar7) {\n        iVar4 = 2;\nLAB_0010cd3f:\n        bVar7 = iVar4 != 2;\n        goto LAB_0010ca2b;\n      }" if (parenthesized_expression "(!bVar7)" ( (unary_expression "!bVar7" ! identifier) )) (compound_statement "{\n        iVar4 = 2;\nLAB_0010cd3f:\n        bVar7 = iVar4 != 2;\n        goto LAB_0010ca2b;\n      }" { (expression_statement "iVar4 = 2;" (assignment_expression "iVar4 = 2" identifier = number_literal) ;) (labeled_statement "LAB_0010cd3f:\n        bVar7 = iVar4 != 2;" statement_identifier : (expression_statement "bVar7 = iVar4 != 2;" (assignment_expression "bVar7 = iVar4 != 2" identifier = (binary_expression "iVar4 != 2" identifier != number_literal)) ;)) (goto_statement "goto LAB_0010ca2b;" goto statement_identifier ;) }))) (labeled_statement "LAB_0010cd6c:\n      iVar4 = FUN_0010bb32("PORT %d,%d,%d,%d,%d,%d",DAT_00126444,DAT_00126445,DAT_00126446,\n                           DAT_00126447,DAT_00126442,_DAT_00126440 >> 0x18 & 0xff);" statement_identifier : (expression_statement "iVar4 = FUN_0010bb32("PORT %d,%d,%d,%d,%d,%d",DAT_00126444,DAT_00126445,DAT_00126446,\n                           DAT_00126447,DAT_00126442,_DAT_00126440 >> 0x18 & 0xff);" (assignment_expression "iVar4 = FUN_0010bb32("PORT %d,%d,%d,%d,%d,%d",DAT_00126444,DAT_00126445,DAT_00126446,\n                           DAT_00126447,DAT_00126442,_DAT_00126440 >> 0x18 & 0xff)" identifier = (call_expression "FUN_0010bb32("PORT %d,%d,%d,%d,%d,%d",DAT_00126444,DAT_00126445,DAT_00126446,\n                           DAT_00126447,DAT_00126442,_DAT_00126440 >> 0x18 & 0xff)" identifier (argument_list "("PORT %d,%d,%d,%d,%d,%d",DAT_00126444,DAT_00126445,DAT_00126446,\n                           DAT_00126447,DAT_00126442,_DAT_00126440 >> 0x18 & 0xff)" ( (string_literal ""PORT %d,%d,%d,%d,%d,%d"" " string_content ") , identifier , identifier , identifier , identifier , identifier , (binary_expression "_DAT_00126440 >> 0x18 & 0xff" (binary_expression "_DAT_00126440 >> 0x18" identifier >> number_literal) & number_literal) )))) ;)) }) (else_clause "else {\n      getnameinfo((sockaddr *)&DAT_00126440,DAT_001264c0,&DAT_00121ec0,0x2e,&DAT_00121eb0,10,3);\n      iVar4 = FUN_0010bb32("EPRT |%d|%s|%s|",(DAT_00126440 != 2) + '\x01',&DAT_00121ec0,\n                           &DAT_00121eb0);\n      if (DAT_00126440 == 2) {\n        bVar7 = iVar4 != 2;\n        if ((DAT_001266e0 == 0) || (!bVar7)) goto LAB_0010cd36;\n        DAT_001266e0 = 0;\n        goto LAB_0010cd6c;\n      }\n    }" else (compound_statement "{\n      getnameinfo((sockaddr *)&DAT_00126440,DAT_001264c0,&DAT_00121ec0,0x2e,&DAT_00121eb0,10,3);\n      iVar4 = FUN_0010bb32("EPRT |%d|%s|%s|",(DAT_00126440 != 2) + '\x01',&DAT_00121ec0,\n                           &DAT_00121eb0);\n      if (DAT_00126440 == 2) {\n        bVar7 = iVar4 != 2;\n        if ((DAT_001266e0 == 0) || (!bVar7)) goto LAB_0010cd36;\n        DAT_001266e0 = 0;\n        goto LAB_0010cd6c;\n      }\n    }" { (expression_statement "getnameinfo((sockaddr *)&DAT_00126440,DAT_001264c0,&DAT_00121ec0,0x2e,&DAT_00121eb0,10,3);" (call_expression "getnameinfo((sockaddr *)&DAT_00126440,DAT_001264c0,&DAT_00121ec0,0x2e,&DAT_00121eb0,10,3)" identifier (argument_list "((sockaddr *)&DAT_00126440,DAT_001264c0,&DAT_00121ec0,0x2e,&DAT_00121eb0,10,3)" ( (cast_expression "(sockaddr *)&DAT_00126440" ( (type_descriptor "sockaddr *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00126440" & identifier)) , identifier , (pointer_expression "&DAT_00121ec0" & identifier) , number_literal , (pointer_expression "&DAT_00121eb0" & identifier) , number_literal , number_literal ))) ;) (expression_statement "iVar4 = FUN_0010bb32("EPRT |%d|%s|%s|",(DAT_00126440 != 2) + '\x01',&DAT_00121ec0,\n                           &DAT_00121eb0);" (assignment_expression "iVar4 = FUN_0010bb32("EPRT |%d|%s|%s|",(DAT_00126440 != 2) + '\x01',&DAT_00121ec0,\n                           &DAT_00121eb0)" identifier = (call_expression "FUN_0010bb32("EPRT |%d|%s|%s|",(DAT_00126440 != 2) + '\x01',&DAT_00121ec0,\n                           &DAT_00121eb0)" identifier (argument_list "("EPRT |%d|%s|%s|",(DAT_00126440 != 2) + '\x01',&DAT_00121ec0,\n                           &DAT_00121eb0)" ( (string_literal ""EPRT |%d|%s|%s|"" " string_content ") , (binary_expression "(DAT_00126440 != 2) + '\x01'" (parenthesized_expression "(DAT_00126440 != 2)" ( (binary_expression "DAT_00126440 != 2" identifier != number_literal) )) + (char_literal "'\x01'" ' escape_sequence ')) , (pointer_expression "&DAT_00121ec0" & identifier) , (pointer_expression "&DAT_00121eb0" & identifier) )))) ;) (if_statement "if (DAT_00126440 == 2) {\n        bVar7 = iVar4 != 2;\n        if ((DAT_001266e0 == 0) || (!bVar7)) goto LAB_0010cd36;\n        DAT_001266e0 = 0;\n        goto LAB_0010cd6c;\n      }" if (parenthesized_expression "(DAT_00126440 == 2)" ( (binary_expression "DAT_00126440 == 2" identifier == number_literal) )) (compound_statement "{\n        bVar7 = iVar4 != 2;\n        if ((DAT_001266e0 == 0) || (!bVar7)) goto LAB_0010cd36;\n        DAT_001266e0 = 0;\n        goto LAB_0010cd6c;\n      }" { (expression_statement "bVar7 = iVar4 != 2;" (assignment_expression "bVar7 = iVar4 != 2" identifier = (binary_expression "iVar4 != 2" identifier != number_literal)) ;) (if_statement "if ((DAT_001266e0 == 0) || (!bVar7)) goto LAB_0010cd36;" if (parenthesized_expression "((DAT_001266e0 == 0) || (!bVar7))" ( (binary_expression "(DAT_001266e0 == 0) || (!bVar7)" (parenthesized_expression "(DAT_001266e0 == 0)" ( (binary_expression "DAT_001266e0 == 0" identifier == number_literal) )) || (parenthesized_expression "(!bVar7)" ( (unary_expression "!bVar7" ! identifier) ))) )) (goto_statement "goto LAB_0010cd36;" goto statement_identifier ;)) (expression_statement "DAT_001266e0 = 0;" (assignment_expression "DAT_001266e0 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0010cd6c;" goto statement_identifier ;) })) }))) (if_statement "if (iVar4 == 2) goto LAB_0010cd3f;" if (parenthesized_expression "(iVar4 == 2)" ( (binary_expression "iVar4 == 2" identifier == number_literal) )) (goto_statement "goto LAB_0010cd3f;" goto statement_identifier ;)) (if_statement "if (DAT_00126440 == 2) {\n      iVar4 = FUN_0010bb32("LPRT 4,4,%u,%u,%u,%u,2,%u,%u",DAT_00126444,DAT_00126445,DAT_00126446,\n                           DAT_00126447,DAT_00126442,DAT_00126443);\n    }\n    else if (DAT_00126440 == 10) {\n      iVar4 = FUN_0010bb32("LPRT 6,16,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,2,%u,%u",\n                           DAT_00126448,DAT_00126449,DAT_0012644a,DAT_0012644b,DAT_0012644c,\n                           _DAT_00126448 >> 0x28 & 0xff,_DAT_00126448 >> 0x30 & 0xff,\n                           _DAT_00126448 >> 0x38,_DAT_00126450 & 0xff,_DAT_00126450 >> 8 & 0xff,\n                           _DAT_00126450 >> 0x10 & 0xff,_DAT_00126450 >> 0x18 & 0xff,\n                           _DAT_00126450 >> 0x20 & 0xff,_DAT_00126450 >> 0x28 & 0xff,\n                           _DAT_00126450 >> 0x30 & 0xff,_DAT_00126450 >> 0x38,DAT_00126442,\n                           DAT_00126443);\n    }" if (parenthesized_expression "(DAT_00126440 == 2)" ( (binary_expression "DAT_00126440 == 2" identifier == number_literal) )) (compound_statement "{\n      iVar4 = FUN_0010bb32("LPRT 4,4,%u,%u,%u,%u,2,%u,%u",DAT_00126444,DAT_00126445,DAT_00126446,\n                           DAT_00126447,DAT_00126442,DAT_00126443);\n    }" { (expression_statement "iVar4 = FUN_0010bb32("LPRT 4,4,%u,%u,%u,%u,2,%u,%u",DAT_00126444,DAT_00126445,DAT_00126446,\n                           DAT_00126447,DAT_00126442,DAT_00126443);" (assignment_expression "iVar4 = FUN_0010bb32("LPRT 4,4,%u,%u,%u,%u,2,%u,%u",DAT_00126444,DAT_00126445,DAT_00126446,\n                           DAT_00126447,DAT_00126442,DAT_00126443)" identifier = (call_expression "FUN_0010bb32("LPRT 4,4,%u,%u,%u,%u,2,%u,%u",DAT_00126444,DAT_00126445,DAT_00126446,\n                           DAT_00126447,DAT_00126442,DAT_00126443)" identifier (argument_list "("LPRT 4,4,%u,%u,%u,%u,2,%u,%u",DAT_00126444,DAT_00126445,DAT_00126446,\n                           DAT_00126447,DAT_00126442,DAT_00126443)" ( (string_literal ""LPRT 4,4,%u,%u,%u,%u,2,%u,%u"" " string_content ") , identifier , identifier , identifier , identifier , identifier , identifier )))) ;) }) (else_clause "else if (DAT_00126440 == 10) {\n      iVar4 = FUN_0010bb32("LPRT 6,16,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,2,%u,%u",\n                           DAT_00126448,DAT_00126449,DAT_0012644a,DAT_0012644b,DAT_0012644c,\n                           _DAT_00126448 >> 0x28 & 0xff,_DAT_00126448 >> 0x30 & 0xff,\n                           _DAT_00126448 >> 0x38,_DAT_00126450 & 0xff,_DAT_00126450 >> 8 & 0xff,\n                           _DAT_00126450 >> 0x10 & 0xff,_DAT_00126450 >> 0x18 & 0xff,\n                           _DAT_00126450 >> 0x20 & 0xff,_DAT_00126450 >> 0x28 & 0xff,\n                           _DAT_00126450 >> 0x30 & 0xff,_DAT_00126450 >> 0x38,DAT_00126442,\n                           DAT_00126443);\n    }" else (if_statement "if (DAT_00126440 == 10) {\n      iVar4 = FUN_0010bb32("LPRT 6,16,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,2,%u,%u",\n                           DAT_00126448,DAT_00126449,DAT_0012644a,DAT_0012644b,DAT_0012644c,\n                           _DAT_00126448 >> 0x28 & 0xff,_DAT_00126448 >> 0x30 & 0xff,\n                           _DAT_00126448 >> 0x38,_DAT_00126450 & 0xff,_DAT_00126450 >> 8 & 0xff,\n                           _DAT_00126450 >> 0x10 & 0xff,_DAT_00126450 >> 0x18 & 0xff,\n                           _DAT_00126450 >> 0x20 & 0xff,_DAT_00126450 >> 0x28 & 0xff,\n                           _DAT_00126450 >> 0x30 & 0xff,_DAT_00126450 >> 0x38,DAT_00126442,\n                           DAT_00126443);\n    }" if (parenthesized_expression "(DAT_00126440 == 10)" ( (binary_expression "DAT_00126440 == 10" identifier == number_literal) )) (compound_statement "{\n      iVar4 = FUN_0010bb32("LPRT 6,16,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,2,%u,%u",\n                           DAT_00126448,DAT_00126449,DAT_0012644a,DAT_0012644b,DAT_0012644c,\n                           _DAT_00126448 >> 0x28 & 0xff,_DAT_00126448 >> 0x30 & 0xff,\n                           _DAT_00126448 >> 0x38,_DAT_00126450 & 0xff,_DAT_00126450 >> 8 & 0xff,\n                           _DAT_00126450 >> 0x10 & 0xff,_DAT_00126450 >> 0x18 & 0xff,\n                           _DAT_00126450 >> 0x20 & 0xff,_DAT_00126450 >> 0x28 & 0xff,\n                           _DAT_00126450 >> 0x30 & 0xff,_DAT_00126450 >> 0x38,DAT_00126442,\n                           DAT_00126443);\n    }" { (expression_statement "iVar4 = FUN_0010bb32("LPRT 6,16,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,2,%u,%u",\n                           DAT_00126448,DAT_00126449,DAT_0012644a,DAT_0012644b,DAT_0012644c,\n                           _DAT_00126448 >> 0x28 & 0xff,_DAT_00126448 >> 0x30 & 0xff,\n                           _DAT_00126448 >> 0x38,_DAT_00126450 & 0xff,_DAT_00126450 >> 8 & 0xff,\n                           _DAT_00126450 >> 0x10 & 0xff,_DAT_00126450 >> 0x18 & 0xff,\n                           _DAT_00126450 >> 0x20 & 0xff,_DAT_00126450 >> 0x28 & 0xff,\n                           _DAT_00126450 >> 0x30 & 0xff,_DAT_00126450 >> 0x38,DAT_00126442,\n                           DAT_00126443);" (assignment_expression "iVar4 = FUN_0010bb32("LPRT 6,16,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,2,%u,%u",\n                           DAT_00126448,DAT_00126449,DAT_0012644a,DAT_0012644b,DAT_0012644c,\n                           _DAT_00126448 >> 0x28 & 0xff,_DAT_00126448 >> 0x30 & 0xff,\n                           _DAT_00126448 >> 0x38,_DAT_00126450 & 0xff,_DAT_00126450 >> 8 & 0xff,\n                           _DAT_00126450 >> 0x10 & 0xff,_DAT_00126450 >> 0x18 & 0xff,\n                           _DAT_00126450 >> 0x20 & 0xff,_DAT_00126450 >> 0x28 & 0xff,\n                           _DAT_00126450 >> 0x30 & 0xff,_DAT_00126450 >> 0x38,DAT_00126442,\n                           DAT_00126443)" identifier = (call_expression "FUN_0010bb32("LPRT 6,16,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,2,%u,%u",\n                           DAT_00126448,DAT_00126449,DAT_0012644a,DAT_0012644b,DAT_0012644c,\n                           _DAT_00126448 >> 0x28 & 0xff,_DAT_00126448 >> 0x30 & 0xff,\n                           _DAT_00126448 >> 0x38,_DAT_00126450 & 0xff,_DAT_00126450 >> 8 & 0xff,\n                           _DAT_00126450 >> 0x10 & 0xff,_DAT_00126450 >> 0x18 & 0xff,\n                           _DAT_00126450 >> 0x20 & 0xff,_DAT_00126450 >> 0x28 & 0xff,\n                           _DAT_00126450 >> 0x30 & 0xff,_DAT_00126450 >> 0x38,DAT_00126442,\n                           DAT_00126443)" identifier (argument_list "("LPRT 6,16,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,2,%u,%u",\n                           DAT_00126448,DAT_00126449,DAT_0012644a,DAT_0012644b,DAT_0012644c,\n                           _DAT_00126448 >> 0x28 & 0xff,_DAT_00126448 >> 0x30 & 0xff,\n                           _DAT_00126448 >> 0x38,_DAT_00126450 & 0xff,_DAT_00126450 >> 8 & 0xff,\n                           _DAT_00126450 >> 0x10 & 0xff,_DAT_00126450 >> 0x18 & 0xff,\n                           _DAT_00126450 >> 0x20 & 0xff,_DAT_00126450 >> 0x28 & 0xff,\n                           _DAT_00126450 >> 0x30 & 0xff,_DAT_00126450 >> 0x38,DAT_00126442,\n                           DAT_00126443)" ( (string_literal ""LPRT 6,16,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,2,%u,%u"" " string_content ") , identifier , identifier , identifier , identifier , identifier , (binary_expression "_DAT_00126448 >> 0x28 & 0xff" (binary_expression "_DAT_00126448 >> 0x28" identifier >> number_literal) & number_literal) , (binary_expression "_DAT_00126448 >> 0x30 & 0xff" (binary_expression "_DAT_00126448 >> 0x30" identifier >> number_literal) & number_literal) , (binary_expression "_DAT_00126448 >> 0x38" identifier >> number_literal) , (binary_expression "_DAT_00126450 & 0xff" identifier & number_literal) , (binary_expression "_DAT_00126450 >> 8 & 0xff" (binary_expression "_DAT_00126450 >> 8" identifier >> number_literal) & number_literal) , (binary_expression "_DAT_00126450 >> 0x10 & 0xff" (binary_expression "_DAT_00126450 >> 0x10" identifier >> number_literal) & number_literal) , (binary_expression "_DAT_00126450 >> 0x18 & 0xff" (binary_expression "_DAT_00126450 >> 0x18" identifier >> number_literal) & number_literal) , (binary_expression "_DAT_00126450 >> 0x20 & 0xff" (binary_expression "_DAT_00126450 >> 0x20" identifier >> number_literal) & number_literal) , (binary_expression "_DAT_00126450 >> 0x28 & 0xff" (binary_expression "_DAT_00126450 >> 0x28" identifier >> number_literal) & number_literal) , (binary_expression "_DAT_00126450 >> 0x30 & 0xff" (binary_expression "_DAT_00126450 >> 0x30" identifier >> number_literal) & number_literal) , (binary_expression "_DAT_00126450 >> 0x38" identifier >> number_literal) , identifier , identifier )))) ;) })))) (if_statement "if ((iVar4 != 5) || (DAT_00127b64 != -1)) goto LAB_0010cd3f;" if (parenthesized_expression "((iVar4 != 5) || (DAT_00127b64 != -1))" ( (binary_expression "(iVar4 != 5) || (DAT_00127b64 != -1)" (parenthesized_expression "(iVar4 != 5)" ( (binary_expression "iVar4 != 5" identifier != number_literal) )) || (parenthesized_expression "(DAT_00127b64 != -1)" ( (binary_expression "DAT_00127b64 != -1" identifier != number_literal) ))) )) (goto_statement "goto LAB_0010cd3f;" goto statement_identifier ;)) (expression_statement "DAT_00127b64 = 0;" (assignment_expression "DAT_00127b64 = 0" identifier = number_literal) ;) (expression_statement "bVar7 = true;" (assignment_expression "bVar7 = true" identifier = true) ;) (goto_statement "goto LAB_0010cba4;" goto statement_identifier ;) })) (expression_statement "DAT_001216e0 = socket((uint)DAT_00124200,1,0);" (assignment_expression "DAT_001216e0 = socket((uint)DAT_00124200,1,0)" identifier = (call_expression "socket((uint)DAT_00124200,1,0)" identifier (argument_list "((uint)DAT_00124200,1,0)" ( (cast_expression "(uint)DAT_00124200" ( (type_descriptor "uint" type_identifier) ) identifier) , number_literal , number_literal )))) ;) (if_statement "if (DAT_001216e0 < 0) {\n    perror("ftp: socket");\n    bVar7 = true;\n    goto LAB_0010ca2b;\n  }" if (parenthesized_expression "(DAT_001216e0 < 0)" ( (binary_expression "DAT_001216e0 < 0" identifier < number_literal) )) (compound_statement "{\n    perror("ftp: socket");\n    bVar7 = true;\n    goto LAB_0010ca2b;\n  }" { (expression_statement "perror("ftp: socket");" (call_expression "perror("ftp: socket")" identifier (argument_list "("ftp: socket")" ( (string_literal ""ftp: socket"" " string_content ") ))) ;) (expression_statement "bVar7 = true;" (assignment_expression "bVar7 = true" identifier = true) ;) (goto_statement "goto LAB_0010ca2b;" goto statement_identifier ;) })) (if_statement "if ((DAT_001267d0 & 1) != 0) {\n    iVar4 = setsockopt(DAT_001216e0,1,1,&local_b4,4);\n    if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      if (*piVar6 != 0xd) {\n        error(0,*piVar6,"setsockopt DEBUG (ignored)");\n      }\n    }\n  }" if (parenthesized_expression "((DAT_001267d0 & 1) != 0)" ( (binary_expression "(DAT_001267d0 & 1) != 0" (parenthesized_expression "(DAT_001267d0 & 1)" ( (binary_expression "DAT_001267d0 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    iVar4 = setsockopt(DAT_001216e0,1,1,&local_b4,4);\n    if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      if (*piVar6 != 0xd) {\n        error(0,*piVar6,"setsockopt DEBUG (ignored)");\n      }\n    }\n  }" { (expression_statement "iVar4 = setsockopt(DAT_001216e0,1,1,&local_b4,4);" (assignment_expression "iVar4 = setsockopt(DAT_001216e0,1,1,&local_b4,4)" identifier = (call_expression "setsockopt(DAT_001216e0,1,1,&local_b4,4)" identifier (argument_list "(DAT_001216e0,1,1,&local_b4,4)" ( identifier , number_literal , number_literal , (pointer_expression "&local_b4" & identifier) , number_literal )))) ;) (if_statement "if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      if (*piVar6 != 0xd) {\n        error(0,*piVar6,"setsockopt DEBUG (ignored)");\n      }\n    }" if (parenthesized_expression "(iVar4 < 0)" ( (binary_expression "iVar4 < 0" identifier < number_literal) )) (compound_statement "{\n      piVar6 = __errno_location();\n      if (*piVar6 != 0xd) {\n        error(0,*piVar6,"setsockopt DEBUG (ignored)");\n      }\n    }" { (expression_statement "piVar6 = __errno_location();" (assignment_expression "piVar6 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*piVar6 != 0xd) {\n        error(0,*piVar6,"setsockopt DEBUG (ignored)");\n      }" if (parenthesized_expression "(*piVar6 != 0xd)" ( (binary_expression "*piVar6 != 0xd" (pointer_expression "*piVar6" * identifier) != number_literal) )) (compound_statement "{\n        error(0,*piVar6,"setsockopt DEBUG (ignored)");\n      }" { (expression_statement "error(0,*piVar6,"setsockopt DEBUG (ignored)");" (call_expression "error(0,*piVar6,"setsockopt DEBUG (ignored)")" identifier (argument_list "(0,*piVar6,"setsockopt DEBUG (ignored)")" ( number_literal , (pointer_expression "*piVar6" * identifier) , (string_literal ""setsockopt DEBUG (ignored)"" " string_content ") ))) ;) })) })) })) (if_statement "if (DAT_00124200 == 2) {\n    if (DAT_001266e0 != 0) {\n      iVar4 = FUN_0010bb32(&DAT_0011a450);\n      if (iVar4 == 2) goto LAB_0010c336;\n      if (DAT_001266e0 != 0) {\n        DAT_001266e0 = 0;\n      }\n    }\n    iVar4 = FUN_0010bb32(&DAT_0011a455);\n    if (iVar4 == 2) goto LAB_0010c499;\n    iVar4 = FUN_0010bb32(&DAT_0011a45a);\n    if (iVar4 == 2) {\nLAB_0010c62c:\n      if (DAT_00124200 == 2) {\n        iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u,%u,%u,%u",&local_94,&local_90,local_88,\n                       local_88 + 1,local_88 + 2,local_88 + 3,&local_8c,local_a0,local_9c);\n        if ((((iVar4 == 9) && (local_94 == 4)) && (local_90 == 4)) && (local_8c == 2)) {\n          puVar5 = local_88;\n          do {\n            *puVar5 = *puVar5 & 0xff;\n            puVar5 = puVar5 + 1;\n          } while (puVar5 != local_88 + 4);\n          _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2);\n          uVar2 = local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3] | local_88[2] << 8;\n          _DAT_00126440 =\n               CONCAT44(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                        local_88[3] << 0x18,_DAT_00126440);\n          uVar1 = _DAT_00126440;\n          goto LAB_0010c540;\n        }\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n        goto LAB_0010c703;\n      }\n      iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u",\n                     &local_94,&local_90,local_88,local_88 + 1,local_88 + 2,local_88 + 3,\n                     local_88 + 4,local_88 + 5,local_88 + 6,local_88 + 7,local_88 + 8,local_88 + 9,\n                     local_88 + 10,local_88 + 0xb,local_88 + 0xc,local_88 + 0xd,local_88 + 0xe,\n                     local_88 + 0xf,&local_8c,local_a0,local_9c);\n      if (((iVar4 != 0x15) || (local_94 != 6)) || ((local_90 != 0x10 || (local_8c != 2)))) {\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n        goto LAB_0010c703;\n      }\n      puVar5 = local_88;\n      do {\n        *puVar5 = *puVar5 & 0xff;\n        puVar5 = puVar5 + 1;\n      } while (puVar5 != local_48);\n      _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,10);\n      uVar2 = local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3] | local_88[2] << 8;\n      uVar3 = local_88[4] << 0x18 | local_88[5] << 0x10 | local_88[7] | local_88[6] << 8;\n      _DAT_00126448 =\n           CONCAT44(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                    local_88[7] << 0x18,\n                    uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                    local_88[3] << 0x18);\n      uVar2 = local_88[8] << 0x18 | local_88[9] << 0x10 | local_88[0xb] | local_88[10] << 8;\n      uVar3 = local_88[0xc] << 0x18 | local_88[0xd] << 0x10 | local_88[0xf] | local_88[0xe] << 8;\n      _DAT_00126450 =\n           CONCAT44(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                    local_88[0xf] << 0x18,\n                    uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                    local_88[0xb] << 0x18);\n      uVar1 = _DAT_00126440;\n      goto LAB_0010c540;\n    }\n    puts("Passive mode refused.");\n  }\n  else {\n    if (DAT_00124200 == 10) {\n      iVar4 = FUN_0010bb32(&DAT_0011a450);\n      if (iVar4 == 2) {\nLAB_0010c336:\n        iVar4 = sscanf(&DAT_00127a80,"%u|",local_98);\n        if (iVar4 == 1) {\n          _DAT_00126440 = DAT_00124160;\n          uVar1 = _DAT_00126440;\n          _DAT_00126448 = DAT_00124168;\n          _DAT_00126450 = _DAT_00124170;\n          uRam0000000000126458 = uRam0000000000124178;\n          _DAT_00126460 = _DAT_00124180;\n          uRam0000000000126468 = uRam0000000000124188;\n          _DAT_00126470 = _DAT_00124190;\n          uRam0000000000126478 = uRam0000000000124198;\n          _DAT_00126480 = _DAT_001241a0;\n          uRam0000000000126488 = uRam00000000001241a8;\n          _DAT_00126490 = _DAT_001241b0;\n          uRam0000000000126498 = uRam00000000001241b8;\n          _DAT_001264a0 = _DAT_001241c0;\n          uRam00000000001264a8 = uRam00000000001241c8;\n          _DAT_001264b0 = _DAT_001241d0;\n          uRam00000000001264b8 = uRam00000000001241d8;\n          _DAT_00126444 = (undefined4)(DAT_00124160 >> 0x20);\n          if ((short)DAT_00124160 == 2) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,2);\n            uVar1 = _DAT_00126440;\n          }\n          else if ((short)DAT_00124160 == 10) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,10);\n            uVar1 = _DAT_00126440;\n          }\n          goto LAB_0010c540;\n        }\n        puts("Extended passive mode scan failure. Should not happen!");\n        FUN_0010bb32(&DAT_0011a479);\n      }\n      else {\n        iVar4 = FUN_0010bb32(&DAT_0011a45a);\n        if (iVar4 == 2) goto LAB_0010c62c;\n        puts("Passive mode refused.");\n      }\n      goto LAB_0010c703;\n    }\nLAB_0010c499:\n    if (DAT_00124200 == 2) {\n      iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u",&local_b0,&local_ac,&local_a8,local_a4,\n                     local_a0,local_9c);\n      if (iVar4 == 6) {\n        _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2);\n        _DAT_00126440 =\n             CONCAT44(local_b0 & 0xff | ((local_ac & 0xff) << 0x10) >> 8 | (local_a8 & 0xff) << 0x10\n                      | (uint)local_a4[0] << 0x18,_DAT_00126440);\n        uVar1 = _DAT_00126440;\nLAB_0010c540:\n        _DAT_00126440 = uVar1;\n        iVar4 = connect(DAT_001216e0,(sockaddr *)&DAT_00126440,DAT_001264c0);\n        if (-1 < iVar4) {\n          local_b4 = 8;\n          bVar7 = false;\n          if (DAT_00126440 == 2) {\n            iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);\n            if (iVar4 < 0) {\n              perror("ftp: setsockopt TOS (ignored)");\n            }\n          }\n          goto LAB_0010ca2b;\n        }\n        perror("ftp: connect");\n      }\n      else {\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n      }\n    }\n    else {\n      puts("Passive mode address scan failure. Shouldn\'t happen!");\n    }\n  }" if (parenthesized_expression "(DAT_00124200 == 2)" ( (binary_expression "DAT_00124200 == 2" identifier == number_literal) )) (compound_statement "{\n    if (DAT_001266e0 != 0) {\n      iVar4 = FUN_0010bb32(&DAT_0011a450);\n      if (iVar4 == 2) goto LAB_0010c336;\n      if (DAT_001266e0 != 0) {\n        DAT_001266e0 = 0;\n      }\n    }\n    iVar4 = FUN_0010bb32(&DAT_0011a455);\n    if (iVar4 == 2) goto LAB_0010c499;\n    iVar4 = FUN_0010bb32(&DAT_0011a45a);\n    if (iVar4 == 2) {\nLAB_0010c62c:\n      if (DAT_00124200 == 2) {\n        iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u,%u,%u,%u",&local_94,&local_90,local_88,\n                       local_88 + 1,local_88 + 2,local_88 + 3,&local_8c,local_a0,local_9c);\n        if ((((iVar4 == 9) && (local_94 == 4)) && (local_90 == 4)) && (local_8c == 2)) {\n          puVar5 = local_88;\n          do {\n            *puVar5 = *puVar5 & 0xff;\n            puVar5 = puVar5 + 1;\n          } while (puVar5 != local_88 + 4);\n          _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2);\n          uVar2 = local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3] | local_88[2] << 8;\n          _DAT_00126440 =\n               CONCAT44(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                        local_88[3] << 0x18,_DAT_00126440);\n          uVar1 = _DAT_00126440;\n          goto LAB_0010c540;\n        }\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n        goto LAB_0010c703;\n      }\n      iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u",\n                     &local_94,&local_90,local_88,local_88 + 1,local_88 + 2,local_88 + 3,\n                     local_88 + 4,local_88 + 5,local_88 + 6,local_88 + 7,local_88 + 8,local_88 + 9,\n                     local_88 + 10,local_88 + 0xb,local_88 + 0xc,local_88 + 0xd,local_88 + 0xe,\n                     local_88 + 0xf,&local_8c,local_a0,local_9c);\n      if (((iVar4 != 0x15) || (local_94 != 6)) || ((local_90 != 0x10 || (local_8c != 2)))) {\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n        goto LAB_0010c703;\n      }\n      puVar5 = local_88;\n      do {\n        *puVar5 = *puVar5 & 0xff;\n        puVar5 = puVar5 + 1;\n      } while (puVar5 != local_48);\n      _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,10);\n      uVar2 = local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3] | local_88[2] << 8;\n      uVar3 = local_88[4] << 0x18 | local_88[5] << 0x10 | local_88[7] | local_88[6] << 8;\n      _DAT_00126448 =\n           CONCAT44(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                    local_88[7] << 0x18,\n                    uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                    local_88[3] << 0x18);\n      uVar2 = local_88[8] << 0x18 | local_88[9] << 0x10 | local_88[0xb] | local_88[10] << 8;\n      uVar3 = local_88[0xc] << 0x18 | local_88[0xd] << 0x10 | local_88[0xf] | local_88[0xe] << 8;\n      _DAT_00126450 =\n           CONCAT44(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                    local_88[0xf] << 0x18,\n                    uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                    local_88[0xb] << 0x18);\n      uVar1 = _DAT_00126440;\n      goto LAB_0010c540;\n    }\n    puts("Passive mode refused.");\n  }" { (if_statement "if (DAT_001266e0 != 0) {\n      iVar4 = FUN_0010bb32(&DAT_0011a450);\n      if (iVar4 == 2) goto LAB_0010c336;\n      if (DAT_001266e0 != 0) {\n        DAT_001266e0 = 0;\n      }\n    }" if (parenthesized_expression "(DAT_001266e0 != 0)" ( (binary_expression "DAT_001266e0 != 0" identifier != number_literal) )) (compound_statement "{\n      iVar4 = FUN_0010bb32(&DAT_0011a450);\n      if (iVar4 == 2) goto LAB_0010c336;\n      if (DAT_001266e0 != 0) {\n        DAT_001266e0 = 0;\n      }\n    }" { (expression_statement "iVar4 = FUN_0010bb32(&DAT_0011a450);" (assignment_expression "iVar4 = FUN_0010bb32(&DAT_0011a450)" identifier = (call_expression "FUN_0010bb32(&DAT_0011a450)" identifier (argument_list "(&DAT_0011a450)" ( (pointer_expression "&DAT_0011a450" & identifier) )))) ;) (if_statement "if (iVar4 == 2) goto LAB_0010c336;" if (parenthesized_expression "(iVar4 == 2)" ( (binary_expression "iVar4 == 2" identifier == number_literal) )) (goto_statement "goto LAB_0010c336;" goto statement_identifier ;)) (if_statement "if (DAT_001266e0 != 0) {\n        DAT_001266e0 = 0;\n      }" if (parenthesized_expression "(DAT_001266e0 != 0)" ( (binary_expression "DAT_001266e0 != 0" identifier != number_literal) )) (compound_statement "{\n        DAT_001266e0 = 0;\n      }" { (expression_statement "DAT_001266e0 = 0;" (assignment_expression "DAT_001266e0 = 0" identifier = number_literal) ;) })) })) (expression_statement "iVar4 = FUN_0010bb32(&DAT_0011a455);" (assignment_expression "iVar4 = FUN_0010bb32(&DAT_0011a455)" identifier = (call_expression "FUN_0010bb32(&DAT_0011a455)" identifier (argument_list "(&DAT_0011a455)" ( (pointer_expression "&DAT_0011a455" & identifier) )))) ;) (if_statement "if (iVar4 == 2) goto LAB_0010c499;" if (parenthesized_expression "(iVar4 == 2)" ( (binary_expression "iVar4 == 2" identifier == number_literal) )) (goto_statement "goto LAB_0010c499;" goto statement_identifier ;)) (expression_statement "iVar4 = FUN_0010bb32(&DAT_0011a45a);" (assignment_expression "iVar4 = FUN_0010bb32(&DAT_0011a45a)" identifier = (call_expression "FUN_0010bb32(&DAT_0011a45a)" identifier (argument_list "(&DAT_0011a45a)" ( (pointer_expression "&DAT_0011a45a" & identifier) )))) ;) (if_statement "if (iVar4 == 2) {\nLAB_0010c62c:\n      if (DAT_00124200 == 2) {\n        iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u,%u,%u,%u",&local_94,&local_90,local_88,\n                       local_88 + 1,local_88 + 2,local_88 + 3,&local_8c,local_a0,local_9c);\n        if ((((iVar4 == 9) && (local_94 == 4)) && (local_90 == 4)) && (local_8c == 2)) {\n          puVar5 = local_88;\n          do {\n            *puVar5 = *puVar5 & 0xff;\n            puVar5 = puVar5 + 1;\n          } while (puVar5 != local_88 + 4);\n          _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2);\n          uVar2 = local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3] | local_88[2] << 8;\n          _DAT_00126440 =\n               CONCAT44(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                        local_88[3] << 0x18,_DAT_00126440);\n          uVar1 = _DAT_00126440;\n          goto LAB_0010c540;\n        }\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n        goto LAB_0010c703;\n      }\n      iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u",\n                     &local_94,&local_90,local_88,local_88 + 1,local_88 + 2,local_88 + 3,\n                     local_88 + 4,local_88 + 5,local_88 + 6,local_88 + 7,local_88 + 8,local_88 + 9,\n                     local_88 + 10,local_88 + 0xb,local_88 + 0xc,local_88 + 0xd,local_88 + 0xe,\n                     local_88 + 0xf,&local_8c,local_a0,local_9c);\n      if (((iVar4 != 0x15) || (local_94 != 6)) || ((local_90 != 0x10 || (local_8c != 2)))) {\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n        goto LAB_0010c703;\n      }\n      puVar5 = local_88;\n      do {\n        *puVar5 = *puVar5 & 0xff;\n        puVar5 = puVar5 + 1;\n      } while (puVar5 != local_48);\n      _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,10);\n      uVar2 = local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3] | local_88[2] << 8;\n      uVar3 = local_88[4] << 0x18 | local_88[5] << 0x10 | local_88[7] | local_88[6] << 8;\n      _DAT_00126448 =\n           CONCAT44(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                    local_88[7] << 0x18,\n                    uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                    local_88[3] << 0x18);\n      uVar2 = local_88[8] << 0x18 | local_88[9] << 0x10 | local_88[0xb] | local_88[10] << 8;\n      uVar3 = local_88[0xc] << 0x18 | local_88[0xd] << 0x10 | local_88[0xf] | local_88[0xe] << 8;\n      _DAT_00126450 =\n           CONCAT44(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                    local_88[0xf] << 0x18,\n                    uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                    local_88[0xb] << 0x18);\n      uVar1 = _DAT_00126440;\n      goto LAB_0010c540;\n    }" if (parenthesized_expression "(iVar4 == 2)" ( (binary_expression "iVar4 == 2" identifier == number_literal) )) (compound_statement "{\nLAB_0010c62c:\n      if (DAT_00124200 == 2) {\n        iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u,%u,%u,%u",&local_94,&local_90,local_88,\n                       local_88 + 1,local_88 + 2,local_88 + 3,&local_8c,local_a0,local_9c);\n        if ((((iVar4 == 9) && (local_94 == 4)) && (local_90 == 4)) && (local_8c == 2)) {\n          puVar5 = local_88;\n          do {\n            *puVar5 = *puVar5 & 0xff;\n            puVar5 = puVar5 + 1;\n          } while (puVar5 != local_88 + 4);\n          _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2);\n          uVar2 = local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3] | local_88[2] << 8;\n          _DAT_00126440 =\n               CONCAT44(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                        local_88[3] << 0x18,_DAT_00126440);\n          uVar1 = _DAT_00126440;\n          goto LAB_0010c540;\n        }\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n        goto LAB_0010c703;\n      }\n      iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u",\n                     &local_94,&local_90,local_88,local_88 + 1,local_88 + 2,local_88 + 3,\n                     local_88 + 4,local_88 + 5,local_88 + 6,local_88 + 7,local_88 + 8,local_88 + 9,\n                     local_88 + 10,local_88 + 0xb,local_88 + 0xc,local_88 + 0xd,local_88 + 0xe,\n                     local_88 + 0xf,&local_8c,local_a0,local_9c);\n      if (((iVar4 != 0x15) || (local_94 != 6)) || ((local_90 != 0x10 || (local_8c != 2)))) {\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n        goto LAB_0010c703;\n      }\n      puVar5 = local_88;\n      do {\n        *puVar5 = *puVar5 & 0xff;\n        puVar5 = puVar5 + 1;\n      } while (puVar5 != local_48);\n      _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,10);\n      uVar2 = local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3] | local_88[2] << 8;\n      uVar3 = local_88[4] << 0x18 | local_88[5] << 0x10 | local_88[7] | local_88[6] << 8;\n      _DAT_00126448 =\n           CONCAT44(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                    local_88[7] << 0x18,\n                    uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                    local_88[3] << 0x18);\n      uVar2 = local_88[8] << 0x18 | local_88[9] << 0x10 | local_88[0xb] | local_88[10] << 8;\n      uVar3 = local_88[0xc] << 0x18 | local_88[0xd] << 0x10 | local_88[0xf] | local_88[0xe] << 8;\n      _DAT_00126450 =\n           CONCAT44(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                    local_88[0xf] << 0x18,\n                    uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                    local_88[0xb] << 0x18);\n      uVar1 = _DAT_00126440;\n      goto LAB_0010c540;\n    }" { (labeled_statement "LAB_0010c62c:\n      if (DAT_00124200 == 2) {\n        iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u,%u,%u,%u",&local_94,&local_90,local_88,\n                       local_88 + 1,local_88 + 2,local_88 + 3,&local_8c,local_a0,local_9c);\n        if ((((iVar4 == 9) && (local_94 == 4)) && (local_90 == 4)) && (local_8c == 2)) {\n          puVar5 = local_88;\n          do {\n            *puVar5 = *puVar5 & 0xff;\n            puVar5 = puVar5 + 1;\n          } while (puVar5 != local_88 + 4);\n          _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2);\n          uVar2 = local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3] | local_88[2] << 8;\n          _DAT_00126440 =\n               CONCAT44(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                        local_88[3] << 0x18,_DAT_00126440);\n          uVar1 = _DAT_00126440;\n          goto LAB_0010c540;\n        }\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n        goto LAB_0010c703;\n      }" statement_identifier : (if_statement "if (DAT_00124200 == 2) {\n        iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u,%u,%u,%u",&local_94,&local_90,local_88,\n                       local_88 + 1,local_88 + 2,local_88 + 3,&local_8c,local_a0,local_9c);\n        if ((((iVar4 == 9) && (local_94 == 4)) && (local_90 == 4)) && (local_8c == 2)) {\n          puVar5 = local_88;\n          do {\n            *puVar5 = *puVar5 & 0xff;\n            puVar5 = puVar5 + 1;\n          } while (puVar5 != local_88 + 4);\n          _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2);\n          uVar2 = local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3] | local_88[2] << 8;\n          _DAT_00126440 =\n               CONCAT44(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                        local_88[3] << 0x18,_DAT_00126440);\n          uVar1 = _DAT_00126440;\n          goto LAB_0010c540;\n        }\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n        goto LAB_0010c703;\n      }" if (parenthesized_expression "(DAT_00124200 == 2)" ( (binary_expression "DAT_00124200 == 2" identifier == number_literal) )) (compound_statement "{\n        iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u,%u,%u,%u",&local_94,&local_90,local_88,\n                       local_88 + 1,local_88 + 2,local_88 + 3,&local_8c,local_a0,local_9c);\n        if ((((iVar4 == 9) && (local_94 == 4)) && (local_90 == 4)) && (local_8c == 2)) {\n          puVar5 = local_88;\n          do {\n            *puVar5 = *puVar5 & 0xff;\n            puVar5 = puVar5 + 1;\n          } while (puVar5 != local_88 + 4);\n          _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2);\n          uVar2 = local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3] | local_88[2] << 8;\n          _DAT_00126440 =\n               CONCAT44(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                        local_88[3] << 0x18,_DAT_00126440);\n          uVar1 = _DAT_00126440;\n          goto LAB_0010c540;\n        }\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n        goto LAB_0010c703;\n      }" { (expression_statement "iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u,%u,%u,%u",&local_94,&local_90,local_88,\n                       local_88 + 1,local_88 + 2,local_88 + 3,&local_8c,local_a0,local_9c);" (assignment_expression "iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u,%u,%u,%u",&local_94,&local_90,local_88,\n                       local_88 + 1,local_88 + 2,local_88 + 3,&local_8c,local_a0,local_9c)" identifier = (call_expression "sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u,%u,%u,%u",&local_94,&local_90,local_88,\n                       local_88 + 1,local_88 + 2,local_88 + 3,&local_8c,local_a0,local_9c)" identifier (argument_list "(&DAT_00127a80,"%u,%u,%u,%u,%u,%u,%u,%u,%u",&local_94,&local_90,local_88,\n                       local_88 + 1,local_88 + 2,local_88 + 3,&local_8c,local_a0,local_9c)" ( (pointer_expression "&DAT_00127a80" & identifier) , (string_literal ""%u,%u,%u,%u,%u,%u,%u,%u,%u"" " string_content ") , (pointer_expression "&local_94" & identifier) , (pointer_expression "&local_90" & identifier) , identifier , (binary_expression "local_88 + 1" identifier + number_literal) , (binary_expression "local_88 + 2" identifier + number_literal) , (binary_expression "local_88 + 3" identifier + number_literal) , (pointer_expression "&local_8c" & identifier) , identifier , identifier )))) ;) (if_statement "if ((((iVar4 == 9) && (local_94 == 4)) && (local_90 == 4)) && (local_8c == 2)) {\n          puVar5 = local_88;\n          do {\n            *puVar5 = *puVar5 & 0xff;\n            puVar5 = puVar5 + 1;\n          } while (puVar5 != local_88 + 4);\n          _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2);\n          uVar2 = local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3] | local_88[2] << 8;\n          _DAT_00126440 =\n               CONCAT44(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                        local_88[3] << 0x18,_DAT_00126440);\n          uVar1 = _DAT_00126440;\n          goto LAB_0010c540;\n        }" if (parenthesized_expression "((((iVar4 == 9) && (local_94 == 4)) && (local_90 == 4)) && (local_8c == 2))" ( (binary_expression "(((iVar4 == 9) && (local_94 == 4)) && (local_90 == 4)) && (local_8c == 2)" (parenthesized_expression "(((iVar4 == 9) && (local_94 == 4)) && (local_90 == 4))" ( (binary_expression "((iVar4 == 9) && (local_94 == 4)) && (local_90 == 4)" (parenthesized_expression "((iVar4 == 9) && (local_94 == 4))" ( (binary_expression "(iVar4 == 9) && (local_94 == 4)" (parenthesized_expression "(iVar4 == 9)" ( (binary_expression "iVar4 == 9" identifier == number_literal) )) && (parenthesized_expression "(local_94 == 4)" ( (binary_expression "local_94 == 4" identifier == number_literal) ))) )) && (parenthesized_expression "(local_90 == 4)" ( (binary_expression "local_90 == 4" identifier == number_literal) ))) )) && (parenthesized_expression "(local_8c == 2)" ( (binary_expression "local_8c == 2" identifier == number_literal) ))) )) (compound_statement "{\n          puVar5 = local_88;\n          do {\n            *puVar5 = *puVar5 & 0xff;\n            puVar5 = puVar5 + 1;\n          } while (puVar5 != local_88 + 4);\n          _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2);\n          uVar2 = local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3] | local_88[2] << 8;\n          _DAT_00126440 =\n               CONCAT44(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                        local_88[3] << 0x18,_DAT_00126440);\n          uVar1 = _DAT_00126440;\n          goto LAB_0010c540;\n        }" { (expression_statement "puVar5 = local_88;" (assignment_expression "puVar5 = local_88" identifier = identifier) ;) (do_statement "do {\n            *puVar5 = *puVar5 & 0xff;\n            puVar5 = puVar5 + 1;\n          } while (puVar5 != local_88 + 4);" do (compound_statement "{\n            *puVar5 = *puVar5 & 0xff;\n            puVar5 = puVar5 + 1;\n          }" { (expression_statement "*puVar5 = *puVar5 & 0xff;" (assignment_expression "*puVar5 = *puVar5 & 0xff" (pointer_expression "*puVar5" * identifier) = (binary_expression "*puVar5 & 0xff" (pointer_expression "*puVar5" * identifier) & number_literal)) ;) (expression_statement "puVar5 = puVar5 + 1;" (assignment_expression "puVar5 = puVar5 + 1" identifier = (binary_expression "puVar5 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar5 != local_88 + 4)" ( (binary_expression "puVar5 != local_88 + 4" identifier != (binary_expression "local_88 + 4" identifier + number_literal)) )) ;) (expression_statement "_DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2);" (assignment_expression "_DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2)" identifier = (call_expression "CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2)" identifier (argument_list "((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2)" ( (binary_expression "(ushort)local_9c[0] << 8 | local_a0[0] & 0xff" (binary_expression "(ushort)local_9c[0] << 8" (cast_expression "(ushort)local_9c[0]" ( (type_descriptor "ushort" type_identifier) ) (subscript_expression "local_9c[0]" identifier [ number_literal ])) << number_literal) | (binary_expression "local_a0[0] & 0xff" (subscript_expression "local_a0[0]" identifier [ number_literal ]) & number_literal)) , number_literal )))) ;) (expression_statement "uVar2 = local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3] | local_88[2] << 8;" (assignment_expression "uVar2 = local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3] | local_88[2] << 8" identifier = (binary_expression "local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3] | local_88[2] << 8" (binary_expression "local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3]" (binary_expression "local_88[0] << 0x18 | local_88[1] << 0x10" (binary_expression "local_88[0] << 0x18" (subscript_expression "local_88[0]" identifier [ number_literal ]) << number_literal) | (binary_expression "local_88[1] << 0x10" (subscript_expression "local_88[1]" identifier [ number_literal ]) << number_literal)) | (subscript_expression "local_88[3]" identifier [ number_literal ])) | (binary_expression "local_88[2] << 8" (subscript_expression "local_88[2]" identifier [ number_literal ]) << number_literal))) ;) (expression_statement "_DAT_00126440 =\n               CONCAT44(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                        local_88[3] << 0x18,_DAT_00126440);" (assignment_expression "_DAT_00126440 =\n               CONCAT44(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                        local_88[3] << 0x18,_DAT_00126440)" identifier = (call_expression "CONCAT44(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                        local_88[3] << 0x18,_DAT_00126440)" identifier (argument_list "(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                        local_88[3] << 0x18,_DAT_00126440)" ( (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                        local_88[3] << 0x18" (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8" (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8" (binary_expression "uVar2 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar2 & 0xff0000) >> 8" (parenthesized_expression "(uVar2 & 0xff0000)" ( (binary_expression "uVar2 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar2 & 0xff00) << 8" (parenthesized_expression "(uVar2 & 0xff00)" ( (binary_expression "uVar2 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "local_88[3] << 0x18" (subscript_expression "local_88[3]" identifier [ number_literal ]) << number_literal)) , identifier )))) ;) (expression_statement "uVar1 = _DAT_00126440;" (assignment_expression "uVar1 = _DAT_00126440" identifier = identifier) ;) (goto_statement "goto LAB_0010c540;" goto statement_identifier ;) })) (expression_statement "puts("Passive mode address scan failure. Shouldn\'t happen!");" (call_expression "puts("Passive mode address scan failure. Shouldn\'t happen!")" identifier (argument_list "("Passive mode address scan failure. Shouldn\'t happen!")" ( (string_literal ""Passive mode address scan failure. Shouldn\'t happen!"" " string_content escape_sequence string_content ") ))) ;) (expression_statement "FUN_0010bb32(&DAT_0011a479);" (call_expression "FUN_0010bb32(&DAT_0011a479)" identifier (argument_list "(&DAT_0011a479)" ( (pointer_expression "&DAT_0011a479" & identifier) ))) ;) (goto_statement "goto LAB_0010c703;" goto statement_identifier ;) }))) (expression_statement "iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u",\n                     &local_94,&local_90,local_88,local_88 + 1,local_88 + 2,local_88 + 3,\n                     local_88 + 4,local_88 + 5,local_88 + 6,local_88 + 7,local_88 + 8,local_88 + 9,\n                     local_88 + 10,local_88 + 0xb,local_88 + 0xc,local_88 + 0xd,local_88 + 0xe,\n                     local_88 + 0xf,&local_8c,local_a0,local_9c);" (assignment_expression "iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u",\n                     &local_94,&local_90,local_88,local_88 + 1,local_88 + 2,local_88 + 3,\n                     local_88 + 4,local_88 + 5,local_88 + 6,local_88 + 7,local_88 + 8,local_88 + 9,\n                     local_88 + 10,local_88 + 0xb,local_88 + 0xc,local_88 + 0xd,local_88 + 0xe,\n                     local_88 + 0xf,&local_8c,local_a0,local_9c)" identifier = (call_expression "sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u",\n                     &local_94,&local_90,local_88,local_88 + 1,local_88 + 2,local_88 + 3,\n                     local_88 + 4,local_88 + 5,local_88 + 6,local_88 + 7,local_88 + 8,local_88 + 9,\n                     local_88 + 10,local_88 + 0xb,local_88 + 0xc,local_88 + 0xd,local_88 + 0xe,\n                     local_88 + 0xf,&local_8c,local_a0,local_9c)" identifier (argument_list "(&DAT_00127a80,"%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u",\n                     &local_94,&local_90,local_88,local_88 + 1,local_88 + 2,local_88 + 3,\n                     local_88 + 4,local_88 + 5,local_88 + 6,local_88 + 7,local_88 + 8,local_88 + 9,\n                     local_88 + 10,local_88 + 0xb,local_88 + 0xc,local_88 + 0xd,local_88 + 0xe,\n                     local_88 + 0xf,&local_8c,local_a0,local_9c)" ( (pointer_expression "&DAT_00127a80" & identifier) , (string_literal ""%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u"" " string_content ") , (pointer_expression "&local_94" & identifier) , (pointer_expression "&local_90" & identifier) , identifier , (binary_expression "local_88 + 1" identifier + number_literal) , (binary_expression "local_88 + 2" identifier + number_literal) , (binary_expression "local_88 + 3" identifier + number_literal) , (binary_expression "local_88 + 4" identifier + number_literal) , (binary_expression "local_88 + 5" identifier + number_literal) , (binary_expression "local_88 + 6" identifier + number_literal) , (binary_expression "local_88 + 7" identifier + number_literal) , (binary_expression "local_88 + 8" identifier + number_literal) , (binary_expression "local_88 + 9" identifier + number_literal) , (binary_expression "local_88 + 10" identifier + number_literal) , (binary_expression "local_88 + 0xb" identifier + number_literal) , (binary_expression "local_88 + 0xc" identifier + number_literal) , (binary_expression "local_88 + 0xd" identifier + number_literal) , (binary_expression "local_88 + 0xe" identifier + number_literal) , (binary_expression "local_88 + 0xf" identifier + number_literal) , (pointer_expression "&local_8c" & identifier) , identifier , identifier )))) ;) (if_statement "if (((iVar4 != 0x15) || (local_94 != 6)) || ((local_90 != 0x10 || (local_8c != 2)))) {\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n        goto LAB_0010c703;\n      }" if (parenthesized_expression "(((iVar4 != 0x15) || (local_94 != 6)) || ((local_90 != 0x10 || (local_8c != 2))))" ( (binary_expression "((iVar4 != 0x15) || (local_94 != 6)) || ((local_90 != 0x10 || (local_8c != 2)))" (parenthesized_expression "((iVar4 != 0x15) || (local_94 != 6))" ( (binary_expression "(iVar4 != 0x15) || (local_94 != 6)" (parenthesized_expression "(iVar4 != 0x15)" ( (binary_expression "iVar4 != 0x15" identifier != number_literal) )) || (parenthesized_expression "(local_94 != 6)" ( (binary_expression "local_94 != 6" identifier != number_literal) ))) )) || (parenthesized_expression "((local_90 != 0x10 || (local_8c != 2)))" ( (parenthesized_expression "(local_90 != 0x10 || (local_8c != 2))" ( (binary_expression "local_90 != 0x10 || (local_8c != 2)" (binary_expression "local_90 != 0x10" identifier != number_literal) || (parenthesized_expression "(local_8c != 2)" ( (binary_expression "local_8c != 2" identifier != number_literal) ))) )) ))) )) (compound_statement "{\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n        goto LAB_0010c703;\n      }" { (expression_statement "puts("Passive mode address scan failure. Shouldn\'t happen!");" (call_expression "puts("Passive mode address scan failure. Shouldn\'t happen!")" identifier (argument_list "("Passive mode address scan failure. Shouldn\'t happen!")" ( (string_literal ""Passive mode address scan failure. Shouldn\'t happen!"" " string_content escape_sequence string_content ") ))) ;) (expression_statement "FUN_0010bb32(&DAT_0011a479);" (call_expression "FUN_0010bb32(&DAT_0011a479)" identifier (argument_list "(&DAT_0011a479)" ( (pointer_expression "&DAT_0011a479" & identifier) ))) ;) (goto_statement "goto LAB_0010c703;" goto statement_identifier ;) })) (expression_statement "puVar5 = local_88;" (assignment_expression "puVar5 = local_88" identifier = identifier) ;) (do_statement "do {\n        *puVar5 = *puVar5 & 0xff;\n        puVar5 = puVar5 + 1;\n      } while (puVar5 != local_48);" do (compound_statement "{\n        *puVar5 = *puVar5 & 0xff;\n        puVar5 = puVar5 + 1;\n      }" { (expression_statement "*puVar5 = *puVar5 & 0xff;" (assignment_expression "*puVar5 = *puVar5 & 0xff" (pointer_expression "*puVar5" * identifier) = (binary_expression "*puVar5 & 0xff" (pointer_expression "*puVar5" * identifier) & number_literal)) ;) (expression_statement "puVar5 = puVar5 + 1;" (assignment_expression "puVar5 = puVar5 + 1" identifier = (binary_expression "puVar5 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar5 != local_48)" ( (binary_expression "puVar5 != local_48" identifier != identifier) )) ;) (expression_statement "_DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,10);" (assignment_expression "_DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,10)" identifier = (call_expression "CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,10)" identifier (argument_list "((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,10)" ( (binary_expression "(ushort)local_9c[0] << 8 | local_a0[0] & 0xff" (binary_expression "(ushort)local_9c[0] << 8" (cast_expression "(ushort)local_9c[0]" ( (type_descriptor "ushort" type_identifier) ) (subscript_expression "local_9c[0]" identifier [ number_literal ])) << number_literal) | (binary_expression "local_a0[0] & 0xff" (subscript_expression "local_a0[0]" identifier [ number_literal ]) & number_literal)) , number_literal )))) ;) (expression_statement "uVar2 = local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3] | local_88[2] << 8;" (assignment_expression "uVar2 = local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3] | local_88[2] << 8" identifier = (binary_expression "local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3] | local_88[2] << 8" (binary_expression "local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3]" (binary_expression "local_88[0] << 0x18 | local_88[1] << 0x10" (binary_expression "local_88[0] << 0x18" (subscript_expression "local_88[0]" identifier [ number_literal ]) << number_literal) | (binary_expression "local_88[1] << 0x10" (subscript_expression "local_88[1]" identifier [ number_literal ]) << number_literal)) | (subscript_expression "local_88[3]" identifier [ number_literal ])) | (binary_expression "local_88[2] << 8" (subscript_expression "local_88[2]" identifier [ number_literal ]) << number_literal))) ;) (expression_statement "uVar3 = local_88[4] << 0x18 | local_88[5] << 0x10 | local_88[7] | local_88[6] << 8;" (assignment_expression "uVar3 = local_88[4] << 0x18 | local_88[5] << 0x10 | local_88[7] | local_88[6] << 8" identifier = (binary_expression "local_88[4] << 0x18 | local_88[5] << 0x10 | local_88[7] | local_88[6] << 8" (binary_expression "local_88[4] << 0x18 | local_88[5] << 0x10 | local_88[7]" (binary_expression "local_88[4] << 0x18 | local_88[5] << 0x10" (binary_expression "local_88[4] << 0x18" (subscript_expression "local_88[4]" identifier [ number_literal ]) << number_literal) | (binary_expression "local_88[5] << 0x10" (subscript_expression "local_88[5]" identifier [ number_literal ]) << number_literal)) | (subscript_expression "local_88[7]" identifier [ number_literal ])) | (binary_expression "local_88[6] << 8" (subscript_expression "local_88[6]" identifier [ number_literal ]) << number_literal))) ;) (expression_statement "_DAT_00126448 =\n           CONCAT44(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                    local_88[7] << 0x18,\n                    uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                    local_88[3] << 0x18);" (assignment_expression "_DAT_00126448 =\n           CONCAT44(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                    local_88[7] << 0x18,\n                    uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                    local_88[3] << 0x18)" identifier = (call_expression "CONCAT44(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                    local_88[7] << 0x18,\n                    uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                    local_88[3] << 0x18)" identifier (argument_list "(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                    local_88[7] << 0x18,\n                    uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                    local_88[3] << 0x18)" ( (binary_expression "uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                    local_88[7] << 0x18" (binary_expression "uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8" (binary_expression "uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8" (binary_expression "uVar3 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar3 & 0xff0000) >> 8" (parenthesized_expression "(uVar3 & 0xff0000)" ( (binary_expression "uVar3 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar3 & 0xff00) << 8" (parenthesized_expression "(uVar3 & 0xff00)" ( (binary_expression "uVar3 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "local_88[7] << 0x18" (subscript_expression "local_88[7]" identifier [ number_literal ]) << number_literal)) , (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                    local_88[3] << 0x18" (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8" (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8" (binary_expression "uVar2 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar2 & 0xff0000) >> 8" (parenthesized_expression "(uVar2 & 0xff0000)" ( (binary_expression "uVar2 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar2 & 0xff00) << 8" (parenthesized_expression "(uVar2 & 0xff00)" ( (binary_expression "uVar2 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "local_88[3] << 0x18" (subscript_expression "local_88[3]" identifier [ number_literal ]) << number_literal)) )))) ;) (expression_statement "uVar2 = local_88[8] << 0x18 | local_88[9] << 0x10 | local_88[0xb] | local_88[10] << 8;" (assignment_expression "uVar2 = local_88[8] << 0x18 | local_88[9] << 0x10 | local_88[0xb] | local_88[10] << 8" identifier = (binary_expression "local_88[8] << 0x18 | local_88[9] << 0x10 | local_88[0xb] | local_88[10] << 8" (binary_expression "local_88[8] << 0x18 | local_88[9] << 0x10 | local_88[0xb]" (binary_expression "local_88[8] << 0x18 | local_88[9] << 0x10" (binary_expression "local_88[8] << 0x18" (subscript_expression "local_88[8]" identifier [ number_literal ]) << number_literal) | (binary_expression "local_88[9] << 0x10" (subscript_expression "local_88[9]" identifier [ number_literal ]) << number_literal)) | (subscript_expression "local_88[0xb]" identifier [ number_literal ])) | (binary_expression "local_88[10] << 8" (subscript_expression "local_88[10]" identifier [ number_literal ]) << number_literal))) ;) (expression_statement "uVar3 = local_88[0xc] << 0x18 | local_88[0xd] << 0x10 | local_88[0xf] | local_88[0xe] << 8;" (assignment_expression "uVar3 = local_88[0xc] << 0x18 | local_88[0xd] << 0x10 | local_88[0xf] | local_88[0xe] << 8" identifier = (binary_expression "local_88[0xc] << 0x18 | local_88[0xd] << 0x10 | local_88[0xf] | local_88[0xe] << 8" (binary_expression "local_88[0xc] << 0x18 | local_88[0xd] << 0x10 | local_88[0xf]" (binary_expression "local_88[0xc] << 0x18 | local_88[0xd] << 0x10" (binary_expression "local_88[0xc] << 0x18" (subscript_expression "local_88[0xc]" identifier [ number_literal ]) << number_literal) | (binary_expression "local_88[0xd] << 0x10" (subscript_expression "local_88[0xd]" identifier [ number_literal ]) << number_literal)) | (subscript_expression "local_88[0xf]" identifier [ number_literal ])) | (binary_expression "local_88[0xe] << 8" (subscript_expression "local_88[0xe]" identifier [ number_literal ]) << number_literal))) ;) (expression_statement "_DAT_00126450 =\n           CONCAT44(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                    local_88[0xf] << 0x18,\n                    uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                    local_88[0xb] << 0x18);" (assignment_expression "_DAT_00126450 =\n           CONCAT44(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                    local_88[0xf] << 0x18,\n                    uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                    local_88[0xb] << 0x18)" identifier = (call_expression "CONCAT44(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                    local_88[0xf] << 0x18,\n                    uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                    local_88[0xb] << 0x18)" identifier (argument_list "(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                    local_88[0xf] << 0x18,\n                    uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                    local_88[0xb] << 0x18)" ( (binary_expression "uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                    local_88[0xf] << 0x18" (binary_expression "uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8" (binary_expression "uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8" (binary_expression "uVar3 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar3 & 0xff0000) >> 8" (parenthesized_expression "(uVar3 & 0xff0000)" ( (binary_expression "uVar3 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar3 & 0xff00) << 8" (parenthesized_expression "(uVar3 & 0xff00)" ( (binary_expression "uVar3 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "local_88[0xf] << 0x18" (subscript_expression "local_88[0xf]" identifier [ number_literal ]) << number_literal)) , (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                    local_88[0xb] << 0x18" (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8" (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8" (binary_expression "uVar2 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar2 & 0xff0000) >> 8" (parenthesized_expression "(uVar2 & 0xff0000)" ( (binary_expression "uVar2 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar2 & 0xff00) << 8" (parenthesized_expression "(uVar2 & 0xff00)" ( (binary_expression "uVar2 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "local_88[0xb] << 0x18" (subscript_expression "local_88[0xb]" identifier [ number_literal ]) << number_literal)) )))) ;) (expression_statement "uVar1 = _DAT_00126440;" (assignment_expression "uVar1 = _DAT_00126440" identifier = identifier) ;) (goto_statement "goto LAB_0010c540;" goto statement_identifier ;) })) (expression_statement "puts("Passive mode refused.");" (call_expression "puts("Passive mode refused.")" identifier (argument_list "("Passive mode refused.")" ( (string_literal ""Passive mode refused."" " string_content ") ))) ;) }) (else_clause "else {\n    if (DAT_00124200 == 10) {\n      iVar4 = FUN_0010bb32(&DAT_0011a450);\n      if (iVar4 == 2) {\nLAB_0010c336:\n        iVar4 = sscanf(&DAT_00127a80,"%u|",local_98);\n        if (iVar4 == 1) {\n          _DAT_00126440 = DAT_00124160;\n          uVar1 = _DAT_00126440;\n          _DAT_00126448 = DAT_00124168;\n          _DAT_00126450 = _DAT_00124170;\n          uRam0000000000126458 = uRam0000000000124178;\n          _DAT_00126460 = _DAT_00124180;\n          uRam0000000000126468 = uRam0000000000124188;\n          _DAT_00126470 = _DAT_00124190;\n          uRam0000000000126478 = uRam0000000000124198;\n          _DAT_00126480 = _DAT_001241a0;\n          uRam0000000000126488 = uRam00000000001241a8;\n          _DAT_00126490 = _DAT_001241b0;\n          uRam0000000000126498 = uRam00000000001241b8;\n          _DAT_001264a0 = _DAT_001241c0;\n          uRam00000000001264a8 = uRam00000000001241c8;\n          _DAT_001264b0 = _DAT_001241d0;\n          uRam00000000001264b8 = uRam00000000001241d8;\n          _DAT_00126444 = (undefined4)(DAT_00124160 >> 0x20);\n          if ((short)DAT_00124160 == 2) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,2);\n            uVar1 = _DAT_00126440;\n          }\n          else if ((short)DAT_00124160 == 10) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,10);\n            uVar1 = _DAT_00126440;\n          }\n          goto LAB_0010c540;\n        }\n        puts("Extended passive mode scan failure. Should not happen!");\n        FUN_0010bb32(&DAT_0011a479);\n      }\n      else {\n        iVar4 = FUN_0010bb32(&DAT_0011a45a);\n        if (iVar4 == 2) goto LAB_0010c62c;\n        puts("Passive mode refused.");\n      }\n      goto LAB_0010c703;\n    }\nLAB_0010c499:\n    if (DAT_00124200 == 2) {\n      iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u",&local_b0,&local_ac,&local_a8,local_a4,\n                     local_a0,local_9c);\n      if (iVar4 == 6) {\n        _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2);\n        _DAT_00126440 =\n             CONCAT44(local_b0 & 0xff | ((local_ac & 0xff) << 0x10) >> 8 | (local_a8 & 0xff) << 0x10\n                      | (uint)local_a4[0] << 0x18,_DAT_00126440);\n        uVar1 = _DAT_00126440;\nLAB_0010c540:\n        _DAT_00126440 = uVar1;\n        iVar4 = connect(DAT_001216e0,(sockaddr *)&DAT_00126440,DAT_001264c0);\n        if (-1 < iVar4) {\n          local_b4 = 8;\n          bVar7 = false;\n          if (DAT_00126440 == 2) {\n            iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);\n            if (iVar4 < 0) {\n              perror("ftp: setsockopt TOS (ignored)");\n            }\n          }\n          goto LAB_0010ca2b;\n        }\n        perror("ftp: connect");\n      }\n      else {\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n      }\n    }\n    else {\n      puts("Passive mode address scan failure. Shouldn\'t happen!");\n    }\n  }" else (compound_statement "{\n    if (DAT_00124200 == 10) {\n      iVar4 = FUN_0010bb32(&DAT_0011a450);\n      if (iVar4 == 2) {\nLAB_0010c336:\n        iVar4 = sscanf(&DAT_00127a80,"%u|",local_98);\n        if (iVar4 == 1) {\n          _DAT_00126440 = DAT_00124160;\n          uVar1 = _DAT_00126440;\n          _DAT_00126448 = DAT_00124168;\n          _DAT_00126450 = _DAT_00124170;\n          uRam0000000000126458 = uRam0000000000124178;\n          _DAT_00126460 = _DAT_00124180;\n          uRam0000000000126468 = uRam0000000000124188;\n          _DAT_00126470 = _DAT_00124190;\n          uRam0000000000126478 = uRam0000000000124198;\n          _DAT_00126480 = _DAT_001241a0;\n          uRam0000000000126488 = uRam00000000001241a8;\n          _DAT_00126490 = _DAT_001241b0;\n          uRam0000000000126498 = uRam00000000001241b8;\n          _DAT_001264a0 = _DAT_001241c0;\n          uRam00000000001264a8 = uRam00000000001241c8;\n          _DAT_001264b0 = _DAT_001241d0;\n          uRam00000000001264b8 = uRam00000000001241d8;\n          _DAT_00126444 = (undefined4)(DAT_00124160 >> 0x20);\n          if ((short)DAT_00124160 == 2) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,2);\n            uVar1 = _DAT_00126440;\n          }\n          else if ((short)DAT_00124160 == 10) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,10);\n            uVar1 = _DAT_00126440;\n          }\n          goto LAB_0010c540;\n        }\n        puts("Extended passive mode scan failure. Should not happen!");\n        FUN_0010bb32(&DAT_0011a479);\n      }\n      else {\n        iVar4 = FUN_0010bb32(&DAT_0011a45a);\n        if (iVar4 == 2) goto LAB_0010c62c;\n        puts("Passive mode refused.");\n      }\n      goto LAB_0010c703;\n    }\nLAB_0010c499:\n    if (DAT_00124200 == 2) {\n      iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u",&local_b0,&local_ac,&local_a8,local_a4,\n                     local_a0,local_9c);\n      if (iVar4 == 6) {\n        _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2);\n        _DAT_00126440 =\n             CONCAT44(local_b0 & 0xff | ((local_ac & 0xff) << 0x10) >> 8 | (local_a8 & 0xff) << 0x10\n                      | (uint)local_a4[0] << 0x18,_DAT_00126440);\n        uVar1 = _DAT_00126440;\nLAB_0010c540:\n        _DAT_00126440 = uVar1;\n        iVar4 = connect(DAT_001216e0,(sockaddr *)&DAT_00126440,DAT_001264c0);\n        if (-1 < iVar4) {\n          local_b4 = 8;\n          bVar7 = false;\n          if (DAT_00126440 == 2) {\n            iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);\n            if (iVar4 < 0) {\n              perror("ftp: setsockopt TOS (ignored)");\n            }\n          }\n          goto LAB_0010ca2b;\n        }\n        perror("ftp: connect");\n      }\n      else {\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n      }\n    }\n    else {\n      puts("Passive mode address scan failure. Shouldn\'t happen!");\n    }\n  }" { (if_statement "if (DAT_00124200 == 10) {\n      iVar4 = FUN_0010bb32(&DAT_0011a450);\n      if (iVar4 == 2) {\nLAB_0010c336:\n        iVar4 = sscanf(&DAT_00127a80,"%u|",local_98);\n        if (iVar4 == 1) {\n          _DAT_00126440 = DAT_00124160;\n          uVar1 = _DAT_00126440;\n          _DAT_00126448 = DAT_00124168;\n          _DAT_00126450 = _DAT_00124170;\n          uRam0000000000126458 = uRam0000000000124178;\n          _DAT_00126460 = _DAT_00124180;\n          uRam0000000000126468 = uRam0000000000124188;\n          _DAT_00126470 = _DAT_00124190;\n          uRam0000000000126478 = uRam0000000000124198;\n          _DAT_00126480 = _DAT_001241a0;\n          uRam0000000000126488 = uRam00000000001241a8;\n          _DAT_00126490 = _DAT_001241b0;\n          uRam0000000000126498 = uRam00000000001241b8;\n          _DAT_001264a0 = _DAT_001241c0;\n          uRam00000000001264a8 = uRam00000000001241c8;\n          _DAT_001264b0 = _DAT_001241d0;\n          uRam00000000001264b8 = uRam00000000001241d8;\n          _DAT_00126444 = (undefined4)(DAT_00124160 >> 0x20);\n          if ((short)DAT_00124160 == 2) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,2);\n            uVar1 = _DAT_00126440;\n          }\n          else if ((short)DAT_00124160 == 10) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,10);\n            uVar1 = _DAT_00126440;\n          }\n          goto LAB_0010c540;\n        }\n        puts("Extended passive mode scan failure. Should not happen!");\n        FUN_0010bb32(&DAT_0011a479);\n      }\n      else {\n        iVar4 = FUN_0010bb32(&DAT_0011a45a);\n        if (iVar4 == 2) goto LAB_0010c62c;\n        puts("Passive mode refused.");\n      }\n      goto LAB_0010c703;\n    }" if (parenthesized_expression "(DAT_00124200 == 10)" ( (binary_expression "DAT_00124200 == 10" identifier == number_literal) )) (compound_statement "{\n      iVar4 = FUN_0010bb32(&DAT_0011a450);\n      if (iVar4 == 2) {\nLAB_0010c336:\n        iVar4 = sscanf(&DAT_00127a80,"%u|",local_98);\n        if (iVar4 == 1) {\n          _DAT_00126440 = DAT_00124160;\n          uVar1 = _DAT_00126440;\n          _DAT_00126448 = DAT_00124168;\n          _DAT_00126450 = _DAT_00124170;\n          uRam0000000000126458 = uRam0000000000124178;\n          _DAT_00126460 = _DAT_00124180;\n          uRam0000000000126468 = uRam0000000000124188;\n          _DAT_00126470 = _DAT_00124190;\n          uRam0000000000126478 = uRam0000000000124198;\n          _DAT_00126480 = _DAT_001241a0;\n          uRam0000000000126488 = uRam00000000001241a8;\n          _DAT_00126490 = _DAT_001241b0;\n          uRam0000000000126498 = uRam00000000001241b8;\n          _DAT_001264a0 = _DAT_001241c0;\n          uRam00000000001264a8 = uRam00000000001241c8;\n          _DAT_001264b0 = _DAT_001241d0;\n          uRam00000000001264b8 = uRam00000000001241d8;\n          _DAT_00126444 = (undefined4)(DAT_00124160 >> 0x20);\n          if ((short)DAT_00124160 == 2) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,2);\n            uVar1 = _DAT_00126440;\n          }\n          else if ((short)DAT_00124160 == 10) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,10);\n            uVar1 = _DAT_00126440;\n          }\n          goto LAB_0010c540;\n        }\n        puts("Extended passive mode scan failure. Should not happen!");\n        FUN_0010bb32(&DAT_0011a479);\n      }\n      else {\n        iVar4 = FUN_0010bb32(&DAT_0011a45a);\n        if (iVar4 == 2) goto LAB_0010c62c;\n        puts("Passive mode refused.");\n      }\n      goto LAB_0010c703;\n    }" { (expression_statement "iVar4 = FUN_0010bb32(&DAT_0011a450);" (assignment_expression "iVar4 = FUN_0010bb32(&DAT_0011a450)" identifier = (call_expression "FUN_0010bb32(&DAT_0011a450)" identifier (argument_list "(&DAT_0011a450)" ( (pointer_expression "&DAT_0011a450" & identifier) )))) ;) (if_statement "if (iVar4 == 2) {\nLAB_0010c336:\n        iVar4 = sscanf(&DAT_00127a80,"%u|",local_98);\n        if (iVar4 == 1) {\n          _DAT_00126440 = DAT_00124160;\n          uVar1 = _DAT_00126440;\n          _DAT_00126448 = DAT_00124168;\n          _DAT_00126450 = _DAT_00124170;\n          uRam0000000000126458 = uRam0000000000124178;\n          _DAT_00126460 = _DAT_00124180;\n          uRam0000000000126468 = uRam0000000000124188;\n          _DAT_00126470 = _DAT_00124190;\n          uRam0000000000126478 = uRam0000000000124198;\n          _DAT_00126480 = _DAT_001241a0;\n          uRam0000000000126488 = uRam00000000001241a8;\n          _DAT_00126490 = _DAT_001241b0;\n          uRam0000000000126498 = uRam00000000001241b8;\n          _DAT_001264a0 = _DAT_001241c0;\n          uRam00000000001264a8 = uRam00000000001241c8;\n          _DAT_001264b0 = _DAT_001241d0;\n          uRam00000000001264b8 = uRam00000000001241d8;\n          _DAT_00126444 = (undefined4)(DAT_00124160 >> 0x20);\n          if ((short)DAT_00124160 == 2) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,2);\n            uVar1 = _DAT_00126440;\n          }\n          else if ((short)DAT_00124160 == 10) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,10);\n            uVar1 = _DAT_00126440;\n          }\n          goto LAB_0010c540;\n        }\n        puts("Extended passive mode scan failure. Should not happen!");\n        FUN_0010bb32(&DAT_0011a479);\n      }\n      else {\n        iVar4 = FUN_0010bb32(&DAT_0011a45a);\n        if (iVar4 == 2) goto LAB_0010c62c;\n        puts("Passive mode refused.");\n      }" if (parenthesized_expression "(iVar4 == 2)" ( (binary_expression "iVar4 == 2" identifier == number_literal) )) (compound_statement "{\nLAB_0010c336:\n        iVar4 = sscanf(&DAT_00127a80,"%u|",local_98);\n        if (iVar4 == 1) {\n          _DAT_00126440 = DAT_00124160;\n          uVar1 = _DAT_00126440;\n          _DAT_00126448 = DAT_00124168;\n          _DAT_00126450 = _DAT_00124170;\n          uRam0000000000126458 = uRam0000000000124178;\n          _DAT_00126460 = _DAT_00124180;\n          uRam0000000000126468 = uRam0000000000124188;\n          _DAT_00126470 = _DAT_00124190;\n          uRam0000000000126478 = uRam0000000000124198;\n          _DAT_00126480 = _DAT_001241a0;\n          uRam0000000000126488 = uRam00000000001241a8;\n          _DAT_00126490 = _DAT_001241b0;\n          uRam0000000000126498 = uRam00000000001241b8;\n          _DAT_001264a0 = _DAT_001241c0;\n          uRam00000000001264a8 = uRam00000000001241c8;\n          _DAT_001264b0 = _DAT_001241d0;\n          uRam00000000001264b8 = uRam00000000001241d8;\n          _DAT_00126444 = (undefined4)(DAT_00124160 >> 0x20);\n          if ((short)DAT_00124160 == 2) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,2);\n            uVar1 = _DAT_00126440;\n          }\n          else if ((short)DAT_00124160 == 10) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,10);\n            uVar1 = _DAT_00126440;\n          }\n          goto LAB_0010c540;\n        }\n        puts("Extended passive mode scan failure. Should not happen!");\n        FUN_0010bb32(&DAT_0011a479);\n      }" { (labeled_statement "LAB_0010c336:\n        iVar4 = sscanf(&DAT_00127a80,"%u|",local_98);" statement_identifier : (expression_statement "iVar4 = sscanf(&DAT_00127a80,"%u|",local_98);" (assignment_expression "iVar4 = sscanf(&DAT_00127a80,"%u|",local_98)" identifier = (call_expression "sscanf(&DAT_00127a80,"%u|",local_98)" identifier (argument_list "(&DAT_00127a80,"%u|",local_98)" ( (pointer_expression "&DAT_00127a80" & identifier) , (string_literal ""%u|"" " string_content ") , identifier )))) ;)) (if_statement "if (iVar4 == 1) {\n          _DAT_00126440 = DAT_00124160;\n          uVar1 = _DAT_00126440;\n          _DAT_00126448 = DAT_00124168;\n          _DAT_00126450 = _DAT_00124170;\n          uRam0000000000126458 = uRam0000000000124178;\n          _DAT_00126460 = _DAT_00124180;\n          uRam0000000000126468 = uRam0000000000124188;\n          _DAT_00126470 = _DAT_00124190;\n          uRam0000000000126478 = uRam0000000000124198;\n          _DAT_00126480 = _DAT_001241a0;\n          uRam0000000000126488 = uRam00000000001241a8;\n          _DAT_00126490 = _DAT_001241b0;\n          uRam0000000000126498 = uRam00000000001241b8;\n          _DAT_001264a0 = _DAT_001241c0;\n          uRam00000000001264a8 = uRam00000000001241c8;\n          _DAT_001264b0 = _DAT_001241d0;\n          uRam00000000001264b8 = uRam00000000001241d8;\n          _DAT_00126444 = (undefined4)(DAT_00124160 >> 0x20);\n          if ((short)DAT_00124160 == 2) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,2);\n            uVar1 = _DAT_00126440;\n          }\n          else if ((short)DAT_00124160 == 10) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,10);\n            uVar1 = _DAT_00126440;\n          }\n          goto LAB_0010c540;\n        }" if (parenthesized_expression "(iVar4 == 1)" ( (binary_expression "iVar4 == 1" identifier == number_literal) )) (compound_statement "{\n          _DAT_00126440 = DAT_00124160;\n          uVar1 = _DAT_00126440;\n          _DAT_00126448 = DAT_00124168;\n          _DAT_00126450 = _DAT_00124170;\n          uRam0000000000126458 = uRam0000000000124178;\n          _DAT_00126460 = _DAT_00124180;\n          uRam0000000000126468 = uRam0000000000124188;\n          _DAT_00126470 = _DAT_00124190;\n          uRam0000000000126478 = uRam0000000000124198;\n          _DAT_00126480 = _DAT_001241a0;\n          uRam0000000000126488 = uRam00000000001241a8;\n          _DAT_00126490 = _DAT_001241b0;\n          uRam0000000000126498 = uRam00000000001241b8;\n          _DAT_001264a0 = _DAT_001241c0;\n          uRam00000000001264a8 = uRam00000000001241c8;\n          _DAT_001264b0 = _DAT_001241d0;\n          uRam00000000001264b8 = uRam00000000001241d8;\n          _DAT_00126444 = (undefined4)(DAT_00124160 >> 0x20);\n          if ((short)DAT_00124160 == 2) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,2);\n            uVar1 = _DAT_00126440;\n          }\n          else if ((short)DAT_00124160 == 10) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,10);\n            uVar1 = _DAT_00126440;\n          }\n          goto LAB_0010c540;\n        }" { (expression_statement "_DAT_00126440 = DAT_00124160;" (assignment_expression "_DAT_00126440 = DAT_00124160" identifier = identifier) ;) (expression_statement "uVar1 = _DAT_00126440;" (assignment_expression "uVar1 = _DAT_00126440" identifier = identifier) ;) (expression_statement "_DAT_00126448 = DAT_00124168;" (assignment_expression "_DAT_00126448 = DAT_00124168" identifier = identifier) ;) (expression_statement "_DAT_00126450 = _DAT_00124170;" (assignment_expression "_DAT_00126450 = _DAT_00124170" identifier = identifier) ;) (expression_statement "uRam0000000000126458 = uRam0000000000124178;" (assignment_expression "uRam0000000000126458 = uRam0000000000124178" identifier = identifier) ;) (expression_statement "_DAT_00126460 = _DAT_00124180;" (assignment_expression "_DAT_00126460 = _DAT_00124180" identifier = identifier) ;) (expression_statement "uRam0000000000126468 = uRam0000000000124188;" (assignment_expression "uRam0000000000126468 = uRam0000000000124188" identifier = identifier) ;) (expression_statement "_DAT_00126470 = _DAT_00124190;" (assignment_expression "_DAT_00126470 = _DAT_00124190" identifier = identifier) ;) (expression_statement "uRam0000000000126478 = uRam0000000000124198;" (assignment_expression "uRam0000000000126478 = uRam0000000000124198" identifier = identifier) ;) (expression_statement "_DAT_00126480 = _DAT_001241a0;" (assignment_expression "_DAT_00126480 = _DAT_001241a0" identifier = identifier) ;) (expression_statement "uRam0000000000126488 = uRam00000000001241a8;" (assignment_expression "uRam0000000000126488 = uRam00000000001241a8" identifier = identifier) ;) (expression_statement "_DAT_00126490 = _DAT_001241b0;" (assignment_expression "_DAT_00126490 = _DAT_001241b0" identifier = identifier) ;) (expression_statement "uRam0000000000126498 = uRam00000000001241b8;" (assignment_expression "uRam0000000000126498 = uRam00000000001241b8" identifier = identifier) ;) (expression_statement "_DAT_001264a0 = _DAT_001241c0;" (assignment_expression "_DAT_001264a0 = _DAT_001241c0" identifier = identifier) ;) (expression_statement "uRam00000000001264a8 = uRam00000000001241c8;" (assignment_expression "uRam00000000001264a8 = uRam00000000001241c8" identifier = identifier) ;) (expression_statement "_DAT_001264b0 = _DAT_001241d0;" (assignment_expression "_DAT_001264b0 = _DAT_001241d0" identifier = identifier) ;) (expression_statement "uRam00000000001264b8 = uRam00000000001241d8;" (assignment_expression "uRam00000000001264b8 = uRam00000000001241d8" identifier = identifier) ;) (expression_statement "_DAT_00126444 = (undefined4)(DAT_00124160 >> 0x20);" (assignment_expression "_DAT_00126444 = (undefined4)(DAT_00124160 >> 0x20)" identifier = (call_expression "(undefined4)(DAT_00124160 >> 0x20)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "(DAT_00124160 >> 0x20)" ( (binary_expression "DAT_00124160 >> 0x20" identifier >> number_literal) )))) ;) (if_statement "if ((short)DAT_00124160 == 2) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,2);\n            uVar1 = _DAT_00126440;\n          }\n          else if ((short)DAT_00124160 == 10) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,10);\n            uVar1 = _DAT_00126440;\n          }" if (parenthesized_expression "((short)DAT_00124160 == 2)" ( (binary_expression "(short)DAT_00124160 == 2" (cast_expression "(short)DAT_00124160" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier) == number_literal) )) (compound_statement "{\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,2);\n            uVar1 = _DAT_00126440;\n          }" { (expression_statement "_DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,2);" (assignment_expression "_DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,2)" identifier = (call_expression "CONCAT22(local_98[0] << 8 | local_98[0] >> 8,2)" identifier (argument_list "(local_98[0] << 8 | local_98[0] >> 8,2)" ( (binary_expression "local_98[0] << 8 | local_98[0] >> 8" (binary_expression "local_98[0] << 8" (subscript_expression "local_98[0]" identifier [ number_literal ]) << number_literal) | (binary_expression "local_98[0] >> 8" (subscript_expression "local_98[0]" identifier [ number_literal ]) >> number_literal)) , number_literal )))) ;) (expression_statement "uVar1 = _DAT_00126440;" (assignment_expression "uVar1 = _DAT_00126440" identifier = identifier) ;) }) (else_clause "else if ((short)DAT_00124160 == 10) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,10);\n            uVar1 = _DAT_00126440;\n          }" else (if_statement "if ((short)DAT_00124160 == 10) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,10);\n            uVar1 = _DAT_00126440;\n          }" if (parenthesized_expression "((short)DAT_00124160 == 10)" ( (binary_expression "(short)DAT_00124160 == 10" (cast_expression "(short)DAT_00124160" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier) == number_literal) )) (compound_statement "{\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,10);\n            uVar1 = _DAT_00126440;\n          }" { (expression_statement "_DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,10);" (assignment_expression "_DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,10)" identifier = (call_expression "CONCAT22(local_98[0] << 8 | local_98[0] >> 8,10)" identifier (argument_list "(local_98[0] << 8 | local_98[0] >> 8,10)" ( (binary_expression "local_98[0] << 8 | local_98[0] >> 8" (binary_expression "local_98[0] << 8" (subscript_expression "local_98[0]" identifier [ number_literal ]) << number_literal) | (binary_expression "local_98[0] >> 8" (subscript_expression "local_98[0]" identifier [ number_literal ]) >> number_literal)) , number_literal )))) ;) (expression_statement "uVar1 = _DAT_00126440;" (assignment_expression "uVar1 = _DAT_00126440" identifier = identifier) ;) })))) (goto_statement "goto LAB_0010c540;" goto statement_identifier ;) })) (expression_statement "puts("Extended passive mode scan failure. Should not happen!");" (call_expression "puts("Extended passive mode scan failure. Should not happen!")" identifier (argument_list "("Extended passive mode scan failure. Should not happen!")" ( (string_literal ""Extended passive mode scan failure. Should not happen!"" " string_content ") ))) ;) (expression_statement "FUN_0010bb32(&DAT_0011a479);" (call_expression "FUN_0010bb32(&DAT_0011a479)" identifier (argument_list "(&DAT_0011a479)" ( (pointer_expression "&DAT_0011a479" & identifier) ))) ;) }) (else_clause "else {\n        iVar4 = FUN_0010bb32(&DAT_0011a45a);\n        if (iVar4 == 2) goto LAB_0010c62c;\n        puts("Passive mode refused.");\n      }" else (compound_statement "{\n        iVar4 = FUN_0010bb32(&DAT_0011a45a);\n        if (iVar4 == 2) goto LAB_0010c62c;\n        puts("Passive mode refused.");\n      }" { (expression_statement "iVar4 = FUN_0010bb32(&DAT_0011a45a);" (assignment_expression "iVar4 = FUN_0010bb32(&DAT_0011a45a)" identifier = (call_expression "FUN_0010bb32(&DAT_0011a45a)" identifier (argument_list "(&DAT_0011a45a)" ( (pointer_expression "&DAT_0011a45a" & identifier) )))) ;) (if_statement "if (iVar4 == 2) goto LAB_0010c62c;" if (parenthesized_expression "(iVar4 == 2)" ( (binary_expression "iVar4 == 2" identifier == number_literal) )) (goto_statement "goto LAB_0010c62c;" goto statement_identifier ;)) (expression_statement "puts("Passive mode refused.");" (call_expression "puts("Passive mode refused.")" identifier (argument_list "("Passive mode refused.")" ( (string_literal ""Passive mode refused."" " string_content ") ))) ;) }))) (goto_statement "goto LAB_0010c703;" goto statement_identifier ;) })) (labeled_statement "LAB_0010c499:\n    if (DAT_00124200 == 2) {\n      iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u",&local_b0,&local_ac,&local_a8,local_a4,\n                     local_a0,local_9c);\n      if (iVar4 == 6) {\n        _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2);\n        _DAT_00126440 =\n             CONCAT44(local_b0 & 0xff | ((local_ac & 0xff) << 0x10) >> 8 | (local_a8 & 0xff) << 0x10\n                      | (uint)local_a4[0] << 0x18,_DAT_00126440);\n        uVar1 = _DAT_00126440;\nLAB_0010c540:\n        _DAT_00126440 = uVar1;\n        iVar4 = connect(DAT_001216e0,(sockaddr *)&DAT_00126440,DAT_001264c0);\n        if (-1 < iVar4) {\n          local_b4 = 8;\n          bVar7 = false;\n          if (DAT_00126440 == 2) {\n            iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);\n            if (iVar4 < 0) {\n              perror("ftp: setsockopt TOS (ignored)");\n            }\n          }\n          goto LAB_0010ca2b;\n        }\n        perror("ftp: connect");\n      }\n      else {\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n      }\n    }\n    else {\n      puts("Passive mode address scan failure. Shouldn\'t happen!");\n    }" statement_identifier : (if_statement "if (DAT_00124200 == 2) {\n      iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u",&local_b0,&local_ac,&local_a8,local_a4,\n                     local_a0,local_9c);\n      if (iVar4 == 6) {\n        _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2);\n        _DAT_00126440 =\n             CONCAT44(local_b0 & 0xff | ((local_ac & 0xff) << 0x10) >> 8 | (local_a8 & 0xff) << 0x10\n                      | (uint)local_a4[0] << 0x18,_DAT_00126440);\n        uVar1 = _DAT_00126440;\nLAB_0010c540:\n        _DAT_00126440 = uVar1;\n        iVar4 = connect(DAT_001216e0,(sockaddr *)&DAT_00126440,DAT_001264c0);\n        if (-1 < iVar4) {\n          local_b4 = 8;\n          bVar7 = false;\n          if (DAT_00126440 == 2) {\n            iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);\n            if (iVar4 < 0) {\n              perror("ftp: setsockopt TOS (ignored)");\n            }\n          }\n          goto LAB_0010ca2b;\n        }\n        perror("ftp: connect");\n      }\n      else {\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n      }\n    }\n    else {\n      puts("Passive mode address scan failure. Shouldn\'t happen!");\n    }" if (parenthesized_expression "(DAT_00124200 == 2)" ( (binary_expression "DAT_00124200 == 2" identifier == number_literal) )) (compound_statement "{\n      iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u",&local_b0,&local_ac,&local_a8,local_a4,\n                     local_a0,local_9c);\n      if (iVar4 == 6) {\n        _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2);\n        _DAT_00126440 =\n             CONCAT44(local_b0 & 0xff | ((local_ac & 0xff) << 0x10) >> 8 | (local_a8 & 0xff) << 0x10\n                      | (uint)local_a4[0] << 0x18,_DAT_00126440);\n        uVar1 = _DAT_00126440;\nLAB_0010c540:\n        _DAT_00126440 = uVar1;\n        iVar4 = connect(DAT_001216e0,(sockaddr *)&DAT_00126440,DAT_001264c0);\n        if (-1 < iVar4) {\n          local_b4 = 8;\n          bVar7 = false;\n          if (DAT_00126440 == 2) {\n            iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);\n            if (iVar4 < 0) {\n              perror("ftp: setsockopt TOS (ignored)");\n            }\n          }\n          goto LAB_0010ca2b;\n        }\n        perror("ftp: connect");\n      }\n      else {\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n      }\n    }" { (expression_statement "iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u",&local_b0,&local_ac,&local_a8,local_a4,\n                     local_a0,local_9c);" (assignment_expression "iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u",&local_b0,&local_ac,&local_a8,local_a4,\n                     local_a0,local_9c)" identifier = (call_expression "sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u",&local_b0,&local_ac,&local_a8,local_a4,\n                     local_a0,local_9c)" identifier (argument_list "(&DAT_00127a80,"%u,%u,%u,%u,%u,%u",&local_b0,&local_ac,&local_a8,local_a4,\n                     local_a0,local_9c)" ( (pointer_expression "&DAT_00127a80" & identifier) , (string_literal ""%u,%u,%u,%u,%u,%u"" " string_content ") , (pointer_expression "&local_b0" & identifier) , (pointer_expression "&local_ac" & identifier) , (pointer_expression "&local_a8" & identifier) , identifier , identifier , identifier )))) ;) (if_statement "if (iVar4 == 6) {\n        _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2);\n        _DAT_00126440 =\n             CONCAT44(local_b0 & 0xff | ((local_ac & 0xff) << 0x10) >> 8 | (local_a8 & 0xff) << 0x10\n                      | (uint)local_a4[0] << 0x18,_DAT_00126440);\n        uVar1 = _DAT_00126440;\nLAB_0010c540:\n        _DAT_00126440 = uVar1;\n        iVar4 = connect(DAT_001216e0,(sockaddr *)&DAT_00126440,DAT_001264c0);\n        if (-1 < iVar4) {\n          local_b4 = 8;\n          bVar7 = false;\n          if (DAT_00126440 == 2) {\n            iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);\n            if (iVar4 < 0) {\n              perror("ftp: setsockopt TOS (ignored)");\n            }\n          }\n          goto LAB_0010ca2b;\n        }\n        perror("ftp: connect");\n      }\n      else {\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n      }" if (parenthesized_expression "(iVar4 == 6)" ( (binary_expression "iVar4 == 6" identifier == number_literal) )) (compound_statement "{\n        _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2);\n        _DAT_00126440 =\n             CONCAT44(local_b0 & 0xff | ((local_ac & 0xff) << 0x10) >> 8 | (local_a8 & 0xff) << 0x10\n                      | (uint)local_a4[0] << 0x18,_DAT_00126440);\n        uVar1 = _DAT_00126440;\nLAB_0010c540:\n        _DAT_00126440 = uVar1;\n        iVar4 = connect(DAT_001216e0,(sockaddr *)&DAT_00126440,DAT_001264c0);\n        if (-1 < iVar4) {\n          local_b4 = 8;\n          bVar7 = false;\n          if (DAT_00126440 == 2) {\n            iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);\n            if (iVar4 < 0) {\n              perror("ftp: setsockopt TOS (ignored)");\n            }\n          }\n          goto LAB_0010ca2b;\n        }\n        perror("ftp: connect");\n      }" { (expression_statement "_DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2);" (assignment_expression "_DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2)" identifier = (call_expression "CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2)" identifier (argument_list "((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2)" ( (binary_expression "(ushort)local_9c[0] << 8 | local_a0[0] & 0xff" (binary_expression "(ushort)local_9c[0] << 8" (cast_expression "(ushort)local_9c[0]" ( (type_descriptor "ushort" type_identifier) ) (subscript_expression "local_9c[0]" identifier [ number_literal ])) << number_literal) | (binary_expression "local_a0[0] & 0xff" (subscript_expression "local_a0[0]" identifier [ number_literal ]) & number_literal)) , number_literal )))) ;) (expression_statement "_DAT_00126440 =\n             CONCAT44(local_b0 & 0xff | ((local_ac & 0xff) << 0x10) >> 8 | (local_a8 & 0xff) << 0x10\n                      | (uint)local_a4[0] << 0x18,_DAT_00126440);" (assignment_expression "_DAT_00126440 =\n             CONCAT44(local_b0 & 0xff | ((local_ac & 0xff) << 0x10) >> 8 | (local_a8 & 0xff) << 0x10\n                      | (uint)local_a4[0] << 0x18,_DAT_00126440)" identifier = (call_expression "CONCAT44(local_b0 & 0xff | ((local_ac & 0xff) << 0x10) >> 8 | (local_a8 & 0xff) << 0x10\n                      | (uint)local_a4[0] << 0x18,_DAT_00126440)" identifier (argument_list "(local_b0 & 0xff | ((local_ac & 0xff) << 0x10) >> 8 | (local_a8 & 0xff) << 0x10\n                      | (uint)local_a4[0] << 0x18,_DAT_00126440)" ( (binary_expression "local_b0 & 0xff | ((local_ac & 0xff) << 0x10) >> 8 | (local_a8 & 0xff) << 0x10\n                      | (uint)local_a4[0] << 0x18" (binary_expression "local_b0 & 0xff | ((local_ac & 0xff) << 0x10) >> 8 | (local_a8 & 0xff) << 0x10" (binary_expression "local_b0 & 0xff | ((local_ac & 0xff) << 0x10) >> 8" (binary_expression "local_b0 & 0xff" identifier & number_literal) | (binary_expression "((local_ac & 0xff) << 0x10) >> 8" (parenthesized_expression "((local_ac & 0xff) << 0x10)" ( (binary_expression "(local_ac & 0xff) << 0x10" (parenthesized_expression "(local_ac & 0xff)" ( (binary_expression "local_ac & 0xff" identifier & number_literal) )) << number_literal) )) >> number_literal)) | (binary_expression "(local_a8 & 0xff) << 0x10" (parenthesized_expression "(local_a8 & 0xff)" ( (binary_expression "local_a8 & 0xff" identifier & number_literal) )) << number_literal)) | (binary_expression "(uint)local_a4[0] << 0x18" (cast_expression "(uint)local_a4[0]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_a4[0]" identifier [ number_literal ])) << number_literal)) , identifier )))) ;) (expression_statement "uVar1 = _DAT_00126440;" (assignment_expression "uVar1 = _DAT_00126440" identifier = identifier) ;) (labeled_statement "LAB_0010c540:\n        _DAT_00126440 = uVar1;" statement_identifier : (expression_statement "_DAT_00126440 = uVar1;" (assignment_expression "_DAT_00126440 = uVar1" identifier = identifier) ;)) (expression_statement "iVar4 = connect(DAT_001216e0,(sockaddr *)&DAT_00126440,DAT_001264c0);" (assignment_expression "iVar4 = connect(DAT_001216e0,(sockaddr *)&DAT_00126440,DAT_001264c0)" identifier = (call_expression "connect(DAT_001216e0,(sockaddr *)&DAT_00126440,DAT_001264c0)" identifier (argument_list "(DAT_001216e0,(sockaddr *)&DAT_00126440,DAT_001264c0)" ( identifier , (cast_expression "(sockaddr *)&DAT_00126440" ( (type_descriptor "sockaddr *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00126440" & identifier)) , identifier )))) ;) (if_statement "if (-1 < iVar4) {\n          local_b4 = 8;\n          bVar7 = false;\n          if (DAT_00126440 == 2) {\n            iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);\n            if (iVar4 < 0) {\n              perror("ftp: setsockopt TOS (ignored)");\n            }\n          }\n          goto LAB_0010ca2b;\n        }" if (parenthesized_expression "(-1 < iVar4)" ( (binary_expression "-1 < iVar4" number_literal < identifier) )) (compound_statement "{\n          local_b4 = 8;\n          bVar7 = false;\n          if (DAT_00126440 == 2) {\n            iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);\n            if (iVar4 < 0) {\n              perror("ftp: setsockopt TOS (ignored)");\n            }\n          }\n          goto LAB_0010ca2b;\n        }" { (expression_statement "local_b4 = 8;" (assignment_expression "local_b4 = 8" identifier = number_literal) ;) (expression_statement "bVar7 = false;" (assignment_expression "bVar7 = false" identifier = false) ;) (if_statement "if (DAT_00126440 == 2) {\n            iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);\n            if (iVar4 < 0) {\n              perror("ftp: setsockopt TOS (ignored)");\n            }\n          }" if (parenthesized_expression "(DAT_00126440 == 2)" ( (binary_expression "DAT_00126440 == 2" identifier == number_literal) )) (compound_statement "{\n            iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);\n            if (iVar4 < 0) {\n              perror("ftp: setsockopt TOS (ignored)");\n            }\n          }" { (expression_statement "iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);" (assignment_expression "iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4)" identifier = (call_expression "setsockopt(DAT_001216e0,0,1,&local_b4,4)" identifier (argument_list "(DAT_001216e0,0,1,&local_b4,4)" ( identifier , number_literal , number_literal , (pointer_expression "&local_b4" & identifier) , number_literal )))) ;) (if_statement "if (iVar4 < 0) {\n              perror("ftp: setsockopt TOS (ignored)");\n            }" if (parenthesized_expression "(iVar4 < 0)" ( (binary_expression "iVar4 < 0" identifier < number_literal) )) (compound_statement "{\n              perror("ftp: setsockopt TOS (ignored)");\n            }" { (expression_statement "perror("ftp: setsockopt TOS (ignored)");" (call_expression "perror("ftp: setsockopt TOS (ignored)")" identifier (argument_list "("ftp: setsockopt TOS (ignored)")" ( (string_literal ""ftp: setsockopt TOS (ignored)"" " string_content ") ))) ;) })) })) (goto_statement "goto LAB_0010ca2b;" goto statement_identifier ;) })) (expression_statement "perror("ftp: connect");" (call_expression "perror("ftp: connect")" identifier (argument_list "("ftp: connect")" ( (string_literal ""ftp: connect"" " string_content ") ))) ;) }) (else_clause "else {\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n      }" else (compound_statement "{\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n      }" { (expression_statement "puts("Passive mode address scan failure. Shouldn\'t happen!");" (call_expression "puts("Passive mode address scan failure. Shouldn\'t happen!")" identifier (argument_list "("Passive mode address scan failure. Shouldn\'t happen!")" ( (string_literal ""Passive mode address scan failure. Shouldn\'t happen!"" " string_content escape_sequence string_content ") ))) ;) (expression_statement "FUN_0010bb32(&DAT_0011a479);" (call_expression "FUN_0010bb32(&DAT_0011a479)" identifier (argument_list "(&DAT_0011a479)" ( (pointer_expression "&DAT_0011a479" & identifier) ))) ;) }))) }) (else_clause "else {\n      puts("Passive mode address scan failure. Shouldn\'t happen!");\n    }" else (compound_statement "{\n      puts("Passive mode address scan failure. Shouldn\'t happen!");\n    }" { (expression_statement "puts("Passive mode address scan failure. Shouldn\'t happen!");" (call_expression "puts("Passive mode address scan failure. Shouldn\'t happen!")" identifier (argument_list "("Passive mode address scan failure. Shouldn\'t happen!")" ( (string_literal ""Passive mode address scan failure. Shouldn\'t happen!"" " string_content escape_sequence string_content ") ))) ;) })))) }))) (labeled_statement "LAB_0010c703:\n  close(DAT_001216e0);" statement_identifier : (expression_statement "close(DAT_001216e0);" (call_expression "close(DAT_001216e0)" identifier (argument_list "(DAT_001216e0)" ( identifier ))) ;)) (expression_statement "DAT_001216e0 = -1;" (assignment_expression "DAT_001216e0 = -1" identifier = number_literal) ;) (expression_statement "bVar7 = true;" (assignment_expression "bVar7 = true" identifier = true) ;) (labeled_statement "LAB_0010ca2b:\n  if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return bVar7;\n  }" statement_identifier : (if_statement "if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return bVar7;\n  }" if (parenthesized_expression "(local_40 == *(long *)(in_FS_OFFSET + 0x28))" ( (binary_expression "local_40 == *(long *)(in_FS_OFFSET + 0x28)" identifier == (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) )) (compound_statement "{\n    return bVar7;\n  }" { (return_statement "return bVar7;" return identifier ;) }))) (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration (sized_type_specifier long) IDENT ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (labeled_statement statement_identifier : (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) ;) (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 = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT )))) ;) (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 (call_expression IDENT (argument_list ( IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) IDENT) , LIT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , (pointer_expression * IDENT) , (string_literal " string_content ") ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == BOOL) )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT , LIT , (pointer_expression & IDENT) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , (pointer_expression * IDENT) , (string_literal " string_content ") ))) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == BOOL) )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT)) , IDENT )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , (pointer_expression * IDENT) , (pointer_expression & IDENT) ))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT , LIT , (pointer_expression & IDENT) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT , (pointer_expression * IDENT) , (string_literal " string_content ") ))) ;) })) })) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT)) , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , (pointer_expression * IDENT) , (string_literal " string_content ") ))) ;) (goto_statement goto statement_identifier ;) })) (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 IDENT (argument_list ( )))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , (pointer_expression * IDENT) , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != BOOL) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT , LIT , (pointer_expression & IDENT) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , (pointer_expression * IDENT) , (string_literal " string_content ") ))) ;) })) })) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT != LIT)) ;)) (goto_statement goto statement_identifier ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT , IDENT , IDENT , IDENT , IDENT , (binary_expression (binary_expression IDENT >> LIT) & LIT) )))) ;)) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT)) , IDENT , (pointer_expression & IDENT) , LIT , (pointer_expression & IDENT) , LIT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) + (char_literal ' escape_sequence ')) , (pointer_expression & IDENT) , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT != LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (unary_expression ! IDENT) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) }))) (if_statement if (parenthesized_expression ( (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 = (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT )))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT , IDENT , IDENT , IDENT , IDENT , (binary_expression (binary_expression IDENT >> LIT) & LIT) , (binary_expression (binary_expression IDENT >> LIT) & LIT) , (binary_expression IDENT >> LIT) , (binary_expression IDENT & LIT) , (binary_expression (binary_expression IDENT >> LIT) & LIT) , (binary_expression (binary_expression IDENT >> LIT) & LIT) , (binary_expression (binary_expression IDENT >> LIT) & LIT) , (binary_expression (binary_expression IDENT >> LIT) & LIT) , (binary_expression (binary_expression IDENT >> LIT) & LIT) , (binary_expression (binary_expression IDENT >> LIT) & LIT) , (binary_expression IDENT >> LIT) , IDENT , IDENT )))) ;) })))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) || (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) IDENT) , LIT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT , LIT , (pointer_expression & IDENT) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT , (pointer_expression * IDENT) , (string_literal " string_content ") ))) ;) })) })) })) (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 = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (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 (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (string_literal " string_content ") , (pointer_expression & IDENT) , (pointer_expression & IDENT) , IDENT , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , (pointer_expression & IDENT) , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) && (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) && (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (binary_expression IDENT + LIT)) )) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT) | (binary_expression (subscript_expression IDENT [ LIT ]) & LIT)) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) << LIT) | (binary_expression (subscript_expression IDENT [ LIT ]) << LIT)) | (subscript_expression IDENT [ LIT ])) | (binary_expression (subscript_expression IDENT [ LIT ]) << LIT))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression (subscript_expression IDENT [ LIT ]) << LIT)) , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence string_content ") ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) ))) ;) (goto_statement goto statement_identifier ;) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (string_literal " string_content ") , (pointer_expression & IDENT) , (pointer_expression & IDENT) , IDENT , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , (pointer_expression & IDENT) , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) || (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) || (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence string_content ") ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT) | (binary_expression (subscript_expression IDENT [ LIT ]) & LIT)) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) << LIT) | (binary_expression (subscript_expression IDENT [ LIT ]) << LIT)) | (subscript_expression IDENT [ LIT ])) | (binary_expression (subscript_expression IDENT [ LIT ]) << LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) << LIT) | (binary_expression (subscript_expression IDENT [ LIT ]) << LIT)) | (subscript_expression IDENT [ LIT ])) | (binary_expression (subscript_expression IDENT [ LIT ]) << LIT))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression (subscript_expression IDENT [ LIT ]) << LIT)) , (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression (subscript_expression IDENT [ LIT ]) << LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) << LIT) | (binary_expression (subscript_expression IDENT [ LIT ]) << LIT)) | (subscript_expression IDENT [ LIT ])) | (binary_expression (subscript_expression IDENT [ LIT ]) << LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) << LIT) | (binary_expression (subscript_expression IDENT [ LIT ]) << LIT)) | (subscript_expression IDENT [ LIT ])) | (binary_expression (subscript_expression IDENT [ LIT ]) << LIT))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression (subscript_expression IDENT [ LIT ]) << LIT)) , (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression (subscript_expression IDENT [ LIT ]) << LIT)) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (string_literal " string_content ") , IDENT )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (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) ;) (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) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier short)) ) IDENT) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) << LIT) | (binary_expression (subscript_expression IDENT [ LIT ]) >> LIT)) , LIT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier short)) ) IDENT) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) << LIT) | (binary_expression (subscript_expression IDENT [ LIT ]) >> LIT)) , LIT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })))) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) }))) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (string_literal " string_content ") , (pointer_expression & IDENT) , (pointer_expression & IDENT) , (pointer_expression & IDENT) , IDENT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT) | (binary_expression (subscript_expression IDENT [ LIT ]) & LIT)) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT & LIT) | (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT)) , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT)) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT , LIT , (pointer_expression & IDENT) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) })) })) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence string_content ") ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) ))) ;) }))) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence string_content ") ))) ;) })))) }))) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (return_statement return IDENT ;) }))) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })))
(function_definition "bool FUN_0010c27f(void)\n\n{\n  ulong uVar1;\n  uint uVar2;\n  uint uVar3;\n  int iVar4;\n  uint *puVar5;\n  int *piVar6;\n  long in_FS_OFFSET;\n  bool bVar7;\n  undefined4 local_b4;\n  uint local_b0;\n  uint local_ac;\n  uint local_a8;\n  byte local_a4 [4];\n  ushort local_a0 [2];\n  byte local_9c [4];\n  ushort local_98 [2];\n  int local_94;\n  int local_90;\n  socklen_t local_8c;\n  uint local_88 [16];\n  uint local_48 [2];\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  local_b4 = 1;\n  if (DAT_00127ac4 == 0) {\n    bVar7 = false;\nLAB_0010cba4:\n    _DAT_00126448 = uRam0000000000124208;\n    _DAT_00126450 = _DAT_00124210;\n    uRam0000000000126458 = uRam0000000000124218;\n    _DAT_00126460 = _DAT_00124220;\n    uRam0000000000126468 = uRam0000000000124228;\n    _DAT_00126470 = _DAT_00124230;\n    uRam0000000000126478 = uRam0000000000124238;\n    _DAT_00126480 = _DAT_00124240;\n    uRam0000000000126488 = uRam0000000000124248;\n    _DAT_00126490 = _DAT_00124250;\n    uRam0000000000126498 = uRam0000000000124258;\n    _DAT_001264a0 = _DAT_00124260;\n    uRam00000000001264a8 = uRam0000000000124268;\n    _DAT_001264b0 = _DAT_00124270;\n    uRam00000000001264b8 = uRam0000000000124278;\n    uVar1 = CONCAT62(uRam0000000000124202,DAT_00124200);\n    if (DAT_00127b64 != 0) {\n      _DAT_00126444 = (undefined4)((uint6)uRam0000000000124202 >> 0x10);\n      if (DAT_00124200 == 2) {\n        _DAT_00126440 = CONCAT44(_DAT_00126444,2);\n        uVar1 = _DAT_00126440;\n      }\n      else if (DAT_00124200 == 10) {\n        _DAT_00126440 = CONCAT44(_DAT_00126444,10);\n        uVar1 = _DAT_00126440;\n      }\n    }\n    _DAT_00126440 = uVar1;\n    if (DAT_001216e0 != -1) {\n      close(DAT_001216e0);\n    }\n    DAT_001216e0 = socket((uint)DAT_00124200,1,0);\n    if (DAT_001216e0 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,"socket");\n      if (bVar7 == false) {\n        bVar7 = true;\n      }\n      else {\n        DAT_00127b64 = 1;\n      }\n      goto LAB_0010ca2b;\n    }\n    if (DAT_00127b64 == 0) {\n      iVar4 = setsockopt(DAT_001216e0,1,2,&local_b4,4);\n      if (-1 < iVar4) goto LAB_0010cc9e;\n      piVar6 = __errno_location();\n      error(0,*piVar6,"setsockopt (reuse address)");\nLAB_0010ca03:\n      close(DAT_001216e0);\n      DAT_001216e0 = -1;\n      if (bVar7 == false) {\n        bVar7 = true;\n      }\n      else {\n        DAT_00127b64 = 1;\n      }\n      goto LAB_0010ca2b;\n    }\nLAB_0010cc9e:\n    iVar4 = bind(DAT_001216e0,(sockaddr *)&DAT_00126440,DAT_001264c0);\n    if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,&DAT_0011a4df);\n      goto LAB_0010ca03;\n    }\n    if ((DAT_001267d0 & 1) != 0) {\n      iVar4 = setsockopt(DAT_001216e0,1,1,&local_b4,4);\n      if (iVar4 < 0) {\n        piVar6 = __errno_location();\n        if (*piVar6 != 0xd) {\n          error(0,*piVar6,"setsockopt DEBUG (ignored)");\n        }\n      }\n    }\n    local_8c = 0x80;\n    iVar4 = getsockname(DAT_001216e0,(sockaddr *)&DAT_00126440,&local_8c);\n    if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,"getsockname");\n      goto LAB_0010ca03;\n    }\n    iVar4 = listen(DAT_001216e0,1);\n    if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,"listen");\n    }\n    if (DAT_00127b64 == 0) {\n      if (bVar7 != false) {\n        DAT_00127b64 = 1;\n      }\n      local_b4 = 8;\n      bVar7 = false;\n      if (DAT_00126440 == 2) {\n        iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);\n        if (iVar4 < 0) {\n          piVar6 = __errno_location();\n          error(0,*piVar6,"setsockopt TOS (ignored)");\n        }\n      }\n      goto LAB_0010ca2b;\n    }\n    if ((DAT_00126440 == 2) && (DAT_001266e0 == 0)) {\n      bVar7 = true;\nLAB_0010cd36:\n      if (!bVar7) {\n        iVar4 = 2;\nLAB_0010cd3f:\n        bVar7 = iVar4 != 2;\n        goto LAB_0010ca2b;\n      }\nLAB_0010cd6c:\n      iVar4 = FUN_0010bb32("PORT %d,%d,%d,%d,%d,%d",DAT_00126444,DAT_00126445,DAT_00126446,\n                           DAT_00126447,DAT_00126442,_DAT_00126440 >> 0x18 & 0xff);\n    }\n    else {\n      getnameinfo((sockaddr *)&DAT_00126440,DAT_001264c0,&DAT_00121ec0,0x2e,&DAT_00121eb0,10,3);\n      iVar4 = FUN_0010bb32("EPRT |%d|%s|%s|",(DAT_00126440 != 2) + '\x01',&DAT_00121ec0,\n                           &DAT_00121eb0);\n      if (DAT_00126440 == 2) {\n        bVar7 = iVar4 != 2;\n        if ((DAT_001266e0 == 0) || (!bVar7)) goto LAB_0010cd36;\n        DAT_001266e0 = 0;\n        goto LAB_0010cd6c;\n      }\n    }\n    if (iVar4 == 2) goto LAB_0010cd3f;\n    if (DAT_00126440 == 2) {\n      iVar4 = FUN_0010bb32("LPRT 4,4,%u,%u,%u,%u,2,%u,%u",DAT_00126444,DAT_00126445,DAT_00126446,\n                           DAT_00126447,DAT_00126442,DAT_00126443);\n    }\n    else if (DAT_00126440 == 10) {\n      iVar4 = FUN_0010bb32("LPRT 6,16,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,2,%u,%u",\n                           DAT_00126448,DAT_00126449,DAT_0012644a,DAT_0012644b,DAT_0012644c,\n                           _DAT_00126448 >> 0x28 & 0xff,_DAT_00126448 >> 0x30 & 0xff,\n                           _DAT_00126448 >> 0x38,_DAT_00126450 & 0xff,_DAT_00126450 >> 8 & 0xff,\n                           _DAT_00126450 >> 0x10 & 0xff,_DAT_00126450 >> 0x18 & 0xff,\n                           _DAT_00126450 >> 0x20 & 0xff,_DAT_00126450 >> 0x28 & 0xff,\n                           _DAT_00126450 >> 0x30 & 0xff,_DAT_00126450 >> 0x38,DAT_00126442,\n                           DAT_00126443);\n    }\n    if ((iVar4 != 5) || (DAT_00127b64 != -1)) goto LAB_0010cd3f;\n    DAT_00127b64 = 0;\n    bVar7 = true;\n    goto LAB_0010cba4;\n  }\n  DAT_001216e0 = socket((uint)DAT_00124200,1,0);\n  if (DAT_001216e0 < 0) {\n    perror("ftp: socket");\n    bVar7 = true;\n    goto LAB_0010ca2b;\n  }\n  if ((DAT_001267d0 & 1) != 0) {\n    iVar4 = setsockopt(DAT_001216e0,1,1,&local_b4,4);\n    if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      if (*piVar6 != 0xd) {\n        error(0,*piVar6,"setsockopt DEBUG (ignored)");\n      }\n    }\n  }\n  if (DAT_00124200 == 2) {\n    if (DAT_001266e0 != 0) {\n      iVar4 = FUN_0010bb32(&DAT_0011a450);\n      if (iVar4 == 2) goto LAB_0010c336;\n      if (DAT_001266e0 != 0) {\n        DAT_001266e0 = 0;\n      }\n    }\n    iVar4 = FUN_0010bb32(&DAT_0011a455);\n    if (iVar4 == 2) goto LAB_0010c499;\n    iVar4 = FUN_0010bb32(&DAT_0011a45a);\n    if (iVar4 == 2) {\nLAB_0010c62c:\n      if (DAT_00124200 == 2) {\n        iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u,%u,%u,%u",&local_94,&local_90,local_88,\n                       local_88 + 1,local_88 + 2,local_88 + 3,&local_8c,local_a0,local_9c);\n        if ((((iVar4 == 9) && (local_94 == 4)) && (local_90 == 4)) && (local_8c == 2)) {\n          puVar5 = local_88;\n          do {\n            *puVar5 = *puVar5 & 0xff;\n            puVar5 = puVar5 + 1;\n          } while (puVar5 != local_88 + 4);\n          _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2);\n          uVar2 = local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3] | local_88[2] << 8;\n          _DAT_00126440 =\n               CONCAT44(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                        local_88[3] << 0x18,_DAT_00126440);\n          uVar1 = _DAT_00126440;\n          goto LAB_0010c540;\n        }\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n        goto LAB_0010c703;\n      }\n      iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u",\n                     &local_94,&local_90,local_88,local_88 + 1,local_88 + 2,local_88 + 3,\n                     local_88 + 4,local_88 + 5,local_88 + 6,local_88 + 7,local_88 + 8,local_88 + 9,\n                     local_88 + 10,local_88 + 0xb,local_88 + 0xc,local_88 + 0xd,local_88 + 0xe,\n                     local_88 + 0xf,&local_8c,local_a0,local_9c);\n      if (((iVar4 != 0x15) || (local_94 != 6)) || ((local_90 != 0x10 || (local_8c != 2)))) {\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n        goto LAB_0010c703;\n      }\n      puVar5 = local_88;\n      do {\n        *puVar5 = *puVar5 & 0xff;\n        puVar5 = puVar5 + 1;\n      } while (puVar5 != local_48);\n      _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,10);\n      uVar2 = local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3] | local_88[2] << 8;\n      uVar3 = local_88[4] << 0x18 | local_88[5] << 0x10 | local_88[7] | local_88[6] << 8;\n      _DAT_00126448 =\n           CONCAT44(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                    local_88[7] << 0x18,\n                    uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                    local_88[3] << 0x18);\n      uVar2 = local_88[8] << 0x18 | local_88[9] << 0x10 | local_88[0xb] | local_88[10] << 8;\n      uVar3 = local_88[0xc] << 0x18 | local_88[0xd] << 0x10 | local_88[0xf] | local_88[0xe] << 8;\n      _DAT_00126450 =\n           CONCAT44(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                    local_88[0xf] << 0x18,\n                    uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                    local_88[0xb] << 0x18);\n      uVar1 = _DAT_00126440;\n      goto LAB_0010c540;\n    }\n    puts("Passive mode refused.");\n  }\n  else {\n    if (DAT_00124200 == 10) {\n      iVar4 = FUN_0010bb32(&DAT_0011a450);\n      if (iVar4 == 2) {\nLAB_0010c336:\n        iVar4 = sscanf(&DAT_00127a80,"%u|",local_98);\n        if (iVar4 == 1) {\n          _DAT_00126440 = DAT_00124160;\n          uVar1 = _DAT_00126440;\n          _DAT_00126448 = DAT_00124168;\n          _DAT_00126450 = _DAT_00124170;\n          uRam0000000000126458 = uRam0000000000124178;\n          _DAT_00126460 = _DAT_00124180;\n          uRam0000000000126468 = uRam0000000000124188;\n          _DAT_00126470 = _DAT_00124190;\n          uRam0000000000126478 = uRam0000000000124198;\n          _DAT_00126480 = _DAT_001241a0;\n          uRam0000000000126488 = uRam00000000001241a8;\n          _DAT_00126490 = _DAT_001241b0;\n          uRam0000000000126498 = uRam00000000001241b8;\n          _DAT_001264a0 = _DAT_001241c0;\n          uRam00000000001264a8 = uRam00000000001241c8;\n          _DAT_001264b0 = _DAT_001241d0;\n          uRam00000000001264b8 = uRam00000000001241d8;\n          _DAT_00126444 = (undefined4)(DAT_00124160 >> 0x20);\n          if ((short)DAT_00124160 == 2) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,2);\n            uVar1 = _DAT_00126440;\n          }\n          else if ((short)DAT_00124160 == 10) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,10);\n            uVar1 = _DAT_00126440;\n          }\n          goto LAB_0010c540;\n        }\n        puts("Extended passive mode scan failure. Should not happen!");\n        FUN_0010bb32(&DAT_0011a479);\n      }\n      else {\n        iVar4 = FUN_0010bb32(&DAT_0011a45a);\n        if (iVar4 == 2) goto LAB_0010c62c;\n        puts("Passive mode refused.");\n      }\n      goto LAB_0010c703;\n    }\nLAB_0010c499:\n    if (DAT_00124200 == 2) {\n      iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u",&local_b0,&local_ac,&local_a8,local_a4,\n                     local_a0,local_9c);\n      if (iVar4 == 6) {\n        _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2);\n        _DAT_00126440 =\n             CONCAT44(local_b0 & 0xff | ((local_ac & 0xff) << 0x10) >> 8 | (local_a8 & 0xff) << 0x10\n                      | (uint)local_a4[0] << 0x18,_DAT_00126440);\n        uVar1 = _DAT_00126440;\nLAB_0010c540:\n        _DAT_00126440 = uVar1;\n        iVar4 = connect(DAT_001216e0,(sockaddr *)&DAT_00126440,DAT_001264c0);\n        if (-1 < iVar4) {\n          local_b4 = 8;\n          bVar7 = false;\n          if (DAT_00126440 == 2) {\n            iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);\n            if (iVar4 < 0) {\n              perror("ftp: setsockopt TOS (ignored)");\n            }\n          }\n          goto LAB_0010ca2b;\n        }\n        perror("ftp: connect");\n      }\n      else {\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n      }\n    }\n    else {\n      puts("Passive mode address scan failure. Shouldn\'t happen!");\n    }\n  }\nLAB_0010c703:\n  close(DAT_001216e0);\n  DAT_001216e0 = -1;\n  bVar7 = true;\nLAB_0010ca2b:\n  if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return bVar7;\n  }\n                    \n  __stack_chk_fail();\n}" (primitive_type "bool") (function_declarator "FUN_0010c27f(void)" (identifier "FUN_0010c27f") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")"))) (compound_statement "{\n  ulong uVar1;\n  uint uVar2;\n  uint uVar3;\n  int iVar4;\n  uint *puVar5;\n  int *piVar6;\n  long in_FS_OFFSET;\n  bool bVar7;\n  undefined4 local_b4;\n  uint local_b0;\n  uint local_ac;\n  uint local_a8;\n  byte local_a4 [4];\n  ushort local_a0 [2];\n  byte local_9c [4];\n  ushort local_98 [2];\n  int local_94;\n  int local_90;\n  socklen_t local_8c;\n  uint local_88 [16];\n  uint local_48 [2];\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  local_b4 = 1;\n  if (DAT_00127ac4 == 0) {\n    bVar7 = false;\nLAB_0010cba4:\n    _DAT_00126448 = uRam0000000000124208;\n    _DAT_00126450 = _DAT_00124210;\n    uRam0000000000126458 = uRam0000000000124218;\n    _DAT_00126460 = _DAT_00124220;\n    uRam0000000000126468 = uRam0000000000124228;\n    _DAT_00126470 = _DAT_00124230;\n    uRam0000000000126478 = uRam0000000000124238;\n    _DAT_00126480 = _DAT_00124240;\n    uRam0000000000126488 = uRam0000000000124248;\n    _DAT_00126490 = _DAT_00124250;\n    uRam0000000000126498 = uRam0000000000124258;\n    _DAT_001264a0 = _DAT_00124260;\n    uRam00000000001264a8 = uRam0000000000124268;\n    _DAT_001264b0 = _DAT_00124270;\n    uRam00000000001264b8 = uRam0000000000124278;\n    uVar1 = CONCAT62(uRam0000000000124202,DAT_00124200);\n    if (DAT_00127b64 != 0) {\n      _DAT_00126444 = (undefined4)((uint6)uRam0000000000124202 >> 0x10);\n      if (DAT_00124200 == 2) {\n        _DAT_00126440 = CONCAT44(_DAT_00126444,2);\n        uVar1 = _DAT_00126440;\n      }\n      else if (DAT_00124200 == 10) {\n        _DAT_00126440 = CONCAT44(_DAT_00126444,10);\n        uVar1 = _DAT_00126440;\n      }\n    }\n    _DAT_00126440 = uVar1;\n    if (DAT_001216e0 != -1) {\n      close(DAT_001216e0);\n    }\n    DAT_001216e0 = socket((uint)DAT_00124200,1,0);\n    if (DAT_001216e0 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,"socket");\n      if (bVar7 == false) {\n        bVar7 = true;\n      }\n      else {\n        DAT_00127b64 = 1;\n      }\n      goto LAB_0010ca2b;\n    }\n    if (DAT_00127b64 == 0) {\n      iVar4 = setsockopt(DAT_001216e0,1,2,&local_b4,4);\n      if (-1 < iVar4) goto LAB_0010cc9e;\n      piVar6 = __errno_location();\n      error(0,*piVar6,"setsockopt (reuse address)");\nLAB_0010ca03:\n      close(DAT_001216e0);\n      DAT_001216e0 = -1;\n      if (bVar7 == false) {\n        bVar7 = true;\n      }\n      else {\n        DAT_00127b64 = 1;\n      }\n      goto LAB_0010ca2b;\n    }\nLAB_0010cc9e:\n    iVar4 = bind(DAT_001216e0,(sockaddr *)&DAT_00126440,DAT_001264c0);\n    if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,&DAT_0011a4df);\n      goto LAB_0010ca03;\n    }\n    if ((DAT_001267d0 & 1) != 0) {\n      iVar4 = setsockopt(DAT_001216e0,1,1,&local_b4,4);\n      if (iVar4 < 0) {\n        piVar6 = __errno_location();\n        if (*piVar6 != 0xd) {\n          error(0,*piVar6,"setsockopt DEBUG (ignored)");\n        }\n      }\n    }\n    local_8c = 0x80;\n    iVar4 = getsockname(DAT_001216e0,(sockaddr *)&DAT_00126440,&local_8c);\n    if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,"getsockname");\n      goto LAB_0010ca03;\n    }\n    iVar4 = listen(DAT_001216e0,1);\n    if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,"listen");\n    }\n    if (DAT_00127b64 == 0) {\n      if (bVar7 != false) {\n        DAT_00127b64 = 1;\n      }\n      local_b4 = 8;\n      bVar7 = false;\n      if (DAT_00126440 == 2) {\n        iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);\n        if (iVar4 < 0) {\n          piVar6 = __errno_location();\n          error(0,*piVar6,"setsockopt TOS (ignored)");\n        }\n      }\n      goto LAB_0010ca2b;\n    }\n    if ((DAT_00126440 == 2) && (DAT_001266e0 == 0)) {\n      bVar7 = true;\nLAB_0010cd36:\n      if (!bVar7) {\n        iVar4 = 2;\nLAB_0010cd3f:\n        bVar7 = iVar4 != 2;\n        goto LAB_0010ca2b;\n      }\nLAB_0010cd6c:\n      iVar4 = FUN_0010bb32("PORT %d,%d,%d,%d,%d,%d",DAT_00126444,DAT_00126445,DAT_00126446,\n                           DAT_00126447,DAT_00126442,_DAT_00126440 >> 0x18 & 0xff);\n    }\n    else {\n      getnameinfo((sockaddr *)&DAT_00126440,DAT_001264c0,&DAT_00121ec0,0x2e,&DAT_00121eb0,10,3);\n      iVar4 = FUN_0010bb32("EPRT |%d|%s|%s|",(DAT_00126440 != 2) + '\x01',&DAT_00121ec0,\n                           &DAT_00121eb0);\n      if (DAT_00126440 == 2) {\n        bVar7 = iVar4 != 2;\n        if ((DAT_001266e0 == 0) || (!bVar7)) goto LAB_0010cd36;\n        DAT_001266e0 = 0;\n        goto LAB_0010cd6c;\n      }\n    }\n    if (iVar4 == 2) goto LAB_0010cd3f;\n    if (DAT_00126440 == 2) {\n      iVar4 = FUN_0010bb32("LPRT 4,4,%u,%u,%u,%u,2,%u,%u",DAT_00126444,DAT_00126445,DAT_00126446,\n                           DAT_00126447,DAT_00126442,DAT_00126443);\n    }\n    else if (DAT_00126440 == 10) {\n      iVar4 = FUN_0010bb32("LPRT 6,16,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,2,%u,%u",\n                           DAT_00126448,DAT_00126449,DAT_0012644a,DAT_0012644b,DAT_0012644c,\n                           _DAT_00126448 >> 0x28 & 0xff,_DAT_00126448 >> 0x30 & 0xff,\n                           _DAT_00126448 >> 0x38,_DAT_00126450 & 0xff,_DAT_00126450 >> 8 & 0xff,\n                           _DAT_00126450 >> 0x10 & 0xff,_DAT_00126450 >> 0x18 & 0xff,\n                           _DAT_00126450 >> 0x20 & 0xff,_DAT_00126450 >> 0x28 & 0xff,\n                           _DAT_00126450 >> 0x30 & 0xff,_DAT_00126450 >> 0x38,DAT_00126442,\n                           DAT_00126443);\n    }\n    if ((iVar4 != 5) || (DAT_00127b64 != -1)) goto LAB_0010cd3f;\n    DAT_00127b64 = 0;\n    bVar7 = true;\n    goto LAB_0010cba4;\n  }\n  DAT_001216e0 = socket((uint)DAT_00124200,1,0);\n  if (DAT_001216e0 < 0) {\n    perror("ftp: socket");\n    bVar7 = true;\n    goto LAB_0010ca2b;\n  }\n  if ((DAT_001267d0 & 1) != 0) {\n    iVar4 = setsockopt(DAT_001216e0,1,1,&local_b4,4);\n    if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      if (*piVar6 != 0xd) {\n        error(0,*piVar6,"setsockopt DEBUG (ignored)");\n      }\n    }\n  }\n  if (DAT_00124200 == 2) {\n    if (DAT_001266e0 != 0) {\n      iVar4 = FUN_0010bb32(&DAT_0011a450);\n      if (iVar4 == 2) goto LAB_0010c336;\n      if (DAT_001266e0 != 0) {\n        DAT_001266e0 = 0;\n      }\n    }\n    iVar4 = FUN_0010bb32(&DAT_0011a455);\n    if (iVar4 == 2) goto LAB_0010c499;\n    iVar4 = FUN_0010bb32(&DAT_0011a45a);\n    if (iVar4 == 2) {\nLAB_0010c62c:\n      if (DAT_00124200 == 2) {\n        iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u,%u,%u,%u",&local_94,&local_90,local_88,\n                       local_88 + 1,local_88 + 2,local_88 + 3,&local_8c,local_a0,local_9c);\n        if ((((iVar4 == 9) && (local_94 == 4)) && (local_90 == 4)) && (local_8c == 2)) {\n          puVar5 = local_88;\n          do {\n            *puVar5 = *puVar5 & 0xff;\n            puVar5 = puVar5 + 1;\n          } while (puVar5 != local_88 + 4);\n          _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2);\n          uVar2 = local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3] | local_88[2] << 8;\n          _DAT_00126440 =\n               CONCAT44(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                        local_88[3] << 0x18,_DAT_00126440);\n          uVar1 = _DAT_00126440;\n          goto LAB_0010c540;\n        }\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n        goto LAB_0010c703;\n      }\n      iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u",\n                     &local_94,&local_90,local_88,local_88 + 1,local_88 + 2,local_88 + 3,\n                     local_88 + 4,local_88 + 5,local_88 + 6,local_88 + 7,local_88 + 8,local_88 + 9,\n                     local_88 + 10,local_88 + 0xb,local_88 + 0xc,local_88 + 0xd,local_88 + 0xe,\n                     local_88 + 0xf,&local_8c,local_a0,local_9c);\n      if (((iVar4 != 0x15) || (local_94 != 6)) || ((local_90 != 0x10 || (local_8c != 2)))) {\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n        goto LAB_0010c703;\n      }\n      puVar5 = local_88;\n      do {\n        *puVar5 = *puVar5 & 0xff;\n        puVar5 = puVar5 + 1;\n      } while (puVar5 != local_48);\n      _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,10);\n      uVar2 = local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3] | local_88[2] << 8;\n      uVar3 = local_88[4] << 0x18 | local_88[5] << 0x10 | local_88[7] | local_88[6] << 8;\n      _DAT_00126448 =\n           CONCAT44(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                    local_88[7] << 0x18,\n                    uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                    local_88[3] << 0x18);\n      uVar2 = local_88[8] << 0x18 | local_88[9] << 0x10 | local_88[0xb] | local_88[10] << 8;\n      uVar3 = local_88[0xc] << 0x18 | local_88[0xd] << 0x10 | local_88[0xf] | local_88[0xe] << 8;\n      _DAT_00126450 =\n           CONCAT44(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                    local_88[0xf] << 0x18,\n                    uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                    local_88[0xb] << 0x18);\n      uVar1 = _DAT_00126440;\n      goto LAB_0010c540;\n    }\n    puts("Passive mode refused.");\n  }\n  else {\n    if (DAT_00124200 == 10) {\n      iVar4 = FUN_0010bb32(&DAT_0011a450);\n      if (iVar4 == 2) {\nLAB_0010c336:\n        iVar4 = sscanf(&DAT_00127a80,"%u|",local_98);\n        if (iVar4 == 1) {\n          _DAT_00126440 = DAT_00124160;\n          uVar1 = _DAT_00126440;\n          _DAT_00126448 = DAT_00124168;\n          _DAT_00126450 = _DAT_00124170;\n          uRam0000000000126458 = uRam0000000000124178;\n          _DAT_00126460 = _DAT_00124180;\n          uRam0000000000126468 = uRam0000000000124188;\n          _DAT_00126470 = _DAT_00124190;\n          uRam0000000000126478 = uRam0000000000124198;\n          _DAT_00126480 = _DAT_001241a0;\n          uRam0000000000126488 = uRam00000000001241a8;\n          _DAT_00126490 = _DAT_001241b0;\n          uRam0000000000126498 = uRam00000000001241b8;\n          _DAT_001264a0 = _DAT_001241c0;\n          uRam00000000001264a8 = uRam00000000001241c8;\n          _DAT_001264b0 = _DAT_001241d0;\n          uRam00000000001264b8 = uRam00000000001241d8;\n          _DAT_00126444 = (undefined4)(DAT_00124160 >> 0x20);\n          if ((short)DAT_00124160 == 2) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,2);\n            uVar1 = _DAT_00126440;\n          }\n          else if ((short)DAT_00124160 == 10) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,10);\n            uVar1 = _DAT_00126440;\n          }\n          goto LAB_0010c540;\n        }\n        puts("Extended passive mode scan failure. Should not happen!");\n        FUN_0010bb32(&DAT_0011a479);\n      }\n      else {\n        iVar4 = FUN_0010bb32(&DAT_0011a45a);\n        if (iVar4 == 2) goto LAB_0010c62c;\n        puts("Passive mode refused.");\n      }\n      goto LAB_0010c703;\n    }\nLAB_0010c499:\n    if (DAT_00124200 == 2) {\n      iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u",&local_b0,&local_ac,&local_a8,local_a4,\n                     local_a0,local_9c);\n      if (iVar4 == 6) {\n        _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2);\n        _DAT_00126440 =\n             CONCAT44(local_b0 & 0xff | ((local_ac & 0xff) << 0x10) >> 8 | (local_a8 & 0xff) << 0x10\n                      | (uint)local_a4[0] << 0x18,_DAT_00126440);\n        uVar1 = _DAT_00126440;\nLAB_0010c540:\n        _DAT_00126440 = uVar1;\n        iVar4 = connect(DAT_001216e0,(sockaddr *)&DAT_00126440,DAT_001264c0);\n        if (-1 < iVar4) {\n          local_b4 = 8;\n          bVar7 = false;\n          if (DAT_00126440 == 2) {\n            iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);\n            if (iVar4 < 0) {\n              perror("ftp: setsockopt TOS (ignored)");\n            }\n          }\n          goto LAB_0010ca2b;\n        }\n        perror("ftp: connect");\n      }\n      else {\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n      }\n    }\n    else {\n      puts("Passive mode address scan failure. Shouldn\'t happen!");\n    }\n  }\nLAB_0010c703:\n  close(DAT_001216e0);\n  DAT_001216e0 = -1;\n  bVar7 = true;\nLAB_0010ca2b:\n  if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return bVar7;\n  }\n                    \n  __stack_chk_fail();\n}" ({ "{") (declaration "ulong uVar1;" (type_identifier "ulong") (identifier "uVar1") (; ";")) (declaration "uint uVar2;" (type_identifier "uint") (identifier "uVar2") (; ";")) (declaration "uint uVar3;" (type_identifier "uint") (identifier "uVar3") (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "uint *puVar5;" (type_identifier "uint") (pointer_declarator "*puVar5" (* "*") (identifier "puVar5")) (; ";")) (declaration "int *piVar6;" (primitive_type "int") (pointer_declarator "*piVar6" (* "*") (identifier "piVar6")) (; ";")) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" (long "long")) (identifier "in_FS_OFFSET") (; ";")) (declaration "bool bVar7;" (primitive_type "bool") (identifier "bVar7") (; ";")) (declaration "undefined4 local_b4;" (type_identifier "undefined4") (identifier "local_b4") (; ";")) (declaration "uint local_b0;" (type_identifier "uint") (identifier "local_b0") (; ";")) (declaration "uint local_ac;" (type_identifier "uint") (identifier "local_ac") (; ";")) (declaration "uint local_a8;" (type_identifier "uint") (identifier "local_a8") (; ";")) (declaration "byte local_a4 [4];" (type_identifier "byte") (array_declarator "local_a4 [4]" (identifier "local_a4") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "ushort local_a0 [2];" (type_identifier "ushort") (array_declarator "local_a0 [2]" (identifier "local_a0") ([ "[") (number_literal "2") (] "]")) (; ";")) (declaration "byte local_9c [4];" (type_identifier "byte") (array_declarator "local_9c [4]" (identifier "local_9c") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "ushort local_98 [2];" (type_identifier "ushort") (array_declarator "local_98 [2]" (identifier "local_98") ([ "[") (number_literal "2") (] "]")) (; ";")) (declaration "int local_94;" (primitive_type "int") (identifier "local_94") (; ";")) (declaration "int local_90;" (primitive_type "int") (identifier "local_90") (; ";")) (declaration "socklen_t local_8c;" (type_identifier "socklen_t") (identifier "local_8c") (; ";")) (declaration "uint local_88 [16];" (type_identifier "uint") (array_declarator "local_88 [16]" (identifier "local_88") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "uint local_48 [2];" (type_identifier "uint") (array_declarator "local_48 [2]" (identifier "local_48") ([ "[") (number_literal "2") (] "]")) (; ";")) (declaration "long local_40;" (sized_type_specifier "long" (long "long")) (identifier "local_40") (; ";")) (expression_statement "local_40 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "local_40 = *(long *)(in_FS_OFFSET + 0x28)" (identifier "local_40") (= "=") (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" (* "*") (cast_expression "(long *)(in_FS_OFFSET + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_FS_OFFSET + 0x28)" (( "(") (binary_expression "in_FS_OFFSET + 0x28" (identifier "in_FS_OFFSET") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (expression_statement "local_b4 = 1;" (assignment_expression "local_b4 = 1" (identifier "local_b4") (= "=") (number_literal "1")) (; ";")) (if_statement "if (DAT_00127ac4 == 0) {\n    bVar7 = false;\nLAB_0010cba4:\n    _DAT_00126448 = uRam0000000000124208;\n    _DAT_00126450 = _DAT_00124210;\n    uRam0000000000126458 = uRam0000000000124218;\n    _DAT_00126460 = _DAT_00124220;\n    uRam0000000000126468 = uRam0000000000124228;\n    _DAT_00126470 = _DAT_00124230;\n    uRam0000000000126478 = uRam0000000000124238;\n    _DAT_00126480 = _DAT_00124240;\n    uRam0000000000126488 = uRam0000000000124248;\n    _DAT_00126490 = _DAT_00124250;\n    uRam0000000000126498 = uRam0000000000124258;\n    _DAT_001264a0 = _DAT_00124260;\n    uRam00000000001264a8 = uRam0000000000124268;\n    _DAT_001264b0 = _DAT_00124270;\n    uRam00000000001264b8 = uRam0000000000124278;\n    uVar1 = CONCAT62(uRam0000000000124202,DAT_00124200);\n    if (DAT_00127b64 != 0) {\n      _DAT_00126444 = (undefined4)((uint6)uRam0000000000124202 >> 0x10);\n      if (DAT_00124200 == 2) {\n        _DAT_00126440 = CONCAT44(_DAT_00126444,2);\n        uVar1 = _DAT_00126440;\n      }\n      else if (DAT_00124200 == 10) {\n        _DAT_00126440 = CONCAT44(_DAT_00126444,10);\n        uVar1 = _DAT_00126440;\n      }\n    }\n    _DAT_00126440 = uVar1;\n    if (DAT_001216e0 != -1) {\n      close(DAT_001216e0);\n    }\n    DAT_001216e0 = socket((uint)DAT_00124200,1,0);\n    if (DAT_001216e0 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,"socket");\n      if (bVar7 == false) {\n        bVar7 = true;\n      }\n      else {\n        DAT_00127b64 = 1;\n      }\n      goto LAB_0010ca2b;\n    }\n    if (DAT_00127b64 == 0) {\n      iVar4 = setsockopt(DAT_001216e0,1,2,&local_b4,4);\n      if (-1 < iVar4) goto LAB_0010cc9e;\n      piVar6 = __errno_location();\n      error(0,*piVar6,"setsockopt (reuse address)");\nLAB_0010ca03:\n      close(DAT_001216e0);\n      DAT_001216e0 = -1;\n      if (bVar7 == false) {\n        bVar7 = true;\n      }\n      else {\n        DAT_00127b64 = 1;\n      }\n      goto LAB_0010ca2b;\n    }\nLAB_0010cc9e:\n    iVar4 = bind(DAT_001216e0,(sockaddr *)&DAT_00126440,DAT_001264c0);\n    if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,&DAT_0011a4df);\n      goto LAB_0010ca03;\n    }\n    if ((DAT_001267d0 & 1) != 0) {\n      iVar4 = setsockopt(DAT_001216e0,1,1,&local_b4,4);\n      if (iVar4 < 0) {\n        piVar6 = __errno_location();\n        if (*piVar6 != 0xd) {\n          error(0,*piVar6,"setsockopt DEBUG (ignored)");\n        }\n      }\n    }\n    local_8c = 0x80;\n    iVar4 = getsockname(DAT_001216e0,(sockaddr *)&DAT_00126440,&local_8c);\n    if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,"getsockname");\n      goto LAB_0010ca03;\n    }\n    iVar4 = listen(DAT_001216e0,1);\n    if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,"listen");\n    }\n    if (DAT_00127b64 == 0) {\n      if (bVar7 != false) {\n        DAT_00127b64 = 1;\n      }\n      local_b4 = 8;\n      bVar7 = false;\n      if (DAT_00126440 == 2) {\n        iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);\n        if (iVar4 < 0) {\n          piVar6 = __errno_location();\n          error(0,*piVar6,"setsockopt TOS (ignored)");\n        }\n      }\n      goto LAB_0010ca2b;\n    }\n    if ((DAT_00126440 == 2) && (DAT_001266e0 == 0)) {\n      bVar7 = true;\nLAB_0010cd36:\n      if (!bVar7) {\n        iVar4 = 2;\nLAB_0010cd3f:\n        bVar7 = iVar4 != 2;\n        goto LAB_0010ca2b;\n      }\nLAB_0010cd6c:\n      iVar4 = FUN_0010bb32("PORT %d,%d,%d,%d,%d,%d",DAT_00126444,DAT_00126445,DAT_00126446,\n                           DAT_00126447,DAT_00126442,_DAT_00126440 >> 0x18 & 0xff);\n    }\n    else {\n      getnameinfo((sockaddr *)&DAT_00126440,DAT_001264c0,&DAT_00121ec0,0x2e,&DAT_00121eb0,10,3);\n      iVar4 = FUN_0010bb32("EPRT |%d|%s|%s|",(DAT_00126440 != 2) + '\x01',&DAT_00121ec0,\n                           &DAT_00121eb0);\n      if (DAT_00126440 == 2) {\n        bVar7 = iVar4 != 2;\n        if ((DAT_001266e0 == 0) || (!bVar7)) goto LAB_0010cd36;\n        DAT_001266e0 = 0;\n        goto LAB_0010cd6c;\n      }\n    }\n    if (iVar4 == 2) goto LAB_0010cd3f;\n    if (DAT_00126440 == 2) {\n      iVar4 = FUN_0010bb32("LPRT 4,4,%u,%u,%u,%u,2,%u,%u",DAT_00126444,DAT_00126445,DAT_00126446,\n                           DAT_00126447,DAT_00126442,DAT_00126443);\n    }\n    else if (DAT_00126440 == 10) {\n      iVar4 = FUN_0010bb32("LPRT 6,16,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,2,%u,%u",\n                           DAT_00126448,DAT_00126449,DAT_0012644a,DAT_0012644b,DAT_0012644c,\n                           _DAT_00126448 >> 0x28 & 0xff,_DAT_00126448 >> 0x30 & 0xff,\n                           _DAT_00126448 >> 0x38,_DAT_00126450 & 0xff,_DAT_00126450 >> 8 & 0xff,\n                           _DAT_00126450 >> 0x10 & 0xff,_DAT_00126450 >> 0x18 & 0xff,\n                           _DAT_00126450 >> 0x20 & 0xff,_DAT_00126450 >> 0x28 & 0xff,\n                           _DAT_00126450 >> 0x30 & 0xff,_DAT_00126450 >> 0x38,DAT_00126442,\n                           DAT_00126443);\n    }\n    if ((iVar4 != 5) || (DAT_00127b64 != -1)) goto LAB_0010cd3f;\n    DAT_00127b64 = 0;\n    bVar7 = true;\n    goto LAB_0010cba4;\n  }" (if "if") (parenthesized_expression "(DAT_00127ac4 == 0)" (( "(") (binary_expression "DAT_00127ac4 == 0" (identifier "DAT_00127ac4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    bVar7 = false;\nLAB_0010cba4:\n    _DAT_00126448 = uRam0000000000124208;\n    _DAT_00126450 = _DAT_00124210;\n    uRam0000000000126458 = uRam0000000000124218;\n    _DAT_00126460 = _DAT_00124220;\n    uRam0000000000126468 = uRam0000000000124228;\n    _DAT_00126470 = _DAT_00124230;\n    uRam0000000000126478 = uRam0000000000124238;\n    _DAT_00126480 = _DAT_00124240;\n    uRam0000000000126488 = uRam0000000000124248;\n    _DAT_00126490 = _DAT_00124250;\n    uRam0000000000126498 = uRam0000000000124258;\n    _DAT_001264a0 = _DAT_00124260;\n    uRam00000000001264a8 = uRam0000000000124268;\n    _DAT_001264b0 = _DAT_00124270;\n    uRam00000000001264b8 = uRam0000000000124278;\n    uVar1 = CONCAT62(uRam0000000000124202,DAT_00124200);\n    if (DAT_00127b64 != 0) {\n      _DAT_00126444 = (undefined4)((uint6)uRam0000000000124202 >> 0x10);\n      if (DAT_00124200 == 2) {\n        _DAT_00126440 = CONCAT44(_DAT_00126444,2);\n        uVar1 = _DAT_00126440;\n      }\n      else if (DAT_00124200 == 10) {\n        _DAT_00126440 = CONCAT44(_DAT_00126444,10);\n        uVar1 = _DAT_00126440;\n      }\n    }\n    _DAT_00126440 = uVar1;\n    if (DAT_001216e0 != -1) {\n      close(DAT_001216e0);\n    }\n    DAT_001216e0 = socket((uint)DAT_00124200,1,0);\n    if (DAT_001216e0 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,"socket");\n      if (bVar7 == false) {\n        bVar7 = true;\n      }\n      else {\n        DAT_00127b64 = 1;\n      }\n      goto LAB_0010ca2b;\n    }\n    if (DAT_00127b64 == 0) {\n      iVar4 = setsockopt(DAT_001216e0,1,2,&local_b4,4);\n      if (-1 < iVar4) goto LAB_0010cc9e;\n      piVar6 = __errno_location();\n      error(0,*piVar6,"setsockopt (reuse address)");\nLAB_0010ca03:\n      close(DAT_001216e0);\n      DAT_001216e0 = -1;\n      if (bVar7 == false) {\n        bVar7 = true;\n      }\n      else {\n        DAT_00127b64 = 1;\n      }\n      goto LAB_0010ca2b;\n    }\nLAB_0010cc9e:\n    iVar4 = bind(DAT_001216e0,(sockaddr *)&DAT_00126440,DAT_001264c0);\n    if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,&DAT_0011a4df);\n      goto LAB_0010ca03;\n    }\n    if ((DAT_001267d0 & 1) != 0) {\n      iVar4 = setsockopt(DAT_001216e0,1,1,&local_b4,4);\n      if (iVar4 < 0) {\n        piVar6 = __errno_location();\n        if (*piVar6 != 0xd) {\n          error(0,*piVar6,"setsockopt DEBUG (ignored)");\n        }\n      }\n    }\n    local_8c = 0x80;\n    iVar4 = getsockname(DAT_001216e0,(sockaddr *)&DAT_00126440,&local_8c);\n    if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,"getsockname");\n      goto LAB_0010ca03;\n    }\n    iVar4 = listen(DAT_001216e0,1);\n    if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,"listen");\n    }\n    if (DAT_00127b64 == 0) {\n      if (bVar7 != false) {\n        DAT_00127b64 = 1;\n      }\n      local_b4 = 8;\n      bVar7 = false;\n      if (DAT_00126440 == 2) {\n        iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);\n        if (iVar4 < 0) {\n          piVar6 = __errno_location();\n          error(0,*piVar6,"setsockopt TOS (ignored)");\n        }\n      }\n      goto LAB_0010ca2b;\n    }\n    if ((DAT_00126440 == 2) && (DAT_001266e0 == 0)) {\n      bVar7 = true;\nLAB_0010cd36:\n      if (!bVar7) {\n        iVar4 = 2;\nLAB_0010cd3f:\n        bVar7 = iVar4 != 2;\n        goto LAB_0010ca2b;\n      }\nLAB_0010cd6c:\n      iVar4 = FUN_0010bb32("PORT %d,%d,%d,%d,%d,%d",DAT_00126444,DAT_00126445,DAT_00126446,\n                           DAT_00126447,DAT_00126442,_DAT_00126440 >> 0x18 & 0xff);\n    }\n    else {\n      getnameinfo((sockaddr *)&DAT_00126440,DAT_001264c0,&DAT_00121ec0,0x2e,&DAT_00121eb0,10,3);\n      iVar4 = FUN_0010bb32("EPRT |%d|%s|%s|",(DAT_00126440 != 2) + '\x01',&DAT_00121ec0,\n                           &DAT_00121eb0);\n      if (DAT_00126440 == 2) {\n        bVar7 = iVar4 != 2;\n        if ((DAT_001266e0 == 0) || (!bVar7)) goto LAB_0010cd36;\n        DAT_001266e0 = 0;\n        goto LAB_0010cd6c;\n      }\n    }\n    if (iVar4 == 2) goto LAB_0010cd3f;\n    if (DAT_00126440 == 2) {\n      iVar4 = FUN_0010bb32("LPRT 4,4,%u,%u,%u,%u,2,%u,%u",DAT_00126444,DAT_00126445,DAT_00126446,\n                           DAT_00126447,DAT_00126442,DAT_00126443);\n    }\n    else if (DAT_00126440 == 10) {\n      iVar4 = FUN_0010bb32("LPRT 6,16,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,2,%u,%u",\n                           DAT_00126448,DAT_00126449,DAT_0012644a,DAT_0012644b,DAT_0012644c,\n                           _DAT_00126448 >> 0x28 & 0xff,_DAT_00126448 >> 0x30 & 0xff,\n                           _DAT_00126448 >> 0x38,_DAT_00126450 & 0xff,_DAT_00126450 >> 8 & 0xff,\n                           _DAT_00126450 >> 0x10 & 0xff,_DAT_00126450 >> 0x18 & 0xff,\n                           _DAT_00126450 >> 0x20 & 0xff,_DAT_00126450 >> 0x28 & 0xff,\n                           _DAT_00126450 >> 0x30 & 0xff,_DAT_00126450 >> 0x38,DAT_00126442,\n                           DAT_00126443);\n    }\n    if ((iVar4 != 5) || (DAT_00127b64 != -1)) goto LAB_0010cd3f;\n    DAT_00127b64 = 0;\n    bVar7 = true;\n    goto LAB_0010cba4;\n  }" ({ "{") (expression_statement "bVar7 = false;" (assignment_expression "bVar7 = false" (identifier "bVar7") (= "=") (false "false")) (; ";")) (labeled_statement "LAB_0010cba4:\n    _DAT_00126448 = uRam0000000000124208;" (statement_identifier "LAB_0010cba4") (: ":") (expression_statement "_DAT_00126448 = uRam0000000000124208;" (assignment_expression "_DAT_00126448 = uRam0000000000124208" (identifier "_DAT_00126448") (= "=") (identifier "uRam0000000000124208")) (; ";"))) (expression_statement "_DAT_00126450 = _DAT_00124210;" (assignment_expression "_DAT_00126450 = _DAT_00124210" (identifier "_DAT_00126450") (= "=") (identifier "_DAT_00124210")) (; ";")) (expression_statement "uRam0000000000126458 = uRam0000000000124218;" (assignment_expression "uRam0000000000126458 = uRam0000000000124218" (identifier "uRam0000000000126458") (= "=") (identifier "uRam0000000000124218")) (; ";")) (expression_statement "_DAT_00126460 = _DAT_00124220;" (assignment_expression "_DAT_00126460 = _DAT_00124220" (identifier "_DAT_00126460") (= "=") (identifier "_DAT_00124220")) (; ";")) (expression_statement "uRam0000000000126468 = uRam0000000000124228;" (assignment_expression "uRam0000000000126468 = uRam0000000000124228" (identifier "uRam0000000000126468") (= "=") (identifier "uRam0000000000124228")) (; ";")) (expression_statement "_DAT_00126470 = _DAT_00124230;" (assignment_expression "_DAT_00126470 = _DAT_00124230" (identifier "_DAT_00126470") (= "=") (identifier "_DAT_00124230")) (; ";")) (expression_statement "uRam0000000000126478 = uRam0000000000124238;" (assignment_expression "uRam0000000000126478 = uRam0000000000124238" (identifier "uRam0000000000126478") (= "=") (identifier "uRam0000000000124238")) (; ";")) (expression_statement "_DAT_00126480 = _DAT_00124240;" (assignment_expression "_DAT_00126480 = _DAT_00124240" (identifier "_DAT_00126480") (= "=") (identifier "_DAT_00124240")) (; ";")) (expression_statement "uRam0000000000126488 = uRam0000000000124248;" (assignment_expression "uRam0000000000126488 = uRam0000000000124248" (identifier "uRam0000000000126488") (= "=") (identifier "uRam0000000000124248")) (; ";")) (expression_statement "_DAT_00126490 = _DAT_00124250;" (assignment_expression "_DAT_00126490 = _DAT_00124250" (identifier "_DAT_00126490") (= "=") (identifier "_DAT_00124250")) (; ";")) (expression_statement "uRam0000000000126498 = uRam0000000000124258;" (assignment_expression "uRam0000000000126498 = uRam0000000000124258" (identifier "uRam0000000000126498") (= "=") (identifier "uRam0000000000124258")) (; ";")) (expression_statement "_DAT_001264a0 = _DAT_00124260;" (assignment_expression "_DAT_001264a0 = _DAT_00124260" (identifier "_DAT_001264a0") (= "=") (identifier "_DAT_00124260")) (; ";")) (expression_statement "uRam00000000001264a8 = uRam0000000000124268;" (assignment_expression "uRam00000000001264a8 = uRam0000000000124268" (identifier "uRam00000000001264a8") (= "=") (identifier "uRam0000000000124268")) (; ";")) (expression_statement "_DAT_001264b0 = _DAT_00124270;" (assignment_expression "_DAT_001264b0 = _DAT_00124270" (identifier "_DAT_001264b0") (= "=") (identifier "_DAT_00124270")) (; ";")) (expression_statement "uRam00000000001264b8 = uRam0000000000124278;" (assignment_expression "uRam00000000001264b8 = uRam0000000000124278" (identifier "uRam00000000001264b8") (= "=") (identifier "uRam0000000000124278")) (; ";")) (expression_statement "uVar1 = CONCAT62(uRam0000000000124202,DAT_00124200);" (assignment_expression "uVar1 = CONCAT62(uRam0000000000124202,DAT_00124200)" (identifier "uVar1") (= "=") (call_expression "CONCAT62(uRam0000000000124202,DAT_00124200)" (identifier "CONCAT62") (argument_list "(uRam0000000000124202,DAT_00124200)" (( "(") (identifier "uRam0000000000124202") (, ",") (identifier "DAT_00124200") () ")")))) (; ";")) (if_statement "if (DAT_00127b64 != 0) {\n      _DAT_00126444 = (undefined4)((uint6)uRam0000000000124202 >> 0x10);\n      if (DAT_00124200 == 2) {\n        _DAT_00126440 = CONCAT44(_DAT_00126444,2);\n        uVar1 = _DAT_00126440;\n      }\n      else if (DAT_00124200 == 10) {\n        _DAT_00126440 = CONCAT44(_DAT_00126444,10);\n        uVar1 = _DAT_00126440;\n      }\n    }" (if "if") (parenthesized_expression "(DAT_00127b64 != 0)" (( "(") (binary_expression "DAT_00127b64 != 0" (identifier "DAT_00127b64") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      _DAT_00126444 = (undefined4)((uint6)uRam0000000000124202 >> 0x10);\n      if (DAT_00124200 == 2) {\n        _DAT_00126440 = CONCAT44(_DAT_00126444,2);\n        uVar1 = _DAT_00126440;\n      }\n      else if (DAT_00124200 == 10) {\n        _DAT_00126440 = CONCAT44(_DAT_00126444,10);\n        uVar1 = _DAT_00126440;\n      }\n    }" ({ "{") (expression_statement "_DAT_00126444 = (undefined4)((uint6)uRam0000000000124202 >> 0x10);" (assignment_expression "_DAT_00126444 = (undefined4)((uint6)uRam0000000000124202 >> 0x10)" (identifier "_DAT_00126444") (= "=") (call_expression "(undefined4)((uint6)uRam0000000000124202 >> 0x10)" (parenthesized_expression "(undefined4)" (( "(") (identifier "undefined4") () ")")) (argument_list "((uint6)uRam0000000000124202 >> 0x10)" (( "(") (binary_expression "(uint6)uRam0000000000124202 >> 0x10" (cast_expression "(uint6)uRam0000000000124202" (( "(") (type_descriptor "uint6" (type_identifier "uint6")) () ")") (identifier "uRam0000000000124202")) (>> ">>") (number_literal "0x10")) () ")")))) (; ";")) (if_statement "if (DAT_00124200 == 2) {\n        _DAT_00126440 = CONCAT44(_DAT_00126444,2);\n        uVar1 = _DAT_00126440;\n      }\n      else if (DAT_00124200 == 10) {\n        _DAT_00126440 = CONCAT44(_DAT_00126444,10);\n        uVar1 = _DAT_00126440;\n      }" (if "if") (parenthesized_expression "(DAT_00124200 == 2)" (( "(") (binary_expression "DAT_00124200 == 2" (identifier "DAT_00124200") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n        _DAT_00126440 = CONCAT44(_DAT_00126444,2);\n        uVar1 = _DAT_00126440;\n      }" ({ "{") (expression_statement "_DAT_00126440 = CONCAT44(_DAT_00126444,2);" (assignment_expression "_DAT_00126440 = CONCAT44(_DAT_00126444,2)" (identifier "_DAT_00126440") (= "=") (call_expression "CONCAT44(_DAT_00126444,2)" (identifier "CONCAT44") (argument_list "(_DAT_00126444,2)" (( "(") (identifier "_DAT_00126444") (, ",") (number_literal "2") () ")")))) (; ";")) (expression_statement "uVar1 = _DAT_00126440;" (assignment_expression "uVar1 = _DAT_00126440" (identifier "uVar1") (= "=") (identifier "_DAT_00126440")) (; ";")) (} "}")) (else_clause "else if (DAT_00124200 == 10) {\n        _DAT_00126440 = CONCAT44(_DAT_00126444,10);\n        uVar1 = _DAT_00126440;\n      }" (else "else") (if_statement "if (DAT_00124200 == 10) {\n        _DAT_00126440 = CONCAT44(_DAT_00126444,10);\n        uVar1 = _DAT_00126440;\n      }" (if "if") (parenthesized_expression "(DAT_00124200 == 10)" (( "(") (binary_expression "DAT_00124200 == 10" (identifier "DAT_00124200") (== "==") (number_literal "10")) () ")")) (compound_statement "{\n        _DAT_00126440 = CONCAT44(_DAT_00126444,10);\n        uVar1 = _DAT_00126440;\n      }" ({ "{") (expression_statement "_DAT_00126440 = CONCAT44(_DAT_00126444,10);" (assignment_expression "_DAT_00126440 = CONCAT44(_DAT_00126444,10)" (identifier "_DAT_00126440") (= "=") (call_expression "CONCAT44(_DAT_00126444,10)" (identifier "CONCAT44") (argument_list "(_DAT_00126444,10)" (( "(") (identifier "_DAT_00126444") (, ",") (number_literal "10") () ")")))) (; ";")) (expression_statement "uVar1 = _DAT_00126440;" (assignment_expression "uVar1 = _DAT_00126440" (identifier "uVar1") (= "=") (identifier "_DAT_00126440")) (; ";")) (} "}"))))) (} "}"))) (expression_statement "_DAT_00126440 = uVar1;" (assignment_expression "_DAT_00126440 = uVar1" (identifier "_DAT_00126440") (= "=") (identifier "uVar1")) (; ";")) (if_statement "if (DAT_001216e0 != -1) {\n      close(DAT_001216e0);\n    }" (if "if") (parenthesized_expression "(DAT_001216e0 != -1)" (( "(") (binary_expression "DAT_001216e0 != -1" (identifier "DAT_001216e0") (!= "!=") (number_literal "-1")) () ")")) (compound_statement "{\n      close(DAT_001216e0);\n    }" ({ "{") (expression_statement "close(DAT_001216e0);" (call_expression "close(DAT_001216e0)" (identifier "close") (argument_list "(DAT_001216e0)" (( "(") (identifier "DAT_001216e0") () ")"))) (; ";")) (} "}"))) (expression_statement "DAT_001216e0 = socket((uint)DAT_00124200,1,0);" (assignment_expression "DAT_001216e0 = socket((uint)DAT_00124200,1,0)" (identifier "DAT_001216e0") (= "=") (call_expression "socket((uint)DAT_00124200,1,0)" (identifier "socket") (argument_list "((uint)DAT_00124200,1,0)" (( "(") (cast_expression "(uint)DAT_00124200" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "DAT_00124200")) (, ",") (number_literal "1") (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (DAT_001216e0 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,"socket");\n      if (bVar7 == false) {\n        bVar7 = true;\n      }\n      else {\n        DAT_00127b64 = 1;\n      }\n      goto LAB_0010ca2b;\n    }" (if "if") (parenthesized_expression "(DAT_001216e0 < 0)" (( "(") (binary_expression "DAT_001216e0 < 0" (identifier "DAT_001216e0") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n      piVar6 = __errno_location();\n      error(0,*piVar6,"socket");\n      if (bVar7 == false) {\n        bVar7 = true;\n      }\n      else {\n        DAT_00127b64 = 1;\n      }\n      goto LAB_0010ca2b;\n    }" ({ "{") (expression_statement "piVar6 = __errno_location();" (assignment_expression "piVar6 = __errno_location()" (identifier "piVar6") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "error(0,*piVar6,"socket");" (call_expression "error(0,*piVar6,"socket")" (identifier "error") (argument_list "(0,*piVar6,"socket")" (( "(") (number_literal "0") (, ",") (pointer_expression "*piVar6" (* "*") (identifier "piVar6")) (, ",") (string_literal ""socket"" (" """) (string_content "socket") (" """)) () ")"))) (; ";")) (if_statement "if (bVar7 == false) {\n        bVar7 = true;\n      }\n      else {\n        DAT_00127b64 = 1;\n      }" (if "if") (parenthesized_expression "(bVar7 == false)" (( "(") (binary_expression "bVar7 == false" (identifier "bVar7") (== "==") (false "false")) () ")")) (compound_statement "{\n        bVar7 = true;\n      }" ({ "{") (expression_statement "bVar7 = true;" (assignment_expression "bVar7 = true" (identifier "bVar7") (= "=") (true "true")) (; ";")) (} "}")) (else_clause "else {\n        DAT_00127b64 = 1;\n      }" (else "else") (compound_statement "{\n        DAT_00127b64 = 1;\n      }" ({ "{") (expression_statement "DAT_00127b64 = 1;" (assignment_expression "DAT_00127b64 = 1" (identifier "DAT_00127b64") (= "=") (number_literal "1")) (; ";")) (} "}")))) (goto_statement "goto LAB_0010ca2b;" (goto "goto") (statement_identifier "LAB_0010ca2b") (; ";")) (} "}"))) (if_statement "if (DAT_00127b64 == 0) {\n      iVar4 = setsockopt(DAT_001216e0,1,2,&local_b4,4);\n      if (-1 < iVar4) goto LAB_0010cc9e;\n      piVar6 = __errno_location();\n      error(0,*piVar6,"setsockopt (reuse address)");\nLAB_0010ca03:\n      close(DAT_001216e0);\n      DAT_001216e0 = -1;\n      if (bVar7 == false) {\n        bVar7 = true;\n      }\n      else {\n        DAT_00127b64 = 1;\n      }\n      goto LAB_0010ca2b;\n    }" (if "if") (parenthesized_expression "(DAT_00127b64 == 0)" (( "(") (binary_expression "DAT_00127b64 == 0" (identifier "DAT_00127b64") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      iVar4 = setsockopt(DAT_001216e0,1,2,&local_b4,4);\n      if (-1 < iVar4) goto LAB_0010cc9e;\n      piVar6 = __errno_location();\n      error(0,*piVar6,"setsockopt (reuse address)");\nLAB_0010ca03:\n      close(DAT_001216e0);\n      DAT_001216e0 = -1;\n      if (bVar7 == false) {\n        bVar7 = true;\n      }\n      else {\n        DAT_00127b64 = 1;\n      }\n      goto LAB_0010ca2b;\n    }" ({ "{") (expression_statement "iVar4 = setsockopt(DAT_001216e0,1,2,&local_b4,4);" (assignment_expression "iVar4 = setsockopt(DAT_001216e0,1,2,&local_b4,4)" (identifier "iVar4") (= "=") (call_expression "setsockopt(DAT_001216e0,1,2,&local_b4,4)" (identifier "setsockopt") (argument_list "(DAT_001216e0,1,2,&local_b4,4)" (( "(") (identifier "DAT_001216e0") (, ",") (number_literal "1") (, ",") (number_literal "2") (, ",") (pointer_expression "&local_b4" (& "&") (identifier "local_b4")) (, ",") (number_literal "4") () ")")))) (; ";")) (if_statement "if (-1 < iVar4) goto LAB_0010cc9e;" (if "if") (parenthesized_expression "(-1 < iVar4)" (( "(") (binary_expression "-1 < iVar4" (number_literal "-1") (< "<") (identifier "iVar4")) () ")")) (goto_statement "goto LAB_0010cc9e;" (goto "goto") (statement_identifier "LAB_0010cc9e") (; ";"))) (expression_statement "piVar6 = __errno_location();" (assignment_expression "piVar6 = __errno_location()" (identifier "piVar6") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "error(0,*piVar6,"setsockopt (reuse address)");" (call_expression "error(0,*piVar6,"setsockopt (reuse address)")" (identifier "error") (argument_list "(0,*piVar6,"setsockopt (reuse address)")" (( "(") (number_literal "0") (, ",") (pointer_expression "*piVar6" (* "*") (identifier "piVar6")) (, ",") (string_literal ""setsockopt (reuse address)"" (" """) (string_content "setsockopt (reuse address)") (" """)) () ")"))) (; ";")) (labeled_statement "LAB_0010ca03:\n      close(DAT_001216e0);" (statement_identifier "LAB_0010ca03") (: ":") (expression_statement "close(DAT_001216e0);" (call_expression "close(DAT_001216e0)" (identifier "close") (argument_list "(DAT_001216e0)" (( "(") (identifier "DAT_001216e0") () ")"))) (; ";"))) (expression_statement "DAT_001216e0 = -1;" (assignment_expression "DAT_001216e0 = -1" (identifier "DAT_001216e0") (= "=") (number_literal "-1")) (; ";")) (if_statement "if (bVar7 == false) {\n        bVar7 = true;\n      }\n      else {\n        DAT_00127b64 = 1;\n      }" (if "if") (parenthesized_expression "(bVar7 == false)" (( "(") (binary_expression "bVar7 == false" (identifier "bVar7") (== "==") (false "false")) () ")")) (compound_statement "{\n        bVar7 = true;\n      }" ({ "{") (expression_statement "bVar7 = true;" (assignment_expression "bVar7 = true" (identifier "bVar7") (= "=") (true "true")) (; ";")) (} "}")) (else_clause "else {\n        DAT_00127b64 = 1;\n      }" (else "else") (compound_statement "{\n        DAT_00127b64 = 1;\n      }" ({ "{") (expression_statement "DAT_00127b64 = 1;" (assignment_expression "DAT_00127b64 = 1" (identifier "DAT_00127b64") (= "=") (number_literal "1")) (; ";")) (} "}")))) (goto_statement "goto LAB_0010ca2b;" (goto "goto") (statement_identifier "LAB_0010ca2b") (; ";")) (} "}"))) (labeled_statement "LAB_0010cc9e:\n    iVar4 = bind(DAT_001216e0,(sockaddr *)&DAT_00126440,DAT_001264c0);" (statement_identifier "LAB_0010cc9e") (: ":") (expression_statement "iVar4 = bind(DAT_001216e0,(sockaddr *)&DAT_00126440,DAT_001264c0);" (assignment_expression "iVar4 = bind(DAT_001216e0,(sockaddr *)&DAT_00126440,DAT_001264c0)" (identifier "iVar4") (= "=") (call_expression "bind(DAT_001216e0,(sockaddr *)&DAT_00126440,DAT_001264c0)" (identifier "bind") (argument_list "(DAT_001216e0,(sockaddr *)&DAT_00126440,DAT_001264c0)" (( "(") (identifier "DAT_001216e0") (, ",") (cast_expression "(sockaddr *)&DAT_00126440" (( "(") (type_descriptor "sockaddr *" (type_identifier "sockaddr") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00126440" (& "&") (identifier "DAT_00126440"))) (, ",") (identifier "DAT_001264c0") () ")")))) (; ";"))) (if_statement "if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,&DAT_0011a4df);\n      goto LAB_0010ca03;\n    }" (if "if") (parenthesized_expression "(iVar4 < 0)" (( "(") (binary_expression "iVar4 < 0" (identifier "iVar4") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n      piVar6 = __errno_location();\n      error(0,*piVar6,&DAT_0011a4df);\n      goto LAB_0010ca03;\n    }" ({ "{") (expression_statement "piVar6 = __errno_location();" (assignment_expression "piVar6 = __errno_location()" (identifier "piVar6") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "error(0,*piVar6,&DAT_0011a4df);" (call_expression "error(0,*piVar6,&DAT_0011a4df)" (identifier "error") (argument_list "(0,*piVar6,&DAT_0011a4df)" (( "(") (number_literal "0") (, ",") (pointer_expression "*piVar6" (* "*") (identifier "piVar6")) (, ",") (pointer_expression "&DAT_0011a4df" (& "&") (identifier "DAT_0011a4df")) () ")"))) (; ";")) (goto_statement "goto LAB_0010ca03;" (goto "goto") (statement_identifier "LAB_0010ca03") (; ";")) (} "}"))) (if_statement "if ((DAT_001267d0 & 1) != 0) {\n      iVar4 = setsockopt(DAT_001216e0,1,1,&local_b4,4);\n      if (iVar4 < 0) {\n        piVar6 = __errno_location();\n        if (*piVar6 != 0xd) {\n          error(0,*piVar6,"setsockopt DEBUG (ignored)");\n        }\n      }\n    }" (if "if") (parenthesized_expression "((DAT_001267d0 & 1) != 0)" (( "(") (binary_expression "(DAT_001267d0 & 1) != 0" (parenthesized_expression "(DAT_001267d0 & 1)" (( "(") (binary_expression "DAT_001267d0 & 1" (identifier "DAT_001267d0") (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      iVar4 = setsockopt(DAT_001216e0,1,1,&local_b4,4);\n      if (iVar4 < 0) {\n        piVar6 = __errno_location();\n        if (*piVar6 != 0xd) {\n          error(0,*piVar6,"setsockopt DEBUG (ignored)");\n        }\n      }\n    }" ({ "{") (expression_statement "iVar4 = setsockopt(DAT_001216e0,1,1,&local_b4,4);" (assignment_expression "iVar4 = setsockopt(DAT_001216e0,1,1,&local_b4,4)" (identifier "iVar4") (= "=") (call_expression "setsockopt(DAT_001216e0,1,1,&local_b4,4)" (identifier "setsockopt") (argument_list "(DAT_001216e0,1,1,&local_b4,4)" (( "(") (identifier "DAT_001216e0") (, ",") (number_literal "1") (, ",") (number_literal "1") (, ",") (pointer_expression "&local_b4" (& "&") (identifier "local_b4")) (, ",") (number_literal "4") () ")")))) (; ";")) (if_statement "if (iVar4 < 0) {\n        piVar6 = __errno_location();\n        if (*piVar6 != 0xd) {\n          error(0,*piVar6,"setsockopt DEBUG (ignored)");\n        }\n      }" (if "if") (parenthesized_expression "(iVar4 < 0)" (( "(") (binary_expression "iVar4 < 0" (identifier "iVar4") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n        piVar6 = __errno_location();\n        if (*piVar6 != 0xd) {\n          error(0,*piVar6,"setsockopt DEBUG (ignored)");\n        }\n      }" ({ "{") (expression_statement "piVar6 = __errno_location();" (assignment_expression "piVar6 = __errno_location()" (identifier "piVar6") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (*piVar6 != 0xd) {\n          error(0,*piVar6,"setsockopt DEBUG (ignored)");\n        }" (if "if") (parenthesized_expression "(*piVar6 != 0xd)" (( "(") (binary_expression "*piVar6 != 0xd" (pointer_expression "*piVar6" (* "*") (identifier "piVar6")) (!= "!=") (number_literal "0xd")) () ")")) (compound_statement "{\n          error(0,*piVar6,"setsockopt DEBUG (ignored)");\n        }" ({ "{") (expression_statement "error(0,*piVar6,"setsockopt DEBUG (ignored)");" (call_expression "error(0,*piVar6,"setsockopt DEBUG (ignored)")" (identifier "error") (argument_list "(0,*piVar6,"setsockopt DEBUG (ignored)")" (( "(") (number_literal "0") (, ",") (pointer_expression "*piVar6" (* "*") (identifier "piVar6")) (, ",") (string_literal ""setsockopt DEBUG (ignored)"" (" """) (string_content "setsockopt DEBUG (ignored)") (" """)) () ")"))) (; ";")) (} "}"))) (} "}"))) (} "}"))) (expression_statement "local_8c = 0x80;" (assignment_expression "local_8c = 0x80" (identifier "local_8c") (= "=") (number_literal "0x80")) (; ";")) (expression_statement "iVar4 = getsockname(DAT_001216e0,(sockaddr *)&DAT_00126440,&local_8c);" (assignment_expression "iVar4 = getsockname(DAT_001216e0,(sockaddr *)&DAT_00126440,&local_8c)" (identifier "iVar4") (= "=") (call_expression "getsockname(DAT_001216e0,(sockaddr *)&DAT_00126440,&local_8c)" (identifier "getsockname") (argument_list "(DAT_001216e0,(sockaddr *)&DAT_00126440,&local_8c)" (( "(") (identifier "DAT_001216e0") (, ",") (cast_expression "(sockaddr *)&DAT_00126440" (( "(") (type_descriptor "sockaddr *" (type_identifier "sockaddr") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00126440" (& "&") (identifier "DAT_00126440"))) (, ",") (pointer_expression "&local_8c" (& "&") (identifier "local_8c")) () ")")))) (; ";")) (if_statement "if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,"getsockname");\n      goto LAB_0010ca03;\n    }" (if "if") (parenthesized_expression "(iVar4 < 0)" (( "(") (binary_expression "iVar4 < 0" (identifier "iVar4") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n      piVar6 = __errno_location();\n      error(0,*piVar6,"getsockname");\n      goto LAB_0010ca03;\n    }" ({ "{") (expression_statement "piVar6 = __errno_location();" (assignment_expression "piVar6 = __errno_location()" (identifier "piVar6") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "error(0,*piVar6,"getsockname");" (call_expression "error(0,*piVar6,"getsockname")" (identifier "error") (argument_list "(0,*piVar6,"getsockname")" (( "(") (number_literal "0") (, ",") (pointer_expression "*piVar6" (* "*") (identifier "piVar6")) (, ",") (string_literal ""getsockname"" (" """) (string_content "getsockname") (" """)) () ")"))) (; ";")) (goto_statement "goto LAB_0010ca03;" (goto "goto") (statement_identifier "LAB_0010ca03") (; ";")) (} "}"))) (expression_statement "iVar4 = listen(DAT_001216e0,1);" (assignment_expression "iVar4 = listen(DAT_001216e0,1)" (identifier "iVar4") (= "=") (call_expression "listen(DAT_001216e0,1)" (identifier "listen") (argument_list "(DAT_001216e0,1)" (( "(") (identifier "DAT_001216e0") (, ",") (number_literal "1") () ")")))) (; ";")) (if_statement "if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      error(0,*piVar6,"listen");\n    }" (if "if") (parenthesized_expression "(iVar4 < 0)" (( "(") (binary_expression "iVar4 < 0" (identifier "iVar4") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n      piVar6 = __errno_location();\n      error(0,*piVar6,"listen");\n    }" ({ "{") (expression_statement "piVar6 = __errno_location();" (assignment_expression "piVar6 = __errno_location()" (identifier "piVar6") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "error(0,*piVar6,"listen");" (call_expression "error(0,*piVar6,"listen")" (identifier "error") (argument_list "(0,*piVar6,"listen")" (( "(") (number_literal "0") (, ",") (pointer_expression "*piVar6" (* "*") (identifier "piVar6")) (, ",") (string_literal ""listen"" (" """) (string_content "listen") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (DAT_00127b64 == 0) {\n      if (bVar7 != false) {\n        DAT_00127b64 = 1;\n      }\n      local_b4 = 8;\n      bVar7 = false;\n      if (DAT_00126440 == 2) {\n        iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);\n        if (iVar4 < 0) {\n          piVar6 = __errno_location();\n          error(0,*piVar6,"setsockopt TOS (ignored)");\n        }\n      }\n      goto LAB_0010ca2b;\n    }" (if "if") (parenthesized_expression "(DAT_00127b64 == 0)" (( "(") (binary_expression "DAT_00127b64 == 0" (identifier "DAT_00127b64") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      if (bVar7 != false) {\n        DAT_00127b64 = 1;\n      }\n      local_b4 = 8;\n      bVar7 = false;\n      if (DAT_00126440 == 2) {\n        iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);\n        if (iVar4 < 0) {\n          piVar6 = __errno_location();\n          error(0,*piVar6,"setsockopt TOS (ignored)");\n        }\n      }\n      goto LAB_0010ca2b;\n    }" ({ "{") (if_statement "if (bVar7 != false) {\n        DAT_00127b64 = 1;\n      }" (if "if") (parenthesized_expression "(bVar7 != false)" (( "(") (binary_expression "bVar7 != false" (identifier "bVar7") (!= "!=") (false "false")) () ")")) (compound_statement "{\n        DAT_00127b64 = 1;\n      }" ({ "{") (expression_statement "DAT_00127b64 = 1;" (assignment_expression "DAT_00127b64 = 1" (identifier "DAT_00127b64") (= "=") (number_literal "1")) (; ";")) (} "}"))) (expression_statement "local_b4 = 8;" (assignment_expression "local_b4 = 8" (identifier "local_b4") (= "=") (number_literal "8")) (; ";")) (expression_statement "bVar7 = false;" (assignment_expression "bVar7 = false" (identifier "bVar7") (= "=") (false "false")) (; ";")) (if_statement "if (DAT_00126440 == 2) {\n        iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);\n        if (iVar4 < 0) {\n          piVar6 = __errno_location();\n          error(0,*piVar6,"setsockopt TOS (ignored)");\n        }\n      }" (if "if") (parenthesized_expression "(DAT_00126440 == 2)" (( "(") (binary_expression "DAT_00126440 == 2" (identifier "DAT_00126440") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n        iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);\n        if (iVar4 < 0) {\n          piVar6 = __errno_location();\n          error(0,*piVar6,"setsockopt TOS (ignored)");\n        }\n      }" ({ "{") (expression_statement "iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);" (assignment_expression "iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4)" (identifier "iVar4") (= "=") (call_expression "setsockopt(DAT_001216e0,0,1,&local_b4,4)" (identifier "setsockopt") (argument_list "(DAT_001216e0,0,1,&local_b4,4)" (( "(") (identifier "DAT_001216e0") (, ",") (number_literal "0") (, ",") (number_literal "1") (, ",") (pointer_expression "&local_b4" (& "&") (identifier "local_b4")) (, ",") (number_literal "4") () ")")))) (; ";")) (if_statement "if (iVar4 < 0) {\n          piVar6 = __errno_location();\n          error(0,*piVar6,"setsockopt TOS (ignored)");\n        }" (if "if") (parenthesized_expression "(iVar4 < 0)" (( "(") (binary_expression "iVar4 < 0" (identifier "iVar4") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n          piVar6 = __errno_location();\n          error(0,*piVar6,"setsockopt TOS (ignored)");\n        }" ({ "{") (expression_statement "piVar6 = __errno_location();" (assignment_expression "piVar6 = __errno_location()" (identifier "piVar6") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "error(0,*piVar6,"setsockopt TOS (ignored)");" (call_expression "error(0,*piVar6,"setsockopt TOS (ignored)")" (identifier "error") (argument_list "(0,*piVar6,"setsockopt TOS (ignored)")" (( "(") (number_literal "0") (, ",") (pointer_expression "*piVar6" (* "*") (identifier "piVar6")) (, ",") (string_literal ""setsockopt TOS (ignored)"" (" """) (string_content "setsockopt TOS (ignored)") (" """)) () ")"))) (; ";")) (} "}"))) (} "}"))) (goto_statement "goto LAB_0010ca2b;" (goto "goto") (statement_identifier "LAB_0010ca2b") (; ";")) (} "}"))) (if_statement "if ((DAT_00126440 == 2) && (DAT_001266e0 == 0)) {\n      bVar7 = true;\nLAB_0010cd36:\n      if (!bVar7) {\n        iVar4 = 2;\nLAB_0010cd3f:\n        bVar7 = iVar4 != 2;\n        goto LAB_0010ca2b;\n      }\nLAB_0010cd6c:\n      iVar4 = FUN_0010bb32("PORT %d,%d,%d,%d,%d,%d",DAT_00126444,DAT_00126445,DAT_00126446,\n                           DAT_00126447,DAT_00126442,_DAT_00126440 >> 0x18 & 0xff);\n    }\n    else {\n      getnameinfo((sockaddr *)&DAT_00126440,DAT_001264c0,&DAT_00121ec0,0x2e,&DAT_00121eb0,10,3);\n      iVar4 = FUN_0010bb32("EPRT |%d|%s|%s|",(DAT_00126440 != 2) + '\x01',&DAT_00121ec0,\n                           &DAT_00121eb0);\n      if (DAT_00126440 == 2) {\n        bVar7 = iVar4 != 2;\n        if ((DAT_001266e0 == 0) || (!bVar7)) goto LAB_0010cd36;\n        DAT_001266e0 = 0;\n        goto LAB_0010cd6c;\n      }\n    }" (if "if") (parenthesized_expression "((DAT_00126440 == 2) && (DAT_001266e0 == 0))" (( "(") (binary_expression "(DAT_00126440 == 2) && (DAT_001266e0 == 0)" (parenthesized_expression "(DAT_00126440 == 2)" (( "(") (binary_expression "DAT_00126440 == 2" (identifier "DAT_00126440") (== "==") (number_literal "2")) () ")")) (&& "&&") (parenthesized_expression "(DAT_001266e0 == 0)" (( "(") (binary_expression "DAT_001266e0 == 0" (identifier "DAT_001266e0") (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n      bVar7 = true;\nLAB_0010cd36:\n      if (!bVar7) {\n        iVar4 = 2;\nLAB_0010cd3f:\n        bVar7 = iVar4 != 2;\n        goto LAB_0010ca2b;\n      }\nLAB_0010cd6c:\n      iVar4 = FUN_0010bb32("PORT %d,%d,%d,%d,%d,%d",DAT_00126444,DAT_00126445,DAT_00126446,\n                           DAT_00126447,DAT_00126442,_DAT_00126440 >> 0x18 & 0xff);\n    }" ({ "{") (expression_statement "bVar7 = true;" (assignment_expression "bVar7 = true" (identifier "bVar7") (= "=") (true "true")) (; ";")) (labeled_statement "LAB_0010cd36:\n      if (!bVar7) {\n        iVar4 = 2;\nLAB_0010cd3f:\n        bVar7 = iVar4 != 2;\n        goto LAB_0010ca2b;\n      }" (statement_identifier "LAB_0010cd36") (: ":") (if_statement "if (!bVar7) {\n        iVar4 = 2;\nLAB_0010cd3f:\n        bVar7 = iVar4 != 2;\n        goto LAB_0010ca2b;\n      }" (if "if") (parenthesized_expression "(!bVar7)" (( "(") (unary_expression "!bVar7" (! "!") (identifier "bVar7")) () ")")) (compound_statement "{\n        iVar4 = 2;\nLAB_0010cd3f:\n        bVar7 = iVar4 != 2;\n        goto LAB_0010ca2b;\n      }" ({ "{") (expression_statement "iVar4 = 2;" (assignment_expression "iVar4 = 2" (identifier "iVar4") (= "=") (number_literal "2")) (; ";")) (labeled_statement "LAB_0010cd3f:\n        bVar7 = iVar4 != 2;" (statement_identifier "LAB_0010cd3f") (: ":") (expression_statement "bVar7 = iVar4 != 2;" (assignment_expression "bVar7 = iVar4 != 2" (identifier "bVar7") (= "=") (binary_expression "iVar4 != 2" (identifier "iVar4") (!= "!=") (number_literal "2"))) (; ";"))) (goto_statement "goto LAB_0010ca2b;" (goto "goto") (statement_identifier "LAB_0010ca2b") (; ";")) (} "}")))) (labeled_statement "LAB_0010cd6c:\n      iVar4 = FUN_0010bb32("PORT %d,%d,%d,%d,%d,%d",DAT_00126444,DAT_00126445,DAT_00126446,\n                           DAT_00126447,DAT_00126442,_DAT_00126440 >> 0x18 & 0xff);" (statement_identifier "LAB_0010cd6c") (: ":") (expression_statement "iVar4 = FUN_0010bb32("PORT %d,%d,%d,%d,%d,%d",DAT_00126444,DAT_00126445,DAT_00126446,\n                           DAT_00126447,DAT_00126442,_DAT_00126440 >> 0x18 & 0xff);" (assignment_expression "iVar4 = FUN_0010bb32("PORT %d,%d,%d,%d,%d,%d",DAT_00126444,DAT_00126445,DAT_00126446,\n                           DAT_00126447,DAT_00126442,_DAT_00126440 >> 0x18 & 0xff)" (identifier "iVar4") (= "=") (call_expression "FUN_0010bb32("PORT %d,%d,%d,%d,%d,%d",DAT_00126444,DAT_00126445,DAT_00126446,\n                           DAT_00126447,DAT_00126442,_DAT_00126440 >> 0x18 & 0xff)" (identifier "FUN_0010bb32") (argument_list "("PORT %d,%d,%d,%d,%d,%d",DAT_00126444,DAT_00126445,DAT_00126446,\n                           DAT_00126447,DAT_00126442,_DAT_00126440 >> 0x18 & 0xff)" (( "(") (string_literal ""PORT %d,%d,%d,%d,%d,%d"" (" """) (string_content "PORT %d,%d,%d,%d,%d,%d") (" """)) (, ",") (identifier "DAT_00126444") (, ",") (identifier "DAT_00126445") (, ",") (identifier "DAT_00126446") (, ",") (identifier "DAT_00126447") (, ",") (identifier "DAT_00126442") (, ",") (binary_expression "_DAT_00126440 >> 0x18 & 0xff" (binary_expression "_DAT_00126440 >> 0x18" (identifier "_DAT_00126440") (>> ">>") (number_literal "0x18")) (& "&") (number_literal "0xff")) () ")")))) (; ";"))) (} "}")) (else_clause "else {\n      getnameinfo((sockaddr *)&DAT_00126440,DAT_001264c0,&DAT_00121ec0,0x2e,&DAT_00121eb0,10,3);\n      iVar4 = FUN_0010bb32("EPRT |%d|%s|%s|",(DAT_00126440 != 2) + '\x01',&DAT_00121ec0,\n                           &DAT_00121eb0);\n      if (DAT_00126440 == 2) {\n        bVar7 = iVar4 != 2;\n        if ((DAT_001266e0 == 0) || (!bVar7)) goto LAB_0010cd36;\n        DAT_001266e0 = 0;\n        goto LAB_0010cd6c;\n      }\n    }" (else "else") (compound_statement "{\n      getnameinfo((sockaddr *)&DAT_00126440,DAT_001264c0,&DAT_00121ec0,0x2e,&DAT_00121eb0,10,3);\n      iVar4 = FUN_0010bb32("EPRT |%d|%s|%s|",(DAT_00126440 != 2) + '\x01',&DAT_00121ec0,\n                           &DAT_00121eb0);\n      if (DAT_00126440 == 2) {\n        bVar7 = iVar4 != 2;\n        if ((DAT_001266e0 == 0) || (!bVar7)) goto LAB_0010cd36;\n        DAT_001266e0 = 0;\n        goto LAB_0010cd6c;\n      }\n    }" ({ "{") (expression_statement "getnameinfo((sockaddr *)&DAT_00126440,DAT_001264c0,&DAT_00121ec0,0x2e,&DAT_00121eb0,10,3);" (call_expression "getnameinfo((sockaddr *)&DAT_00126440,DAT_001264c0,&DAT_00121ec0,0x2e,&DAT_00121eb0,10,3)" (identifier "getnameinfo") (argument_list "((sockaddr *)&DAT_00126440,DAT_001264c0,&DAT_00121ec0,0x2e,&DAT_00121eb0,10,3)" (( "(") (cast_expression "(sockaddr *)&DAT_00126440" (( "(") (type_descriptor "sockaddr *" (type_identifier "sockaddr") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00126440" (& "&") (identifier "DAT_00126440"))) (, ",") (identifier "DAT_001264c0") (, ",") (pointer_expression "&DAT_00121ec0" (& "&") (identifier "DAT_00121ec0")) (, ",") (number_literal "0x2e") (, ",") (pointer_expression "&DAT_00121eb0" (& "&") (identifier "DAT_00121eb0")) (, ",") (number_literal "10") (, ",") (number_literal "3") () ")"))) (; ";")) (expression_statement "iVar4 = FUN_0010bb32("EPRT |%d|%s|%s|",(DAT_00126440 != 2) + '\x01',&DAT_00121ec0,\n                           &DAT_00121eb0);" (assignment_expression "iVar4 = FUN_0010bb32("EPRT |%d|%s|%s|",(DAT_00126440 != 2) + '\x01',&DAT_00121ec0,\n                           &DAT_00121eb0)" (identifier "iVar4") (= "=") (call_expression "FUN_0010bb32("EPRT |%d|%s|%s|",(DAT_00126440 != 2) + '\x01',&DAT_00121ec0,\n                           &DAT_00121eb0)" (identifier "FUN_0010bb32") (argument_list "("EPRT |%d|%s|%s|",(DAT_00126440 != 2) + '\x01',&DAT_00121ec0,\n                           &DAT_00121eb0)" (( "(") (string_literal ""EPRT |%d|%s|%s|"" (" """) (string_content "EPRT |%d|%s|%s|") (" """)) (, ",") (binary_expression "(DAT_00126440 != 2) + '\x01'" (parenthesized_expression "(DAT_00126440 != 2)" (( "(") (binary_expression "DAT_00126440 != 2" (identifier "DAT_00126440") (!= "!=") (number_literal "2")) () ")")) (+ "+") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) (, ",") (pointer_expression "&DAT_00121ec0" (& "&") (identifier "DAT_00121ec0")) (, ",") (pointer_expression "&DAT_00121eb0" (& "&") (identifier "DAT_00121eb0")) () ")")))) (; ";")) (if_statement "if (DAT_00126440 == 2) {\n        bVar7 = iVar4 != 2;\n        if ((DAT_001266e0 == 0) || (!bVar7)) goto LAB_0010cd36;\n        DAT_001266e0 = 0;\n        goto LAB_0010cd6c;\n      }" (if "if") (parenthesized_expression "(DAT_00126440 == 2)" (( "(") (binary_expression "DAT_00126440 == 2" (identifier "DAT_00126440") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n        bVar7 = iVar4 != 2;\n        if ((DAT_001266e0 == 0) || (!bVar7)) goto LAB_0010cd36;\n        DAT_001266e0 = 0;\n        goto LAB_0010cd6c;\n      }" ({ "{") (expression_statement "bVar7 = iVar4 != 2;" (assignment_expression "bVar7 = iVar4 != 2" (identifier "bVar7") (= "=") (binary_expression "iVar4 != 2" (identifier "iVar4") (!= "!=") (number_literal "2"))) (; ";")) (if_statement "if ((DAT_001266e0 == 0) || (!bVar7)) goto LAB_0010cd36;" (if "if") (parenthesized_expression "((DAT_001266e0 == 0) || (!bVar7))" (( "(") (binary_expression "(DAT_001266e0 == 0) || (!bVar7)" (parenthesized_expression "(DAT_001266e0 == 0)" (( "(") (binary_expression "DAT_001266e0 == 0" (identifier "DAT_001266e0") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(!bVar7)" (( "(") (unary_expression "!bVar7" (! "!") (identifier "bVar7")) () ")"))) () ")")) (goto_statement "goto LAB_0010cd36;" (goto "goto") (statement_identifier "LAB_0010cd36") (; ";"))) (expression_statement "DAT_001266e0 = 0;" (assignment_expression "DAT_001266e0 = 0" (identifier "DAT_001266e0") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_0010cd6c;" (goto "goto") (statement_identifier "LAB_0010cd6c") (; ";")) (} "}"))) (} "}")))) (if_statement "if (iVar4 == 2) goto LAB_0010cd3f;" (if "if") (parenthesized_expression "(iVar4 == 2)" (( "(") (binary_expression "iVar4 == 2" (identifier "iVar4") (== "==") (number_literal "2")) () ")")) (goto_statement "goto LAB_0010cd3f;" (goto "goto") (statement_identifier "LAB_0010cd3f") (; ";"))) (if_statement "if (DAT_00126440 == 2) {\n      iVar4 = FUN_0010bb32("LPRT 4,4,%u,%u,%u,%u,2,%u,%u",DAT_00126444,DAT_00126445,DAT_00126446,\n                           DAT_00126447,DAT_00126442,DAT_00126443);\n    }\n    else if (DAT_00126440 == 10) {\n      iVar4 = FUN_0010bb32("LPRT 6,16,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,2,%u,%u",\n                           DAT_00126448,DAT_00126449,DAT_0012644a,DAT_0012644b,DAT_0012644c,\n                           _DAT_00126448 >> 0x28 & 0xff,_DAT_00126448 >> 0x30 & 0xff,\n                           _DAT_00126448 >> 0x38,_DAT_00126450 & 0xff,_DAT_00126450 >> 8 & 0xff,\n                           _DAT_00126450 >> 0x10 & 0xff,_DAT_00126450 >> 0x18 & 0xff,\n                           _DAT_00126450 >> 0x20 & 0xff,_DAT_00126450 >> 0x28 & 0xff,\n                           _DAT_00126450 >> 0x30 & 0xff,_DAT_00126450 >> 0x38,DAT_00126442,\n                           DAT_00126443);\n    }" (if "if") (parenthesized_expression "(DAT_00126440 == 2)" (( "(") (binary_expression "DAT_00126440 == 2" (identifier "DAT_00126440") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n      iVar4 = FUN_0010bb32("LPRT 4,4,%u,%u,%u,%u,2,%u,%u",DAT_00126444,DAT_00126445,DAT_00126446,\n                           DAT_00126447,DAT_00126442,DAT_00126443);\n    }" ({ "{") (expression_statement "iVar4 = FUN_0010bb32("LPRT 4,4,%u,%u,%u,%u,2,%u,%u",DAT_00126444,DAT_00126445,DAT_00126446,\n                           DAT_00126447,DAT_00126442,DAT_00126443);" (assignment_expression "iVar4 = FUN_0010bb32("LPRT 4,4,%u,%u,%u,%u,2,%u,%u",DAT_00126444,DAT_00126445,DAT_00126446,\n                           DAT_00126447,DAT_00126442,DAT_00126443)" (identifier "iVar4") (= "=") (call_expression "FUN_0010bb32("LPRT 4,4,%u,%u,%u,%u,2,%u,%u",DAT_00126444,DAT_00126445,DAT_00126446,\n                           DAT_00126447,DAT_00126442,DAT_00126443)" (identifier "FUN_0010bb32") (argument_list "("LPRT 4,4,%u,%u,%u,%u,2,%u,%u",DAT_00126444,DAT_00126445,DAT_00126446,\n                           DAT_00126447,DAT_00126442,DAT_00126443)" (( "(") (string_literal ""LPRT 4,4,%u,%u,%u,%u,2,%u,%u"" (" """) (string_content "LPRT 4,4,%u,%u,%u,%u,2,%u,%u") (" """)) (, ",") (identifier "DAT_00126444") (, ",") (identifier "DAT_00126445") (, ",") (identifier "DAT_00126446") (, ",") (identifier "DAT_00126447") (, ",") (identifier "DAT_00126442") (, ",") (identifier "DAT_00126443") () ")")))) (; ";")) (} "}")) (else_clause "else if (DAT_00126440 == 10) {\n      iVar4 = FUN_0010bb32("LPRT 6,16,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,2,%u,%u",\n                           DAT_00126448,DAT_00126449,DAT_0012644a,DAT_0012644b,DAT_0012644c,\n                           _DAT_00126448 >> 0x28 & 0xff,_DAT_00126448 >> 0x30 & 0xff,\n                           _DAT_00126448 >> 0x38,_DAT_00126450 & 0xff,_DAT_00126450 >> 8 & 0xff,\n                           _DAT_00126450 >> 0x10 & 0xff,_DAT_00126450 >> 0x18 & 0xff,\n                           _DAT_00126450 >> 0x20 & 0xff,_DAT_00126450 >> 0x28 & 0xff,\n                           _DAT_00126450 >> 0x30 & 0xff,_DAT_00126450 >> 0x38,DAT_00126442,\n                           DAT_00126443);\n    }" (else "else") (if_statement "if (DAT_00126440 == 10) {\n      iVar4 = FUN_0010bb32("LPRT 6,16,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,2,%u,%u",\n                           DAT_00126448,DAT_00126449,DAT_0012644a,DAT_0012644b,DAT_0012644c,\n                           _DAT_00126448 >> 0x28 & 0xff,_DAT_00126448 >> 0x30 & 0xff,\n                           _DAT_00126448 >> 0x38,_DAT_00126450 & 0xff,_DAT_00126450 >> 8 & 0xff,\n                           _DAT_00126450 >> 0x10 & 0xff,_DAT_00126450 >> 0x18 & 0xff,\n                           _DAT_00126450 >> 0x20 & 0xff,_DAT_00126450 >> 0x28 & 0xff,\n                           _DAT_00126450 >> 0x30 & 0xff,_DAT_00126450 >> 0x38,DAT_00126442,\n                           DAT_00126443);\n    }" (if "if") (parenthesized_expression "(DAT_00126440 == 10)" (( "(") (binary_expression "DAT_00126440 == 10" (identifier "DAT_00126440") (== "==") (number_literal "10")) () ")")) (compound_statement "{\n      iVar4 = FUN_0010bb32("LPRT 6,16,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,2,%u,%u",\n                           DAT_00126448,DAT_00126449,DAT_0012644a,DAT_0012644b,DAT_0012644c,\n                           _DAT_00126448 >> 0x28 & 0xff,_DAT_00126448 >> 0x30 & 0xff,\n                           _DAT_00126448 >> 0x38,_DAT_00126450 & 0xff,_DAT_00126450 >> 8 & 0xff,\n                           _DAT_00126450 >> 0x10 & 0xff,_DAT_00126450 >> 0x18 & 0xff,\n                           _DAT_00126450 >> 0x20 & 0xff,_DAT_00126450 >> 0x28 & 0xff,\n                           _DAT_00126450 >> 0x30 & 0xff,_DAT_00126450 >> 0x38,DAT_00126442,\n                           DAT_00126443);\n    }" ({ "{") (expression_statement "iVar4 = FUN_0010bb32("LPRT 6,16,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,2,%u,%u",\n                           DAT_00126448,DAT_00126449,DAT_0012644a,DAT_0012644b,DAT_0012644c,\n                           _DAT_00126448 >> 0x28 & 0xff,_DAT_00126448 >> 0x30 & 0xff,\n                           _DAT_00126448 >> 0x38,_DAT_00126450 & 0xff,_DAT_00126450 >> 8 & 0xff,\n                           _DAT_00126450 >> 0x10 & 0xff,_DAT_00126450 >> 0x18 & 0xff,\n                           _DAT_00126450 >> 0x20 & 0xff,_DAT_00126450 >> 0x28 & 0xff,\n                           _DAT_00126450 >> 0x30 & 0xff,_DAT_00126450 >> 0x38,DAT_00126442,\n                           DAT_00126443);" (assignment_expression "iVar4 = FUN_0010bb32("LPRT 6,16,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,2,%u,%u",\n                           DAT_00126448,DAT_00126449,DAT_0012644a,DAT_0012644b,DAT_0012644c,\n                           _DAT_00126448 >> 0x28 & 0xff,_DAT_00126448 >> 0x30 & 0xff,\n                           _DAT_00126448 >> 0x38,_DAT_00126450 & 0xff,_DAT_00126450 >> 8 & 0xff,\n                           _DAT_00126450 >> 0x10 & 0xff,_DAT_00126450 >> 0x18 & 0xff,\n                           _DAT_00126450 >> 0x20 & 0xff,_DAT_00126450 >> 0x28 & 0xff,\n                           _DAT_00126450 >> 0x30 & 0xff,_DAT_00126450 >> 0x38,DAT_00126442,\n                           DAT_00126443)" (identifier "iVar4") (= "=") (call_expression "FUN_0010bb32("LPRT 6,16,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,2,%u,%u",\n                           DAT_00126448,DAT_00126449,DAT_0012644a,DAT_0012644b,DAT_0012644c,\n                           _DAT_00126448 >> 0x28 & 0xff,_DAT_00126448 >> 0x30 & 0xff,\n                           _DAT_00126448 >> 0x38,_DAT_00126450 & 0xff,_DAT_00126450 >> 8 & 0xff,\n                           _DAT_00126450 >> 0x10 & 0xff,_DAT_00126450 >> 0x18 & 0xff,\n                           _DAT_00126450 >> 0x20 & 0xff,_DAT_00126450 >> 0x28 & 0xff,\n                           _DAT_00126450 >> 0x30 & 0xff,_DAT_00126450 >> 0x38,DAT_00126442,\n                           DAT_00126443)" (identifier "FUN_0010bb32") (argument_list "("LPRT 6,16,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,2,%u,%u",\n                           DAT_00126448,DAT_00126449,DAT_0012644a,DAT_0012644b,DAT_0012644c,\n                           _DAT_00126448 >> 0x28 & 0xff,_DAT_00126448 >> 0x30 & 0xff,\n                           _DAT_00126448 >> 0x38,_DAT_00126450 & 0xff,_DAT_00126450 >> 8 & 0xff,\n                           _DAT_00126450 >> 0x10 & 0xff,_DAT_00126450 >> 0x18 & 0xff,\n                           _DAT_00126450 >> 0x20 & 0xff,_DAT_00126450 >> 0x28 & 0xff,\n                           _DAT_00126450 >> 0x30 & 0xff,_DAT_00126450 >> 0x38,DAT_00126442,\n                           DAT_00126443)" (( "(") (string_literal ""LPRT 6,16,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,2,%u,%u"" (" """) (string_content "LPRT 6,16,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,2,%u,%u") (" """)) (, ",") (identifier "DAT_00126448") (, ",") (identifier "DAT_00126449") (, ",") (identifier "DAT_0012644a") (, ",") (identifier "DAT_0012644b") (, ",") (identifier "DAT_0012644c") (, ",") (binary_expression "_DAT_00126448 >> 0x28 & 0xff" (binary_expression "_DAT_00126448 >> 0x28" (identifier "_DAT_00126448") (>> ">>") (number_literal "0x28")) (& "&") (number_literal "0xff")) (, ",") (binary_expression "_DAT_00126448 >> 0x30 & 0xff" (binary_expression "_DAT_00126448 >> 0x30" (identifier "_DAT_00126448") (>> ">>") (number_literal "0x30")) (& "&") (number_literal "0xff")) (, ",") (binary_expression "_DAT_00126448 >> 0x38" (identifier "_DAT_00126448") (>> ">>") (number_literal "0x38")) (, ",") (binary_expression "_DAT_00126450 & 0xff" (identifier "_DAT_00126450") (& "&") (number_literal "0xff")) (, ",") (binary_expression "_DAT_00126450 >> 8 & 0xff" (binary_expression "_DAT_00126450 >> 8" (identifier "_DAT_00126450") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff")) (, ",") (binary_expression "_DAT_00126450 >> 0x10 & 0xff" (binary_expression "_DAT_00126450 >> 0x10" (identifier "_DAT_00126450") (>> ">>") (number_literal "0x10")) (& "&") (number_literal "0xff")) (, ",") (binary_expression "_DAT_00126450 >> 0x18 & 0xff" (binary_expression "_DAT_00126450 >> 0x18" (identifier "_DAT_00126450") (>> ">>") (number_literal "0x18")) (& "&") (number_literal "0xff")) (, ",") (binary_expression "_DAT_00126450 >> 0x20 & 0xff" (binary_expression "_DAT_00126450 >> 0x20" (identifier "_DAT_00126450") (>> ">>") (number_literal "0x20")) (& "&") (number_literal "0xff")) (, ",") (binary_expression "_DAT_00126450 >> 0x28 & 0xff" (binary_expression "_DAT_00126450 >> 0x28" (identifier "_DAT_00126450") (>> ">>") (number_literal "0x28")) (& "&") (number_literal "0xff")) (, ",") (binary_expression "_DAT_00126450 >> 0x30 & 0xff" (binary_expression "_DAT_00126450 >> 0x30" (identifier "_DAT_00126450") (>> ">>") (number_literal "0x30")) (& "&") (number_literal "0xff")) (, ",") (binary_expression "_DAT_00126450 >> 0x38" (identifier "_DAT_00126450") (>> ">>") (number_literal "0x38")) (, ",") (identifier "DAT_00126442") (, ",") (identifier "DAT_00126443") () ")")))) (; ";")) (} "}"))))) (if_statement "if ((iVar4 != 5) || (DAT_00127b64 != -1)) goto LAB_0010cd3f;" (if "if") (parenthesized_expression "((iVar4 != 5) || (DAT_00127b64 != -1))" (( "(") (binary_expression "(iVar4 != 5) || (DAT_00127b64 != -1)" (parenthesized_expression "(iVar4 != 5)" (( "(") (binary_expression "iVar4 != 5" (identifier "iVar4") (!= "!=") (number_literal "5")) () ")")) (|| "||") (parenthesized_expression "(DAT_00127b64 != -1)" (( "(") (binary_expression "DAT_00127b64 != -1" (identifier "DAT_00127b64") (!= "!=") (number_literal "-1")) () ")"))) () ")")) (goto_statement "goto LAB_0010cd3f;" (goto "goto") (statement_identifier "LAB_0010cd3f") (; ";"))) (expression_statement "DAT_00127b64 = 0;" (assignment_expression "DAT_00127b64 = 0" (identifier "DAT_00127b64") (= "=") (number_literal "0")) (; ";")) (expression_statement "bVar7 = true;" (assignment_expression "bVar7 = true" (identifier "bVar7") (= "=") (true "true")) (; ";")) (goto_statement "goto LAB_0010cba4;" (goto "goto") (statement_identifier "LAB_0010cba4") (; ";")) (} "}"))) (expression_statement "DAT_001216e0 = socket((uint)DAT_00124200,1,0);" (assignment_expression "DAT_001216e0 = socket((uint)DAT_00124200,1,0)" (identifier "DAT_001216e0") (= "=") (call_expression "socket((uint)DAT_00124200,1,0)" (identifier "socket") (argument_list "((uint)DAT_00124200,1,0)" (( "(") (cast_expression "(uint)DAT_00124200" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "DAT_00124200")) (, ",") (number_literal "1") (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (DAT_001216e0 < 0) {\n    perror("ftp: socket");\n    bVar7 = true;\n    goto LAB_0010ca2b;\n  }" (if "if") (parenthesized_expression "(DAT_001216e0 < 0)" (( "(") (binary_expression "DAT_001216e0 < 0" (identifier "DAT_001216e0") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n    perror("ftp: socket");\n    bVar7 = true;\n    goto LAB_0010ca2b;\n  }" ({ "{") (expression_statement "perror("ftp: socket");" (call_expression "perror("ftp: socket")" (identifier "perror") (argument_list "("ftp: socket")" (( "(") (string_literal ""ftp: socket"" (" """) (string_content "ftp: socket") (" """)) () ")"))) (; ";")) (expression_statement "bVar7 = true;" (assignment_expression "bVar7 = true" (identifier "bVar7") (= "=") (true "true")) (; ";")) (goto_statement "goto LAB_0010ca2b;" (goto "goto") (statement_identifier "LAB_0010ca2b") (; ";")) (} "}"))) (if_statement "if ((DAT_001267d0 & 1) != 0) {\n    iVar4 = setsockopt(DAT_001216e0,1,1,&local_b4,4);\n    if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      if (*piVar6 != 0xd) {\n        error(0,*piVar6,"setsockopt DEBUG (ignored)");\n      }\n    }\n  }" (if "if") (parenthesized_expression "((DAT_001267d0 & 1) != 0)" (( "(") (binary_expression "(DAT_001267d0 & 1) != 0" (parenthesized_expression "(DAT_001267d0 & 1)" (( "(") (binary_expression "DAT_001267d0 & 1" (identifier "DAT_001267d0") (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    iVar4 = setsockopt(DAT_001216e0,1,1,&local_b4,4);\n    if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      if (*piVar6 != 0xd) {\n        error(0,*piVar6,"setsockopt DEBUG (ignored)");\n      }\n    }\n  }" ({ "{") (expression_statement "iVar4 = setsockopt(DAT_001216e0,1,1,&local_b4,4);" (assignment_expression "iVar4 = setsockopt(DAT_001216e0,1,1,&local_b4,4)" (identifier "iVar4") (= "=") (call_expression "setsockopt(DAT_001216e0,1,1,&local_b4,4)" (identifier "setsockopt") (argument_list "(DAT_001216e0,1,1,&local_b4,4)" (( "(") (identifier "DAT_001216e0") (, ",") (number_literal "1") (, ",") (number_literal "1") (, ",") (pointer_expression "&local_b4" (& "&") (identifier "local_b4")) (, ",") (number_literal "4") () ")")))) (; ";")) (if_statement "if (iVar4 < 0) {\n      piVar6 = __errno_location();\n      if (*piVar6 != 0xd) {\n        error(0,*piVar6,"setsockopt DEBUG (ignored)");\n      }\n    }" (if "if") (parenthesized_expression "(iVar4 < 0)" (( "(") (binary_expression "iVar4 < 0" (identifier "iVar4") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n      piVar6 = __errno_location();\n      if (*piVar6 != 0xd) {\n        error(0,*piVar6,"setsockopt DEBUG (ignored)");\n      }\n    }" ({ "{") (expression_statement "piVar6 = __errno_location();" (assignment_expression "piVar6 = __errno_location()" (identifier "piVar6") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (*piVar6 != 0xd) {\n        error(0,*piVar6,"setsockopt DEBUG (ignored)");\n      }" (if "if") (parenthesized_expression "(*piVar6 != 0xd)" (( "(") (binary_expression "*piVar6 != 0xd" (pointer_expression "*piVar6" (* "*") (identifier "piVar6")) (!= "!=") (number_literal "0xd")) () ")")) (compound_statement "{\n        error(0,*piVar6,"setsockopt DEBUG (ignored)");\n      }" ({ "{") (expression_statement "error(0,*piVar6,"setsockopt DEBUG (ignored)");" (call_expression "error(0,*piVar6,"setsockopt DEBUG (ignored)")" (identifier "error") (argument_list "(0,*piVar6,"setsockopt DEBUG (ignored)")" (( "(") (number_literal "0") (, ",") (pointer_expression "*piVar6" (* "*") (identifier "piVar6")) (, ",") (string_literal ""setsockopt DEBUG (ignored)"" (" """) (string_content "setsockopt DEBUG (ignored)") (" """)) () ")"))) (; ";")) (} "}"))) (} "}"))) (} "}"))) (if_statement "if (DAT_00124200 == 2) {\n    if (DAT_001266e0 != 0) {\n      iVar4 = FUN_0010bb32(&DAT_0011a450);\n      if (iVar4 == 2) goto LAB_0010c336;\n      if (DAT_001266e0 != 0) {\n        DAT_001266e0 = 0;\n      }\n    }\n    iVar4 = FUN_0010bb32(&DAT_0011a455);\n    if (iVar4 == 2) goto LAB_0010c499;\n    iVar4 = FUN_0010bb32(&DAT_0011a45a);\n    if (iVar4 == 2) {\nLAB_0010c62c:\n      if (DAT_00124200 == 2) {\n        iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u,%u,%u,%u",&local_94,&local_90,local_88,\n                       local_88 + 1,local_88 + 2,local_88 + 3,&local_8c,local_a0,local_9c);\n        if ((((iVar4 == 9) && (local_94 == 4)) && (local_90 == 4)) && (local_8c == 2)) {\n          puVar5 = local_88;\n          do {\n            *puVar5 = *puVar5 & 0xff;\n            puVar5 = puVar5 + 1;\n          } while (puVar5 != local_88 + 4);\n          _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2);\n          uVar2 = local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3] | local_88[2] << 8;\n          _DAT_00126440 =\n               CONCAT44(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                        local_88[3] << 0x18,_DAT_00126440);\n          uVar1 = _DAT_00126440;\n          goto LAB_0010c540;\n        }\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n        goto LAB_0010c703;\n      }\n      iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u",\n                     &local_94,&local_90,local_88,local_88 + 1,local_88 + 2,local_88 + 3,\n                     local_88 + 4,local_88 + 5,local_88 + 6,local_88 + 7,local_88 + 8,local_88 + 9,\n                     local_88 + 10,local_88 + 0xb,local_88 + 0xc,local_88 + 0xd,local_88 + 0xe,\n                     local_88 + 0xf,&local_8c,local_a0,local_9c);\n      if (((iVar4 != 0x15) || (local_94 != 6)) || ((local_90 != 0x10 || (local_8c != 2)))) {\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n        goto LAB_0010c703;\n      }\n      puVar5 = local_88;\n      do {\n        *puVar5 = *puVar5 & 0xff;\n        puVar5 = puVar5 + 1;\n      } while (puVar5 != local_48);\n      _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,10);\n      uVar2 = local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3] | local_88[2] << 8;\n      uVar3 = local_88[4] << 0x18 | local_88[5] << 0x10 | local_88[7] | local_88[6] << 8;\n      _DAT_00126448 =\n           CONCAT44(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                    local_88[7] << 0x18,\n                    uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                    local_88[3] << 0x18);\n      uVar2 = local_88[8] << 0x18 | local_88[9] << 0x10 | local_88[0xb] | local_88[10] << 8;\n      uVar3 = local_88[0xc] << 0x18 | local_88[0xd] << 0x10 | local_88[0xf] | local_88[0xe] << 8;\n      _DAT_00126450 =\n           CONCAT44(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                    local_88[0xf] << 0x18,\n                    uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                    local_88[0xb] << 0x18);\n      uVar1 = _DAT_00126440;\n      goto LAB_0010c540;\n    }\n    puts("Passive mode refused.");\n  }\n  else {\n    if (DAT_00124200 == 10) {\n      iVar4 = FUN_0010bb32(&DAT_0011a450);\n      if (iVar4 == 2) {\nLAB_0010c336:\n        iVar4 = sscanf(&DAT_00127a80,"%u|",local_98);\n        if (iVar4 == 1) {\n          _DAT_00126440 = DAT_00124160;\n          uVar1 = _DAT_00126440;\n          _DAT_00126448 = DAT_00124168;\n          _DAT_00126450 = _DAT_00124170;\n          uRam0000000000126458 = uRam0000000000124178;\n          _DAT_00126460 = _DAT_00124180;\n          uRam0000000000126468 = uRam0000000000124188;\n          _DAT_00126470 = _DAT_00124190;\n          uRam0000000000126478 = uRam0000000000124198;\n          _DAT_00126480 = _DAT_001241a0;\n          uRam0000000000126488 = uRam00000000001241a8;\n          _DAT_00126490 = _DAT_001241b0;\n          uRam0000000000126498 = uRam00000000001241b8;\n          _DAT_001264a0 = _DAT_001241c0;\n          uRam00000000001264a8 = uRam00000000001241c8;\n          _DAT_001264b0 = _DAT_001241d0;\n          uRam00000000001264b8 = uRam00000000001241d8;\n          _DAT_00126444 = (undefined4)(DAT_00124160 >> 0x20);\n          if ((short)DAT_00124160 == 2) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,2);\n            uVar1 = _DAT_00126440;\n          }\n          else if ((short)DAT_00124160 == 10) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,10);\n            uVar1 = _DAT_00126440;\n          }\n          goto LAB_0010c540;\n        }\n        puts("Extended passive mode scan failure. Should not happen!");\n        FUN_0010bb32(&DAT_0011a479);\n      }\n      else {\n        iVar4 = FUN_0010bb32(&DAT_0011a45a);\n        if (iVar4 == 2) goto LAB_0010c62c;\n        puts("Passive mode refused.");\n      }\n      goto LAB_0010c703;\n    }\nLAB_0010c499:\n    if (DAT_00124200 == 2) {\n      iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u",&local_b0,&local_ac,&local_a8,local_a4,\n                     local_a0,local_9c);\n      if (iVar4 == 6) {\n        _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2);\n        _DAT_00126440 =\n             CONCAT44(local_b0 & 0xff | ((local_ac & 0xff) << 0x10) >> 8 | (local_a8 & 0xff) << 0x10\n                      | (uint)local_a4[0] << 0x18,_DAT_00126440);\n        uVar1 = _DAT_00126440;\nLAB_0010c540:\n        _DAT_00126440 = uVar1;\n        iVar4 = connect(DAT_001216e0,(sockaddr *)&DAT_00126440,DAT_001264c0);\n        if (-1 < iVar4) {\n          local_b4 = 8;\n          bVar7 = false;\n          if (DAT_00126440 == 2) {\n            iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);\n            if (iVar4 < 0) {\n              perror("ftp: setsockopt TOS (ignored)");\n            }\n          }\n          goto LAB_0010ca2b;\n        }\n        perror("ftp: connect");\n      }\n      else {\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n      }\n    }\n    else {\n      puts("Passive mode address scan failure. Shouldn\'t happen!");\n    }\n  }" (if "if") (parenthesized_expression "(DAT_00124200 == 2)" (( "(") (binary_expression "DAT_00124200 == 2" (identifier "DAT_00124200") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n    if (DAT_001266e0 != 0) {\n      iVar4 = FUN_0010bb32(&DAT_0011a450);\n      if (iVar4 == 2) goto LAB_0010c336;\n      if (DAT_001266e0 != 0) {\n        DAT_001266e0 = 0;\n      }\n    }\n    iVar4 = FUN_0010bb32(&DAT_0011a455);\n    if (iVar4 == 2) goto LAB_0010c499;\n    iVar4 = FUN_0010bb32(&DAT_0011a45a);\n    if (iVar4 == 2) {\nLAB_0010c62c:\n      if (DAT_00124200 == 2) {\n        iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u,%u,%u,%u",&local_94,&local_90,local_88,\n                       local_88 + 1,local_88 + 2,local_88 + 3,&local_8c,local_a0,local_9c);\n        if ((((iVar4 == 9) && (local_94 == 4)) && (local_90 == 4)) && (local_8c == 2)) {\n          puVar5 = local_88;\n          do {\n            *puVar5 = *puVar5 & 0xff;\n            puVar5 = puVar5 + 1;\n          } while (puVar5 != local_88 + 4);\n          _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2);\n          uVar2 = local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3] | local_88[2] << 8;\n          _DAT_00126440 =\n               CONCAT44(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                        local_88[3] << 0x18,_DAT_00126440);\n          uVar1 = _DAT_00126440;\n          goto LAB_0010c540;\n        }\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n        goto LAB_0010c703;\n      }\n      iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u",\n                     &local_94,&local_90,local_88,local_88 + 1,local_88 + 2,local_88 + 3,\n                     local_88 + 4,local_88 + 5,local_88 + 6,local_88 + 7,local_88 + 8,local_88 + 9,\n                     local_88 + 10,local_88 + 0xb,local_88 + 0xc,local_88 + 0xd,local_88 + 0xe,\n                     local_88 + 0xf,&local_8c,local_a0,local_9c);\n      if (((iVar4 != 0x15) || (local_94 != 6)) || ((local_90 != 0x10 || (local_8c != 2)))) {\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n        goto LAB_0010c703;\n      }\n      puVar5 = local_88;\n      do {\n        *puVar5 = *puVar5 & 0xff;\n        puVar5 = puVar5 + 1;\n      } while (puVar5 != local_48);\n      _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,10);\n      uVar2 = local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3] | local_88[2] << 8;\n      uVar3 = local_88[4] << 0x18 | local_88[5] << 0x10 | local_88[7] | local_88[6] << 8;\n      _DAT_00126448 =\n           CONCAT44(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                    local_88[7] << 0x18,\n                    uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                    local_88[3] << 0x18);\n      uVar2 = local_88[8] << 0x18 | local_88[9] << 0x10 | local_88[0xb] | local_88[10] << 8;\n      uVar3 = local_88[0xc] << 0x18 | local_88[0xd] << 0x10 | local_88[0xf] | local_88[0xe] << 8;\n      _DAT_00126450 =\n           CONCAT44(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                    local_88[0xf] << 0x18,\n                    uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                    local_88[0xb] << 0x18);\n      uVar1 = _DAT_00126440;\n      goto LAB_0010c540;\n    }\n    puts("Passive mode refused.");\n  }" ({ "{") (if_statement "if (DAT_001266e0 != 0) {\n      iVar4 = FUN_0010bb32(&DAT_0011a450);\n      if (iVar4 == 2) goto LAB_0010c336;\n      if (DAT_001266e0 != 0) {\n        DAT_001266e0 = 0;\n      }\n    }" (if "if") (parenthesized_expression "(DAT_001266e0 != 0)" (( "(") (binary_expression "DAT_001266e0 != 0" (identifier "DAT_001266e0") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      iVar4 = FUN_0010bb32(&DAT_0011a450);\n      if (iVar4 == 2) goto LAB_0010c336;\n      if (DAT_001266e0 != 0) {\n        DAT_001266e0 = 0;\n      }\n    }" ({ "{") (expression_statement "iVar4 = FUN_0010bb32(&DAT_0011a450);" (assignment_expression "iVar4 = FUN_0010bb32(&DAT_0011a450)" (identifier "iVar4") (= "=") (call_expression "FUN_0010bb32(&DAT_0011a450)" (identifier "FUN_0010bb32") (argument_list "(&DAT_0011a450)" (( "(") (pointer_expression "&DAT_0011a450" (& "&") (identifier "DAT_0011a450")) () ")")))) (; ";")) (if_statement "if (iVar4 == 2) goto LAB_0010c336;" (if "if") (parenthesized_expression "(iVar4 == 2)" (( "(") (binary_expression "iVar4 == 2" (identifier "iVar4") (== "==") (number_literal "2")) () ")")) (goto_statement "goto LAB_0010c336;" (goto "goto") (statement_identifier "LAB_0010c336") (; ";"))) (if_statement "if (DAT_001266e0 != 0) {\n        DAT_001266e0 = 0;\n      }" (if "if") (parenthesized_expression "(DAT_001266e0 != 0)" (( "(") (binary_expression "DAT_001266e0 != 0" (identifier "DAT_001266e0") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        DAT_001266e0 = 0;\n      }" ({ "{") (expression_statement "DAT_001266e0 = 0;" (assignment_expression "DAT_001266e0 = 0" (identifier "DAT_001266e0") (= "=") (number_literal "0")) (; ";")) (} "}"))) (} "}"))) (expression_statement "iVar4 = FUN_0010bb32(&DAT_0011a455);" (assignment_expression "iVar4 = FUN_0010bb32(&DAT_0011a455)" (identifier "iVar4") (= "=") (call_expression "FUN_0010bb32(&DAT_0011a455)" (identifier "FUN_0010bb32") (argument_list "(&DAT_0011a455)" (( "(") (pointer_expression "&DAT_0011a455" (& "&") (identifier "DAT_0011a455")) () ")")))) (; ";")) (if_statement "if (iVar4 == 2) goto LAB_0010c499;" (if "if") (parenthesized_expression "(iVar4 == 2)" (( "(") (binary_expression "iVar4 == 2" (identifier "iVar4") (== "==") (number_literal "2")) () ")")) (goto_statement "goto LAB_0010c499;" (goto "goto") (statement_identifier "LAB_0010c499") (; ";"))) (expression_statement "iVar4 = FUN_0010bb32(&DAT_0011a45a);" (assignment_expression "iVar4 = FUN_0010bb32(&DAT_0011a45a)" (identifier "iVar4") (= "=") (call_expression "FUN_0010bb32(&DAT_0011a45a)" (identifier "FUN_0010bb32") (argument_list "(&DAT_0011a45a)" (( "(") (pointer_expression "&DAT_0011a45a" (& "&") (identifier "DAT_0011a45a")) () ")")))) (; ";")) (if_statement "if (iVar4 == 2) {\nLAB_0010c62c:\n      if (DAT_00124200 == 2) {\n        iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u,%u,%u,%u",&local_94,&local_90,local_88,\n                       local_88 + 1,local_88 + 2,local_88 + 3,&local_8c,local_a0,local_9c);\n        if ((((iVar4 == 9) && (local_94 == 4)) && (local_90 == 4)) && (local_8c == 2)) {\n          puVar5 = local_88;\n          do {\n            *puVar5 = *puVar5 & 0xff;\n            puVar5 = puVar5 + 1;\n          } while (puVar5 != local_88 + 4);\n          _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2);\n          uVar2 = local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3] | local_88[2] << 8;\n          _DAT_00126440 =\n               CONCAT44(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                        local_88[3] << 0x18,_DAT_00126440);\n          uVar1 = _DAT_00126440;\n          goto LAB_0010c540;\n        }\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n        goto LAB_0010c703;\n      }\n      iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u",\n                     &local_94,&local_90,local_88,local_88 + 1,local_88 + 2,local_88 + 3,\n                     local_88 + 4,local_88 + 5,local_88 + 6,local_88 + 7,local_88 + 8,local_88 + 9,\n                     local_88 + 10,local_88 + 0xb,local_88 + 0xc,local_88 + 0xd,local_88 + 0xe,\n                     local_88 + 0xf,&local_8c,local_a0,local_9c);\n      if (((iVar4 != 0x15) || (local_94 != 6)) || ((local_90 != 0x10 || (local_8c != 2)))) {\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n        goto LAB_0010c703;\n      }\n      puVar5 = local_88;\n      do {\n        *puVar5 = *puVar5 & 0xff;\n        puVar5 = puVar5 + 1;\n      } while (puVar5 != local_48);\n      _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,10);\n      uVar2 = local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3] | local_88[2] << 8;\n      uVar3 = local_88[4] << 0x18 | local_88[5] << 0x10 | local_88[7] | local_88[6] << 8;\n      _DAT_00126448 =\n           CONCAT44(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                    local_88[7] << 0x18,\n                    uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                    local_88[3] << 0x18);\n      uVar2 = local_88[8] << 0x18 | local_88[9] << 0x10 | local_88[0xb] | local_88[10] << 8;\n      uVar3 = local_88[0xc] << 0x18 | local_88[0xd] << 0x10 | local_88[0xf] | local_88[0xe] << 8;\n      _DAT_00126450 =\n           CONCAT44(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                    local_88[0xf] << 0x18,\n                    uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                    local_88[0xb] << 0x18);\n      uVar1 = _DAT_00126440;\n      goto LAB_0010c540;\n    }" (if "if") (parenthesized_expression "(iVar4 == 2)" (( "(") (binary_expression "iVar4 == 2" (identifier "iVar4") (== "==") (number_literal "2")) () ")")) (compound_statement "{\nLAB_0010c62c:\n      if (DAT_00124200 == 2) {\n        iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u,%u,%u,%u",&local_94,&local_90,local_88,\n                       local_88 + 1,local_88 + 2,local_88 + 3,&local_8c,local_a0,local_9c);\n        if ((((iVar4 == 9) && (local_94 == 4)) && (local_90 == 4)) && (local_8c == 2)) {\n          puVar5 = local_88;\n          do {\n            *puVar5 = *puVar5 & 0xff;\n            puVar5 = puVar5 + 1;\n          } while (puVar5 != local_88 + 4);\n          _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2);\n          uVar2 = local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3] | local_88[2] << 8;\n          _DAT_00126440 =\n               CONCAT44(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                        local_88[3] << 0x18,_DAT_00126440);\n          uVar1 = _DAT_00126440;\n          goto LAB_0010c540;\n        }\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n        goto LAB_0010c703;\n      }\n      iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u",\n                     &local_94,&local_90,local_88,local_88 + 1,local_88 + 2,local_88 + 3,\n                     local_88 + 4,local_88 + 5,local_88 + 6,local_88 + 7,local_88 + 8,local_88 + 9,\n                     local_88 + 10,local_88 + 0xb,local_88 + 0xc,local_88 + 0xd,local_88 + 0xe,\n                     local_88 + 0xf,&local_8c,local_a0,local_9c);\n      if (((iVar4 != 0x15) || (local_94 != 6)) || ((local_90 != 0x10 || (local_8c != 2)))) {\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n        goto LAB_0010c703;\n      }\n      puVar5 = local_88;\n      do {\n        *puVar5 = *puVar5 & 0xff;\n        puVar5 = puVar5 + 1;\n      } while (puVar5 != local_48);\n      _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,10);\n      uVar2 = local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3] | local_88[2] << 8;\n      uVar3 = local_88[4] << 0x18 | local_88[5] << 0x10 | local_88[7] | local_88[6] << 8;\n      _DAT_00126448 =\n           CONCAT44(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                    local_88[7] << 0x18,\n                    uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                    local_88[3] << 0x18);\n      uVar2 = local_88[8] << 0x18 | local_88[9] << 0x10 | local_88[0xb] | local_88[10] << 8;\n      uVar3 = local_88[0xc] << 0x18 | local_88[0xd] << 0x10 | local_88[0xf] | local_88[0xe] << 8;\n      _DAT_00126450 =\n           CONCAT44(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                    local_88[0xf] << 0x18,\n                    uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                    local_88[0xb] << 0x18);\n      uVar1 = _DAT_00126440;\n      goto LAB_0010c540;\n    }" ({ "{") (labeled_statement "LAB_0010c62c:\n      if (DAT_00124200 == 2) {\n        iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u,%u,%u,%u",&local_94,&local_90,local_88,\n                       local_88 + 1,local_88 + 2,local_88 + 3,&local_8c,local_a0,local_9c);\n        if ((((iVar4 == 9) && (local_94 == 4)) && (local_90 == 4)) && (local_8c == 2)) {\n          puVar5 = local_88;\n          do {\n            *puVar5 = *puVar5 & 0xff;\n            puVar5 = puVar5 + 1;\n          } while (puVar5 != local_88 + 4);\n          _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2);\n          uVar2 = local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3] | local_88[2] << 8;\n          _DAT_00126440 =\n               CONCAT44(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                        local_88[3] << 0x18,_DAT_00126440);\n          uVar1 = _DAT_00126440;\n          goto LAB_0010c540;\n        }\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n        goto LAB_0010c703;\n      }" (statement_identifier "LAB_0010c62c") (: ":") (if_statement "if (DAT_00124200 == 2) {\n        iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u,%u,%u,%u",&local_94,&local_90,local_88,\n                       local_88 + 1,local_88 + 2,local_88 + 3,&local_8c,local_a0,local_9c);\n        if ((((iVar4 == 9) && (local_94 == 4)) && (local_90 == 4)) && (local_8c == 2)) {\n          puVar5 = local_88;\n          do {\n            *puVar5 = *puVar5 & 0xff;\n            puVar5 = puVar5 + 1;\n          } while (puVar5 != local_88 + 4);\n          _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2);\n          uVar2 = local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3] | local_88[2] << 8;\n          _DAT_00126440 =\n               CONCAT44(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                        local_88[3] << 0x18,_DAT_00126440);\n          uVar1 = _DAT_00126440;\n          goto LAB_0010c540;\n        }\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n        goto LAB_0010c703;\n      }" (if "if") (parenthesized_expression "(DAT_00124200 == 2)" (( "(") (binary_expression "DAT_00124200 == 2" (identifier "DAT_00124200") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n        iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u,%u,%u,%u",&local_94,&local_90,local_88,\n                       local_88 + 1,local_88 + 2,local_88 + 3,&local_8c,local_a0,local_9c);\n        if ((((iVar4 == 9) && (local_94 == 4)) && (local_90 == 4)) && (local_8c == 2)) {\n          puVar5 = local_88;\n          do {\n            *puVar5 = *puVar5 & 0xff;\n            puVar5 = puVar5 + 1;\n          } while (puVar5 != local_88 + 4);\n          _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2);\n          uVar2 = local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3] | local_88[2] << 8;\n          _DAT_00126440 =\n               CONCAT44(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                        local_88[3] << 0x18,_DAT_00126440);\n          uVar1 = _DAT_00126440;\n          goto LAB_0010c540;\n        }\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n        goto LAB_0010c703;\n      }" ({ "{") (expression_statement "iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u,%u,%u,%u",&local_94,&local_90,local_88,\n                       local_88 + 1,local_88 + 2,local_88 + 3,&local_8c,local_a0,local_9c);" (assignment_expression "iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u,%u,%u,%u",&local_94,&local_90,local_88,\n                       local_88 + 1,local_88 + 2,local_88 + 3,&local_8c,local_a0,local_9c)" (identifier "iVar4") (= "=") (call_expression "sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u,%u,%u,%u",&local_94,&local_90,local_88,\n                       local_88 + 1,local_88 + 2,local_88 + 3,&local_8c,local_a0,local_9c)" (identifier "sscanf") (argument_list "(&DAT_00127a80,"%u,%u,%u,%u,%u,%u,%u,%u,%u",&local_94,&local_90,local_88,\n                       local_88 + 1,local_88 + 2,local_88 + 3,&local_8c,local_a0,local_9c)" (( "(") (pointer_expression "&DAT_00127a80" (& "&") (identifier "DAT_00127a80")) (, ",") (string_literal ""%u,%u,%u,%u,%u,%u,%u,%u,%u"" (" """) (string_content "%u,%u,%u,%u,%u,%u,%u,%u,%u") (" """)) (, ",") (pointer_expression "&local_94" (& "&") (identifier "local_94")) (, ",") (pointer_expression "&local_90" (& "&") (identifier "local_90")) (, ",") (identifier "local_88") (, ",") (binary_expression "local_88 + 1" (identifier "local_88") (+ "+") (number_literal "1")) (, ",") (binary_expression "local_88 + 2" (identifier "local_88") (+ "+") (number_literal "2")) (, ",") (binary_expression "local_88 + 3" (identifier "local_88") (+ "+") (number_literal "3")) (, ",") (pointer_expression "&local_8c" (& "&") (identifier "local_8c")) (, ",") (identifier "local_a0") (, ",") (identifier "local_9c") () ")")))) (; ";")) (if_statement "if ((((iVar4 == 9) && (local_94 == 4)) && (local_90 == 4)) && (local_8c == 2)) {\n          puVar5 = local_88;\n          do {\n            *puVar5 = *puVar5 & 0xff;\n            puVar5 = puVar5 + 1;\n          } while (puVar5 != local_88 + 4);\n          _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2);\n          uVar2 = local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3] | local_88[2] << 8;\n          _DAT_00126440 =\n               CONCAT44(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                        local_88[3] << 0x18,_DAT_00126440);\n          uVar1 = _DAT_00126440;\n          goto LAB_0010c540;\n        }" (if "if") (parenthesized_expression "((((iVar4 == 9) && (local_94 == 4)) && (local_90 == 4)) && (local_8c == 2))" (( "(") (binary_expression "(((iVar4 == 9) && (local_94 == 4)) && (local_90 == 4)) && (local_8c == 2)" (parenthesized_expression "(((iVar4 == 9) && (local_94 == 4)) && (local_90 == 4))" (( "(") (binary_expression "((iVar4 == 9) && (local_94 == 4)) && (local_90 == 4)" (parenthesized_expression "((iVar4 == 9) && (local_94 == 4))" (( "(") (binary_expression "(iVar4 == 9) && (local_94 == 4)" (parenthesized_expression "(iVar4 == 9)" (( "(") (binary_expression "iVar4 == 9" (identifier "iVar4") (== "==") (number_literal "9")) () ")")) (&& "&&") (parenthesized_expression "(local_94 == 4)" (( "(") (binary_expression "local_94 == 4" (identifier "local_94") (== "==") (number_literal "4")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(local_90 == 4)" (( "(") (binary_expression "local_90 == 4" (identifier "local_90") (== "==") (number_literal "4")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(local_8c == 2)" (( "(") (binary_expression "local_8c == 2" (identifier "local_8c") (== "==") (number_literal "2")) () ")"))) () ")")) (compound_statement "{\n          puVar5 = local_88;\n          do {\n            *puVar5 = *puVar5 & 0xff;\n            puVar5 = puVar5 + 1;\n          } while (puVar5 != local_88 + 4);\n          _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2);\n          uVar2 = local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3] | local_88[2] << 8;\n          _DAT_00126440 =\n               CONCAT44(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                        local_88[3] << 0x18,_DAT_00126440);\n          uVar1 = _DAT_00126440;\n          goto LAB_0010c540;\n        }" ({ "{") (expression_statement "puVar5 = local_88;" (assignment_expression "puVar5 = local_88" (identifier "puVar5") (= "=") (identifier "local_88")) (; ";")) (do_statement "do {\n            *puVar5 = *puVar5 & 0xff;\n            puVar5 = puVar5 + 1;\n          } while (puVar5 != local_88 + 4);" (do "do") (compound_statement "{\n            *puVar5 = *puVar5 & 0xff;\n            puVar5 = puVar5 + 1;\n          }" ({ "{") (expression_statement "*puVar5 = *puVar5 & 0xff;" (assignment_expression "*puVar5 = *puVar5 & 0xff" (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (= "=") (binary_expression "*puVar5 & 0xff" (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (& "&") (number_literal "0xff"))) (; ";")) (expression_statement "puVar5 = puVar5 + 1;" (assignment_expression "puVar5 = puVar5 + 1" (identifier "puVar5") (= "=") (binary_expression "puVar5 + 1" (identifier "puVar5") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(puVar5 != local_88 + 4)" (( "(") (binary_expression "puVar5 != local_88 + 4" (identifier "puVar5") (!= "!=") (binary_expression "local_88 + 4" (identifier "local_88") (+ "+") (number_literal "4"))) () ")")) (; ";")) (expression_statement "_DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2);" (assignment_expression "_DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2)" (identifier "_DAT_00126440") (= "=") (call_expression "CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2)" (identifier "CONCAT22") (argument_list "((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2)" (( "(") (binary_expression "(ushort)local_9c[0] << 8 | local_a0[0] & 0xff" (binary_expression "(ushort)local_9c[0] << 8" (cast_expression "(ushort)local_9c[0]" (( "(") (type_descriptor "ushort" (type_identifier "ushort")) () ")") (subscript_expression "local_9c[0]" (identifier "local_9c") ([ "[") (number_literal "0") (] "]"))) (<< "<<") (number_literal "8")) (| "|") (binary_expression "local_a0[0] & 0xff" (subscript_expression "local_a0[0]" (identifier "local_a0") ([ "[") (number_literal "0") (] "]")) (& "&") (number_literal "0xff"))) (, ",") (number_literal "2") () ")")))) (; ";")) (expression_statement "uVar2 = local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3] | local_88[2] << 8;" (assignment_expression "uVar2 = local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3] | local_88[2] << 8" (identifier "uVar2") (= "=") (binary_expression "local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3] | local_88[2] << 8" (binary_expression "local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3]" (binary_expression "local_88[0] << 0x18 | local_88[1] << 0x10" (binary_expression "local_88[0] << 0x18" (subscript_expression "local_88[0]" (identifier "local_88") ([ "[") (number_literal "0") (] "]")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "local_88[1] << 0x10" (subscript_expression "local_88[1]" (identifier "local_88") ([ "[") (number_literal "1") (] "]")) (<< "<<") (number_literal "0x10"))) (| "|") (subscript_expression "local_88[3]" (identifier "local_88") ([ "[") (number_literal "3") (] "]"))) (| "|") (binary_expression "local_88[2] << 8" (subscript_expression "local_88[2]" (identifier "local_88") ([ "[") (number_literal "2") (] "]")) (<< "<<") (number_literal "8")))) (; ";")) (expression_statement "_DAT_00126440 =\n               CONCAT44(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                        local_88[3] << 0x18,_DAT_00126440);" (assignment_expression "_DAT_00126440 =\n               CONCAT44(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                        local_88[3] << 0x18,_DAT_00126440)" (identifier "_DAT_00126440") (= "=") (call_expression "CONCAT44(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                        local_88[3] << 0x18,_DAT_00126440)" (identifier "CONCAT44") (argument_list "(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                        local_88[3] << 0x18,_DAT_00126440)" (( "(") (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                        local_88[3] << 0x18" (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8" (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8" (binary_expression "uVar2 >> 0x18" (identifier "uVar2") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar2 & 0xff0000) >> 8" (parenthesized_expression "(uVar2 & 0xff0000)" (( "(") (binary_expression "uVar2 & 0xff0000" (identifier "uVar2") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar2 & 0xff00) << 8" (parenthesized_expression "(uVar2 & 0xff00)" (( "(") (binary_expression "uVar2 & 0xff00" (identifier "uVar2") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "local_88[3] << 0x18" (subscript_expression "local_88[3]" (identifier "local_88") ([ "[") (number_literal "3") (] "]")) (<< "<<") (number_literal "0x18"))) (, ",") (identifier "_DAT_00126440") () ")")))) (; ";")) (expression_statement "uVar1 = _DAT_00126440;" (assignment_expression "uVar1 = _DAT_00126440" (identifier "uVar1") (= "=") (identifier "_DAT_00126440")) (; ";")) (goto_statement "goto LAB_0010c540;" (goto "goto") (statement_identifier "LAB_0010c540") (; ";")) (} "}"))) (expression_statement "puts("Passive mode address scan failure. Shouldn\'t happen!");" (call_expression "puts("Passive mode address scan failure. Shouldn\'t happen!")" (identifier "puts") (argument_list "("Passive mode address scan failure. Shouldn\'t happen!")" (( "(") (string_literal ""Passive mode address scan failure. Shouldn\'t happen!"" (" """) (string_content "Passive mode address scan failure. Shouldn") (escape_sequence "\'") (string_content "t happen!") (" """)) () ")"))) (; ";")) (expression_statement "FUN_0010bb32(&DAT_0011a479);" (call_expression "FUN_0010bb32(&DAT_0011a479)" (identifier "FUN_0010bb32") (argument_list "(&DAT_0011a479)" (( "(") (pointer_expression "&DAT_0011a479" (& "&") (identifier "DAT_0011a479")) () ")"))) (; ";")) (goto_statement "goto LAB_0010c703;" (goto "goto") (statement_identifier "LAB_0010c703") (; ";")) (} "}")))) (expression_statement "iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u",\n                     &local_94,&local_90,local_88,local_88 + 1,local_88 + 2,local_88 + 3,\n                     local_88 + 4,local_88 + 5,local_88 + 6,local_88 + 7,local_88 + 8,local_88 + 9,\n                     local_88 + 10,local_88 + 0xb,local_88 + 0xc,local_88 + 0xd,local_88 + 0xe,\n                     local_88 + 0xf,&local_8c,local_a0,local_9c);" (assignment_expression "iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u",\n                     &local_94,&local_90,local_88,local_88 + 1,local_88 + 2,local_88 + 3,\n                     local_88 + 4,local_88 + 5,local_88 + 6,local_88 + 7,local_88 + 8,local_88 + 9,\n                     local_88 + 10,local_88 + 0xb,local_88 + 0xc,local_88 + 0xd,local_88 + 0xe,\n                     local_88 + 0xf,&local_8c,local_a0,local_9c)" (identifier "iVar4") (= "=") (call_expression "sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u",\n                     &local_94,&local_90,local_88,local_88 + 1,local_88 + 2,local_88 + 3,\n                     local_88 + 4,local_88 + 5,local_88 + 6,local_88 + 7,local_88 + 8,local_88 + 9,\n                     local_88 + 10,local_88 + 0xb,local_88 + 0xc,local_88 + 0xd,local_88 + 0xe,\n                     local_88 + 0xf,&local_8c,local_a0,local_9c)" (identifier "sscanf") (argument_list "(&DAT_00127a80,"%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u",\n                     &local_94,&local_90,local_88,local_88 + 1,local_88 + 2,local_88 + 3,\n                     local_88 + 4,local_88 + 5,local_88 + 6,local_88 + 7,local_88 + 8,local_88 + 9,\n                     local_88 + 10,local_88 + 0xb,local_88 + 0xc,local_88 + 0xd,local_88 + 0xe,\n                     local_88 + 0xf,&local_8c,local_a0,local_9c)" (( "(") (pointer_expression "&DAT_00127a80" (& "&") (identifier "DAT_00127a80")) (, ",") (string_literal ""%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u"" (" """) (string_content "%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u") (" """)) (, ",") (pointer_expression "&local_94" (& "&") (identifier "local_94")) (, ",") (pointer_expression "&local_90" (& "&") (identifier "local_90")) (, ",") (identifier "local_88") (, ",") (binary_expression "local_88 + 1" (identifier "local_88") (+ "+") (number_literal "1")) (, ",") (binary_expression "local_88 + 2" (identifier "local_88") (+ "+") (number_literal "2")) (, ",") (binary_expression "local_88 + 3" (identifier "local_88") (+ "+") (number_literal "3")) (, ",") (binary_expression "local_88 + 4" (identifier "local_88") (+ "+") (number_literal "4")) (, ",") (binary_expression "local_88 + 5" (identifier "local_88") (+ "+") (number_literal "5")) (, ",") (binary_expression "local_88 + 6" (identifier "local_88") (+ "+") (number_literal "6")) (, ",") (binary_expression "local_88 + 7" (identifier "local_88") (+ "+") (number_literal "7")) (, ",") (binary_expression "local_88 + 8" (identifier "local_88") (+ "+") (number_literal "8")) (, ",") (binary_expression "local_88 + 9" (identifier "local_88") (+ "+") (number_literal "9")) (, ",") (binary_expression "local_88 + 10" (identifier "local_88") (+ "+") (number_literal "10")) (, ",") (binary_expression "local_88 + 0xb" (identifier "local_88") (+ "+") (number_literal "0xb")) (, ",") (binary_expression "local_88 + 0xc" (identifier "local_88") (+ "+") (number_literal "0xc")) (, ",") (binary_expression "local_88 + 0xd" (identifier "local_88") (+ "+") (number_literal "0xd")) (, ",") (binary_expression "local_88 + 0xe" (identifier "local_88") (+ "+") (number_literal "0xe")) (, ",") (binary_expression "local_88 + 0xf" (identifier "local_88") (+ "+") (number_literal "0xf")) (, ",") (pointer_expression "&local_8c" (& "&") (identifier "local_8c")) (, ",") (identifier "local_a0") (, ",") (identifier "local_9c") () ")")))) (; ";")) (if_statement "if (((iVar4 != 0x15) || (local_94 != 6)) || ((local_90 != 0x10 || (local_8c != 2)))) {\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n        goto LAB_0010c703;\n      }" (if "if") (parenthesized_expression "(((iVar4 != 0x15) || (local_94 != 6)) || ((local_90 != 0x10 || (local_8c != 2))))" (( "(") (binary_expression "((iVar4 != 0x15) || (local_94 != 6)) || ((local_90 != 0x10 || (local_8c != 2)))" (parenthesized_expression "((iVar4 != 0x15) || (local_94 != 6))" (( "(") (binary_expression "(iVar4 != 0x15) || (local_94 != 6)" (parenthesized_expression "(iVar4 != 0x15)" (( "(") (binary_expression "iVar4 != 0x15" (identifier "iVar4") (!= "!=") (number_literal "0x15")) () ")")) (|| "||") (parenthesized_expression "(local_94 != 6)" (( "(") (binary_expression "local_94 != 6" (identifier "local_94") (!= "!=") (number_literal "6")) () ")"))) () ")")) (|| "||") (parenthesized_expression "((local_90 != 0x10 || (local_8c != 2)))" (( "(") (parenthesized_expression "(local_90 != 0x10 || (local_8c != 2))" (( "(") (binary_expression "local_90 != 0x10 || (local_8c != 2)" (binary_expression "local_90 != 0x10" (identifier "local_90") (!= "!=") (number_literal "0x10")) (|| "||") (parenthesized_expression "(local_8c != 2)" (( "(") (binary_expression "local_8c != 2" (identifier "local_8c") (!= "!=") (number_literal "2")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n        goto LAB_0010c703;\n      }" ({ "{") (expression_statement "puts("Passive mode address scan failure. Shouldn\'t happen!");" (call_expression "puts("Passive mode address scan failure. Shouldn\'t happen!")" (identifier "puts") (argument_list "("Passive mode address scan failure. Shouldn\'t happen!")" (( "(") (string_literal ""Passive mode address scan failure. Shouldn\'t happen!"" (" """) (string_content "Passive mode address scan failure. Shouldn") (escape_sequence "\'") (string_content "t happen!") (" """)) () ")"))) (; ";")) (expression_statement "FUN_0010bb32(&DAT_0011a479);" (call_expression "FUN_0010bb32(&DAT_0011a479)" (identifier "FUN_0010bb32") (argument_list "(&DAT_0011a479)" (( "(") (pointer_expression "&DAT_0011a479" (& "&") (identifier "DAT_0011a479")) () ")"))) (; ";")) (goto_statement "goto LAB_0010c703;" (goto "goto") (statement_identifier "LAB_0010c703") (; ";")) (} "}"))) (expression_statement "puVar5 = local_88;" (assignment_expression "puVar5 = local_88" (identifier "puVar5") (= "=") (identifier "local_88")) (; ";")) (do_statement "do {\n        *puVar5 = *puVar5 & 0xff;\n        puVar5 = puVar5 + 1;\n      } while (puVar5 != local_48);" (do "do") (compound_statement "{\n        *puVar5 = *puVar5 & 0xff;\n        puVar5 = puVar5 + 1;\n      }" ({ "{") (expression_statement "*puVar5 = *puVar5 & 0xff;" (assignment_expression "*puVar5 = *puVar5 & 0xff" (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (= "=") (binary_expression "*puVar5 & 0xff" (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (& "&") (number_literal "0xff"))) (; ";")) (expression_statement "puVar5 = puVar5 + 1;" (assignment_expression "puVar5 = puVar5 + 1" (identifier "puVar5") (= "=") (binary_expression "puVar5 + 1" (identifier "puVar5") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(puVar5 != local_48)" (( "(") (binary_expression "puVar5 != local_48" (identifier "puVar5") (!= "!=") (identifier "local_48")) () ")")) (; ";")) (expression_statement "_DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,10);" (assignment_expression "_DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,10)" (identifier "_DAT_00126440") (= "=") (call_expression "CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,10)" (identifier "CONCAT22") (argument_list "((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,10)" (( "(") (binary_expression "(ushort)local_9c[0] << 8 | local_a0[0] & 0xff" (binary_expression "(ushort)local_9c[0] << 8" (cast_expression "(ushort)local_9c[0]" (( "(") (type_descriptor "ushort" (type_identifier "ushort")) () ")") (subscript_expression "local_9c[0]" (identifier "local_9c") ([ "[") (number_literal "0") (] "]"))) (<< "<<") (number_literal "8")) (| "|") (binary_expression "local_a0[0] & 0xff" (subscript_expression "local_a0[0]" (identifier "local_a0") ([ "[") (number_literal "0") (] "]")) (& "&") (number_literal "0xff"))) (, ",") (number_literal "10") () ")")))) (; ";")) (expression_statement "uVar2 = local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3] | local_88[2] << 8;" (assignment_expression "uVar2 = local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3] | local_88[2] << 8" (identifier "uVar2") (= "=") (binary_expression "local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3] | local_88[2] << 8" (binary_expression "local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3]" (binary_expression "local_88[0] << 0x18 | local_88[1] << 0x10" (binary_expression "local_88[0] << 0x18" (subscript_expression "local_88[0]" (identifier "local_88") ([ "[") (number_literal "0") (] "]")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "local_88[1] << 0x10" (subscript_expression "local_88[1]" (identifier "local_88") ([ "[") (number_literal "1") (] "]")) (<< "<<") (number_literal "0x10"))) (| "|") (subscript_expression "local_88[3]" (identifier "local_88") ([ "[") (number_literal "3") (] "]"))) (| "|") (binary_expression "local_88[2] << 8" (subscript_expression "local_88[2]" (identifier "local_88") ([ "[") (number_literal "2") (] "]")) (<< "<<") (number_literal "8")))) (; ";")) (expression_statement "uVar3 = local_88[4] << 0x18 | local_88[5] << 0x10 | local_88[7] | local_88[6] << 8;" (assignment_expression "uVar3 = local_88[4] << 0x18 | local_88[5] << 0x10 | local_88[7] | local_88[6] << 8" (identifier "uVar3") (= "=") (binary_expression "local_88[4] << 0x18 | local_88[5] << 0x10 | local_88[7] | local_88[6] << 8" (binary_expression "local_88[4] << 0x18 | local_88[5] << 0x10 | local_88[7]" (binary_expression "local_88[4] << 0x18 | local_88[5] << 0x10" (binary_expression "local_88[4] << 0x18" (subscript_expression "local_88[4]" (identifier "local_88") ([ "[") (number_literal "4") (] "]")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "local_88[5] << 0x10" (subscript_expression "local_88[5]" (identifier "local_88") ([ "[") (number_literal "5") (] "]")) (<< "<<") (number_literal "0x10"))) (| "|") (subscript_expression "local_88[7]" (identifier "local_88") ([ "[") (number_literal "7") (] "]"))) (| "|") (binary_expression "local_88[6] << 8" (subscript_expression "local_88[6]" (identifier "local_88") ([ "[") (number_literal "6") (] "]")) (<< "<<") (number_literal "8")))) (; ";")) (expression_statement "_DAT_00126448 =\n           CONCAT44(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                    local_88[7] << 0x18,\n                    uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                    local_88[3] << 0x18);" (assignment_expression "_DAT_00126448 =\n           CONCAT44(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                    local_88[7] << 0x18,\n                    uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                    local_88[3] << 0x18)" (identifier "_DAT_00126448") (= "=") (call_expression "CONCAT44(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                    local_88[7] << 0x18,\n                    uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                    local_88[3] << 0x18)" (identifier "CONCAT44") (argument_list "(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                    local_88[7] << 0x18,\n                    uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                    local_88[3] << 0x18)" (( "(") (binary_expression "uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                    local_88[7] << 0x18" (binary_expression "uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8" (binary_expression "uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8" (binary_expression "uVar3 >> 0x18" (identifier "uVar3") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar3 & 0xff0000) >> 8" (parenthesized_expression "(uVar3 & 0xff0000)" (( "(") (binary_expression "uVar3 & 0xff0000" (identifier "uVar3") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar3 & 0xff00) << 8" (parenthesized_expression "(uVar3 & 0xff00)" (( "(") (binary_expression "uVar3 & 0xff00" (identifier "uVar3") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "local_88[7] << 0x18" (subscript_expression "local_88[7]" (identifier "local_88") ([ "[") (number_literal "7") (] "]")) (<< "<<") (number_literal "0x18"))) (, ",") (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                    local_88[3] << 0x18" (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8" (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8" (binary_expression "uVar2 >> 0x18" (identifier "uVar2") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar2 & 0xff0000) >> 8" (parenthesized_expression "(uVar2 & 0xff0000)" (( "(") (binary_expression "uVar2 & 0xff0000" (identifier "uVar2") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar2 & 0xff00) << 8" (parenthesized_expression "(uVar2 & 0xff00)" (( "(") (binary_expression "uVar2 & 0xff00" (identifier "uVar2") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "local_88[3] << 0x18" (subscript_expression "local_88[3]" (identifier "local_88") ([ "[") (number_literal "3") (] "]")) (<< "<<") (number_literal "0x18"))) () ")")))) (; ";")) (expression_statement "uVar2 = local_88[8] << 0x18 | local_88[9] << 0x10 | local_88[0xb] | local_88[10] << 8;" (assignment_expression "uVar2 = local_88[8] << 0x18 | local_88[9] << 0x10 | local_88[0xb] | local_88[10] << 8" (identifier "uVar2") (= "=") (binary_expression "local_88[8] << 0x18 | local_88[9] << 0x10 | local_88[0xb] | local_88[10] << 8" (binary_expression "local_88[8] << 0x18 | local_88[9] << 0x10 | local_88[0xb]" (binary_expression "local_88[8] << 0x18 | local_88[9] << 0x10" (binary_expression "local_88[8] << 0x18" (subscript_expression "local_88[8]" (identifier "local_88") ([ "[") (number_literal "8") (] "]")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "local_88[9] << 0x10" (subscript_expression "local_88[9]" (identifier "local_88") ([ "[") (number_literal "9") (] "]")) (<< "<<") (number_literal "0x10"))) (| "|") (subscript_expression "local_88[0xb]" (identifier "local_88") ([ "[") (number_literal "0xb") (] "]"))) (| "|") (binary_expression "local_88[10] << 8" (subscript_expression "local_88[10]" (identifier "local_88") ([ "[") (number_literal "10") (] "]")) (<< "<<") (number_literal "8")))) (; ";")) (expression_statement "uVar3 = local_88[0xc] << 0x18 | local_88[0xd] << 0x10 | local_88[0xf] | local_88[0xe] << 8;" (assignment_expression "uVar3 = local_88[0xc] << 0x18 | local_88[0xd] << 0x10 | local_88[0xf] | local_88[0xe] << 8" (identifier "uVar3") (= "=") (binary_expression "local_88[0xc] << 0x18 | local_88[0xd] << 0x10 | local_88[0xf] | local_88[0xe] << 8" (binary_expression "local_88[0xc] << 0x18 | local_88[0xd] << 0x10 | local_88[0xf]" (binary_expression "local_88[0xc] << 0x18 | local_88[0xd] << 0x10" (binary_expression "local_88[0xc] << 0x18" (subscript_expression "local_88[0xc]" (identifier "local_88") ([ "[") (number_literal "0xc") (] "]")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "local_88[0xd] << 0x10" (subscript_expression "local_88[0xd]" (identifier "local_88") ([ "[") (number_literal "0xd") (] "]")) (<< "<<") (number_literal "0x10"))) (| "|") (subscript_expression "local_88[0xf]" (identifier "local_88") ([ "[") (number_literal "0xf") (] "]"))) (| "|") (binary_expression "local_88[0xe] << 8" (subscript_expression "local_88[0xe]" (identifier "local_88") ([ "[") (number_literal "0xe") (] "]")) (<< "<<") (number_literal "8")))) (; ";")) (expression_statement "_DAT_00126450 =\n           CONCAT44(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                    local_88[0xf] << 0x18,\n                    uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                    local_88[0xb] << 0x18);" (assignment_expression "_DAT_00126450 =\n           CONCAT44(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                    local_88[0xf] << 0x18,\n                    uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                    local_88[0xb] << 0x18)" (identifier "_DAT_00126450") (= "=") (call_expression "CONCAT44(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                    local_88[0xf] << 0x18,\n                    uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                    local_88[0xb] << 0x18)" (identifier "CONCAT44") (argument_list "(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                    local_88[0xf] << 0x18,\n                    uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                    local_88[0xb] << 0x18)" (( "(") (binary_expression "uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                    local_88[0xf] << 0x18" (binary_expression "uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8" (binary_expression "uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8" (binary_expression "uVar3 >> 0x18" (identifier "uVar3") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar3 & 0xff0000) >> 8" (parenthesized_expression "(uVar3 & 0xff0000)" (( "(") (binary_expression "uVar3 & 0xff0000" (identifier "uVar3") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar3 & 0xff00) << 8" (parenthesized_expression "(uVar3 & 0xff00)" (( "(") (binary_expression "uVar3 & 0xff00" (identifier "uVar3") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "local_88[0xf] << 0x18" (subscript_expression "local_88[0xf]" (identifier "local_88") ([ "[") (number_literal "0xf") (] "]")) (<< "<<") (number_literal "0x18"))) (, ",") (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                    local_88[0xb] << 0x18" (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8" (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8" (binary_expression "uVar2 >> 0x18" (identifier "uVar2") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar2 & 0xff0000) >> 8" (parenthesized_expression "(uVar2 & 0xff0000)" (( "(") (binary_expression "uVar2 & 0xff0000" (identifier "uVar2") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar2 & 0xff00) << 8" (parenthesized_expression "(uVar2 & 0xff00)" (( "(") (binary_expression "uVar2 & 0xff00" (identifier "uVar2") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "local_88[0xb] << 0x18" (subscript_expression "local_88[0xb]" (identifier "local_88") ([ "[") (number_literal "0xb") (] "]")) (<< "<<") (number_literal "0x18"))) () ")")))) (; ";")) (expression_statement "uVar1 = _DAT_00126440;" (assignment_expression "uVar1 = _DAT_00126440" (identifier "uVar1") (= "=") (identifier "_DAT_00126440")) (; ";")) (goto_statement "goto LAB_0010c540;" (goto "goto") (statement_identifier "LAB_0010c540") (; ";")) (} "}"))) (expression_statement "puts("Passive mode refused.");" (call_expression "puts("Passive mode refused.")" (identifier "puts") (argument_list "("Passive mode refused.")" (( "(") (string_literal ""Passive mode refused."" (" """) (string_content "Passive mode refused.") (" """)) () ")"))) (; ";")) (} "}")) (else_clause "else {\n    if (DAT_00124200 == 10) {\n      iVar4 = FUN_0010bb32(&DAT_0011a450);\n      if (iVar4 == 2) {\nLAB_0010c336:\n        iVar4 = sscanf(&DAT_00127a80,"%u|",local_98);\n        if (iVar4 == 1) {\n          _DAT_00126440 = DAT_00124160;\n          uVar1 = _DAT_00126440;\n          _DAT_00126448 = DAT_00124168;\n          _DAT_00126450 = _DAT_00124170;\n          uRam0000000000126458 = uRam0000000000124178;\n          _DAT_00126460 = _DAT_00124180;\n          uRam0000000000126468 = uRam0000000000124188;\n          _DAT_00126470 = _DAT_00124190;\n          uRam0000000000126478 = uRam0000000000124198;\n          _DAT_00126480 = _DAT_001241a0;\n          uRam0000000000126488 = uRam00000000001241a8;\n          _DAT_00126490 = _DAT_001241b0;\n          uRam0000000000126498 = uRam00000000001241b8;\n          _DAT_001264a0 = _DAT_001241c0;\n          uRam00000000001264a8 = uRam00000000001241c8;\n          _DAT_001264b0 = _DAT_001241d0;\n          uRam00000000001264b8 = uRam00000000001241d8;\n          _DAT_00126444 = (undefined4)(DAT_00124160 >> 0x20);\n          if ((short)DAT_00124160 == 2) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,2);\n            uVar1 = _DAT_00126440;\n          }\n          else if ((short)DAT_00124160 == 10) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,10);\n            uVar1 = _DAT_00126440;\n          }\n          goto LAB_0010c540;\n        }\n        puts("Extended passive mode scan failure. Should not happen!");\n        FUN_0010bb32(&DAT_0011a479);\n      }\n      else {\n        iVar4 = FUN_0010bb32(&DAT_0011a45a);\n        if (iVar4 == 2) goto LAB_0010c62c;\n        puts("Passive mode refused.");\n      }\n      goto LAB_0010c703;\n    }\nLAB_0010c499:\n    if (DAT_00124200 == 2) {\n      iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u",&local_b0,&local_ac,&local_a8,local_a4,\n                     local_a0,local_9c);\n      if (iVar4 == 6) {\n        _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2);\n        _DAT_00126440 =\n             CONCAT44(local_b0 & 0xff | ((local_ac & 0xff) << 0x10) >> 8 | (local_a8 & 0xff) << 0x10\n                      | (uint)local_a4[0] << 0x18,_DAT_00126440);\n        uVar1 = _DAT_00126440;\nLAB_0010c540:\n        _DAT_00126440 = uVar1;\n        iVar4 = connect(DAT_001216e0,(sockaddr *)&DAT_00126440,DAT_001264c0);\n        if (-1 < iVar4) {\n          local_b4 = 8;\n          bVar7 = false;\n          if (DAT_00126440 == 2) {\n            iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);\n            if (iVar4 < 0) {\n              perror("ftp: setsockopt TOS (ignored)");\n            }\n          }\n          goto LAB_0010ca2b;\n        }\n        perror("ftp: connect");\n      }\n      else {\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n      }\n    }\n    else {\n      puts("Passive mode address scan failure. Shouldn\'t happen!");\n    }\n  }" (else "else") (compound_statement "{\n    if (DAT_00124200 == 10) {\n      iVar4 = FUN_0010bb32(&DAT_0011a450);\n      if (iVar4 == 2) {\nLAB_0010c336:\n        iVar4 = sscanf(&DAT_00127a80,"%u|",local_98);\n        if (iVar4 == 1) {\n          _DAT_00126440 = DAT_00124160;\n          uVar1 = _DAT_00126440;\n          _DAT_00126448 = DAT_00124168;\n          _DAT_00126450 = _DAT_00124170;\n          uRam0000000000126458 = uRam0000000000124178;\n          _DAT_00126460 = _DAT_00124180;\n          uRam0000000000126468 = uRam0000000000124188;\n          _DAT_00126470 = _DAT_00124190;\n          uRam0000000000126478 = uRam0000000000124198;\n          _DAT_00126480 = _DAT_001241a0;\n          uRam0000000000126488 = uRam00000000001241a8;\n          _DAT_00126490 = _DAT_001241b0;\n          uRam0000000000126498 = uRam00000000001241b8;\n          _DAT_001264a0 = _DAT_001241c0;\n          uRam00000000001264a8 = uRam00000000001241c8;\n          _DAT_001264b0 = _DAT_001241d0;\n          uRam00000000001264b8 = uRam00000000001241d8;\n          _DAT_00126444 = (undefined4)(DAT_00124160 >> 0x20);\n          if ((short)DAT_00124160 == 2) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,2);\n            uVar1 = _DAT_00126440;\n          }\n          else if ((short)DAT_00124160 == 10) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,10);\n            uVar1 = _DAT_00126440;\n          }\n          goto LAB_0010c540;\n        }\n        puts("Extended passive mode scan failure. Should not happen!");\n        FUN_0010bb32(&DAT_0011a479);\n      }\n      else {\n        iVar4 = FUN_0010bb32(&DAT_0011a45a);\n        if (iVar4 == 2) goto LAB_0010c62c;\n        puts("Passive mode refused.");\n      }\n      goto LAB_0010c703;\n    }\nLAB_0010c499:\n    if (DAT_00124200 == 2) {\n      iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u",&local_b0,&local_ac,&local_a8,local_a4,\n                     local_a0,local_9c);\n      if (iVar4 == 6) {\n        _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2);\n        _DAT_00126440 =\n             CONCAT44(local_b0 & 0xff | ((local_ac & 0xff) << 0x10) >> 8 | (local_a8 & 0xff) << 0x10\n                      | (uint)local_a4[0] << 0x18,_DAT_00126440);\n        uVar1 = _DAT_00126440;\nLAB_0010c540:\n        _DAT_00126440 = uVar1;\n        iVar4 = connect(DAT_001216e0,(sockaddr *)&DAT_00126440,DAT_001264c0);\n        if (-1 < iVar4) {\n          local_b4 = 8;\n          bVar7 = false;\n          if (DAT_00126440 == 2) {\n            iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);\n            if (iVar4 < 0) {\n              perror("ftp: setsockopt TOS (ignored)");\n            }\n          }\n          goto LAB_0010ca2b;\n        }\n        perror("ftp: connect");\n      }\n      else {\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n      }\n    }\n    else {\n      puts("Passive mode address scan failure. Shouldn\'t happen!");\n    }\n  }" ({ "{") (if_statement "if (DAT_00124200 == 10) {\n      iVar4 = FUN_0010bb32(&DAT_0011a450);\n      if (iVar4 == 2) {\nLAB_0010c336:\n        iVar4 = sscanf(&DAT_00127a80,"%u|",local_98);\n        if (iVar4 == 1) {\n          _DAT_00126440 = DAT_00124160;\n          uVar1 = _DAT_00126440;\n          _DAT_00126448 = DAT_00124168;\n          _DAT_00126450 = _DAT_00124170;\n          uRam0000000000126458 = uRam0000000000124178;\n          _DAT_00126460 = _DAT_00124180;\n          uRam0000000000126468 = uRam0000000000124188;\n          _DAT_00126470 = _DAT_00124190;\n          uRam0000000000126478 = uRam0000000000124198;\n          _DAT_00126480 = _DAT_001241a0;\n          uRam0000000000126488 = uRam00000000001241a8;\n          _DAT_00126490 = _DAT_001241b0;\n          uRam0000000000126498 = uRam00000000001241b8;\n          _DAT_001264a0 = _DAT_001241c0;\n          uRam00000000001264a8 = uRam00000000001241c8;\n          _DAT_001264b0 = _DAT_001241d0;\n          uRam00000000001264b8 = uRam00000000001241d8;\n          _DAT_00126444 = (undefined4)(DAT_00124160 >> 0x20);\n          if ((short)DAT_00124160 == 2) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,2);\n            uVar1 = _DAT_00126440;\n          }\n          else if ((short)DAT_00124160 == 10) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,10);\n            uVar1 = _DAT_00126440;\n          }\n          goto LAB_0010c540;\n        }\n        puts("Extended passive mode scan failure. Should not happen!");\n        FUN_0010bb32(&DAT_0011a479);\n      }\n      else {\n        iVar4 = FUN_0010bb32(&DAT_0011a45a);\n        if (iVar4 == 2) goto LAB_0010c62c;\n        puts("Passive mode refused.");\n      }\n      goto LAB_0010c703;\n    }" (if "if") (parenthesized_expression "(DAT_00124200 == 10)" (( "(") (binary_expression "DAT_00124200 == 10" (identifier "DAT_00124200") (== "==") (number_literal "10")) () ")")) (compound_statement "{\n      iVar4 = FUN_0010bb32(&DAT_0011a450);\n      if (iVar4 == 2) {\nLAB_0010c336:\n        iVar4 = sscanf(&DAT_00127a80,"%u|",local_98);\n        if (iVar4 == 1) {\n          _DAT_00126440 = DAT_00124160;\n          uVar1 = _DAT_00126440;\n          _DAT_00126448 = DAT_00124168;\n          _DAT_00126450 = _DAT_00124170;\n          uRam0000000000126458 = uRam0000000000124178;\n          _DAT_00126460 = _DAT_00124180;\n          uRam0000000000126468 = uRam0000000000124188;\n          _DAT_00126470 = _DAT_00124190;\n          uRam0000000000126478 = uRam0000000000124198;\n          _DAT_00126480 = _DAT_001241a0;\n          uRam0000000000126488 = uRam00000000001241a8;\n          _DAT_00126490 = _DAT_001241b0;\n          uRam0000000000126498 = uRam00000000001241b8;\n          _DAT_001264a0 = _DAT_001241c0;\n          uRam00000000001264a8 = uRam00000000001241c8;\n          _DAT_001264b0 = _DAT_001241d0;\n          uRam00000000001264b8 = uRam00000000001241d8;\n          _DAT_00126444 = (undefined4)(DAT_00124160 >> 0x20);\n          if ((short)DAT_00124160 == 2) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,2);\n            uVar1 = _DAT_00126440;\n          }\n          else if ((short)DAT_00124160 == 10) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,10);\n            uVar1 = _DAT_00126440;\n          }\n          goto LAB_0010c540;\n        }\n        puts("Extended passive mode scan failure. Should not happen!");\n        FUN_0010bb32(&DAT_0011a479);\n      }\n      else {\n        iVar4 = FUN_0010bb32(&DAT_0011a45a);\n        if (iVar4 == 2) goto LAB_0010c62c;\n        puts("Passive mode refused.");\n      }\n      goto LAB_0010c703;\n    }" ({ "{") (expression_statement "iVar4 = FUN_0010bb32(&DAT_0011a450);" (assignment_expression "iVar4 = FUN_0010bb32(&DAT_0011a450)" (identifier "iVar4") (= "=") (call_expression "FUN_0010bb32(&DAT_0011a450)" (identifier "FUN_0010bb32") (argument_list "(&DAT_0011a450)" (( "(") (pointer_expression "&DAT_0011a450" (& "&") (identifier "DAT_0011a450")) () ")")))) (; ";")) (if_statement "if (iVar4 == 2) {\nLAB_0010c336:\n        iVar4 = sscanf(&DAT_00127a80,"%u|",local_98);\n        if (iVar4 == 1) {\n          _DAT_00126440 = DAT_00124160;\n          uVar1 = _DAT_00126440;\n          _DAT_00126448 = DAT_00124168;\n          _DAT_00126450 = _DAT_00124170;\n          uRam0000000000126458 = uRam0000000000124178;\n          _DAT_00126460 = _DAT_00124180;\n          uRam0000000000126468 = uRam0000000000124188;\n          _DAT_00126470 = _DAT_00124190;\n          uRam0000000000126478 = uRam0000000000124198;\n          _DAT_00126480 = _DAT_001241a0;\n          uRam0000000000126488 = uRam00000000001241a8;\n          _DAT_00126490 = _DAT_001241b0;\n          uRam0000000000126498 = uRam00000000001241b8;\n          _DAT_001264a0 = _DAT_001241c0;\n          uRam00000000001264a8 = uRam00000000001241c8;\n          _DAT_001264b0 = _DAT_001241d0;\n          uRam00000000001264b8 = uRam00000000001241d8;\n          _DAT_00126444 = (undefined4)(DAT_00124160 >> 0x20);\n          if ((short)DAT_00124160 == 2) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,2);\n            uVar1 = _DAT_00126440;\n          }\n          else if ((short)DAT_00124160 == 10) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,10);\n            uVar1 = _DAT_00126440;\n          }\n          goto LAB_0010c540;\n        }\n        puts("Extended passive mode scan failure. Should not happen!");\n        FUN_0010bb32(&DAT_0011a479);\n      }\n      else {\n        iVar4 = FUN_0010bb32(&DAT_0011a45a);\n        if (iVar4 == 2) goto LAB_0010c62c;\n        puts("Passive mode refused.");\n      }" (if "if") (parenthesized_expression "(iVar4 == 2)" (( "(") (binary_expression "iVar4 == 2" (identifier "iVar4") (== "==") (number_literal "2")) () ")")) (compound_statement "{\nLAB_0010c336:\n        iVar4 = sscanf(&DAT_00127a80,"%u|",local_98);\n        if (iVar4 == 1) {\n          _DAT_00126440 = DAT_00124160;\n          uVar1 = _DAT_00126440;\n          _DAT_00126448 = DAT_00124168;\n          _DAT_00126450 = _DAT_00124170;\n          uRam0000000000126458 = uRam0000000000124178;\n          _DAT_00126460 = _DAT_00124180;\n          uRam0000000000126468 = uRam0000000000124188;\n          _DAT_00126470 = _DAT_00124190;\n          uRam0000000000126478 = uRam0000000000124198;\n          _DAT_00126480 = _DAT_001241a0;\n          uRam0000000000126488 = uRam00000000001241a8;\n          _DAT_00126490 = _DAT_001241b0;\n          uRam0000000000126498 = uRam00000000001241b8;\n          _DAT_001264a0 = _DAT_001241c0;\n          uRam00000000001264a8 = uRam00000000001241c8;\n          _DAT_001264b0 = _DAT_001241d0;\n          uRam00000000001264b8 = uRam00000000001241d8;\n          _DAT_00126444 = (undefined4)(DAT_00124160 >> 0x20);\n          if ((short)DAT_00124160 == 2) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,2);\n            uVar1 = _DAT_00126440;\n          }\n          else if ((short)DAT_00124160 == 10) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,10);\n            uVar1 = _DAT_00126440;\n          }\n          goto LAB_0010c540;\n        }\n        puts("Extended passive mode scan failure. Should not happen!");\n        FUN_0010bb32(&DAT_0011a479);\n      }" ({ "{") (labeled_statement "LAB_0010c336:\n        iVar4 = sscanf(&DAT_00127a80,"%u|",local_98);" (statement_identifier "LAB_0010c336") (: ":") (expression_statement "iVar4 = sscanf(&DAT_00127a80,"%u|",local_98);" (assignment_expression "iVar4 = sscanf(&DAT_00127a80,"%u|",local_98)" (identifier "iVar4") (= "=") (call_expression "sscanf(&DAT_00127a80,"%u|",local_98)" (identifier "sscanf") (argument_list "(&DAT_00127a80,"%u|",local_98)" (( "(") (pointer_expression "&DAT_00127a80" (& "&") (identifier "DAT_00127a80")) (, ",") (string_literal ""%u|"" (" """) (string_content "%u|") (" """)) (, ",") (identifier "local_98") () ")")))) (; ";"))) (if_statement "if (iVar4 == 1) {\n          _DAT_00126440 = DAT_00124160;\n          uVar1 = _DAT_00126440;\n          _DAT_00126448 = DAT_00124168;\n          _DAT_00126450 = _DAT_00124170;\n          uRam0000000000126458 = uRam0000000000124178;\n          _DAT_00126460 = _DAT_00124180;\n          uRam0000000000126468 = uRam0000000000124188;\n          _DAT_00126470 = _DAT_00124190;\n          uRam0000000000126478 = uRam0000000000124198;\n          _DAT_00126480 = _DAT_001241a0;\n          uRam0000000000126488 = uRam00000000001241a8;\n          _DAT_00126490 = _DAT_001241b0;\n          uRam0000000000126498 = uRam00000000001241b8;\n          _DAT_001264a0 = _DAT_001241c0;\n          uRam00000000001264a8 = uRam00000000001241c8;\n          _DAT_001264b0 = _DAT_001241d0;\n          uRam00000000001264b8 = uRam00000000001241d8;\n          _DAT_00126444 = (undefined4)(DAT_00124160 >> 0x20);\n          if ((short)DAT_00124160 == 2) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,2);\n            uVar1 = _DAT_00126440;\n          }\n          else if ((short)DAT_00124160 == 10) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,10);\n            uVar1 = _DAT_00126440;\n          }\n          goto LAB_0010c540;\n        }" (if "if") (parenthesized_expression "(iVar4 == 1)" (( "(") (binary_expression "iVar4 == 1" (identifier "iVar4") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n          _DAT_00126440 = DAT_00124160;\n          uVar1 = _DAT_00126440;\n          _DAT_00126448 = DAT_00124168;\n          _DAT_00126450 = _DAT_00124170;\n          uRam0000000000126458 = uRam0000000000124178;\n          _DAT_00126460 = _DAT_00124180;\n          uRam0000000000126468 = uRam0000000000124188;\n          _DAT_00126470 = _DAT_00124190;\n          uRam0000000000126478 = uRam0000000000124198;\n          _DAT_00126480 = _DAT_001241a0;\n          uRam0000000000126488 = uRam00000000001241a8;\n          _DAT_00126490 = _DAT_001241b0;\n          uRam0000000000126498 = uRam00000000001241b8;\n          _DAT_001264a0 = _DAT_001241c0;\n          uRam00000000001264a8 = uRam00000000001241c8;\n          _DAT_001264b0 = _DAT_001241d0;\n          uRam00000000001264b8 = uRam00000000001241d8;\n          _DAT_00126444 = (undefined4)(DAT_00124160 >> 0x20);\n          if ((short)DAT_00124160 == 2) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,2);\n            uVar1 = _DAT_00126440;\n          }\n          else if ((short)DAT_00124160 == 10) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,10);\n            uVar1 = _DAT_00126440;\n          }\n          goto LAB_0010c540;\n        }" ({ "{") (expression_statement "_DAT_00126440 = DAT_00124160;" (assignment_expression "_DAT_00126440 = DAT_00124160" (identifier "_DAT_00126440") (= "=") (identifier "DAT_00124160")) (; ";")) (expression_statement "uVar1 = _DAT_00126440;" (assignment_expression "uVar1 = _DAT_00126440" (identifier "uVar1") (= "=") (identifier "_DAT_00126440")) (; ";")) (expression_statement "_DAT_00126448 = DAT_00124168;" (assignment_expression "_DAT_00126448 = DAT_00124168" (identifier "_DAT_00126448") (= "=") (identifier "DAT_00124168")) (; ";")) (expression_statement "_DAT_00126450 = _DAT_00124170;" (assignment_expression "_DAT_00126450 = _DAT_00124170" (identifier "_DAT_00126450") (= "=") (identifier "_DAT_00124170")) (; ";")) (expression_statement "uRam0000000000126458 = uRam0000000000124178;" (assignment_expression "uRam0000000000126458 = uRam0000000000124178" (identifier "uRam0000000000126458") (= "=") (identifier "uRam0000000000124178")) (; ";")) (expression_statement "_DAT_00126460 = _DAT_00124180;" (assignment_expression "_DAT_00126460 = _DAT_00124180" (identifier "_DAT_00126460") (= "=") (identifier "_DAT_00124180")) (; ";")) (expression_statement "uRam0000000000126468 = uRam0000000000124188;" (assignment_expression "uRam0000000000126468 = uRam0000000000124188" (identifier "uRam0000000000126468") (= "=") (identifier "uRam0000000000124188")) (; ";")) (expression_statement "_DAT_00126470 = _DAT_00124190;" (assignment_expression "_DAT_00126470 = _DAT_00124190" (identifier "_DAT_00126470") (= "=") (identifier "_DAT_00124190")) (; ";")) (expression_statement "uRam0000000000126478 = uRam0000000000124198;" (assignment_expression "uRam0000000000126478 = uRam0000000000124198" (identifier "uRam0000000000126478") (= "=") (identifier "uRam0000000000124198")) (; ";")) (expression_statement "_DAT_00126480 = _DAT_001241a0;" (assignment_expression "_DAT_00126480 = _DAT_001241a0" (identifier "_DAT_00126480") (= "=") (identifier "_DAT_001241a0")) (; ";")) (expression_statement "uRam0000000000126488 = uRam00000000001241a8;" (assignment_expression "uRam0000000000126488 = uRam00000000001241a8" (identifier "uRam0000000000126488") (= "=") (identifier "uRam00000000001241a8")) (; ";")) (expression_statement "_DAT_00126490 = _DAT_001241b0;" (assignment_expression "_DAT_00126490 = _DAT_001241b0" (identifier "_DAT_00126490") (= "=") (identifier "_DAT_001241b0")) (; ";")) (expression_statement "uRam0000000000126498 = uRam00000000001241b8;" (assignment_expression "uRam0000000000126498 = uRam00000000001241b8" (identifier "uRam0000000000126498") (= "=") (identifier "uRam00000000001241b8")) (; ";")) (expression_statement "_DAT_001264a0 = _DAT_001241c0;" (assignment_expression "_DAT_001264a0 = _DAT_001241c0" (identifier "_DAT_001264a0") (= "=") (identifier "_DAT_001241c0")) (; ";")) (expression_statement "uRam00000000001264a8 = uRam00000000001241c8;" (assignment_expression "uRam00000000001264a8 = uRam00000000001241c8" (identifier "uRam00000000001264a8") (= "=") (identifier "uRam00000000001241c8")) (; ";")) (expression_statement "_DAT_001264b0 = _DAT_001241d0;" (assignment_expression "_DAT_001264b0 = _DAT_001241d0" (identifier "_DAT_001264b0") (= "=") (identifier "_DAT_001241d0")) (; ";")) (expression_statement "uRam00000000001264b8 = uRam00000000001241d8;" (assignment_expression "uRam00000000001264b8 = uRam00000000001241d8" (identifier "uRam00000000001264b8") (= "=") (identifier "uRam00000000001241d8")) (; ";")) (expression_statement "_DAT_00126444 = (undefined4)(DAT_00124160 >> 0x20);" (assignment_expression "_DAT_00126444 = (undefined4)(DAT_00124160 >> 0x20)" (identifier "_DAT_00126444") (= "=") (call_expression "(undefined4)(DAT_00124160 >> 0x20)" (parenthesized_expression "(undefined4)" (( "(") (identifier "undefined4") () ")")) (argument_list "(DAT_00124160 >> 0x20)" (( "(") (binary_expression "DAT_00124160 >> 0x20" (identifier "DAT_00124160") (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (if_statement "if ((short)DAT_00124160 == 2) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,2);\n            uVar1 = _DAT_00126440;\n          }\n          else if ((short)DAT_00124160 == 10) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,10);\n            uVar1 = _DAT_00126440;\n          }" (if "if") (parenthesized_expression "((short)DAT_00124160 == 2)" (( "(") (binary_expression "(short)DAT_00124160 == 2" (cast_expression "(short)DAT_00124160" (( "(") (type_descriptor "short" (sized_type_specifier "short" (short "short"))) () ")") (identifier "DAT_00124160")) (== "==") (number_literal "2")) () ")")) (compound_statement "{\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,2);\n            uVar1 = _DAT_00126440;\n          }" ({ "{") (expression_statement "_DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,2);" (assignment_expression "_DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,2)" (identifier "_DAT_00126440") (= "=") (call_expression "CONCAT22(local_98[0] << 8 | local_98[0] >> 8,2)" (identifier "CONCAT22") (argument_list "(local_98[0] << 8 | local_98[0] >> 8,2)" (( "(") (binary_expression "local_98[0] << 8 | local_98[0] >> 8" (binary_expression "local_98[0] << 8" (subscript_expression "local_98[0]" (identifier "local_98") ([ "[") (number_literal "0") (] "]")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "local_98[0] >> 8" (subscript_expression "local_98[0]" (identifier "local_98") ([ "[") (number_literal "0") (] "]")) (>> ">>") (number_literal "8"))) (, ",") (number_literal "2") () ")")))) (; ";")) (expression_statement "uVar1 = _DAT_00126440;" (assignment_expression "uVar1 = _DAT_00126440" (identifier "uVar1") (= "=") (identifier "_DAT_00126440")) (; ";")) (} "}")) (else_clause "else if ((short)DAT_00124160 == 10) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,10);\n            uVar1 = _DAT_00126440;\n          }" (else "else") (if_statement "if ((short)DAT_00124160 == 10) {\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,10);\n            uVar1 = _DAT_00126440;\n          }" (if "if") (parenthesized_expression "((short)DAT_00124160 == 10)" (( "(") (binary_expression "(short)DAT_00124160 == 10" (cast_expression "(short)DAT_00124160" (( "(") (type_descriptor "short" (sized_type_specifier "short" (short "short"))) () ")") (identifier "DAT_00124160")) (== "==") (number_literal "10")) () ")")) (compound_statement "{\n            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,10);\n            uVar1 = _DAT_00126440;\n          }" ({ "{") (expression_statement "_DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,10);" (assignment_expression "_DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,10)" (identifier "_DAT_00126440") (= "=") (call_expression "CONCAT22(local_98[0] << 8 | local_98[0] >> 8,10)" (identifier "CONCAT22") (argument_list "(local_98[0] << 8 | local_98[0] >> 8,10)" (( "(") (binary_expression "local_98[0] << 8 | local_98[0] >> 8" (binary_expression "local_98[0] << 8" (subscript_expression "local_98[0]" (identifier "local_98") ([ "[") (number_literal "0") (] "]")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "local_98[0] >> 8" (subscript_expression "local_98[0]" (identifier "local_98") ([ "[") (number_literal "0") (] "]")) (>> ">>") (number_literal "8"))) (, ",") (number_literal "10") () ")")))) (; ";")) (expression_statement "uVar1 = _DAT_00126440;" (assignment_expression "uVar1 = _DAT_00126440" (identifier "uVar1") (= "=") (identifier "_DAT_00126440")) (; ";")) (} "}"))))) (goto_statement "goto LAB_0010c540;" (goto "goto") (statement_identifier "LAB_0010c540") (; ";")) (} "}"))) (expression_statement "puts("Extended passive mode scan failure. Should not happen!");" (call_expression "puts("Extended passive mode scan failure. Should not happen!")" (identifier "puts") (argument_list "("Extended passive mode scan failure. Should not happen!")" (( "(") (string_literal ""Extended passive mode scan failure. Should not happen!"" (" """) (string_content "Extended passive mode scan failure. Should not happen!") (" """)) () ")"))) (; ";")) (expression_statement "FUN_0010bb32(&DAT_0011a479);" (call_expression "FUN_0010bb32(&DAT_0011a479)" (identifier "FUN_0010bb32") (argument_list "(&DAT_0011a479)" (( "(") (pointer_expression "&DAT_0011a479" (& "&") (identifier "DAT_0011a479")) () ")"))) (; ";")) (} "}")) (else_clause "else {\n        iVar4 = FUN_0010bb32(&DAT_0011a45a);\n        if (iVar4 == 2) goto LAB_0010c62c;\n        puts("Passive mode refused.");\n      }" (else "else") (compound_statement "{\n        iVar4 = FUN_0010bb32(&DAT_0011a45a);\n        if (iVar4 == 2) goto LAB_0010c62c;\n        puts("Passive mode refused.");\n      }" ({ "{") (expression_statement "iVar4 = FUN_0010bb32(&DAT_0011a45a);" (assignment_expression "iVar4 = FUN_0010bb32(&DAT_0011a45a)" (identifier "iVar4") (= "=") (call_expression "FUN_0010bb32(&DAT_0011a45a)" (identifier "FUN_0010bb32") (argument_list "(&DAT_0011a45a)" (( "(") (pointer_expression "&DAT_0011a45a" (& "&") (identifier "DAT_0011a45a")) () ")")))) (; ";")) (if_statement "if (iVar4 == 2) goto LAB_0010c62c;" (if "if") (parenthesized_expression "(iVar4 == 2)" (( "(") (binary_expression "iVar4 == 2" (identifier "iVar4") (== "==") (number_literal "2")) () ")")) (goto_statement "goto LAB_0010c62c;" (goto "goto") (statement_identifier "LAB_0010c62c") (; ";"))) (expression_statement "puts("Passive mode refused.");" (call_expression "puts("Passive mode refused.")" (identifier "puts") (argument_list "("Passive mode refused.")" (( "(") (string_literal ""Passive mode refused."" (" """) (string_content "Passive mode refused.") (" """)) () ")"))) (; ";")) (} "}")))) (goto_statement "goto LAB_0010c703;" (goto "goto") (statement_identifier "LAB_0010c703") (; ";")) (} "}"))) (labeled_statement "LAB_0010c499:\n    if (DAT_00124200 == 2) {\n      iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u",&local_b0,&local_ac,&local_a8,local_a4,\n                     local_a0,local_9c);\n      if (iVar4 == 6) {\n        _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2);\n        _DAT_00126440 =\n             CONCAT44(local_b0 & 0xff | ((local_ac & 0xff) << 0x10) >> 8 | (local_a8 & 0xff) << 0x10\n                      | (uint)local_a4[0] << 0x18,_DAT_00126440);\n        uVar1 = _DAT_00126440;\nLAB_0010c540:\n        _DAT_00126440 = uVar1;\n        iVar4 = connect(DAT_001216e0,(sockaddr *)&DAT_00126440,DAT_001264c0);\n        if (-1 < iVar4) {\n          local_b4 = 8;\n          bVar7 = false;\n          if (DAT_00126440 == 2) {\n            iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);\n            if (iVar4 < 0) {\n              perror("ftp: setsockopt TOS (ignored)");\n            }\n          }\n          goto LAB_0010ca2b;\n        }\n        perror("ftp: connect");\n      }\n      else {\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n      }\n    }\n    else {\n      puts("Passive mode address scan failure. Shouldn\'t happen!");\n    }" (statement_identifier "LAB_0010c499") (: ":") (if_statement "if (DAT_00124200 == 2) {\n      iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u",&local_b0,&local_ac,&local_a8,local_a4,\n                     local_a0,local_9c);\n      if (iVar4 == 6) {\n        _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2);\n        _DAT_00126440 =\n             CONCAT44(local_b0 & 0xff | ((local_ac & 0xff) << 0x10) >> 8 | (local_a8 & 0xff) << 0x10\n                      | (uint)local_a4[0] << 0x18,_DAT_00126440);\n        uVar1 = _DAT_00126440;\nLAB_0010c540:\n        _DAT_00126440 = uVar1;\n        iVar4 = connect(DAT_001216e0,(sockaddr *)&DAT_00126440,DAT_001264c0);\n        if (-1 < iVar4) {\n          local_b4 = 8;\n          bVar7 = false;\n          if (DAT_00126440 == 2) {\n            iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);\n            if (iVar4 < 0) {\n              perror("ftp: setsockopt TOS (ignored)");\n            }\n          }\n          goto LAB_0010ca2b;\n        }\n        perror("ftp: connect");\n      }\n      else {\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n      }\n    }\n    else {\n      puts("Passive mode address scan failure. Shouldn\'t happen!");\n    }" (if "if") (parenthesized_expression "(DAT_00124200 == 2)" (( "(") (binary_expression "DAT_00124200 == 2" (identifier "DAT_00124200") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n      iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u",&local_b0,&local_ac,&local_a8,local_a4,\n                     local_a0,local_9c);\n      if (iVar4 == 6) {\n        _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2);\n        _DAT_00126440 =\n             CONCAT44(local_b0 & 0xff | ((local_ac & 0xff) << 0x10) >> 8 | (local_a8 & 0xff) << 0x10\n                      | (uint)local_a4[0] << 0x18,_DAT_00126440);\n        uVar1 = _DAT_00126440;\nLAB_0010c540:\n        _DAT_00126440 = uVar1;\n        iVar4 = connect(DAT_001216e0,(sockaddr *)&DAT_00126440,DAT_001264c0);\n        if (-1 < iVar4) {\n          local_b4 = 8;\n          bVar7 = false;\n          if (DAT_00126440 == 2) {\n            iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);\n            if (iVar4 < 0) {\n              perror("ftp: setsockopt TOS (ignored)");\n            }\n          }\n          goto LAB_0010ca2b;\n        }\n        perror("ftp: connect");\n      }\n      else {\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n      }\n    }" ({ "{") (expression_statement "iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u",&local_b0,&local_ac,&local_a8,local_a4,\n                     local_a0,local_9c);" (assignment_expression "iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u",&local_b0,&local_ac,&local_a8,local_a4,\n                     local_a0,local_9c)" (identifier "iVar4") (= "=") (call_expression "sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u",&local_b0,&local_ac,&local_a8,local_a4,\n                     local_a0,local_9c)" (identifier "sscanf") (argument_list "(&DAT_00127a80,"%u,%u,%u,%u,%u,%u",&local_b0,&local_ac,&local_a8,local_a4,\n                     local_a0,local_9c)" (( "(") (pointer_expression "&DAT_00127a80" (& "&") (identifier "DAT_00127a80")) (, ",") (string_literal ""%u,%u,%u,%u,%u,%u"" (" """) (string_content "%u,%u,%u,%u,%u,%u") (" """)) (, ",") (pointer_expression "&local_b0" (& "&") (identifier "local_b0")) (, ",") (pointer_expression "&local_ac" (& "&") (identifier "local_ac")) (, ",") (pointer_expression "&local_a8" (& "&") (identifier "local_a8")) (, ",") (identifier "local_a4") (, ",") (identifier "local_a0") (, ",") (identifier "local_9c") () ")")))) (; ";")) (if_statement "if (iVar4 == 6) {\n        _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2);\n        _DAT_00126440 =\n             CONCAT44(local_b0 & 0xff | ((local_ac & 0xff) << 0x10) >> 8 | (local_a8 & 0xff) << 0x10\n                      | (uint)local_a4[0] << 0x18,_DAT_00126440);\n        uVar1 = _DAT_00126440;\nLAB_0010c540:\n        _DAT_00126440 = uVar1;\n        iVar4 = connect(DAT_001216e0,(sockaddr *)&DAT_00126440,DAT_001264c0);\n        if (-1 < iVar4) {\n          local_b4 = 8;\n          bVar7 = false;\n          if (DAT_00126440 == 2) {\n            iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);\n            if (iVar4 < 0) {\n              perror("ftp: setsockopt TOS (ignored)");\n            }\n          }\n          goto LAB_0010ca2b;\n        }\n        perror("ftp: connect");\n      }\n      else {\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n      }" (if "if") (parenthesized_expression "(iVar4 == 6)" (( "(") (binary_expression "iVar4 == 6" (identifier "iVar4") (== "==") (number_literal "6")) () ")")) (compound_statement "{\n        _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2);\n        _DAT_00126440 =\n             CONCAT44(local_b0 & 0xff | ((local_ac & 0xff) << 0x10) >> 8 | (local_a8 & 0xff) << 0x10\n                      | (uint)local_a4[0] << 0x18,_DAT_00126440);\n        uVar1 = _DAT_00126440;\nLAB_0010c540:\n        _DAT_00126440 = uVar1;\n        iVar4 = connect(DAT_001216e0,(sockaddr *)&DAT_00126440,DAT_001264c0);\n        if (-1 < iVar4) {\n          local_b4 = 8;\n          bVar7 = false;\n          if (DAT_00126440 == 2) {\n            iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);\n            if (iVar4 < 0) {\n              perror("ftp: setsockopt TOS (ignored)");\n            }\n          }\n          goto LAB_0010ca2b;\n        }\n        perror("ftp: connect");\n      }" ({ "{") (expression_statement "_DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2);" (assignment_expression "_DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2)" (identifier "_DAT_00126440") (= "=") (call_expression "CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2)" (identifier "CONCAT22") (argument_list "((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2)" (( "(") (binary_expression "(ushort)local_9c[0] << 8 | local_a0[0] & 0xff" (binary_expression "(ushort)local_9c[0] << 8" (cast_expression "(ushort)local_9c[0]" (( "(") (type_descriptor "ushort" (type_identifier "ushort")) () ")") (subscript_expression "local_9c[0]" (identifier "local_9c") ([ "[") (number_literal "0") (] "]"))) (<< "<<") (number_literal "8")) (| "|") (binary_expression "local_a0[0] & 0xff" (subscript_expression "local_a0[0]" (identifier "local_a0") ([ "[") (number_literal "0") (] "]")) (& "&") (number_literal "0xff"))) (, ",") (number_literal "2") () ")")))) (; ";")) (expression_statement "_DAT_00126440 =\n             CONCAT44(local_b0 & 0xff | ((local_ac & 0xff) << 0x10) >> 8 | (local_a8 & 0xff) << 0x10\n                      | (uint)local_a4[0] << 0x18,_DAT_00126440);" (assignment_expression "_DAT_00126440 =\n             CONCAT44(local_b0 & 0xff | ((local_ac & 0xff) << 0x10) >> 8 | (local_a8 & 0xff) << 0x10\n                      | (uint)local_a4[0] << 0x18,_DAT_00126440)" (identifier "_DAT_00126440") (= "=") (call_expression "CONCAT44(local_b0 & 0xff | ((local_ac & 0xff) << 0x10) >> 8 | (local_a8 & 0xff) << 0x10\n                      | (uint)local_a4[0] << 0x18,_DAT_00126440)" (identifier "CONCAT44") (argument_list "(local_b0 & 0xff | ((local_ac & 0xff) << 0x10) >> 8 | (local_a8 & 0xff) << 0x10\n                      | (uint)local_a4[0] << 0x18,_DAT_00126440)" (( "(") (binary_expression "local_b0 & 0xff | ((local_ac & 0xff) << 0x10) >> 8 | (local_a8 & 0xff) << 0x10\n                      | (uint)local_a4[0] << 0x18" (binary_expression "local_b0 & 0xff | ((local_ac & 0xff) << 0x10) >> 8 | (local_a8 & 0xff) << 0x10" (binary_expression "local_b0 & 0xff | ((local_ac & 0xff) << 0x10) >> 8" (binary_expression "local_b0 & 0xff" (identifier "local_b0") (& "&") (number_literal "0xff")) (| "|") (binary_expression "((local_ac & 0xff) << 0x10) >> 8" (parenthesized_expression "((local_ac & 0xff) << 0x10)" (( "(") (binary_expression "(local_ac & 0xff) << 0x10" (parenthesized_expression "(local_ac & 0xff)" (( "(") (binary_expression "local_ac & 0xff" (identifier "local_ac") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "0x10")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(local_a8 & 0xff) << 0x10" (parenthesized_expression "(local_a8 & 0xff)" (( "(") (binary_expression "local_a8 & 0xff" (identifier "local_a8") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "0x10"))) (| "|") (binary_expression "(uint)local_a4[0] << 0x18" (cast_expression "(uint)local_a4[0]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "local_a4[0]" (identifier "local_a4") ([ "[") (number_literal "0") (] "]"))) (<< "<<") (number_literal "0x18"))) (, ",") (identifier "_DAT_00126440") () ")")))) (; ";")) (expression_statement "uVar1 = _DAT_00126440;" (assignment_expression "uVar1 = _DAT_00126440" (identifier "uVar1") (= "=") (identifier "_DAT_00126440")) (; ";")) (labeled_statement "LAB_0010c540:\n        _DAT_00126440 = uVar1;" (statement_identifier "LAB_0010c540") (: ":") (expression_statement "_DAT_00126440 = uVar1;" (assignment_expression "_DAT_00126440 = uVar1" (identifier "_DAT_00126440") (= "=") (identifier "uVar1")) (; ";"))) (expression_statement "iVar4 = connect(DAT_001216e0,(sockaddr *)&DAT_00126440,DAT_001264c0);" (assignment_expression "iVar4 = connect(DAT_001216e0,(sockaddr *)&DAT_00126440,DAT_001264c0)" (identifier "iVar4") (= "=") (call_expression "connect(DAT_001216e0,(sockaddr *)&DAT_00126440,DAT_001264c0)" (identifier "connect") (argument_list "(DAT_001216e0,(sockaddr *)&DAT_00126440,DAT_001264c0)" (( "(") (identifier "DAT_001216e0") (, ",") (cast_expression "(sockaddr *)&DAT_00126440" (( "(") (type_descriptor "sockaddr *" (type_identifier "sockaddr") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00126440" (& "&") (identifier "DAT_00126440"))) (, ",") (identifier "DAT_001264c0") () ")")))) (; ";")) (if_statement "if (-1 < iVar4) {\n          local_b4 = 8;\n          bVar7 = false;\n          if (DAT_00126440 == 2) {\n            iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);\n            if (iVar4 < 0) {\n              perror("ftp: setsockopt TOS (ignored)");\n            }\n          }\n          goto LAB_0010ca2b;\n        }" (if "if") (parenthesized_expression "(-1 < iVar4)" (( "(") (binary_expression "-1 < iVar4" (number_literal "-1") (< "<") (identifier "iVar4")) () ")")) (compound_statement "{\n          local_b4 = 8;\n          bVar7 = false;\n          if (DAT_00126440 == 2) {\n            iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);\n            if (iVar4 < 0) {\n              perror("ftp: setsockopt TOS (ignored)");\n            }\n          }\n          goto LAB_0010ca2b;\n        }" ({ "{") (expression_statement "local_b4 = 8;" (assignment_expression "local_b4 = 8" (identifier "local_b4") (= "=") (number_literal "8")) (; ";")) (expression_statement "bVar7 = false;" (assignment_expression "bVar7 = false" (identifier "bVar7") (= "=") (false "false")) (; ";")) (if_statement "if (DAT_00126440 == 2) {\n            iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);\n            if (iVar4 < 0) {\n              perror("ftp: setsockopt TOS (ignored)");\n            }\n          }" (if "if") (parenthesized_expression "(DAT_00126440 == 2)" (( "(") (binary_expression "DAT_00126440 == 2" (identifier "DAT_00126440") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n            iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);\n            if (iVar4 < 0) {\n              perror("ftp: setsockopt TOS (ignored)");\n            }\n          }" ({ "{") (expression_statement "iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);" (assignment_expression "iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4)" (identifier "iVar4") (= "=") (call_expression "setsockopt(DAT_001216e0,0,1,&local_b4,4)" (identifier "setsockopt") (argument_list "(DAT_001216e0,0,1,&local_b4,4)" (( "(") (identifier "DAT_001216e0") (, ",") (number_literal "0") (, ",") (number_literal "1") (, ",") (pointer_expression "&local_b4" (& "&") (identifier "local_b4")) (, ",") (number_literal "4") () ")")))) (; ";")) (if_statement "if (iVar4 < 0) {\n              perror("ftp: setsockopt TOS (ignored)");\n            }" (if "if") (parenthesized_expression "(iVar4 < 0)" (( "(") (binary_expression "iVar4 < 0" (identifier "iVar4") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n              perror("ftp: setsockopt TOS (ignored)");\n            }" ({ "{") (expression_statement "perror("ftp: setsockopt TOS (ignored)");" (call_expression "perror("ftp: setsockopt TOS (ignored)")" (identifier "perror") (argument_list "("ftp: setsockopt TOS (ignored)")" (( "(") (string_literal ""ftp: setsockopt TOS (ignored)"" (" """) (string_content "ftp: setsockopt TOS (ignored)") (" """)) () ")"))) (; ";")) (} "}"))) (} "}"))) (goto_statement "goto LAB_0010ca2b;" (goto "goto") (statement_identifier "LAB_0010ca2b") (; ";")) (} "}"))) (expression_statement "perror("ftp: connect");" (call_expression "perror("ftp: connect")" (identifier "perror") (argument_list "("ftp: connect")" (( "(") (string_literal ""ftp: connect"" (" """) (string_content "ftp: connect") (" """)) () ")"))) (; ";")) (} "}")) (else_clause "else {\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n      }" (else "else") (compound_statement "{\n        puts("Passive mode address scan failure. Shouldn\'t happen!");\n        FUN_0010bb32(&DAT_0011a479);\n      }" ({ "{") (expression_statement "puts("Passive mode address scan failure. Shouldn\'t happen!");" (call_expression "puts("Passive mode address scan failure. Shouldn\'t happen!")" (identifier "puts") (argument_list "("Passive mode address scan failure. Shouldn\'t happen!")" (( "(") (string_literal ""Passive mode address scan failure. Shouldn\'t happen!"" (" """) (string_content "Passive mode address scan failure. Shouldn") (escape_sequence "\'") (string_content "t happen!") (" """)) () ")"))) (; ";")) (expression_statement "FUN_0010bb32(&DAT_0011a479);" (call_expression "FUN_0010bb32(&DAT_0011a479)" (identifier "FUN_0010bb32") (argument_list "(&DAT_0011a479)" (( "(") (pointer_expression "&DAT_0011a479" (& "&") (identifier "DAT_0011a479")) () ")"))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n      puts("Passive mode address scan failure. Shouldn\'t happen!");\n    }" (else "else") (compound_statement "{\n      puts("Passive mode address scan failure. Shouldn\'t happen!");\n    }" ({ "{") (expression_statement "puts("Passive mode address scan failure. Shouldn\'t happen!");" (call_expression "puts("Passive mode address scan failure. Shouldn\'t happen!")" (identifier "puts") (argument_list "("Passive mode address scan failure. Shouldn\'t happen!")" (( "(") (string_literal ""Passive mode address scan failure. Shouldn\'t happen!"" (" """) (string_content "Passive mode address scan failure. Shouldn") (escape_sequence "\'") (string_content "t happen!") (" """)) () ")"))) (; ";")) (} "}"))))) (} "}")))) (labeled_statement "LAB_0010c703:\n  close(DAT_001216e0);" (statement_identifier "LAB_0010c703") (: ":") (expression_statement "close(DAT_001216e0);" (call_expression "close(DAT_001216e0)" (identifier "close") (argument_list "(DAT_001216e0)" (( "(") (identifier "DAT_001216e0") () ")"))) (; ";"))) (expression_statement "DAT_001216e0 = -1;" (assignment_expression "DAT_001216e0 = -1" (identifier "DAT_001216e0") (= "=") (number_literal "-1")) (; ";")) (expression_statement "bVar7 = true;" (assignment_expression "bVar7 = true" (identifier "bVar7") (= "=") (true "true")) (; ";")) (labeled_statement "LAB_0010ca2b:\n  if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return bVar7;\n  }" (statement_identifier "LAB_0010ca2b") (: ":") (if_statement "if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return bVar7;\n  }" (if "if") (parenthesized_expression "(local_40 == *(long *)(in_FS_OFFSET + 0x28))" (( "(") (binary_expression "local_40 == *(long *)(in_FS_OFFSET + 0x28)" (identifier "local_40") (== "==") (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" (* "*") (cast_expression "(long *)(in_FS_OFFSET + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_FS_OFFSET + 0x28)" (( "(") (binary_expression "in_FS_OFFSET + 0x28" (identifier "in_FS_OFFSET") (+ "+") (number_literal "0x28")) () ")"))))) () ")")) (compound_statement "{\n    return bVar7;\n  }" ({ "{") (return_statement "return bVar7;" (return "return") (identifier "bVar7") (; ";")) (} "}")))) (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" (identifier "__stack_chk_fail") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))

/* WARNING: Unknown calling convention */

int function_1(void)

{
  type_1 uVar1;
  type_2 var_26;
  type_3 var_29;
  int var_12;
  type_3 *var_25;
  int *piVar6;
  type_3 var_10;
  long var_1;
  bool bVar8;
  type_1 uVar9;
  type_1 uVar10;
  type_1 uVar11;
  type_1 uVar12;
  type_1 uVar13;
  type_1 uVar14;
  type_1 uVar15;
  type_1 uVar16;
  type_1 uVar17;
  type_1 uVar18;
  type_1 uVar19;
  type_1 uVar20;
  type_1 uVar21;
  type_1 uVar22;
  int on;
  uint32_t var_31;
  uint32_t var_32;
  uint32_t var_33;
  uint32_t a3;
  uint32_t p0;
  uint32_t p1;
  uint32_t port;
  uint32_t var_22;
  uint32_t var_23;
  type_4 var_24;
  uint32_t var_21 [16];
  type_3 var_28 [2];
  long var_35;
  
  var_35 = *(long *)(var_1 + 0x28);
  on = 1;
  if (var_2 == 0) {
    var_10 = 0;
LAB_0010cba4:
    uVar1._2_1_ = myctladdr.__ss_padding[0];
    uVar1._3_1_ = myctladdr.__ss_padding[1];
    uVar1._4_1_ = myctladdr.__ss_padding[2];
    uVar1._5_1_ = myctladdr.__ss_padding[3];
    uVar1._6_1_ = myctladdr.__ss_padding[4];
    uVar1._7_1_ = myctladdr.__ss_padding[5];
    uVar1._0_2_ = myctladdr.ss_family;
    uVar9._0_1_ = myctladdr.__ss_padding[6];
    uVar9._1_1_ = myctladdr.__ss_padding[7];
    uVar9._2_1_ = myctladdr.__ss_padding[8];
    uVar9._3_1_ = myctladdr.__ss_padding[9];
    uVar9._4_1_ = myctladdr.__ss_padding[10];
    uVar9._5_1_ = myctladdr.__ss_padding[0xb];
    uVar9._6_1_ = myctladdr.__ss_padding[0xc];
    uVar9._7_1_ = myctladdr.__ss_padding[0xd];
    data_addr.__ss_padding[6] = myctladdr.__ss_padding[6];
    data_addr.__ss_padding[7] = myctladdr.__ss_padding[7];
    data_addr.__ss_padding[8] = myctladdr.__ss_padding[8];
    data_addr.__ss_padding[9] = myctladdr.__ss_padding[9];
    data_addr.__ss_padding[10] = myctladdr.__ss_padding[10];
    data_addr.__ss_padding[0xb] = myctladdr.__ss_padding[0xb];
    data_addr.__ss_padding[0xc] = myctladdr.__ss_padding[0xc];
    data_addr.__ss_padding[0xd] = myctladdr.__ss_padding[0xd];
    uVar10._0_1_ = myctladdr.__ss_padding[0xe];
    uVar10._1_1_ = myctladdr.__ss_padding[0xf];
    uVar10._2_1_ = myctladdr.__ss_padding[0x10];
    uVar10._3_1_ = myctladdr.__ss_padding[0x11];
    uVar10._4_1_ = myctladdr.__ss_padding[0x12];
    uVar10._5_1_ = myctladdr.__ss_padding[0x13];
    uVar10._6_1_ = myctladdr.__ss_padding[0x14];
    uVar10._7_1_ = myctladdr.__ss_padding[0x15];
    uVar11._0_1_ = myctladdr.__ss_padding[0x16];
    uVar11._1_1_ = myctladdr.__ss_padding[0x17];
    uVar11._2_1_ = myctladdr.__ss_padding[0x18];
    uVar11._3_1_ = myctladdr.__ss_padding[0x19];
    uVar11._4_1_ = myctladdr.__ss_padding[0x1a];
    uVar11._5_1_ = myctladdr.__ss_padding[0x1b];
    uVar11._6_1_ = myctladdr.__ss_padding[0x1c];
    uVar11._7_1_ = myctladdr.__ss_padding[0x1d];
    data_addr.__ss_padding[0xe] = myctladdr.__ss_padding[0xe];
    data_addr.__ss_padding[0xf] = myctladdr.__ss_padding[0xf];
    data_addr.__ss_padding[0x10] = myctladdr.__ss_padding[0x10];
    data_addr.__ss_padding[0x11] = myctladdr.__ss_padding[0x11];
    data_addr.__ss_padding[0x12] = myctladdr.__ss_padding[0x12];
    data_addr.__ss_padding[0x13] = myctladdr.__ss_padding[0x13];
    data_addr.__ss_padding[0x14] = myctladdr.__ss_padding[0x14];
    data_addr.__ss_padding[0x15] = myctladdr.__ss_padding[0x15];
    data_addr.__ss_padding[0x16] = myctladdr.__ss_padding[0x16];
    data_addr.__ss_padding[0x17] = myctladdr.__ss_padding[0x17];
    data_addr.__ss_padding[0x18] = myctladdr.__ss_padding[0x18];
    data_addr.__ss_padding[0x19] = myctladdr.__ss_padding[0x19];
    data_addr.__ss_padding[0x1a] = myctladdr.__ss_padding[0x1a];
    data_addr.__ss_padding[0x1b] = myctladdr.__ss_padding[0x1b];
    data_addr.__ss_padding[0x1c] = myctladdr.__ss_padding[0x1c];
    data_addr.__ss_padding[0x1d] = myctladdr.__ss_padding[0x1d];
    uVar12._0_1_ = myctladdr.__ss_padding[0x1e];
    uVar12._1_1_ = myctladdr.__ss_padding[0x1f];
    uVar12._2_1_ = myctladdr.__ss_padding[0x20];
    uVar12._3_1_ = myctladdr.__ss_padding[0x21];
    uVar12._4_1_ = myctladdr.__ss_padding[0x22];
    uVar12._5_1_ = myctladdr.__ss_padding[0x23];
    uVar12._6_1_ = myctladdr.__ss_padding[0x24];
    uVar12._7_1_ = myctladdr.__ss_padding[0x25];
    uVar13._0_1_ = myctladdr.__ss_padding[0x26];
    uVar13._1_1_ = myctladdr.__ss_padding[0x27];
    uVar13._2_1_ = myctladdr.__ss_padding[0x28];
    uVar13._3_1_ = myctladdr.__ss_padding[0x29];
    uVar13._4_1_ = myctladdr.__ss_padding[0x2a];
    uVar13._5_1_ = myctladdr.__ss_padding[0x2b];
    uVar13._6_1_ = myctladdr.__ss_padding[0x2c];
    uVar13._7_1_ = myctladdr.__ss_padding[0x2d];
    data_addr.__ss_padding[0x1e] = myctladdr.__ss_padding[0x1e];
    data_addr.__ss_padding[0x1f] = myctladdr.__ss_padding[0x1f];
    data_addr.__ss_padding[0x20] = myctladdr.__ss_padding[0x20];
    data_addr.__ss_padding[0x21] = myctladdr.__ss_padding[0x21];
    data_addr.__ss_padding[0x22] = myctladdr.__ss_padding[0x22];
    data_addr.__ss_padding[0x23] = myctladdr.__ss_padding[0x23];
    data_addr.__ss_padding[0x24] = myctladdr.__ss_padding[0x24];
    data_addr.__ss_padding[0x25] = myctladdr.__ss_padding[0x25];
    data_addr.__ss_padding[0x26] = myctladdr.__ss_padding[0x26];
    data_addr.__ss_padding[0x27] = myctladdr.__ss_padding[0x27];
    data_addr.__ss_padding[0x28] = myctladdr.__ss_padding[0x28];
    data_addr.__ss_padding[0x29] = myctladdr.__ss_padding[0x29];
    data_addr.__ss_padding[0x2a] = myctladdr.__ss_padding[0x2a];
    data_addr.__ss_padding[0x2b] = myctladdr.__ss_padding[0x2b];
    data_addr.__ss_padding[0x2c] = myctladdr.__ss_padding[0x2c];
    data_addr.__ss_padding[0x2d] = myctladdr.__ss_padding[0x2d];
    uVar14._0_1_ = myctladdr.__ss_padding[0x2e];
    uVar14._1_1_ = myctladdr.__ss_padding[0x2f];
    uVar14._2_1_ = myctladdr.__ss_padding[0x30];
    uVar14._3_1_ = myctladdr.__ss_padding[0x31];
    uVar14._4_1_ = myctladdr.__ss_padding[0x32];
    uVar14._5_1_ = myctladdr.__ss_padding[0x33];
    uVar14._6_1_ = myctladdr.__ss_padding[0x34];
    uVar14._7_1_ = myctladdr.__ss_padding[0x35];
    uVar15._0_1_ = myctladdr.__ss_padding[0x36];
    uVar15._1_1_ = myctladdr.__ss_padding[0x37];
    uVar15._2_1_ = myctladdr.__ss_padding[0x38];
    uVar15._3_1_ = myctladdr.__ss_padding[0x39];
    uVar15._4_1_ = myctladdr.__ss_padding[0x3a];
    uVar15._5_1_ = myctladdr.__ss_padding[0x3b];
    uVar15._6_1_ = myctladdr.__ss_padding[0x3c];
    uVar15._7_1_ = myctladdr.__ss_padding[0x3d];
    data_addr.__ss_padding[0x2e] = myctladdr.__ss_padding[0x2e];
    data_addr.__ss_padding[0x2f] = myctladdr.__ss_padding[0x2f];
    data_addr.__ss_padding[0x30] = myctladdr.__ss_padding[0x30];
    data_addr.__ss_padding[0x31] = myctladdr.__ss_padding[0x31];
    data_addr.__ss_padding[0x32] = myctladdr.__ss_padding[0x32];
    data_addr.__ss_padding[0x33] = myctladdr.__ss_padding[0x33];
    data_addr.__ss_padding[0x34] = myctladdr.__ss_padding[0x34];
    data_addr.__ss_padding[0x35] = myctladdr.__ss_padding[0x35];
    data_addr.__ss_padding[0x36] = myctladdr.__ss_padding[0x36];
    data_addr.__ss_padding[0x37] = myctladdr.__ss_padding[0x37];
    data_addr.__ss_padding[0x38] = myctladdr.__ss_padding[0x38];
    data_addr.__ss_padding[0x39] = myctladdr.__ss_padding[0x39];
    data_addr.__ss_padding[0x3a] = myctladdr.__ss_padding[0x3a];
    data_addr.__ss_padding[0x3b] = myctladdr.__ss_padding[0x3b];
    data_addr.__ss_padding[0x3c] = myctladdr.__ss_padding[0x3c];
    data_addr.__ss_padding[0x3d] = myctladdr.__ss_padding[0x3d];
    uVar16._0_1_ = myctladdr.__ss_padding[0x3e];
    uVar16._1_1_ = myctladdr.__ss_padding[0x3f];
    uVar16._2_1_ = myctladdr.__ss_padding[0x40];
    uVar16._3_1_ = myctladdr.__ss_padding[0x41];
    uVar16._4_1_ = myctladdr.__ss_padding[0x42];
    uVar16._5_1_ = myctladdr.__ss_padding[0x43];
    uVar16._6_1_ = myctladdr.__ss_padding[0x44];
    uVar16._7_1_ = myctladdr.__ss_padding[0x45];
    uVar17._0_1_ = myctladdr.__ss_padding[0x46];
    uVar17._1_1_ = myctladdr.__ss_padding[0x47];
    uVar17._2_1_ = myctladdr.__ss_padding[0x48];
    uVar17._3_1_ = myctladdr.__ss_padding[0x49];
    uVar17._4_1_ = myctladdr.__ss_padding[0x4a];
    uVar17._5_1_ = myctladdr.__ss_padding[0x4b];
    uVar17._6_1_ = myctladdr.__ss_padding[0x4c];
    uVar17._7_1_ = myctladdr.__ss_padding[0x4d];
    data_addr.__ss_padding[0x3e] = myctladdr.__ss_padding[0x3e];
    data_addr.__ss_padding[0x3f] = myctladdr.__ss_padding[0x3f];
    data_addr.__ss_padding[0x40] = myctladdr.__ss_padding[0x40];
    data_addr.__ss_padding[0x41] = myctladdr.__ss_padding[0x41];
    data_addr.__ss_padding[0x42] = myctladdr.__ss_padding[0x42];
    data_addr.__ss_padding[0x43] = myctladdr.__ss_padding[0x43];
    data_addr.__ss_padding[0x44] = myctladdr.__ss_padding[0x44];
    data_addr.__ss_padding[0x45] = myctladdr.__ss_padding[0x45];
    data_addr.__ss_padding[0x46] = myctladdr.__ss_padding[0x46];
    data_addr.__ss_padding[0x47] = myctladdr.__ss_padding[0x47];
    data_addr.__ss_padding[0x48] = myctladdr.__ss_padding[0x48];
    data_addr.__ss_padding[0x49] = myctladdr.__ss_padding[0x49];
    data_addr.__ss_padding[0x4a] = myctladdr.__ss_padding[0x4a];
    data_addr.__ss_padding[0x4b] = myctladdr.__ss_padding[0x4b];
    data_addr.__ss_padding[0x4c] = myctladdr.__ss_padding[0x4c];
    data_addr.__ss_padding[0x4d] = myctladdr.__ss_padding[0x4d];
    uVar18._0_1_ = myctladdr.__ss_padding[0x4e];
    uVar18._1_1_ = myctladdr.__ss_padding[0x4f];
    uVar18._2_1_ = myctladdr.__ss_padding[0x50];
    uVar18._3_1_ = myctladdr.__ss_padding[0x51];
    uVar18._4_1_ = myctladdr.__ss_padding[0x52];
    uVar18._5_1_ = myctladdr.__ss_padding[0x53];
    uVar18._6_1_ = myctladdr.__ss_padding[0x54];
    uVar18._7_1_ = myctladdr.__ss_padding[0x55];
    uVar19._0_1_ = myctladdr.__ss_padding[0x56];
    uVar19._1_1_ = myctladdr.__ss_padding[0x57];
    uVar19._2_1_ = myctladdr.__ss_padding[0x58];
    uVar19._3_1_ = myctladdr.__ss_padding[0x59];
    uVar19._4_1_ = myctladdr.__ss_padding[0x5a];
    uVar19._5_1_ = myctladdr.__ss_padding[0x5b];
    uVar19._6_1_ = myctladdr.__ss_padding[0x5c];
    uVar19._7_1_ = myctladdr.__ss_padding[0x5d];
    data_addr.__ss_padding[0x4e] = myctladdr.__ss_padding[0x4e];
    data_addr.__ss_padding[0x4f] = myctladdr.__ss_padding[0x4f];
    data_addr.__ss_padding[0x50] = myctladdr.__ss_padding[0x50];
    data_addr.__ss_padding[0x51] = myctladdr.__ss_padding[0x51];
    data_addr.__ss_padding[0x52] = myctladdr.__ss_padding[0x52];
    data_addr.__ss_padding[0x53] = myctladdr.__ss_padding[0x53];
    data_addr.__ss_padding[0x54] = myctladdr.__ss_padding[0x54];
    data_addr.__ss_padding[0x55] = myctladdr.__ss_padding[0x55];
    data_addr.__ss_padding[0x56] = myctladdr.__ss_padding[0x56];
    data_addr.__ss_padding[0x57] = myctladdr.__ss_padding[0x57];
    data_addr.__ss_padding[0x58] = myctladdr.__ss_padding[0x58];
    data_addr.__ss_padding[0x59] = myctladdr.__ss_padding[0x59];
    data_addr.__ss_padding[0x5a] = myctladdr.__ss_padding[0x5a];
    data_addr.__ss_padding[0x5b] = myctladdr.__ss_padding[0x5b];
    data_addr.__ss_padding[0x5c] = myctladdr.__ss_padding[0x5c];
    data_addr.__ss_padding[0x5d] = myctladdr.__ss_padding[0x5d];
    uVar20._0_1_ = myctladdr.__ss_padding[0x5e];
    uVar20._1_1_ = myctladdr.__ss_padding[0x5f];
    uVar20._2_1_ = myctladdr.__ss_padding[0x60];
    uVar20._3_1_ = myctladdr.__ss_padding[0x61];
    uVar20._4_1_ = myctladdr.__ss_padding[0x62];
    uVar20._5_1_ = myctladdr.__ss_padding[99];
    uVar20._6_1_ = myctladdr.__ss_padding[100];
    uVar20._7_1_ = myctladdr.__ss_padding[0x65];
    uVar21._0_1_ = myctladdr.__ss_padding[0x66];
    uVar21._1_1_ = myctladdr.__ss_padding[0x67];
    uVar21._2_1_ = myctladdr.__ss_padding[0x68];
    uVar21._3_1_ = myctladdr.__ss_padding[0x69];
    uVar21._4_1_ = myctladdr.__ss_padding[0x6a];
    uVar21._5_1_ = myctladdr.__ss_padding[0x6b];
    uVar21._6_1_ = myctladdr.__ss_padding[0x6c];
    uVar21._7_1_ = myctladdr.__ss_padding[0x6d];
    data_addr.__ss_padding[0x5e] = myctladdr.__ss_padding[0x5e];
    data_addr.__ss_padding[0x5f] = myctladdr.__ss_padding[0x5f];
    data_addr.__ss_padding[0x60] = myctladdr.__ss_padding[0x60];
    data_addr.__ss_padding[0x61] = myctladdr.__ss_padding[0x61];
    data_addr.__ss_padding[0x62] = myctladdr.__ss_padding[0x62];
    data_addr.__ss_padding[99] = myctladdr.__ss_padding[99];
    data_addr.__ss_padding[100] = myctladdr.__ss_padding[100];
    data_addr.__ss_padding[0x65] = myctladdr.__ss_padding[0x65];
    data_addr.__ss_padding[0x66] = myctladdr.__ss_padding[0x66];
    data_addr.__ss_padding[0x67] = myctladdr.__ss_padding[0x67];
    data_addr.__ss_padding[0x68] = myctladdr.__ss_padding[0x68];
    data_addr.__ss_padding[0x69] = myctladdr.__ss_padding[0x69];
    data_addr.__ss_padding[0x6a] = myctladdr.__ss_padding[0x6a];
    data_addr.__ss_padding[0x6b] = myctladdr.__ss_padding[0x6b];
    data_addr.__ss_padding[0x6c] = myctladdr.__ss_padding[0x6c];
    data_addr.__ss_padding[0x6d] = myctladdr.__ss_padding[0x6d];
    uVar22._0_1_ = myctladdr.__ss_padding[0x6e];
    uVar22._1_1_ = myctladdr.__ss_padding[0x6f];
    uVar22._2_1_ = myctladdr.__ss_padding[0x70];
    uVar22._3_1_ = myctladdr.__ss_padding[0x71];
    uVar22._4_1_ = myctladdr.__ss_padding[0x72];
    uVar22._5_1_ = myctladdr.__ss_padding[0x73];
    uVar22._6_1_ = myctladdr.__ss_padding[0x74];
    uVar22._7_1_ = myctladdr.__ss_padding[0x75];
    data_addr.__ss_align = myctladdr.__ss_align;
    data_addr.__ss_padding[0x6e] = myctladdr.__ss_padding[0x6e];
    data_addr.__ss_padding[0x6f] = myctladdr.__ss_padding[0x6f];
    data_addr.__ss_padding[0x70] = myctladdr.__ss_padding[0x70];
    data_addr.__ss_padding[0x71] = myctladdr.__ss_padding[0x71];
    data_addr.__ss_padding[0x72] = myctladdr.__ss_padding[0x72];
    data_addr.__ss_padding[0x73] = myctladdr.__ss_padding[0x73];
    data_addr.__ss_padding[0x74] = myctladdr.__ss_padding[0x74];
    data_addr.__ss_padding[0x75] = myctladdr.__ss_padding[0x75];
    if (var_3 != 0) {
      data_addr.__ss_padding._2_4_ = var_4(myctladdr.__ss_padding._0_6_,2);
      if (myctladdr.ss_family == 2) {
        data_addr.ss_family = 2;
        data_addr.__ss_padding[0] = '\0';
        data_addr.__ss_padding[1] = '\0';
        uVar1 = data_addr._0_8_;
      }
      else if (myctladdr.ss_family == 10) {
        data_addr.ss_family = 10;
        data_addr.__ss_padding[0] = '\0';
        data_addr.__ss_padding[1] = '\0';
        uVar1 = data_addr._0_8_;
      }
    }
    data_addr._0_8_ = uVar1;
    if (var_5 != -1) {
      data_addr.__ss_padding._6_8_ = uVar9;
      data_addr.__ss_padding._14_8_ = uVar10;
      data_addr.__ss_padding._22_8_ = uVar11;
      data_addr.__ss_padding._30_8_ = uVar12;
      data_addr.__ss_padding._38_8_ = uVar13;
      data_addr.__ss_padding._46_8_ = uVar14;
      data_addr.__ss_padding._54_8_ = uVar15;
      data_addr.__ss_padding._62_8_ = uVar16;
      data_addr.__ss_padding._70_8_ = uVar17;
      data_addr.__ss_padding._78_8_ = uVar18;
      data_addr.__ss_padding._86_8_ = uVar19;
      data_addr.__ss_padding._94_8_ = uVar20;
      data_addr.__ss_padding._102_8_ = uVar21;
      data_addr.__ss_padding._110_8_ = uVar22;
      var_6(var_5);
    }
    var_5 = var_7((type_3)myctladdr.ss_family,1,0);
    if (var_5 < 0) {
      piVar6 = var_8();
      var_9(0,*piVar6,"socket");
      if (var_10 == 0) {
        var_10 = 1;
      }
      else {
        var_3 = 1;
      }
      goto LAB_0010ca2b;
    }
    if (var_3 == 0) {
      var_12 = var_11(var_5,1,2,&on,4);
      if (-1 < var_12) goto LAB_0010cc9e;
      piVar6 = var_8();
      var_9(0,*piVar6,"setsockopt (reuse address)");
LAB_0010ca03:
      var_6(var_5);
      var_5 = -1;
      if (var_10 == 0) {
        var_10 = 1;
      }
      else {
        var_3 = 1;
      }
      goto LAB_0010ca2b;
    }
LAB_0010cc9e:
    var_12 = var_13(var_5,(type_5 *)&data_addr,ctladdrlen);
    if (var_12 < 0) {
      piVar6 = var_8();
      var_9(0,*piVar6,&DAT_0011a4df);
      goto LAB_0010ca03;
    }
    if (((type_6)options & 1) != 0) {
      var_12 = var_11(var_5,1,1,&on,4);
      if (var_12 < 0) {
        piVar6 = var_8();
        if (*piVar6 != 0xd) {
          var_9(0,*piVar6,"setsockopt DEBUG (ignored)");
        }
      }
    }
    var_24 = 0x80;
    var_12 = var_14(var_5,(type_5 *)&data_addr,&var_24);
    if (var_12 < 0) {
      piVar6 = var_8();
      var_9(0,*piVar6,"getsockname");
      goto LAB_0010ca03;
    }
    var_12 = var_15(var_5,1);
    if (var_12 < 0) {
      piVar6 = var_8();
      var_9(0,*piVar6,"listen");
    }
    if (var_3 == 0) {
      if (var_10 != 0) {
        var_3 = 1;
      }
      on = 8;
      var_10 = 0;
      if (data_addr.ss_family == 2) {
        var_12 = var_11(var_5,0,1,&on,4);
        if (var_12 < 0) {
          piVar6 = var_8();
          var_9(0,*piVar6,"setsockopt TOS (ignored)");
        }
      }
      goto LAB_0010ca2b;
    }
    if ((data_addr.ss_family == 2) && (var_16 == 0)) {
      bVar8 = true;
LAB_0010cd36:
      if (!bVar8) {
        var_12 = 2;
LAB_0010cd3f:
        var_10 = (type_3)(var_12 != 2);
        goto LAB_0010ca2b;
      }
LAB_0010cd6c:
      var_12 = var_17("PORT %d,%d,%d,%d,%d,%d",(type_7)data_addr._0_8_ >> 0x20 & 0xff,
                      (type_7)data_addr._0_8_ >> 0x28 & 0xff,(type_7)data_addr._0_8_ >> 0x30 & 0xff,
                      (type_7)data_addr._0_8_ >> 0x38,(type_7)data_addr._0_8_ >> 0x10 & 0xff,
                      (type_7)data_addr._0_8_ >> 0x18 & 0xff);
    }
    else {
      var_18((type_5 *)&data_addr,ctladdrlen,ia,0x2e,portstr,10,3);
      var_12 = var_17("EPRT |%d|%s|%s|",(type_7)((data_addr.ss_family != 2) + 1),ia,portstr);
      if (data_addr.ss_family == 2) {
        bVar8 = var_12 != 2;
        if ((var_16 == 0) || (!bVar8)) goto LAB_0010cd36;
        var_16 = 0;
        goto LAB_0010cd6c;
      }
    }
    if (var_12 == 2) goto LAB_0010cd3f;
    if (data_addr.ss_family == 2) {
      var_12 = var_17("LPRT 4,4,%u,%u,%u,%u,2,%u,%u",(type_7)data_addr._0_8_ >> 0x20 & 0xff,
                      (type_7)data_addr._0_8_ >> 0x28 & 0xff,(type_7)data_addr._0_8_ >> 0x30 & 0xff,
                      (type_7)data_addr._0_8_ >> 0x38,(type_7)(type_6)data_addr.__ss_padding[0],
                      (type_7)(type_6)data_addr.__ss_padding[1]);
    }
    else if (data_addr.ss_family == 10) {
      var_12 = var_17("LPRT 6,16,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,2,%u,%u",
                      data_addr.__ss_padding._6_8_ & 0xff,
                      (type_7)data_addr.__ss_padding._6_8_ >> 8 & 0xff,
                      (type_7)data_addr.__ss_padding._6_8_ >> 0x10 & 0xff,
                      (type_7)data_addr.__ss_padding._6_8_ >> 0x18 & 0xff,
                      (type_7)data_addr.__ss_padding._6_8_ >> 0x20 & 0xff,
                      (type_7)data_addr.__ss_padding._6_8_ >> 0x28 & 0xff,
                      (type_7)data_addr.__ss_padding._6_8_ >> 0x30 & 0xff,
                      (type_7)data_addr.__ss_padding._6_8_ >> 0x38,
                      data_addr.__ss_padding._14_8_ & 0xff,
                      (type_7)data_addr.__ss_padding._14_8_ >> 8 & 0xff,
                      (type_7)data_addr.__ss_padding._14_8_ >> 0x10 & 0xff,
                      (type_7)data_addr.__ss_padding._14_8_ >> 0x18 & 0xff,
                      (type_7)data_addr.__ss_padding._14_8_ >> 0x20 & 0xff,
                      (type_7)data_addr.__ss_padding._14_8_ >> 0x28 & 0xff,
                      (type_7)data_addr.__ss_padding._14_8_ >> 0x30 & 0xff,
                      (type_7)data_addr.__ss_padding._14_8_ >> 0x38,
                      (type_7)(type_6)data_addr.__ss_padding[0],(type_7)(type_6)data_addr.__ss_padding[1])
      ;
    }
    if ((var_12 != 5) || (var_3 != -1)) goto LAB_0010cd3f;
    var_3 = 0;
    var_10 = 1;
    goto LAB_0010cba4;
  }
  var_5 = var_7((type_3)myctladdr.ss_family,1,0);
  if (var_5 < 0) {
    var_19("ftp: socket");
    var_10 = 1;
    goto LAB_0010ca2b;
  }
  if (((type_6)options & 1) != 0) {
    var_12 = var_11(var_5,1,1,&on,4);
    if (var_12 < 0) {
      piVar6 = var_8();
      if (*piVar6 != 0xd) {
        var_9(0,*piVar6,"setsockopt DEBUG (ignored)");
      }
    }
  }
  if (myctladdr.ss_family == 2) {
    if (var_16 != 0) {
      var_12 = var_17("EPSV");
      if (var_12 == 2) goto LAB_0010c336;
      if (var_16 != 0) {
        var_16 = 0;
      }
    }
    var_12 = var_17("PASV");
    if (var_12 == 2) goto LAB_0010c499;
    var_12 = var_17("LPSV");
    if (var_12 == 2) {
LAB_0010c62c:
      if (myctladdr.ss_family == 2) {
        var_12 = var_20(pasv,"%u,%u,%u,%u,%u,%u,%u,%u,%u",&var_22,&var_23,var_21,var_21 + 1,var_21 + 2,var_21 + 3,&var_24,&p0,&p1);
        if ((((var_12 == 9) && (var_22 == 4)) && (var_23 == 4)) && (var_24 == 2)) {
          var_25 = var_21;
          do {
            *var_25 = *var_25 & 0xff;
            var_25 = var_25 + 1;
          } while (var_25 != var_21 + 4);
          var_26 = (type_2)(type_6)p1 << 8 | (type_2)p0 & 0xff;
          data_addr.__ss_padding[0] = (char)var_26;
          data_addr.__ss_padding[1] = (char)(var_26 >> 8);
          data_addr.ss_family = 2;
          var_10 = var_21[0] << 0x18 | var_21[1] << 0x10 | var_21[3] | var_21[2] << 8;
          var_10 = var_10 >> 0x18 | (var_10 & 0xff0000) >> 8 | (var_10 & 0xff00) << 8 | var_21[3] << 0x18;
          data_addr.__ss_padding[2] = (char)var_10;
          data_addr.__ss_padding[3] = (char)(var_10 >> 8);
          data_addr.__ss_padding[4] = (char)(var_10 >> 0x10);
          data_addr.__ss_padding[5] = (char)(var_10 >> 0x18);
          uVar1 = data_addr._0_8_;
          goto LAB_0010c540;
        }
        var_27("Passive mode address scan failure. Shouldn\'t happen!");
        var_17("ABOR");
        goto LAB_0010c703;
      }
      var_12 = var_20(pasv,"%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u",&var_22,&var_23,
                     var_21,var_21 + 1,var_21 + 2,var_21 + 3,var_21 + 4,var_21 + 5,var_21 + 6,var_21 + 7,var_21 + 8,var_21 + 9,var_21 + 10,var_21 + 0xb,var_21 + 0xc,
                     var_21 + 0xd,var_21 + 0xe,var_21 + 0xf,&var_24,&p0,&p1);
      if (((var_12 != 0x15) || (var_22 != 6)) || ((var_23 != 0x10 || (var_24 != 2)))) {
        var_27("Passive mode address scan failure. Shouldn\'t happen!");
        var_17("ABOR");
        goto LAB_0010c703;
      }
      var_25 = var_21;
      do {
        *var_25 = *var_25 & 0xff;
        var_25 = var_25 + 1;
      } while (var_25 != var_28);
      var_26 = (type_2)(type_6)p1 << 8 | (type_2)p0 & 0xff;
      data_addr.__ss_padding[0] = (char)var_26;
      data_addr.__ss_padding[1] = (char)(var_26 >> 8);
      data_addr.ss_family = 10;
      var_10 = var_21[0] << 0x18 | var_21[1] << 0x10 | var_21[3] | var_21[2] << 8;
      var_10 = var_10 >> 0x18 | (var_10 & 0xff0000) >> 8 | (var_10 & 0xff00) << 8 | var_21[3] << 0x18;
      var_29 = var_21[4] << 0x18 | var_21[5] << 0x10 | var_21[7] | var_21[6] << 8;
      var_29 = var_29 >> 0x18 | (var_29 & 0xff0000) >> 8 | (var_29 & 0xff00) << 8 | var_21[7] << 0x18;
      data_addr.__ss_padding[10] = (char)var_29;
      data_addr.__ss_padding[0xb] = (char)(var_29 >> 8);
      data_addr.__ss_padding[0xc] = (char)(var_29 >> 0x10);
      data_addr.__ss_padding[0xd] = (char)(var_29 >> 0x18);
      data_addr.__ss_padding[6] = (char)var_10;
      data_addr.__ss_padding[7] = (char)(var_10 >> 8);
      data_addr.__ss_padding[8] = (char)(var_10 >> 0x10);
      data_addr.__ss_padding[9] = (char)(var_10 >> 0x18);
      var_10 = var_21[8] << 0x18 | var_21[9] << 0x10 | var_21[0xb] | var_21[10] << 8;
      var_10 = var_10 >> 0x18 | (var_10 & 0xff0000) >> 8 | (var_10 & 0xff00) << 8 | var_21[0xb] << 0x18;
      var_29 = var_21[0xc] << 0x18 | var_21[0xd] << 0x10 | var_21[0xf] | var_21[0xe] << 8;
      var_29 = var_29 >> 0x18 | (var_29 & 0xff0000) >> 8 | (var_29 & 0xff00) << 8 | var_21[0xf] << 0x18;
      data_addr.__ss_padding[0x12] = (char)var_29;
      data_addr.__ss_padding[0x13] = (char)(var_29 >> 8);
      data_addr.__ss_padding[0x14] = (char)(var_29 >> 0x10);
      data_addr.__ss_padding[0x15] = (char)(var_29 >> 0x18);
      data_addr.__ss_padding[0xe] = (char)var_10;
      data_addr.__ss_padding[0xf] = (char)(var_10 >> 8);
      data_addr.__ss_padding[0x10] = (char)(var_10 >> 0x10);
      data_addr.__ss_padding[0x11] = (char)(var_10 >> 0x18);
      uVar1 = data_addr._0_8_;
      goto LAB_0010c540;
    }
    var_27("Passive mode refused.");
  }
  else {
    if (myctladdr.ss_family == 10) {
      var_12 = var_17("EPSV");
      if (var_12 == 2) {
LAB_0010c336:
        var_12 = var_20(pasv,"%u|",&port);
        if (var_12 == 1) {
          data_addr.ss_family = hisctladdr.ss_family;
          data_addr.__ss_padding[0] = hisctladdr.__ss_padding[0];
          data_addr.__ss_padding[1] = hisctladdr.__ss_padding[1];
          data_addr.__ss_padding[2] = hisctladdr.__ss_padding[2];
          data_addr.__ss_padding[3] = hisctladdr.__ss_padding[3];
          data_addr.__ss_padding[4] = hisctladdr.__ss_padding[4];
          data_addr.__ss_padding[5] = hisctladdr.__ss_padding[5];
          uVar1 = data_addr._0_8_;
          data_addr.__ss_padding[6] = hisctladdr.__ss_padding[6];
          data_addr.__ss_padding[7] = hisctladdr.__ss_padding[7];
          data_addr.__ss_padding[8] = hisctladdr.__ss_padding[8];
          data_addr.__ss_padding[9] = hisctladdr.__ss_padding[9];
          data_addr.__ss_padding[10] = hisctladdr.__ss_padding[10];
          data_addr.__ss_padding[0xb] = hisctladdr.__ss_padding[0xb];
          data_addr.__ss_padding[0xc] = hisctladdr.__ss_padding[0xc];
          data_addr.__ss_padding[0xd] = hisctladdr.__ss_padding[0xd];
          data_addr.__ss_padding[0xe] = hisctladdr.__ss_padding[0xe];
          data_addr.__ss_padding[0xf] = hisctladdr.__ss_padding[0xf];
          data_addr.__ss_padding[0x10] = hisctladdr.__ss_padding[0x10];
          data_addr.__ss_padding[0x11] = hisctladdr.__ss_padding[0x11];
          data_addr.__ss_padding[0x12] = hisctladdr.__ss_padding[0x12];
          data_addr.__ss_padding[0x13] = hisctladdr.__ss_padding[0x13];
          data_addr.__ss_padding[0x14] = hisctladdr.__ss_padding[0x14];
          data_addr.__ss_padding[0x15] = hisctladdr.__ss_padding[0x15];
          data_addr.__ss_padding[0x16] = hisctladdr.__ss_padding[0x16];
          data_addr.__ss_padding[0x17] = hisctladdr.__ss_padding[0x17];
          data_addr.__ss_padding[0x18] = hisctladdr.__ss_padding[0x18];
          data_addr.__ss_padding[0x19] = hisctladdr.__ss_padding[0x19];
          data_addr.__ss_padding[0x1a] = hisctladdr.__ss_padding[0x1a];
          data_addr.__ss_padding[0x1b] = hisctladdr.__ss_padding[0x1b];
          data_addr.__ss_padding[0x1c] = hisctladdr.__ss_padding[0x1c];
          data_addr.__ss_padding[0x1d] = hisctladdr.__ss_padding[0x1d];
          data_addr.__ss_padding[0x1e] = hisctladdr.__ss_padding[0x1e];
          data_addr.__ss_padding[0x1f] = hisctladdr.__ss_padding[0x1f];
          data_addr.__ss_padding[0x20] = hisctladdr.__ss_padding[0x20];
          data_addr.__ss_padding[0x21] = hisctladdr.__ss_padding[0x21];
          data_addr.__ss_padding[0x22] = hisctladdr.__ss_padding[0x22];
          data_addr.__ss_padding[0x23] = hisctladdr.__ss_padding[0x23];
          data_addr.__ss_padding[0x24] = hisctladdr.__ss_padding[0x24];
          data_addr.__ss_padding[0x25] = hisctladdr.__ss_padding[0x25];
          data_addr.__ss_padding[0x26] = hisctladdr.__ss_padding[0x26];
          data_addr.__ss_padding[0x27] = hisctladdr.__ss_padding[0x27];
          data_addr.__ss_padding[0x28] = hisctladdr.__ss_padding[0x28];
          data_addr.__ss_padding[0x29] = hisctladdr.__ss_padding[0x29];
          data_addr.__ss_padding[0x2a] = hisctladdr.__ss_padding[0x2a];
          data_addr.__ss_padding[0x2b] = hisctladdr.__ss_padding[0x2b];
          data_addr.__ss_padding[0x2c] = hisctladdr.__ss_padding[0x2c];
          data_addr.__ss_padding[0x2d] = hisctladdr.__ss_padding[0x2d];
          data_addr.__ss_padding[0x2e] = hisctladdr.__ss_padding[0x2e];
          data_addr.__ss_padding[0x2f] = hisctladdr.__ss_padding[0x2f];
          data_addr.__ss_padding[0x30] = hisctladdr.__ss_padding[0x30];
          data_addr.__ss_padding[0x31] = hisctladdr.__ss_padding[0x31];
          data_addr.__ss_padding[0x32] = hisctladdr.__ss_padding[0x32];
          data_addr.__ss_padding[0x33] = hisctladdr.__ss_padding[0x33];
          data_addr.__ss_padding[0x34] = hisctladdr.__ss_padding[0x34];
          data_addr.__ss_padding[0x35] = hisctladdr.__ss_padding[0x35];
          data_addr.__ss_padding[0x36] = hisctladdr.__ss_padding[0x36];
          data_addr.__ss_padding[0x37] = hisctladdr.__ss_padding[0x37];
          data_addr.__ss_padding[0x38] = hisctladdr.__ss_padding[0x38];
          data_addr.__ss_padding[0x39] = hisctladdr.__ss_padding[0x39];
          data_addr.__ss_padding[0x3a] = hisctladdr.__ss_padding[0x3a];
          data_addr.__ss_padding[0x3b] = hisctladdr.__ss_padding[0x3b];
          data_addr.__ss_padding[0x3c] = hisctladdr.__ss_padding[0x3c];
          data_addr.__ss_padding[0x3d] = hisctladdr.__ss_padding[0x3d];
          data_addr.__ss_padding[0x3e] = hisctladdr.__ss_padding[0x3e];
          data_addr.__ss_padding[0x3f] = hisctladdr.__ss_padding[0x3f];
          data_addr.__ss_padding[0x40] = hisctladdr.__ss_padding[0x40];
          data_addr.__ss_padding[0x41] = hisctladdr.__ss_padding[0x41];
          data_addr.__ss_padding[0x42] = hisctladdr.__ss_padding[0x42];
          data_addr.__ss_padding[0x43] = hisctladdr.__ss_padding[0x43];
          data_addr.__ss_padding[0x44] = hisctladdr.__ss_padding[0x44];
          data_addr.__ss_padding[0x45] = hisctladdr.__ss_padding[0x45];
          data_addr.__ss_padding[0x46] = hisctladdr.__ss_padding[0x46];
          data_addr.__ss_padding[0x47] = hisctladdr.__ss_padding[0x47];
          data_addr.__ss_padding[0x48] = hisctladdr.__ss_padding[0x48];
          data_addr.__ss_padding[0x49] = hisctladdr.__ss_padding[0x49];
          data_addr.__ss_padding[0x4a] = hisctladdr.__ss_padding[0x4a];
          data_addr.__ss_padding[0x4b] = hisctladdr.__ss_padding[0x4b];
          data_addr.__ss_padding[0x4c] = hisctladdr.__ss_padding[0x4c];
          data_addr.__ss_padding[0x4d] = hisctladdr.__ss_padding[0x4d];
          data_addr.__ss_padding[0x4e] = hisctladdr.__ss_padding[0x4e];
          data_addr.__ss_padding[0x4f] = hisctladdr.__ss_padding[0x4f];
          data_addr.__ss_padding[0x50] = hisctladdr.__ss_padding[0x50];
          data_addr.__ss_padding[0x51] = hisctladdr.__ss_padding[0x51];
          data_addr.__ss_padding[0x52] = hisctladdr.__ss_padding[0x52];
          data_addr.__ss_padding[0x53] = hisctladdr.__ss_padding[0x53];
          data_addr.__ss_padding[0x54] = hisctladdr.__ss_padding[0x54];
          data_addr.__ss_padding[0x55] = hisctladdr.__ss_padding[0x55];
          data_addr.__ss_padding[0x56] = hisctladdr.__ss_padding[0x56];
          data_addr.__ss_padding[0x57] = hisctladdr.__ss_padding[0x57];
          data_addr.__ss_padding[0x58] = hisctladdr.__ss_padding[0x58];
          data_addr.__ss_padding[0x59] = hisctladdr.__ss_padding[0x59];
          data_addr.__ss_padding[0x5a] = hisctladdr.__ss_padding[0x5a];
          data_addr.__ss_padding[0x5b] = hisctladdr.__ss_padding[0x5b];
          data_addr.__ss_padding[0x5c] = hisctladdr.__ss_padding[0x5c];
          data_addr.__ss_padding[0x5d] = hisctladdr.__ss_padding[0x5d];
          data_addr.__ss_padding[0x5e] = hisctladdr.__ss_padding[0x5e];
          data_addr.__ss_padding[0x5f] = hisctladdr.__ss_padding[0x5f];
          data_addr.__ss_padding[0x60] = hisctladdr.__ss_padding[0x60];
          data_addr.__ss_padding[0x61] = hisctladdr.__ss_padding[0x61];
          data_addr.__ss_padding[0x62] = hisctladdr.__ss_padding[0x62];
          data_addr.__ss_padding[99] = hisctladdr.__ss_padding[99];
          data_addr.__ss_padding[100] = hisctladdr.__ss_padding[100];
          data_addr.__ss_padding[0x65] = hisctladdr.__ss_padding[0x65];
          data_addr.__ss_padding[0x66] = hisctladdr.__ss_padding[0x66];
          data_addr.__ss_padding[0x67] = hisctladdr.__ss_padding[0x67];
          data_addr.__ss_padding[0x68] = hisctladdr.__ss_padding[0x68];
          data_addr.__ss_padding[0x69] = hisctladdr.__ss_padding[0x69];
          data_addr.__ss_padding[0x6a] = hisctladdr.__ss_padding[0x6a];
          data_addr.__ss_padding[0x6b] = hisctladdr.__ss_padding[0x6b];
          data_addr.__ss_padding[0x6c] = hisctladdr.__ss_padding[0x6c];
          data_addr.__ss_padding[0x6d] = hisctladdr.__ss_padding[0x6d];
          data_addr.__ss_padding[0x6e] = hisctladdr.__ss_padding[0x6e];
          data_addr.__ss_padding[0x6f] = hisctladdr.__ss_padding[0x6f];
          data_addr.__ss_padding[0x70] = hisctladdr.__ss_padding[0x70];
          data_addr.__ss_padding[0x71] = hisctladdr.__ss_padding[0x71];
          data_addr.__ss_padding[0x72] = hisctladdr.__ss_padding[0x72];
          data_addr.__ss_padding[0x73] = hisctladdr.__ss_padding[0x73];
          data_addr.__ss_padding[0x74] = hisctladdr.__ss_padding[0x74];
          data_addr.__ss_padding[0x75] = hisctladdr.__ss_padding[0x75];
          data_addr.__ss_align = hisctladdr.__ss_align;
          data_addr.__ss_padding._2_4_ = var_30(hisctladdr._0_8_,4);
          if ((type_8)hisctladdr._0_8_ == 2) {
            var_26 = (type_2)port << 8 | (type_2)port >> 8;
            data_addr.__ss_padding[0] = (char)var_26;
            data_addr.__ss_padding[1] = (char)(var_26 >> 8);
            data_addr.ss_family = 2;
            uVar1 = data_addr._0_8_;
          }
          else if ((type_8)hisctladdr._0_8_ == 10) {
            var_26 = (type_2)port << 8 | (type_2)port >> 8;
            data_addr.__ss_padding[0] = (char)var_26;
            data_addr.__ss_padding[1] = (char)(var_26 >> 8);
            data_addr.ss_family = 10;
            uVar1 = data_addr._0_8_;
          }
          goto LAB_0010c540;
        }
        var_27("Extended passive mode scan failure. Should not happen!");
        var_17("ABOR");
      }
      else {
        var_12 = var_17("LPSV");
        if (var_12 == 2) goto LAB_0010c62c;
        var_27("Passive mode refused.");
      }
      goto LAB_0010c703;
    }
LAB_0010c499:
    if (myctladdr.ss_family == 2) {
      var_12 = var_20(pasv,"%u,%u,%u,%u,%u,%u",&var_31,&var_32,&var_33,&a3,&p0,&p1);
      if (var_12 == 6) {
        var_10 = var_31 & 0xff | ((var_32 & 0xff) << 0x10) >> 8 | (var_33 & 0xff) << 0x10 |
                (type_3)(type_6)a3 << 0x18;
        var_26 = (type_2)(type_6)p1 << 8 | (type_2)p0 & 0xff;
        data_addr.__ss_padding[0] = (char)var_26;
        data_addr.__ss_padding[1] = (char)(var_26 >> 8);
        data_addr.ss_family = 2;
        data_addr.__ss_padding[2] = (char)var_10;
        data_addr.__ss_padding[3] = (char)(var_10 >> 8);
        data_addr.__ss_padding[4] = (char)(var_10 >> 0x10);
        data_addr.__ss_padding[5] = (char)(var_10 >> 0x18);
        uVar1 = data_addr._0_8_;
LAB_0010c540:
        data_addr._0_8_ = uVar1;
        var_12 = var_34(var_5,(type_5 *)&data_addr,ctladdrlen);
        if (-1 < var_12) {
          on = 8;
          var_10 = 0;
          if (data_addr.ss_family == 2) {
            var_12 = var_11(var_5,0,1,&on,4);
            if (var_12 < 0) {
              var_19("ftp: setsockopt TOS (ignored)");
            }
          }
          goto LAB_0010ca2b;
        }
        var_19("ftp: connect");
      }
      else {
        var_27("Passive mode address scan failure. Shouldn\'t happen!");
        var_17("ABOR");
      }
    }
    else {
      var_27("Passive mode address scan failure. Shouldn\'t happen!");
    }
  }
LAB_0010c703:
  var_6(var_5);
  var_5 = -1;
  var_10 = 1;
LAB_0010ca2b:
  if (var_35 == *(long *)(var_1 + 0x28)) {
    return var_10;
  }
                    /* WARNING: Subroutine does not return */
  var_36();
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type)))) body: (compound_statement (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: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (sized_type_specifier) 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: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (sized_type_specifier) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_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: (false))) (labeled_statement label: (statement_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))) (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: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) (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 (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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 (identifier) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) 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 (identifier) (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: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) (number_literal) (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)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (pointer_expression argument: (identifier)) (string_literal (string_content))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (false))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (true)))) alternative: (else_clause (compound_statement (expression_statement (assignment_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: (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (number_literal) (pointer_expression argument: (identifier)) (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: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (pointer_expression argument: (identifier)) (string_literal (string_content))))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (false))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (true)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))) (identifier)))))) (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)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier))))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (number_literal) (pointer_expression argument: (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: (identifier) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (pointer_expression argument: (identifier)) (string_literal (string_content))))))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))) (pointer_expression argument: (identifier)))))) (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)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (pointer_expression argument: (identifier)) (string_literal (string_content))))) (goto_statement label: (statement_identifier)))) (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: (identifier) arguments: (argument_list)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (pointer_expression argument: (identifier)) (string_literal (string_content))))))) (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: (false))) 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: (false))) (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 (identifier) (number_literal) (number_literal) (pointer_expression argument: (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: (identifier) arguments: (argument_list)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (pointer_expression argument: (identifier)) (string_literal (string_content))))))))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (true))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (unary_expression argument: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (goto_statement label: (statement_identifier))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (identifier) (identifier) (identifier) (identifier) (identifier) (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))) (identifier) (pointer_expression argument: (identifier)) (number_literal) (pointer_expression argument: (identifier)) (number_literal) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (char_literal (escape_sequence))) (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (unary_expression argument: (identifier))))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_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: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (identifier) (identifier) (identifier) (identifier) (identifier) (identifier)))))) 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 (string_literal (string_content)) (identifier) (identifier) (identifier) (identifier) (identifier) (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)) (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)) (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)) (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)) (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)) (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)) (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (identifier) (identifier))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (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: (true))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) (number_literal) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content))))) (expression_statement (assignment_expression left: (identifier) right: (true))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (number_literal) (pointer_expression argument: (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: (identifier) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (pointer_expression argument: (identifier)) (string_literal (string_content))))))))))) (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: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (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: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (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: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (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: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (string_literal (string_content)) (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier)) (identifier) (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (pointer_expression argument: (identifier)) (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_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 (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content) (escape_sequence) (string_content))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier))))) (goto_statement label: (statement_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (string_literal (string_content)) (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier)) (identifier) (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (pointer_expression argument: (identifier)) (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content) (escape_sequence) (string_content))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)))))) 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: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (string_literal (string_content)) (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (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))) (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))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))))) (goto_statement label: (statement_identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)))))) (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 (string_literal (string_content)))))))) (goto_statement label: (statement_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: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (string_literal (string_content)) (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier)) (identifier) (identifier) (identifier))))) (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: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (number_literal))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (false))) (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 (identifier) (number_literal) (number_literal) (pointer_expression argument: (identifier)) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content))))))))) (goto_statement label: (statement_identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content) (escape_sequence) (string_content))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier))))))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content) (escape_sequence) (string_content)))))))))))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (true))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (return_statement (identifier))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))))

/* WARNING: Type propagation algorithm not settling */
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */

bool MASKED(void)

{
  ulong uVar1;
  uint uVar2;
  uint uVar3;
  int iVar4;
  uint *puVar5;
  int *piVar6;
  long in_FS_OFFSET;
  bool bVar7;
  undefined4 local_b4;
  uint local_b0;
  uint local_ac;
  uint local_a8;
  byte local_a4 [4];
  ushort local_a0 [2];
  byte local_9c [4];
  ushort local_98 [2];
  int local_94;
  int local_90;
  socklen_t local_8c;
  uint local_88 [16];
  uint local_48 [2];
  long local_40;
  
  local_40 = *(long *)(in_FS_OFFSET + 0x28);
  local_b4 = 1;
  if (DAT_00127ac4 == 0) {
    bVar7 = false;
LAB_0010cba4:
    _DAT_00126448 = uRam0000000000124208;
    _DAT_00126450 = _DAT_00124210;
    uRam0000000000126458 = uRam0000000000124218;
    _DAT_00126460 = _DAT_00124220;
    uRam0000000000126468 = uRam0000000000124228;
    _DAT_00126470 = _DAT_00124230;
    uRam0000000000126478 = uRam0000000000124238;
    _DAT_00126480 = _DAT_00124240;
    uRam0000000000126488 = uRam0000000000124248;
    _DAT_00126490 = _DAT_00124250;
    uRam0000000000126498 = uRam0000000000124258;
    _DAT_001264a0 = _DAT_00124260;
    uRam00000000001264a8 = uRam0000000000124268;
    _DAT_001264b0 = _DAT_00124270;
    uRam00000000001264b8 = uRam0000000000124278;
    uVar1 = CONCAT62(uRam0000000000124202,DAT_00124200);
    if (DAT_00127b64 != 0) {
      _DAT_00126444 = (undefined4)((uint6)uRam0000000000124202 >> 0x10);
      if (DAT_00124200 == 2) {
        _DAT_00126440 = CONCAT44(_DAT_00126444,2);
        uVar1 = _DAT_00126440;
      }
      else if (DAT_00124200 == 10) {
        _DAT_00126440 = CONCAT44(_DAT_00126444,10);
        uVar1 = _DAT_00126440;
      }
    }
    _DAT_00126440 = uVar1;
    if (DAT_001216e0 != -1) {
      close(DAT_001216e0);
    }
    DAT_001216e0 = socket((uint)DAT_00124200,1,0);
    if (DAT_001216e0 < 0) {
      piVar6 = __errno_location();
      error(0,*piVar6,"socket");
      if (bVar7 == false) {
        bVar7 = true;
      }
      else {
        DAT_00127b64 = 1;
      }
      goto LAB_0010ca2b;
    }
    if (DAT_00127b64 == 0) {
      iVar4 = setsockopt(DAT_001216e0,1,2,&local_b4,4);
      if (-1 < iVar4) goto LAB_0010cc9e;
      piVar6 = __errno_location();
      error(0,*piVar6,"setsockopt (reuse address)");
LAB_0010ca03:
      close(DAT_001216e0);
      DAT_001216e0 = -1;
      if (bVar7 == false) {
        bVar7 = true;
      }
      else {
        DAT_00127b64 = 1;
      }
      goto LAB_0010ca2b;
    }
LAB_0010cc9e:
    iVar4 = bind(DAT_001216e0,(sockaddr *)&DAT_00126440,DAT_001264c0);
    if (iVar4 < 0) {
      piVar6 = __errno_location();
      error(0,*piVar6,&DAT_0011a4df);
      goto LAB_0010ca03;
    }
    if ((DAT_001267d0 & 1) != 0) {
      iVar4 = setsockopt(DAT_001216e0,1,1,&local_b4,4);
      if (iVar4 < 0) {
        piVar6 = __errno_location();
        if (*piVar6 != 0xd) {
          error(0,*piVar6,"setsockopt DEBUG (ignored)");
        }
      }
    }
    local_8c = 0x80;
    iVar4 = getsockname(DAT_001216e0,(sockaddr *)&DAT_00126440,&local_8c);
    if (iVar4 < 0) {
      piVar6 = __errno_location();
      error(0,*piVar6,"getsockname");
      goto LAB_0010ca03;
    }
    iVar4 = listen(DAT_001216e0,1);
    if (iVar4 < 0) {
      piVar6 = __errno_location();
      error(0,*piVar6,"listen");
    }
    if (DAT_00127b64 == 0) {
      if (bVar7 != false) {
        DAT_00127b64 = 1;
      }
      local_b4 = 8;
      bVar7 = false;
      if (DAT_00126440 == 2) {
        iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);
        if (iVar4 < 0) {
          piVar6 = __errno_location();
          error(0,*piVar6,"setsockopt TOS (ignored)");
        }
      }
      goto LAB_0010ca2b;
    }
    if ((DAT_00126440 == 2) && (DAT_001266e0 == 0)) {
      bVar7 = true;
LAB_0010cd36:
      if (!bVar7) {
        iVar4 = 2;
LAB_0010cd3f:
        bVar7 = iVar4 != 2;
        goto LAB_0010ca2b;
      }
LAB_0010cd6c:
      iVar4 = FUN_0010bb32("PORT %d,%d,%d,%d,%d,%d",DAT_00126444,DAT_00126445,DAT_00126446,
                           DAT_00126447,DAT_00126442,_DAT_00126440 >> 0x18 & 0xff);
    }
    else {
      getnameinfo((sockaddr *)&DAT_00126440,DAT_001264c0,&DAT_00121ec0,0x2e,&DAT_00121eb0,10,3);
      iVar4 = FUN_0010bb32("EPRT |%d|%s|%s|",(DAT_00126440 != 2) + '\x01',&DAT_00121ec0,
                           &DAT_00121eb0);
      if (DAT_00126440 == 2) {
        bVar7 = iVar4 != 2;
        if ((DAT_001266e0 == 0) || (!bVar7)) goto LAB_0010cd36;
        DAT_001266e0 = 0;
        goto LAB_0010cd6c;
      }
    }
    if (iVar4 == 2) goto LAB_0010cd3f;
    if (DAT_00126440 == 2) {
      iVar4 = FUN_0010bb32("LPRT 4,4,%u,%u,%u,%u,2,%u,%u",DAT_00126444,DAT_00126445,DAT_00126446,
                           DAT_00126447,DAT_00126442,DAT_00126443);
    }
    else if (DAT_00126440 == 10) {
      iVar4 = FUN_0010bb32("LPRT 6,16,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,2,%u,%u",
                           DAT_00126448,DAT_00126449,DAT_0012644a,DAT_0012644b,DAT_0012644c,
                           _DAT_00126448 >> 0x28 & 0xff,_DAT_00126448 >> 0x30 & 0xff,
                           _DAT_00126448 >> 0x38,_DAT_00126450 & 0xff,_DAT_00126450 >> 8 & 0xff,
                           _DAT_00126450 >> 0x10 & 0xff,_DAT_00126450 >> 0x18 & 0xff,
                           _DAT_00126450 >> 0x20 & 0xff,_DAT_00126450 >> 0x28 & 0xff,
                           _DAT_00126450 >> 0x30 & 0xff,_DAT_00126450 >> 0x38,DAT_00126442,
                           DAT_00126443);
    }
    if ((iVar4 != 5) || (DAT_00127b64 != -1)) goto LAB_0010cd3f;
    DAT_00127b64 = 0;
    bVar7 = true;
    goto LAB_0010cba4;
  }
  DAT_001216e0 = socket((uint)DAT_00124200,1,0);
  if (DAT_001216e0 < 0) {
    perror("ftp: socket");
    bVar7 = true;
    goto LAB_0010ca2b;
  }
  if ((DAT_001267d0 & 1) != 0) {
    iVar4 = setsockopt(DAT_001216e0,1,1,&local_b4,4);
    if (iVar4 < 0) {
      piVar6 = __errno_location();
      if (*piVar6 != 0xd) {
        error(0,*piVar6,"setsockopt DEBUG (ignored)");
      }
    }
  }
  if (DAT_00124200 == 2) {
    if (DAT_001266e0 != 0) {
      iVar4 = FUN_0010bb32(&DAT_0011a450);
      if (iVar4 == 2) goto LAB_0010c336;
      if (DAT_001266e0 != 0) {
        DAT_001266e0 = 0;
      }
    }
    iVar4 = FUN_0010bb32(&DAT_0011a455);
    if (iVar4 == 2) goto LAB_0010c499;
    iVar4 = FUN_0010bb32(&DAT_0011a45a);
    if (iVar4 == 2) {
LAB_0010c62c:
      if (DAT_00124200 == 2) {
        iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u,%u,%u,%u",&local_94,&local_90,local_88,
                       local_88 + 1,local_88 + 2,local_88 + 3,&local_8c,local_a0,local_9c);
        if ((((iVar4 == 9) && (local_94 == 4)) && (local_90 == 4)) && (local_8c == 2)) {
          puVar5 = local_88;
          do {
            *puVar5 = *puVar5 & 0xff;
            puVar5 = puVar5 + 1;
          } while (puVar5 != local_88 + 4);
          _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2);
          uVar2 = local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3] | local_88[2] << 8;
          _DAT_00126440 =
               CONCAT44(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |
                        local_88[3] << 0x18,_DAT_00126440);
          uVar1 = _DAT_00126440;
          goto LAB_0010c540;
        }
        puts("Passive mode address scan failure. Shouldn\'t happen!");
        FUN_0010bb32(&DAT_0011a479);
        goto LAB_0010c703;
      }
      iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u",
                     &local_94,&local_90,local_88,local_88 + 1,local_88 + 2,local_88 + 3,
                     local_88 + 4,local_88 + 5,local_88 + 6,local_88 + 7,local_88 + 8,local_88 + 9,
                     local_88 + 10,local_88 + 0xb,local_88 + 0xc,local_88 + 0xd,local_88 + 0xe,
                     local_88 + 0xf,&local_8c,local_a0,local_9c);
      if (((iVar4 != 0x15) || (local_94 != 6)) || ((local_90 != 0x10 || (local_8c != 2)))) {
        puts("Passive mode address scan failure. Shouldn\'t happen!");
        FUN_0010bb32(&DAT_0011a479);
        goto LAB_0010c703;
      }
      puVar5 = local_88;
      do {
        *puVar5 = *puVar5 & 0xff;
        puVar5 = puVar5 + 1;
      } while (puVar5 != local_48);
      _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,10);
      uVar2 = local_88[0] << 0x18 | local_88[1] << 0x10 | local_88[3] | local_88[2] << 8;
      uVar3 = local_88[4] << 0x18 | local_88[5] << 0x10 | local_88[7] | local_88[6] << 8;
      _DAT_00126448 =
           CONCAT44(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |
                    local_88[7] << 0x18,
                    uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |
                    local_88[3] << 0x18);
      uVar2 = local_88[8] << 0x18 | local_88[9] << 0x10 | local_88[0xb] | local_88[10] << 8;
      uVar3 = local_88[0xc] << 0x18 | local_88[0xd] << 0x10 | local_88[0xf] | local_88[0xe] << 8;
      _DAT_00126450 =
           CONCAT44(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |
                    local_88[0xf] << 0x18,
                    uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |
                    local_88[0xb] << 0x18);
      uVar1 = _DAT_00126440;
      goto LAB_0010c540;
    }
    puts("Passive mode refused.");
  }
  else {
    if (DAT_00124200 == 10) {
      iVar4 = FUN_0010bb32(&DAT_0011a450);
      if (iVar4 == 2) {
LAB_0010c336:
        iVar4 = sscanf(&DAT_00127a80,"%u|",local_98);
        if (iVar4 == 1) {
          _DAT_00126440 = DAT_00124160;
          uVar1 = _DAT_00126440;
          _DAT_00126448 = DAT_00124168;
          _DAT_00126450 = _DAT_00124170;
          uRam0000000000126458 = uRam0000000000124178;
          _DAT_00126460 = _DAT_00124180;
          uRam0000000000126468 = uRam0000000000124188;
          _DAT_00126470 = _DAT_00124190;
          uRam0000000000126478 = uRam0000000000124198;
          _DAT_00126480 = _DAT_001241a0;
          uRam0000000000126488 = uRam00000000001241a8;
          _DAT_00126490 = _DAT_001241b0;
          uRam0000000000126498 = uRam00000000001241b8;
          _DAT_001264a0 = _DAT_001241c0;
          uRam00000000001264a8 = uRam00000000001241c8;
          _DAT_001264b0 = _DAT_001241d0;
          uRam00000000001264b8 = uRam00000000001241d8;
          _DAT_00126444 = (undefined4)(DAT_00124160 >> 0x20);
          if ((short)DAT_00124160 == 2) {
            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,2);
            uVar1 = _DAT_00126440;
          }
          else if ((short)DAT_00124160 == 10) {
            _DAT_00126440 = CONCAT22(local_98[0] << 8 | local_98[0] >> 8,10);
            uVar1 = _DAT_00126440;
          }
          goto LAB_0010c540;
        }
        puts("Extended passive mode scan failure. Should not happen!");
        FUN_0010bb32(&DAT_0011a479);
      }
      else {
        iVar4 = FUN_0010bb32(&DAT_0011a45a);
        if (iVar4 == 2) goto LAB_0010c62c;
        puts("Passive mode refused.");
      }
      goto LAB_0010c703;
    }
LAB_0010c499:
    if (DAT_00124200 == 2) {
      iVar4 = sscanf(&DAT_00127a80,"%u,%u,%u,%u,%u,%u",&local_b0,&local_ac,&local_a8,local_a4,
                     local_a0,local_9c);
      if (iVar4 == 6) {
        _DAT_00126440 = CONCAT22((ushort)local_9c[0] << 8 | local_a0[0] & 0xff,2);
        _DAT_00126440 =
             CONCAT44(local_b0 & 0xff | ((local_ac & 0xff) << 0x10) >> 8 | (local_a8 & 0xff) << 0x10
                      | (uint)local_a4[0] << 0x18,_DAT_00126440);
        uVar1 = _DAT_00126440;
LAB_0010c540:
        _DAT_00126440 = uVar1;
        iVar4 = connect(DAT_001216e0,(sockaddr *)&DAT_00126440,DAT_001264c0);
        if (-1 < iVar4) {
          local_b4 = 8;
          bVar7 = false;
          if (DAT_00126440 == 2) {
            iVar4 = setsockopt(DAT_001216e0,0,1,&local_b4,4);
            if (iVar4 < 0) {
              perror("ftp: setsockopt TOS (ignored)");
            }
          }
          goto LAB_0010ca2b;
        }
        perror("ftp: connect");
      }
      else {
        puts("Passive mode address scan failure. Shouldn\'t happen!");
        FUN_0010bb32(&DAT_0011a479);
      }
    }
    else {
      puts("Passive mode address scan failure. Shouldn\'t happen!");
    }
  }
LAB_0010c703:
  close(DAT_001216e0);
  DAT_001216e0 = -1;
  bVar7 = true;
LAB_0010ca2b:
  if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {
    return bVar7;
  }
                    /* WARNING: Subroutine does not return */
  __stack_chk_fail();
}

