
/* WARNING: Function: __x86.get_pc_thunk.bp replaced with injection: get_pc_thunk.bp */
/* WARNING: Unknown calling convention */

CURLFORMcode curl_formadd(curl_httppost **httppost,curl_httppost **last_post,...)

{
  void *pvVar1;
  curl_slist *pcVar2;
  char *pcVar3;
  char *pcVar4;
  bool bVar5;
  int *piVar6;
  curl_free_callback p_Var7;
  int *piVar8;
  size_t sVar9;
  curl_httppost *pcVar10;
  size_t sVar11;
  curl_httppost *pcVar12;
  char *pcVar13;
  size_t length;
  int iVar14;
  uint uVar15;
  char *pcVar16;
  int *piVar17;
  int *piVar18;
  CURLFORMcode CVar19;
  int *piVar20;
  int *piVar21;
  char *local_60;
  curl_httppost *local_5c;
  size_t local_54;
  int local_50;
  char *local_48;
  char *local_28;
  
  piVar17 = (int *)&stack0x0000000c;
  piVar6 = (int *)(*Curl_ccalloc)(1,0x44);
  if (piVar6 == (int *)0x0) {
    return CURL_FORMADD_MEMORY;
  }
  bVar5 = false;
  piVar20 = (int *)0x0;
  local_60 = (char *)0x0;
  piVar18 = piVar6;
LAB_0001d880:
  while ((piVar20 != (int *)0x0 && (bVar5))) {
    local_60 = (char *)piVar20[1];
    iVar14 = *piVar20;
    piVar20 = piVar20 + 2;
    if (iVar14 != 0x11) goto LAB_0001d8a5;
    bVar5 = false;
  }
  iVar14 = *piVar17;
  piVar17 = piVar17 + 1;
  if (iVar14 == 0x11) {
    local_28 = (char *)0x0;
    local_5c = (curl_httppost *)0x0;
    piVar17 = piVar6;
    goto LAB_0001df4a;
  }
LAB_0001d8a5:
  p_Var7 = Curl_cfree;
  pcVar13 = local_60;
  piVar21 = piVar6;
  switch(iVar14) {
  default:
    CVar19 = CURL_FORMADD_UNKNOWN_OPTION;
    goto LAB_0001d8e8;
  case 1:
    goto _L25;
  case 2:
    piVar18[9] = piVar18[9] | 4;
_L25:
    if (*piVar18 == 0) {
      if (!bVar5) {
        pcVar13 = (char *)*piVar17;
        piVar17 = piVar17 + 1;
      }
      if (pcVar13 == (char *)0x0) goto LAB_0001dd00;
      *piVar18 = (int)pcVar13;
      goto LAB_0001d880;
    }
    break;
  case 3:
    if (piVar18[2] == 0) {
      if (!bVar5) {
        pcVar13 = (char *)*piVar17;
        piVar17 = piVar17 + 1;
      }
      piVar18[2] = (int)pcVar13;
      goto LAB_0001d880;
    }
    break;
  case 4:
    goto _L22;
  case 5:
    piVar18[9] = piVar18[9] | 8;
_L22:
    if (piVar18[3] == 0) {
      if (!bVar5) {
        pcVar13 = (char *)*piVar17;
        piVar17 = piVar17 + 1;
      }
      if (pcVar13 == (char *)0x0) goto LAB_0001dd00;
LAB_0001dd31:
      piVar18[3] = (int)pcVar13;
      goto LAB_0001d880;
    }
    break;
  case 6:
    if (!bVar5) {
      pcVar13 = (char *)*piVar17;
      piVar17 = piVar17 + 1;
    }
    piVar18[5] = (int)pcVar13;
    piVar18[6] = 0;
    goto LAB_0001d880;
  case 7:
    if ((*(byte *)(piVar18 + 9) & 10) == 0) {
      if (!bVar5) {
        pcVar13 = (char *)*piVar17;
        piVar17 = piVar17 + 1;
      }
      if (pcVar13 == (char *)0x0) goto LAB_0001dd00;
      pcVar13 = (*Curl_cstrdup)(pcVar13);
      piVar18[3] = (int)pcVar13;
      if (pcVar13 == (char *)0x0) goto LAB_0001dd10;
      piVar18[9] = piVar18[9] | 2;
      *(undefined1 *)(piVar18 + 4) = 1;
      goto LAB_0001d880;
    }
    break;
  case 8:
    if (bVar5) {
      CVar19 = CURL_FORMADD_ILLEGAL_ARRAY;
      goto LAB_0001d8e8;
    }
    piVar20 = (int *)*piVar17;
    if (piVar20 == (int *)0x0) goto LAB_0001dd00;
    piVar17 = piVar17 + 1;
    bVar5 = true;
    goto LAB_0001d880;
  case 10:
    if (!bVar5) {
      pcVar13 = (char *)*piVar17;
      piVar17 = piVar17 + 1;
    }
    if (piVar18[3] != 0) {
      if ((*(byte *)(piVar18 + 9) & 1) == 0) break;
      if (pcVar13 != (char *)0x0) {
        local_48 = (*Curl_cstrdup)(pcVar13);
        if (local_48 == (char *)0x0) goto LAB_0001dd10;
        piVar8 = (int *)(*Curl_ccalloc)(1,0x44);
        if (piVar8 == (int *)0x0) {
LAB_0001e234:
          CVar19 = CURL_FORMADD_MEMORY;
          (*Curl_cfree)(local_48);
          p_Var7 = Curl_cfree;
          goto LAB_0001d8e8;
        }
        piVar8[3] = (int)local_48;
        iVar14 = piVar18[0x10];
        piVar8[9] = 1;
        piVar8[0x10] = iVar14;
        piVar18[0x10] = (int)piVar8;
        *(undefined1 *)(piVar8 + 4) = 1;
        piVar18 = piVar8;
        goto LAB_0001d880;
      }
LAB_0001dd00:
      CVar19 = CURL_FORMADD_NULL;
      p_Var7 = Curl_cfree;
LAB_0001d8e8:
      do {
        if ((char)piVar21[1] != '\0') {
          (*p_Var7)((void *)*piVar21);
          p_Var7 = Curl_cfree;
          *piVar21 = 0;
          *(undefined1 *)(piVar21 + 1) = 0;
        }
        if ((char)piVar21[4] != '\0') {
          (*p_Var7)((void *)piVar21[3]);
          p_Var7 = Curl_cfree;
          piVar21[3] = 0;
          *(undefined1 *)(piVar21 + 4) = 0;
        }
        if ((char)piVar21[8] != '\0') {
          (*p_Var7)((void *)piVar21[7]);
          p_Var7 = Curl_cfree;
          piVar21[7] = 0;
          *(undefined1 *)(piVar21 + 8) = 0;
        }
        if ((char)piVar21[0xd] == '\0') {
          piVar17 = piVar21 + 0x10;
          piVar21 = (int *)*piVar17;
          if ((int *)*piVar17 == (int *)0x0) break;
          goto LAB_0001d8e8;
        }
        (*p_Var7)((void *)piVar21[0xc]);
        p_Var7 = Curl_cfree;
        piVar21[0xc] = 0;
        *(undefined1 *)(piVar21 + 0xd) = 0;
        piVar17 = piVar21 + 0x10;
        piVar21 = (int *)*piVar17;
      } while ((int *)*piVar17 != (int *)0x0);
      goto LAB_0001d97c;
    }
    if (pcVar13 == (char *)0x0) goto LAB_0001dd00;
    pcVar13 = (*Curl_cstrdup)(pcVar13);
    piVar18[3] = (int)pcVar13;
    if (pcVar13 != (char *)0x0) {
      piVar18[9] = piVar18[9] | 1;
      *(undefined1 *)(piVar18 + 4) = 1;
      goto LAB_0001d880;
    }
    goto LAB_0001dd10;
  case 0xb:
  case 0x10:
    if (!bVar5) {
      pcVar13 = (char *)*piVar17;
      piVar17 = piVar17 + 1;
    }
    if (piVar18[0xc] == 0) {
      pcVar13 = (*Curl_cstrdup)(pcVar13);
      piVar18[0xc] = (int)pcVar13;
      if (pcVar13 == (char *)0x0) goto LAB_0001dd10;
      *(undefined1 *)(piVar18 + 0xd) = 1;
      goto LAB_0001d880;
    }
    break;
  case 0xc:
    piVar18[9] = piVar18[9] | 0x30;
    if (piVar18[10] != 0) break;
    if (!bVar5) {
      pcVar13 = (char *)*piVar17;
      piVar17 = piVar17 + 1;
    }
    if (pcVar13 != (char *)0x0) {
      piVar18[10] = (int)pcVar13;
      goto LAB_0001dd31;
    }
    goto LAB_0001dd00;
  case 0xd:
    if (piVar18[0xb] == 0) {
      if (!bVar5) {
        pcVar13 = (char *)*piVar17;
        piVar17 = piVar17 + 1;
      }
      piVar18[0xb] = (int)pcVar13;
      goto LAB_0001d880;
    }
    break;
  case 0xe:
    if (!bVar5) {
      pcVar13 = (char *)*piVar17;
      piVar17 = piVar17 + 1;
    }
    if (piVar18[7] == 0) {
      if (pcVar13 == (char *)0x0) goto LAB_0001dd00;
      pcVar13 = (*Curl_cstrdup)(pcVar13);
      piVar18[7] = (int)pcVar13;
      if (pcVar13 != (char *)0x0) {
        *(undefined1 *)(piVar18 + 8) = 1;
        goto LAB_0001d880;
      }
    }
    else {
      if ((*(byte *)(piVar18 + 9) & 1) == 0) break;
      if (pcVar13 == (char *)0x0) goto LAB_0001dd00;
      local_48 = (*Curl_cstrdup)(pcVar13);
      if (local_48 != (char *)0x0) {
        piVar8 = (int *)(*Curl_ccalloc)(1,0x44);
        if (piVar8 == (int *)0x0) goto LAB_0001e234;
        piVar8[7] = (int)local_48;
        iVar14 = piVar18[0x10];
        piVar8[9] = 1;
        piVar8[0x10] = iVar14;
        piVar18[0x10] = (int)piVar8;
        *(undefined1 *)(piVar8 + 8) = 1;
        piVar18 = piVar8;
        goto LAB_0001d880;
      }
    }
LAB_0001dd10:
    CVar19 = CURL_FORMADD_MEMORY;
    p_Var7 = Curl_cfree;
    goto LAB_0001d8e8;
  case 0xf:
    if (!bVar5) {
      pcVar13 = (char *)*piVar17;
      piVar17 = piVar17 + 1;
    }
    if (piVar18[0xf] == 0) {
      piVar18[0xf] = (int)pcVar13;
      goto LAB_0001d880;
    }
    break;
  case 0x13:
    piVar18[9] = piVar18[9] | 0x40;
    if (piVar18[0xe] == 0) {
      if (!bVar5) {
        pcVar13 = (char *)*piVar17;
        piVar17 = piVar17 + 1;
      }
      if (pcVar13 == (char *)0x0) goto LAB_0001dd00;
      piVar18[0xe] = (int)pcVar13;
      piVar18[3] = (int)pcVar13;
      goto LAB_0001d880;
    }
    break;
  case 0x14:
    piVar18[9] = piVar18[9] | 0x80;
    if (bVar5) {
      iVar14 = 0;
    }
    else {
      pcVar13 = (char *)*piVar17;
      iVar14 = piVar17[1];
      piVar17 = piVar17 + 2;
    }
    piVar18[5] = (int)pcVar13;
    piVar18[6] = iVar14;
    goto LAB_0001d880;
  }
  CVar19 = CURL_FORMADD_OPTION_TWICE;
  p_Var7 = Curl_cfree;
  goto LAB_0001d8e8;
  while (local_28 = (char *)*piVar20, piVar17 != (int *)0x0) {
LAB_0001df4a:
    pcVar13 = (char *)*piVar17;
    if ((((((pcVar13 == (char *)0x0) || (piVar17[3] == 0)) && (local_5c == (curl_httppost *)0x0)) ||
         ((uVar15 = piVar17[9], piVar17[6] != 0 || piVar17[5] != 0 && ((uVar15 & 1) != 0)))) ||
        (((uVar15 & 9) == 9 || ((piVar17[10] == 0 && ((uVar15 & 0x30) == 0x30)))))) ||
       ((uVar15 & 10) == 10)) {
      CVar19 = CURL_FORMADD_INCOMPLETE;
      p_Var7 = Curl_cfree;
      goto LAB_0001df70;
    }
    if (((uVar15 & 0x11) != 0) && (piVar17[7] == 0)) {
      if ((uVar15 & 0x10) == 0) {
        pcVar13 = (char *)piVar17[3];
      }
      else {
        pcVar13 = (char *)piVar17[0xc];
      }
      pcVar13 = Curl_mime_contenttype(pcVar13);
      if ((pcVar13 == (char *)0x0) &&
         (pcVar13 = "application/octet-stream", local_28 != (char *)0x0)) {
        pcVar13 = local_28;
      }
      pcVar13 = (*Curl_cstrdup)(pcVar13);
      piVar17[7] = (int)pcVar13;
      if (pcVar13 != (char *)0x0) {
        *(undefined1 *)(piVar17 + 8) = 1;
        pcVar13 = (char *)*piVar17;
        goto LAB_0001ddc4;
      }
LAB_0001e016:
      CVar19 = CURL_FORMADD_MEMORY;
      p_Var7 = Curl_cfree;
      goto LAB_0001df70;
    }
LAB_0001ddc4:
    if (pcVar13 == (char *)0x0) {
      uVar15 = piVar17[9];
      if (((uVar15 & 4) == 0) && (piVar6 == piVar17)) goto LAB_0001e016;
    }
    else {
      length = piVar17[2];
      if (length == 0) {
        uVar15 = piVar17[9];
        if (((uVar15 & 4) == 0) && (piVar6 == piVar17)) {
          sVar9 = strlen(pcVar13);
          length = sVar9 + 1;
LAB_0001e0cf:
          pcVar13 = (char *)Curl_memdup(pcVar13,length);
          *piVar17 = (int)pcVar13;
          if (pcVar13 == (char *)0x0) goto LAB_0001e016;
          *(undefined1 *)(piVar17 + 1) = 1;
          uVar15 = piVar17[9];
        }
      }
      else {
        if (*pcVar13 == '\0') {
LAB_0001e140:
          CVar19 = CURL_FORMADD_NULL;
          p_Var7 = Curl_cfree;
          goto LAB_0001df70;
        }
        pcVar16 = pcVar13;
        while (pcVar16 = pcVar16 + 1, pcVar13 + length != pcVar16) {
          if (*pcVar16 == '\0') goto LAB_0001e140;
        }
        uVar15 = piVar17[9];
        if (((uVar15 & 4) == 0) && (piVar6 == piVar17)) goto LAB_0001e0cf;
      }
    }
    local_60 = (char *)piVar17[3];
    local_54 = piVar17[5];
    local_50 = piVar17[6];
    if (((uVar15 & 0x6b) == 0) && (local_60 != (char *)0x0)) {
      if (local_54 == 0) {
        sVar9 = strlen(local_60);
        local_54 = sVar9 + 1;
      }
      local_60 = (char *)Curl_memdup(local_60,local_54);
      piVar17[3] = (int)local_60;
      if (local_60 == (char *)0x0) goto LAB_0001e016;
      local_54 = piVar17[5];
      uVar15 = piVar17[9];
      *(undefined1 *)(piVar17 + 4) = 1;
      pcVar13 = (char *)*piVar17;
      local_50 = piVar17[6];
    }
    pvVar1 = (void *)piVar17[0xe];
    sVar9 = piVar17[2];
    pcVar16 = (char *)piVar17[0xc];
    pcVar2 = (curl_slist *)piVar17[0xf];
    pcVar3 = (char *)piVar17[7];
    iVar14 = piVar17[0xb];
    pcVar4 = (char *)piVar17[10];
    pcVar10 = (curl_httppost *)(*Curl_ccalloc)(1,0x3c);
    if (pcVar10 == (curl_httppost *)0x0) goto LAB_0001e016;
    pcVar10->name = pcVar13;
    sVar11 = 0;
    if ((pcVar13 != (char *)0x0) && (sVar11 = sVar9, sVar9 == 0)) {
      sVar11 = strlen(pcVar13);
    }
    pcVar10->namelength = sVar11;
    pcVar10->contents = local_60;
    *(size_t *)&pcVar10->contentlen = local_54;
    *(int *)((int)&pcVar10->contentlen + 4) = local_50;
    pcVar10->buffer = pcVar4;
    pcVar10->bufferlength = iVar14;
    pcVar10->contenttype = pcVar3;
    pcVar10->contentheader = pcVar2;
    pcVar10->showfilename = pcVar16;
    pcVar10->userp = pvVar1;
    pcVar10->flags = uVar15 | 0x80;
    if (local_5c == (curl_httppost *)0x0) {
      pcVar12 = *last_post;
      if (*last_post == (curl_httppost *)0x0) {
        pcVar12 = (curl_httppost *)httppost;
      }
      pcVar12->next = pcVar10;
      *last_post = pcVar10;
    }
    else {
      pcVar10->more = local_5c->more;
      local_5c->more = pcVar10;
    }
    piVar20 = piVar17 + 7;
    piVar17 = (int *)piVar17[0x10];
    local_5c = pcVar10;
    if ((char *)*piVar20 == (char *)0x0) {
      if (piVar17 == (int *)0x0) break;
      goto LAB_0001df4a;
    }
  }
  CVar19 = CURL_FORMADD_OK;
  p_Var7 = Curl_cfree;
  goto LAB_0001d97c;
  while (piVar17 = (int *)piVar17[0x10], piVar17 != (int *)0x0) {
LAB_0001df70:
    if ((char)piVar17[1] != '\0') {
      (*p_Var7)((void *)*piVar17);
      p_Var7 = Curl_cfree;
      *piVar17 = 0;
      *(undefined1 *)(piVar17 + 1) = 0;
    }
    if ((char)piVar17[4] != '\0') {
      (*p_Var7)((void *)piVar17[3]);
      p_Var7 = Curl_cfree;
      piVar17[3] = 0;
      *(undefined1 *)(piVar17 + 4) = 0;
    }
    if ((char)piVar17[8] != '\0') {
      (*p_Var7)((void *)piVar17[7]);
      p_Var7 = Curl_cfree;
      piVar17[7] = 0;
      *(undefined1 *)(piVar17 + 8) = 0;
    }
    if ((char)piVar17[0xd] != '\0') {
      (*p_Var7)((void *)piVar17[0xc]);
      p_Var7 = Curl_cfree;
      piVar17[0xc] = 0;
      *(undefined1 *)(piVar17 + 0xd) = 0;
      piVar17 = (int *)piVar17[0x10];
      if (piVar17 == (int *)0x0) break;
      goto LAB_0001df70;
    }
  }
LAB_0001d97c:
  do {
    piVar17 = (int *)piVar6[0x10];
    (*p_Var7)(piVar6);
    p_Var7 = Curl_cfree;
    piVar6 = piVar17;
  } while (piVar17 != (int *)0x0);
  return CVar19;
}



/* WARNING: Removing unreachable block (ram,0x0001d890) */
/* WARNING: Removing unreachable block (ram,0x0001da00) */
/* WARNING: Removing unreachable block (ram,0x0001d888) */

undefined4 curl_formadd(int *param_1,int *param_2,uint param_3)

{
  byte *pbVar1;
  int iVar2;
  int iVar3;
  int iVar4;
  int iVar5;
  int iVar6;
  int *piVar7;
  undefined4 uVar8;
  code *pcVar9;
  size_t sVar10;
  int iVar11;
  size_t sVar12;
  int *piVar13;
  char *__s;
  int iVar14;
  uint uVar15;
  char *pcVar16;
  int unaff_EBP;
  int *piVar17;
  char *local_60;
  int local_5c;
  int local_54;
  int local_50;
  int local_28;
  
  FUN_0001ab8b();
  piVar7 = (int *)(**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed))(1,0x44);
  if (piVar7 == (int *)0x0) {
    return 1;
  }
  if (param_3 == 0x11) {
    local_28 = 0;
    local_5c = 0;
    piVar17 = piVar7;
LAB_0001df4a:
    do {
      __s = (char *)*piVar17;
      if ((((((__s == (char *)0x0) || (piVar17[3] == 0)) && (local_5c == 0)) ||
           ((uVar15 = piVar17[9], piVar17[6] != 0 || piVar17[5] != 0 && ((uVar15 & 1) != 0)))) ||
          (((uVar15 & 9) == 9 || ((piVar17[10] == 0 && ((uVar15 & 0x30) == 0x30)))))) ||
         ((uVar15 & 10) == 10)) {
        uVar8 = 5;
LAB_0001df65:
        pbVar1 = BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9;
        pcVar9 = *(code **)pbVar1;
        do {
          if ((char)piVar17[1] != '\0') {
            (*pcVar9)(*piVar17);
            pcVar9 = *(code **)pbVar1;
            *piVar17 = 0;
            *(undefined1 *)(piVar17 + 1) = 0;
          }
          if ((char)piVar17[4] != '\0') {
            (*pcVar9)(piVar17[3]);
            pcVar9 = *(code **)pbVar1;
            piVar17[3] = 0;
            *(undefined1 *)(piVar17 + 4) = 0;
          }
          if ((char)piVar17[8] != '\0') {
            (*pcVar9)(piVar17[7]);
            pcVar9 = *(code **)pbVar1;
            piVar17[7] = 0;
            *(undefined1 *)(piVar17 + 8) = 0;
          }
          if ((char)piVar17[0xd] == '\0') {
            piVar17 = (int *)piVar17[0x10];
          }
          else {
            (*pcVar9)(piVar17[0xc]);
            pcVar9 = *(code **)pbVar1;
            piVar17[0xc] = 0;
            *(undefined1 *)(piVar17 + 0xd) = 0;
            piVar17 = (int *)piVar17[0x10];
          }
        } while (piVar17 != (int *)0x0);
        goto LAB_0001d97c;
      }
      if (((uVar15 & 0x11) != 0) && (piVar17[7] == 0)) {
        if ((uVar15 & 0x10) == 0) {
          iVar14 = piVar17[3];
        }
        else {
          iVar14 = piVar17[0xc];
        }
        iVar14 = FUN_0006e8e0(iVar14);
        if ((iVar14 == 0) && (iVar14 = unaff_EBP + 0x65cc6, local_28 != 0)) {
          iVar14 = local_28;
        }
        iVar14 = (**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f1))(iVar14);
        piVar17[7] = iVar14;
        if (iVar14 != 0) {
          *(undefined1 *)(piVar17 + 8) = 1;
          __s = (char *)*piVar17;
          goto LAB_0001ddc4;
        }
LAB_0001e016:
        uVar8 = 1;
        goto LAB_0001df65;
      }
LAB_0001ddc4:
      if (__s == (char *)0x0) {
        uVar15 = piVar17[9];
        if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e016;
      }
      else {
        iVar14 = piVar17[2];
        if (iVar14 == 0) {
          uVar15 = piVar17[9];
          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) {
            sVar10 = strlen(__s);
            iVar14 = sVar10 + 1;
LAB_0001e0cf:
            __s = (char *)FUN_00050160(__s,iVar14);
            *piVar17 = (int)__s;
            if (__s == (char *)0x0) goto LAB_0001e016;
            *(undefined1 *)(piVar17 + 1) = 1;
            uVar15 = piVar17[9];
          }
        }
        else {
          if (*__s == '\0') {
LAB_0001e140:
            uVar8 = 3;
            goto LAB_0001df65;
          }
          pcVar16 = __s;
          while (pcVar16 = pcVar16 + 1, __s + iVar14 != pcVar16) {
            if (*pcVar16 == '\0') goto LAB_0001e140;
          }
          uVar15 = piVar17[9];
          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e0cf;
        }
      }
      local_60 = (char *)piVar17[3];
      local_54 = piVar17[5];
      local_50 = piVar17[6];
      if (((uVar15 & 0x6b) == 0) && (local_60 != (char *)0x0)) {
        if (local_54 == 0) {
          sVar10 = strlen(local_60);
          local_54 = sVar10 + 1;
        }
        local_60 = (char *)FUN_00050160(local_60,local_54);
        piVar17[3] = (int)local_60;
        if (local_60 == (char *)0x0) goto LAB_0001e016;
        local_54 = piVar17[5];
        uVar15 = piVar17[9];
        *(undefined1 *)(piVar17 + 4) = 1;
        __s = (char *)*piVar17;
        local_50 = piVar17[6];
      }
      iVar14 = piVar17[0xe];
      sVar10 = piVar17[2];
      iVar2 = piVar17[0xc];
      iVar3 = piVar17[0xf];
      iVar4 = piVar17[7];
      iVar5 = piVar17[0xb];
      iVar6 = piVar17[10];
      iVar11 = (**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed))(1,0x3c);
      if (iVar11 == 0) goto LAB_0001e016;
      *(char **)(iVar11 + 4) = __s;
      sVar12 = 0;
      if ((__s != (char *)0x0) && (sVar12 = sVar10, sVar10 == 0)) {
        sVar12 = strlen(__s);
      }
      *(size_t *)(iVar11 + 8) = sVar12;
      *(char **)(iVar11 + 0xc) = local_60;
      *(int *)(iVar11 + 0x34) = local_54;
      *(int *)(iVar11 + 0x38) = local_50;
      *(int *)(iVar11 + 0x14) = iVar6;
      *(int *)(iVar11 + 0x18) = iVar5;
      *(int *)(iVar11 + 0x1c) = iVar4;
      *(int *)(iVar11 + 0x20) = iVar3;
      *(int *)(iVar11 + 0x2c) = iVar2;
      *(int *)(iVar11 + 0x30) = iVar14;
      *(uint *)(iVar11 + 0x28) = uVar15 | 0x80;
      if (local_5c == 0) {
        piVar13 = (int *)*param_2;
        if ((int *)*param_2 == (int *)0x0) {
          piVar13 = param_1;
        }
        *piVar13 = iVar11;
        *param_2 = iVar11;
      }
      else {
        *(undefined4 *)(iVar11 + 0x24) = *(undefined4 *)(local_5c + 0x24);
        *(int *)(local_5c + 0x24) = iVar11;
      }
      piVar13 = piVar17 + 7;
      piVar17 = (int *)piVar17[0x10];
      local_5c = iVar11;
      if (*piVar13 == 0) {
        if (piVar17 == (int *)0x0) break;
        goto LAB_0001df4a;
      }
      local_28 = *piVar13;
    } while (piVar17 != (int *)0x0);
    uVar8 = 0;
    pcVar9 = *(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9);
  }
  else {
    if (param_3 < 0x15) {
                    /* WARNING: Could not recover jumptable at 0x0001d8b7. Too many branches */
                    /* WARNING: Treating indirect jump as call */
      uVar8 = (*(code *)(*(int *)(unaff_EBP + 0x65cf6 + param_3 * 4) + unaff_EBP + 0x98fca))();
      return uVar8;
    }
    pbVar1 = BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9;
    pcVar9 = *(code **)pbVar1;
    uVar8 = 4;
    piVar17 = piVar7;
    do {
      while( true ) {
        if ((char)piVar17[1] != '\0') {
          (*pcVar9)(*piVar17);
          pcVar9 = *(code **)pbVar1;
          *piVar17 = 0;
          *(undefined1 *)(piVar17 + 1) = 0;
        }
        if ((char)piVar17[4] != '\0') {
          (*pcVar9)(piVar17[3]);
          pcVar9 = *(code **)pbVar1;
          piVar17[3] = 0;
          *(undefined1 *)(piVar17 + 4) = 0;
        }
        if ((char)piVar17[8] != '\0') {
          (*pcVar9)(piVar17[7]);
          pcVar9 = *(code **)pbVar1;
          piVar17[7] = 0;
          *(undefined1 *)(piVar17 + 8) = 0;
        }
        if ((char)piVar17[0xd] == '\0') break;
        (*pcVar9)(piVar17[0xc]);
        pcVar9 = *(code **)pbVar1;
        piVar17[0xc] = 0;
        *(undefined1 *)(piVar17 + 0xd) = 0;
        piVar17 = (int *)piVar17[0x10];
        if (piVar17 == (int *)0x0) goto LAB_0001d97c;
      }
      piVar17 = (int *)piVar17[0x10];
    } while (piVar17 != (int *)0x0);
  }
LAB_0001d97c:
  while( true ) {
    piVar17 = (int *)piVar7[0x10];
    (*pcVar9)(piVar7);
    if (piVar17 == (int *)0x0) break;
    pcVar9 = *(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9);
    piVar7 = piVar17;
  }
  return uVar8;
}


PUSH EBP
CALL 0x0001ab8b
ADD EBP,0x98fca
PUSH EDI
PUSH ESI
MOV ESI,0x1
PUSH EBX
SUB ESP,0x5c
LEA EAX,[EBP + 0x880]
LEA EBX,[ESP + 0x78]
SUB ESP,0x8
MOV dword ptr [ESP + 0x28],EAX
PUSH 0x44
PUSH 0x1
CALL dword ptr [EAX]
MOV dword ptr [ESP + 0x24],EAX
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x0001d858
ADD ESP,0x5c
MOV EAX,ESI
POP EBX
POP ESI
POP EDI
POP EBP
RET
LEA EAX,[EBP + 0x884]
MOV ESI,dword ptr [ESP + 0x14]
XOR ECX,ECX
XOR EDI,EDI
MOV dword ptr [ESP + 0xc],0x0
MOV dword ptr [ESP + 0x10],EAX
MOV dword ptr [ESP + 0x18],EAX
LEA ESI,[ESI]
LEA ESI,[ESI]
TEST EDI,EDI
JZ 0x0001d9d0
TEST CL,CL
JZ 0x0001d9d0
MOV EDX,dword ptr [EDI + 0x4]
MOV EAX,dword ptr [EDI]
ADD EDI,0x8
MOV dword ptr [ESP + 0xc],EDX
CMP EAX,0x11
JZ 0x0001da00
CMP EAX,0x14
JA 0x0001dcd8
MOV EDX,dword ptr [EBP + EAX*0x4 + 0xfffccd2c]
ADD EDX,EBP
JMP EDX
MOV EAX,dword ptr [EBX]
MOV EDI,dword ptr [ESP + 0x14]
LEA ESI,[ESI]
CMP byte ptr [EDI + 0x4],0x0
JZ 0x0001d904
SUB ESP,0xc
PUSH dword ptr [EDI]
CALL EAX
MOV EAX,dword ptr [EBX]
MOV dword ptr [EDI],0x0
MOV byte ptr [EDI + 0x4],0x0
ADD ESP,0x10
CMP byte ptr [EDI + 0x10],0x0
JZ 0x0001d922
SUB ESP,0xc
PUSH dword ptr [EDI + 0xc]
CALL EAX
MOV EAX,dword ptr [EBX]
MOV dword ptr [EDI + 0xc],0x0
MOV byte ptr [EDI + 0x10],0x0
ADD ESP,0x10
CMP byte ptr [EDI + 0x20],0x0
JZ 0x0001d940
SUB ESP,0xc
PUSH dword ptr [EDI + 0x1c]
CALL EAX
MOV EAX,dword ptr [EBX]
MOV dword ptr [EDI + 0x1c],0x0
MOV byte ptr [EDI + 0x20],0x0
ADD ESP,0x10
CMP byte ptr [EDI + 0x34],0x0
JZ 0x0001d9e8
SUB ESP,0xc
PUSH dword ptr [EDI + 0x30]
CALL EAX
MOV EAX,dword ptr [EBX]
MOV dword ptr [EDI + 0x30],0x0
MOV byte ptr [EDI + 0x34],0x0
MOV EDI,dword ptr [EDI + 0x40]
ADD ESP,0x10
TEST EDI,EDI
JNZ 0x0001d8e8
MOV EDX,dword ptr [ESP + 0x14]
JMP 0x0001d97c
MOV EAX,dword ptr [EBX]
MOV EDX,EDI
SUB ESP,0xc
MOV EDI,dword ptr [EDX + 0x40]
PUSH EDX
CALL EAX
ADD ESP,0x10
TEST EDI,EDI
JNZ 0x0001d978
ADD ESP,0x5c
MOV EAX,ESI
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV EAX,dword ptr [EBX]
LEA EDX,[EBX + 0x4]
CMP EAX,0x11
JZ 0x0001dd40
MOV EBX,EDX
JMP 0x0001d8a5
MOV EDI,dword ptr [EDI + 0x40]
TEST EDI,EDI
JNZ 0x0001d8e8
JMP 0x0001d96d
XOR ECX,ECX
JMP 0x0001d880
MOV ESI,0x4
LEA EBX,[EBP + 0x88c]
JMP 0x0001d8db
LEA EAX,[EBP + 0x884]
MOV EDI,dword ptr [ESP + 0x14]
MOV dword ptr [ESP + 0x44],0x0
MOV dword ptr [ESP + 0x10],0x0
MOV dword ptr [ESP + 0x48],EAX
LEA EAX,[EBP + 0xfffcccfc]
MOV dword ptr [ESP + 0x4c],EAX
JMP 0x0001df4a
MOV EAX,dword ptr [EDI + 0xc]
TEST EAX,EAX
JZ 0x0001df54
MOV EDX,dword ptr [EDI + 0x18]
OR EDX,dword ptr [EDI + 0x14]
MOV EAX,dword ptr [EDI + 0x24]
JZ 0x0001dd8e
TEST AL,0x1
JNZ 0x0001df60
MOV EDX,EAX
AND EDX,0x9
CMP EDX,0x9
JZ 0x0001df60
MOV EBX,dword ptr [EDI + 0x28]
TEST EBX,EBX
JZ 0x0001e020
MOV EDX,EAX
AND EDX,0xa
CMP EDX,0xa
JZ 0x0001df60
TEST AL,0x11
JZ 0x0001ddc4
MOV EDX,dword ptr [EDI + 0x1c]
TEST EDX,EDX
JZ 0x0001e100
TEST ECX,ECX
JZ 0x0001e000
MOV EAX,dword ptr [EDI + 0x8]
TEST EAX,EAX
JNZ 0x0001e090
MOV EDX,dword ptr [EDI + 0x24]
TEST DL,0x4
JNZ 0x0001dde9
CMP dword ptr [ESP + 0x14],EDI
JZ 0x0001e190
MOV EAX,dword ptr [EDI + 0xc]
MOV EBX,dword ptr [EDI + 0x14]
MOV ESI,dword ptr [EDI + 0x18]
MOV dword ptr [ESP + 0xc],EAX
MOV dword ptr [ESP + 0x18],EBX
MOV dword ptr [ESP + 0x1c],ESI
TEST DL,0x6b
JNZ 0x0001de56
TEST EAX,EAX
JZ 0x0001de56
MOV EDX,EBX
TEST EBX,EBX
JNZ 0x0001de1e
SUB ESP,0xc
MOV EBX,EBP
PUSH EAX
CALL 0x00018850
ADD ESP,0x10
LEA EDX,[EAX + 0x1]
SUB ESP,0x8
MOV EBX,EBP
PUSH EDX
PUSH dword ptr [ESP + 0x18]
CALL 0x00050160
MOV dword ptr [ESP + 0x1c],EAX
ADD ESP,0x10
MOV dword ptr [EDI + 0xc],EAX
TEST EAX,EAX
JZ 0x0001e016
MOV EAX,dword ptr [EDI + 0x14]
MOV EDX,dword ptr [EDI + 0x24]
MOV byte ptr [EDI + 0x10],0x1
MOV ECX,dword ptr [EDI]
MOV dword ptr [ESP + 0x18],EAX
MOV EAX,dword ptr [EDI + 0x18]
MOV dword ptr [ESP + 0x1c],EAX
MOV EAX,dword ptr [EDI + 0x38]
SUB ESP,0x8
MOV EBX,dword ptr [EDI + 0x8]
MOV dword ptr [ESP + 0x48],ECX
MOV dword ptr [ESP + 0x44],EDX
MOV dword ptr [ESP + 0x2c],EAX
MOV EAX,dword ptr [EDI + 0x30]
MOV dword ptr [ESP + 0x30],EAX
MOV EAX,dword ptr [EDI + 0x3c]
MOV dword ptr [ESP + 0x34],EAX
MOV EAX,dword ptr [EDI + 0x1c]
MOV dword ptr [ESP + 0x38],EAX
MOV EAX,dword ptr [EDI + 0x2c]
MOV dword ptr [ESP + 0x3c],EAX
MOV EAX,dword ptr [EDI + 0x28]
MOV dword ptr [ESP + 0x40],EAX
PUSH 0x3c
PUSH 0x1
MOV EAX,dword ptr [ESP + 0x30]
CALL dword ptr [EAX]
MOV ESI,EAX
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0001e016
MOV ECX,dword ptr [ESP + 0x40]
MOV EDX,dword ptr [ESP + 0x3c]
MOV dword ptr [EAX + 0x4],ECX
XOR EAX,EAX
TEST ECX,ECX
JZ 0x0001dece
MOV EAX,EBX
TEST EBX,EBX
JNZ 0x0001dece
SUB ESP,0xc
MOV EBX,EBP
PUSH ECX
CALL 0x00018850
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0x3c]
MOV dword ptr [ESI + 0x8],EAX
MOV EAX,dword ptr [ESP + 0xc]
MOV ECX,dword ptr [ESP + 0x10]
MOV dword ptr [ESI + 0xc],EAX
MOV EAX,dword ptr [ESP + 0x18]
MOV dword ptr [ESI + 0x34],EAX
MOV EAX,dword ptr [ESP + 0x1c]
MOV dword ptr [ESI + 0x38],EAX
MOV EAX,dword ptr [ESP + 0x38]
MOV dword ptr [ESI + 0x14],EAX
MOV EAX,dword ptr [ESP + 0x34]
MOV dword ptr [ESI + 0x18],EAX
MOV EAX,dword ptr [ESP + 0x30]
MOV dword ptr [ESI + 0x1c],EAX
MOV EAX,dword ptr [ESP + 0x2c]
MOV dword ptr [ESI + 0x20],EAX
MOV EAX,dword ptr [ESP + 0x28]
MOV dword ptr [ESI + 0x2c],EAX
MOV EAX,dword ptr [ESP + 0x24]
MOV dword ptr [ESI + 0x30],EAX
MOV EAX,EDX
OR AL,0x80
MOV dword ptr [ESI + 0x28],EAX
TEST ECX,ECX
JZ 0x0001e058
MOV EAX,dword ptr [ECX + 0x24]
MOV dword ptr [ESI + 0x24],EAX
MOV dword ptr [ECX + 0x24],ESI
MOV EAX,dword ptr [EDI + 0x1c]
MOV EDI,dword ptr [EDI + 0x40]
TEST EAX,EAX
JZ 0x0001e038
TEST EDI,EDI
JZ 0x0001e040
MOV dword ptr [ESP + 0x44],EAX
MOV dword ptr [ESP + 0x10],ESI
MOV ECX,dword ptr [EDI]
TEST ECX,ECX
JNZ 0x0001dd70
MOV ESI,dword ptr [ESP + 0x10]
TEST ESI,ESI
JNZ 0x0001dd7b
MOV ESI,0x5
LEA EBX,[EBP + 0x88c]
MOV EAX,dword ptr [EBX]
LEA ESI,[ESI]
CMP byte ptr [EDI + 0x4],0x0
JZ 0x0001df8c
SUB ESP,0xc
PUSH dword ptr [EDI]
CALL EAX
MOV EAX,dword ptr [EBX]
MOV dword ptr [EDI],0x0
MOV byte ptr [EDI + 0x4],0x0
ADD ESP,0x10
CMP byte ptr [EDI + 0x10],0x0
JZ 0x0001dfaa
SUB ESP,0xc
PUSH dword ptr [EDI + 0xc]
CALL EAX
MOV EAX,dword ptr [EBX]
MOV dword ptr [EDI + 0xc],0x0
MOV byte ptr [EDI + 0x10],0x0
ADD ESP,0x10
CMP byte ptr [EDI + 0x20],0x0
JZ 0x0001dfc8
SUB ESP,0xc
PUSH dword ptr [EDI + 0x1c]
CALL EAX
MOV EAX,dword ptr [EBX]
MOV dword ptr [EDI + 0x1c],0x0
MOV byte ptr [EDI + 0x20],0x0
ADD ESP,0x10
CMP byte ptr [EDI + 0x34],0x0
JZ 0x0001e078
SUB ESP,0xc
PUSH dword ptr [EDI + 0x30]
CALL EAX
MOV EAX,dword ptr [EBX]
MOV dword ptr [EDI + 0x30],0x0
MOV byte ptr [EDI + 0x34],0x0
MOV EDI,dword ptr [EDI + 0x40]
ADD ESP,0x10
TEST EDI,EDI
JNZ 0x0001df70
JMP 0x0001d96d
MOV EDX,dword ptr [EDI + 0x24]
TEST DL,0x4
JNZ 0x0001dde9
CMP dword ptr [ESP + 0x14],EDI
JNZ 0x0001dde9
MOV ESI,0x1
JMP 0x0001df65
MOV EDX,EAX
AND EDX,0x30
CMP EDX,0x30
JNZ 0x0001dda7
JMP 0x0001df60
TEST EDI,EDI
JNZ 0x0001df46
LEA EBX,[EBP + 0x88c]
XOR ESI,ESI
MOV EDX,dword ptr [ESP + 0x14]
MOV EAX,dword ptr [EBX]
JMP 0x0001d97c
MOV EAX,dword ptr [ESP + 0x74]
MOV EAX,dword ptr [EAX]
TEST EAX,EAX
JZ 0x0001e150
MOV dword ptr [EAX],ESI
MOV EAX,dword ptr [ESP + 0x74]
MOV dword ptr [EAX],ESI
JMP 0x0001df2c
MOV EDI,dword ptr [EDI + 0x40]
TEST EDI,EDI
JNZ 0x0001df70
JMP 0x0001d96d
CMP byte ptr [ECX],0x0
JZ 0x0001e140
LEA EDX,[ECX + 0x1]
LEA EBX,[ECX + EAX*0x1]
JMP 0x0001e0b5
ADD EDX,0x1
CMP byte ptr [EDX + -0x1],0x0
JZ 0x0001e140
CMP EBX,EDX
JNZ 0x0001e0a8
MOV EDX,dword ptr [EDI + 0x24]
TEST DL,0x4
JNZ 0x0001dde9
CMP dword ptr [ESP + 0x14],EDI
JNZ 0x0001dde9
SUB ESP,0x8
MOV EBX,EBP
PUSH EAX
PUSH ECX
CALL 0x00050160
ADD ESP,0x10
MOV ECX,EAX
MOV dword ptr [EDI],EAX
TEST EAX,EAX
JZ 0x0001e016
MOV byte ptr [EDI + 0x4],0x1
MOV EDX,dword ptr [EDI + 0x24]
JMP 0x0001dde9
TEST AL,0x10
JZ 0x0001e180
MOV EAX,dword ptr [EDI + 0x30]
SUB ESP,0xc
MOV EBX,EBP
PUSH EAX
CALL 0x0006e8e0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0001e1e0
SUB ESP,0xc
PUSH EAX
MOV EAX,dword ptr [ESP + 0x58]
CALL dword ptr [EAX]
MOV dword ptr [EDI + 0x1c],EAX
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0001e016
MOV byte ptr [EDI + 0x20],0x1
MOV ECX,dword ptr [EDI]
JMP 0x0001ddc4
MOV ESI,0x3
JMP 0x0001df65
MOV EAX,dword ptr [ESP + 0x70]
JMP 0x0001e066
MOV EAX,dword ptr [EDI + 0xc]
JMP 0x0001e107
SUB ESP,0xc
MOV EBX,EBP
PUSH ECX
MOV dword ptr [ESP + 0x1c],ECX
CALL 0x00018850
ADD ESP,0x10
MOV ECX,dword ptr [ESP + 0xc]
ADD EAX,0x1
JMP 0x0001e0cf
MOV EBX,dword ptr [ESP + 0x44]
MOV EAX,dword ptr [ESP + 0x4c]
TEST EBX,EBX
CMOVNZ EAX,EBX
JMP 0x0001e11d
(translation_unit "/* WARNING: Removing unreachable block (ram,0x0001d890) */\n/* WARNING: Removing unreachable block (ram,0x0001da00) */\n/* WARNING: Removing unreachable block (ram,0x0001d888) */\n\nundefined4 curl_formadd(int *param_1,int *param_2,uint param_3)\n\n{\n  byte *pbVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  int *piVar7;\n  undefined4 uVar8;\n  code *pcVar9;\n  size_t sVar10;\n  int iVar11;\n  size_t sVar12;\n  int *piVar13;\n  char *__s;\n  int iVar14;\n  uint uVar15;\n  char *pcVar16;\n  int unaff_EBP;\n  int *piVar17;\n  char *local_60;\n  int local_5c;\n  int local_54;\n  int local_50;\n  int local_28;\n  \n  FUN_0001ab8b();\n  piVar7 = (int *)(**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed))(1,0x44);\n  if (piVar7 == (int *)0x0) {\n    return 1;\n  }\n  if (param_3 == 0x11) {\n    local_28 = 0;\n    local_5c = 0;\n    piVar17 = piVar7;\nLAB_0001df4a:\n    do {\n      __s = (char *)*piVar17;\n      if ((((((__s == (char *)0x0) || (piVar17[3] == 0)) && (local_5c == 0)) ||\n           ((uVar15 = piVar17[9], piVar17[6] != 0 || piVar17[5] != 0 && ((uVar15 & 1) != 0)))) ||\n          (((uVar15 & 9) == 9 || ((piVar17[10] == 0 && ((uVar15 & 0x30) == 0x30)))))) ||\n         ((uVar15 & 10) == 10)) {\n        uVar8 = 5;\nLAB_0001df65:\n        pbVar1 = BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9;\n        pcVar9 = *(code **)pbVar1;\n        do {\n          if ((char)piVar17[1] != '\0') {\n            (*pcVar9)(*piVar17);\n            pcVar9 = *(code **)pbVar1;\n            *piVar17 = 0;\n            *(undefined1 *)(piVar17 + 1) = 0;\n          }\n          if ((char)piVar17[4] != '\0') {\n            (*pcVar9)(piVar17[3]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[3] = 0;\n            *(undefined1 *)(piVar17 + 4) = 0;\n          }\n          if ((char)piVar17[8] != '\0') {\n            (*pcVar9)(piVar17[7]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[7] = 0;\n            *(undefined1 *)(piVar17 + 8) = 0;\n          }\n          if ((char)piVar17[0xd] == '\0') {\n            piVar17 = (int *)piVar17[0x10];\n          }\n          else {\n            (*pcVar9)(piVar17[0xc]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[0xc] = 0;\n            *(undefined1 *)(piVar17 + 0xd) = 0;\n            piVar17 = (int *)piVar17[0x10];\n          }\n        } while (piVar17 != (int *)0x0);\n        goto LAB_0001d97c;\n      }\n      if (((uVar15 & 0x11) != 0) && (piVar17[7] == 0)) {\n        if ((uVar15 & 0x10) == 0) {\n          iVar14 = piVar17[3];\n        }\n        else {\n          iVar14 = piVar17[0xc];\n        }\n        iVar14 = FUN_0006e8e0(iVar14);\n        if ((iVar14 == 0) && (iVar14 = unaff_EBP + 0x65cc6, local_28 != 0)) {\n          iVar14 = local_28;\n        }\n        iVar14 = (**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f1))(iVar14);\n        piVar17[7] = iVar14;\n        if (iVar14 != 0) {\n          *(undefined1 *)(piVar17 + 8) = 1;\n          __s = (char *)*piVar17;\n          goto LAB_0001ddc4;\n        }\nLAB_0001e016:\n        uVar8 = 1;\n        goto LAB_0001df65;\n      }\nLAB_0001ddc4:\n      if (__s == (char *)0x0) {\n        uVar15 = piVar17[9];\n        if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e016;\n      }\n      else {\n        iVar14 = piVar17[2];\n        if (iVar14 == 0) {\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) {\n            sVar10 = strlen(__s);\n            iVar14 = sVar10 + 1;\nLAB_0001e0cf:\n            __s = (char *)FUN_00050160(__s,iVar14);\n            *piVar17 = (int)__s;\n            if (__s == (char *)0x0) goto LAB_0001e016;\n            *(undefined1 *)(piVar17 + 1) = 1;\n            uVar15 = piVar17[9];\n          }\n        }\n        else {\n          if (*__s == '\0') {\nLAB_0001e140:\n            uVar8 = 3;\n            goto LAB_0001df65;\n          }\n          pcVar16 = __s;\n          while (pcVar16 = pcVar16 + 1, __s + iVar14 != pcVar16) {\n            if (*pcVar16 == '\0') goto LAB_0001e140;\n          }\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e0cf;\n        }\n      }\n      local_60 = (char *)piVar17[3];\n      local_54 = piVar17[5];\n      local_50 = piVar17[6];\n      if (((uVar15 & 0x6b) == 0) && (local_60 != (char *)0x0)) {\n        if (local_54 == 0) {\n          sVar10 = strlen(local_60);\n          local_54 = sVar10 + 1;\n        }\n        local_60 = (char *)FUN_00050160(local_60,local_54);\n        piVar17[3] = (int)local_60;\n        if (local_60 == (char *)0x0) goto LAB_0001e016;\n        local_54 = piVar17[5];\n        uVar15 = piVar17[9];\n        *(undefined1 *)(piVar17 + 4) = 1;\n        __s = (char *)*piVar17;\n        local_50 = piVar17[6];\n      }\n      iVar14 = piVar17[0xe];\n      sVar10 = piVar17[2];\n      iVar2 = piVar17[0xc];\n      iVar3 = piVar17[0xf];\n      iVar4 = piVar17[7];\n      iVar5 = piVar17[0xb];\n      iVar6 = piVar17[10];\n      iVar11 = (**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed))(1,0x3c);\n      if (iVar11 == 0) goto LAB_0001e016;\n      *(char **)(iVar11 + 4) = __s;\n      sVar12 = 0;\n      if ((__s != (char *)0x0) && (sVar12 = sVar10, sVar10 == 0)) {\n        sVar12 = strlen(__s);\n      }\n      *(size_t *)(iVar11 + 8) = sVar12;\n      *(char **)(iVar11 + 0xc) = local_60;\n      *(int *)(iVar11 + 0x34) = local_54;\n      *(int *)(iVar11 + 0x38) = local_50;\n      *(int *)(iVar11 + 0x14) = iVar6;\n      *(int *)(iVar11 + 0x18) = iVar5;\n      *(int *)(iVar11 + 0x1c) = iVar4;\n      *(int *)(iVar11 + 0x20) = iVar3;\n      *(int *)(iVar11 + 0x2c) = iVar2;\n      *(int *)(iVar11 + 0x30) = iVar14;\n      *(uint *)(iVar11 + 0x28) = uVar15 | 0x80;\n      if (local_5c == 0) {\n        piVar13 = (int *)*param_2;\n        if ((int *)*param_2 == (int *)0x0) {\n          piVar13 = param_1;\n        }\n        *piVar13 = iVar11;\n        *param_2 = iVar11;\n      }\n      else {\n        *(undefined4 *)(iVar11 + 0x24) = *(undefined4 *)(local_5c + 0x24);\n        *(int *)(local_5c + 0x24) = iVar11;\n      }\n      piVar13 = piVar17 + 7;\n      piVar17 = (int *)piVar17[0x10];\n      local_5c = iVar11;\n      if (*piVar13 == 0) {\n        if (piVar17 == (int *)0x0) break;\n        goto LAB_0001df4a;\n      }\n      local_28 = *piVar13;\n    } while (piVar17 != (int *)0x0);\n    uVar8 = 0;\n    pcVar9 = *(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9);\n  }\n  else {\n    if (param_3 < 0x15) {\n                    /* WARNING: Could not recover jumptable at 0x0001d8b7. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      uVar8 = (*(code *)(*(int *)(unaff_EBP + 0x65cf6 + param_3 * 4) + unaff_EBP + 0x98fca))();\n      return uVar8;\n    }\n    pbVar1 = BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9;\n    pcVar9 = *(code **)pbVar1;\n    uVar8 = 4;\n    piVar17 = piVar7;\n    do {\n      while( true ) {\n        if ((char)piVar17[1] != '\0') {\n          (*pcVar9)(*piVar17);\n          pcVar9 = *(code **)pbVar1;\n          *piVar17 = 0;\n          *(undefined1 *)(piVar17 + 1) = 0;\n        }\n        if ((char)piVar17[4] != '\0') {\n          (*pcVar9)(piVar17[3]);\n          pcVar9 = *(code **)pbVar1;\n          piVar17[3] = 0;\n          *(undefined1 *)(piVar17 + 4) = 0;\n        }\n        if ((char)piVar17[8] != '\0') {\n          (*pcVar9)(piVar17[7]);\n          pcVar9 = *(code **)pbVar1;\n          piVar17[7] = 0;\n          *(undefined1 *)(piVar17 + 8) = 0;\n        }\n        if ((char)piVar17[0xd] == '\0') break;\n        (*pcVar9)(piVar17[0xc]);\n        pcVar9 = *(code **)pbVar1;\n        piVar17[0xc] = 0;\n        *(undefined1 *)(piVar17 + 0xd) = 0;\n        piVar17 = (int *)piVar17[0x10];\n        if (piVar17 == (int *)0x0) goto LAB_0001d97c;\n      }\n      piVar17 = (int *)piVar17[0x10];\n    } while (piVar17 != (int *)0x0);\n  }\nLAB_0001d97c:\n  while( true ) {\n    piVar17 = (int *)piVar7[0x10];\n    (*pcVar9)(piVar7);\n    if (piVar17 == (int *)0x0) break;\n    pcVar9 = *(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9);\n    piVar7 = piVar17;\n  }\n  return uVar8;\n}\n\n" comment comment comment (function_definition "undefined4 curl_formadd(int *param_1,int *param_2,uint param_3)\n\n{\n  byte *pbVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  int *piVar7;\n  undefined4 uVar8;\n  code *pcVar9;\n  size_t sVar10;\n  int iVar11;\n  size_t sVar12;\n  int *piVar13;\n  char *__s;\n  int iVar14;\n  uint uVar15;\n  char *pcVar16;\n  int unaff_EBP;\n  int *piVar17;\n  char *local_60;\n  int local_5c;\n  int local_54;\n  int local_50;\n  int local_28;\n  \n  FUN_0001ab8b();\n  piVar7 = (int *)(**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed))(1,0x44);\n  if (piVar7 == (int *)0x0) {\n    return 1;\n  }\n  if (param_3 == 0x11) {\n    local_28 = 0;\n    local_5c = 0;\n    piVar17 = piVar7;\nLAB_0001df4a:\n    do {\n      __s = (char *)*piVar17;\n      if ((((((__s == (char *)0x0) || (piVar17[3] == 0)) && (local_5c == 0)) ||\n           ((uVar15 = piVar17[9], piVar17[6] != 0 || piVar17[5] != 0 && ((uVar15 & 1) != 0)))) ||\n          (((uVar15 & 9) == 9 || ((piVar17[10] == 0 && ((uVar15 & 0x30) == 0x30)))))) ||\n         ((uVar15 & 10) == 10)) {\n        uVar8 = 5;\nLAB_0001df65:\n        pbVar1 = BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9;\n        pcVar9 = *(code **)pbVar1;\n        do {\n          if ((char)piVar17[1] != '\0') {\n            (*pcVar9)(*piVar17);\n            pcVar9 = *(code **)pbVar1;\n            *piVar17 = 0;\n            *(undefined1 *)(piVar17 + 1) = 0;\n          }\n          if ((char)piVar17[4] != '\0') {\n            (*pcVar9)(piVar17[3]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[3] = 0;\n            *(undefined1 *)(piVar17 + 4) = 0;\n          }\n          if ((char)piVar17[8] != '\0') {\n            (*pcVar9)(piVar17[7]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[7] = 0;\n            *(undefined1 *)(piVar17 + 8) = 0;\n          }\n          if ((char)piVar17[0xd] == '\0') {\n            piVar17 = (int *)piVar17[0x10];\n          }\n          else {\n            (*pcVar9)(piVar17[0xc]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[0xc] = 0;\n            *(undefined1 *)(piVar17 + 0xd) = 0;\n            piVar17 = (int *)piVar17[0x10];\n          }\n        } while (piVar17 != (int *)0x0);\n        goto LAB_0001d97c;\n      }\n      if (((uVar15 & 0x11) != 0) && (piVar17[7] == 0)) {\n        if ((uVar15 & 0x10) == 0) {\n          iVar14 = piVar17[3];\n        }\n        else {\n          iVar14 = piVar17[0xc];\n        }\n        iVar14 = FUN_0006e8e0(iVar14);\n        if ((iVar14 == 0) && (iVar14 = unaff_EBP + 0x65cc6, local_28 != 0)) {\n          iVar14 = local_28;\n        }\n        iVar14 = (**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f1))(iVar14);\n        piVar17[7] = iVar14;\n        if (iVar14 != 0) {\n          *(undefined1 *)(piVar17 + 8) = 1;\n          __s = (char *)*piVar17;\n          goto LAB_0001ddc4;\n        }\nLAB_0001e016:\n        uVar8 = 1;\n        goto LAB_0001df65;\n      }\nLAB_0001ddc4:\n      if (__s == (char *)0x0) {\n        uVar15 = piVar17[9];\n        if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e016;\n      }\n      else {\n        iVar14 = piVar17[2];\n        if (iVar14 == 0) {\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) {\n            sVar10 = strlen(__s);\n            iVar14 = sVar10 + 1;\nLAB_0001e0cf:\n            __s = (char *)FUN_00050160(__s,iVar14);\n            *piVar17 = (int)__s;\n            if (__s == (char *)0x0) goto LAB_0001e016;\n            *(undefined1 *)(piVar17 + 1) = 1;\n            uVar15 = piVar17[9];\n          }\n        }\n        else {\n          if (*__s == '\0') {\nLAB_0001e140:\n            uVar8 = 3;\n            goto LAB_0001df65;\n          }\n          pcVar16 = __s;\n          while (pcVar16 = pcVar16 + 1, __s + iVar14 != pcVar16) {\n            if (*pcVar16 == '\0') goto LAB_0001e140;\n          }\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e0cf;\n        }\n      }\n      local_60 = (char *)piVar17[3];\n      local_54 = piVar17[5];\n      local_50 = piVar17[6];\n      if (((uVar15 & 0x6b) == 0) && (local_60 != (char *)0x0)) {\n        if (local_54 == 0) {\n          sVar10 = strlen(local_60);\n          local_54 = sVar10 + 1;\n        }\n        local_60 = (char *)FUN_00050160(local_60,local_54);\n        piVar17[3] = (int)local_60;\n        if (local_60 == (char *)0x0) goto LAB_0001e016;\n        local_54 = piVar17[5];\n        uVar15 = piVar17[9];\n        *(undefined1 *)(piVar17 + 4) = 1;\n        __s = (char *)*piVar17;\n        local_50 = piVar17[6];\n      }\n      iVar14 = piVar17[0xe];\n      sVar10 = piVar17[2];\n      iVar2 = piVar17[0xc];\n      iVar3 = piVar17[0xf];\n      iVar4 = piVar17[7];\n      iVar5 = piVar17[0xb];\n      iVar6 = piVar17[10];\n      iVar11 = (**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed))(1,0x3c);\n      if (iVar11 == 0) goto LAB_0001e016;\n      *(char **)(iVar11 + 4) = __s;\n      sVar12 = 0;\n      if ((__s != (char *)0x0) && (sVar12 = sVar10, sVar10 == 0)) {\n        sVar12 = strlen(__s);\n      }\n      *(size_t *)(iVar11 + 8) = sVar12;\n      *(char **)(iVar11 + 0xc) = local_60;\n      *(int *)(iVar11 + 0x34) = local_54;\n      *(int *)(iVar11 + 0x38) = local_50;\n      *(int *)(iVar11 + 0x14) = iVar6;\n      *(int *)(iVar11 + 0x18) = iVar5;\n      *(int *)(iVar11 + 0x1c) = iVar4;\n      *(int *)(iVar11 + 0x20) = iVar3;\n      *(int *)(iVar11 + 0x2c) = iVar2;\n      *(int *)(iVar11 + 0x30) = iVar14;\n      *(uint *)(iVar11 + 0x28) = uVar15 | 0x80;\n      if (local_5c == 0) {\n        piVar13 = (int *)*param_2;\n        if ((int *)*param_2 == (int *)0x0) {\n          piVar13 = param_1;\n        }\n        *piVar13 = iVar11;\n        *param_2 = iVar11;\n      }\n      else {\n        *(undefined4 *)(iVar11 + 0x24) = *(undefined4 *)(local_5c + 0x24);\n        *(int *)(local_5c + 0x24) = iVar11;\n      }\n      piVar13 = piVar17 + 7;\n      piVar17 = (int *)piVar17[0x10];\n      local_5c = iVar11;\n      if (*piVar13 == 0) {\n        if (piVar17 == (int *)0x0) break;\n        goto LAB_0001df4a;\n      }\n      local_28 = *piVar13;\n    } while (piVar17 != (int *)0x0);\n    uVar8 = 0;\n    pcVar9 = *(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9);\n  }\n  else {\n    if (param_3 < 0x15) {\n                    /* WARNING: Could not recover jumptable at 0x0001d8b7. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      uVar8 = (*(code *)(*(int *)(unaff_EBP + 0x65cf6 + param_3 * 4) + unaff_EBP + 0x98fca))();\n      return uVar8;\n    }\n    pbVar1 = BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9;\n    pcVar9 = *(code **)pbVar1;\n    uVar8 = 4;\n    piVar17 = piVar7;\n    do {\n      while( true ) {\n        if ((char)piVar17[1] != '\0') {\n          (*pcVar9)(*piVar17);\n          pcVar9 = *(code **)pbVar1;\n          *piVar17 = 0;\n          *(undefined1 *)(piVar17 + 1) = 0;\n        }\n        if ((char)piVar17[4] != '\0') {\n          (*pcVar9)(piVar17[3]);\n          pcVar9 = *(code **)pbVar1;\n          piVar17[3] = 0;\n          *(undefined1 *)(piVar17 + 4) = 0;\n        }\n        if ((char)piVar17[8] != '\0') {\n          (*pcVar9)(piVar17[7]);\n          pcVar9 = *(code **)pbVar1;\n          piVar17[7] = 0;\n          *(undefined1 *)(piVar17 + 8) = 0;\n        }\n        if ((char)piVar17[0xd] == '\0') break;\n        (*pcVar9)(piVar17[0xc]);\n        pcVar9 = *(code **)pbVar1;\n        piVar17[0xc] = 0;\n        *(undefined1 *)(piVar17 + 0xd) = 0;\n        piVar17 = (int *)piVar17[0x10];\n        if (piVar17 == (int *)0x0) goto LAB_0001d97c;\n      }\n      piVar17 = (int *)piVar17[0x10];\n    } while (piVar17 != (int *)0x0);\n  }\nLAB_0001d97c:\n  while( true ) {\n    piVar17 = (int *)piVar7[0x10];\n    (*pcVar9)(piVar7);\n    if (piVar17 == (int *)0x0) break;\n    pcVar9 = *(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9);\n    piVar7 = piVar17;\n  }\n  return uVar8;\n}" type_identifier (function_declarator "curl_formadd(int *param_1,int *param_2,uint param_3)" identifier (parameter_list "(int *param_1,int *param_2,uint param_3)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "uint param_3" type_identifier identifier) ))) (compound_statement "{\n  byte *pbVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  int *piVar7;\n  undefined4 uVar8;\n  code *pcVar9;\n  size_t sVar10;\n  int iVar11;\n  size_t sVar12;\n  int *piVar13;\n  char *__s;\n  int iVar14;\n  uint uVar15;\n  char *pcVar16;\n  int unaff_EBP;\n  int *piVar17;\n  char *local_60;\n  int local_5c;\n  int local_54;\n  int local_50;\n  int local_28;\n  \n  FUN_0001ab8b();\n  piVar7 = (int *)(**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed))(1,0x44);\n  if (piVar7 == (int *)0x0) {\n    return 1;\n  }\n  if (param_3 == 0x11) {\n    local_28 = 0;\n    local_5c = 0;\n    piVar17 = piVar7;\nLAB_0001df4a:\n    do {\n      __s = (char *)*piVar17;\n      if ((((((__s == (char *)0x0) || (piVar17[3] == 0)) && (local_5c == 0)) ||\n           ((uVar15 = piVar17[9], piVar17[6] != 0 || piVar17[5] != 0 && ((uVar15 & 1) != 0)))) ||\n          (((uVar15 & 9) == 9 || ((piVar17[10] == 0 && ((uVar15 & 0x30) == 0x30)))))) ||\n         ((uVar15 & 10) == 10)) {\n        uVar8 = 5;\nLAB_0001df65:\n        pbVar1 = BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9;\n        pcVar9 = *(code **)pbVar1;\n        do {\n          if ((char)piVar17[1] != '\0') {\n            (*pcVar9)(*piVar17);\n            pcVar9 = *(code **)pbVar1;\n            *piVar17 = 0;\n            *(undefined1 *)(piVar17 + 1) = 0;\n          }\n          if ((char)piVar17[4] != '\0') {\n            (*pcVar9)(piVar17[3]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[3] = 0;\n            *(undefined1 *)(piVar17 + 4) = 0;\n          }\n          if ((char)piVar17[8] != '\0') {\n            (*pcVar9)(piVar17[7]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[7] = 0;\n            *(undefined1 *)(piVar17 + 8) = 0;\n          }\n          if ((char)piVar17[0xd] == '\0') {\n            piVar17 = (int *)piVar17[0x10];\n          }\n          else {\n            (*pcVar9)(piVar17[0xc]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[0xc] = 0;\n            *(undefined1 *)(piVar17 + 0xd) = 0;\n            piVar17 = (int *)piVar17[0x10];\n          }\n        } while (piVar17 != (int *)0x0);\n        goto LAB_0001d97c;\n      }\n      if (((uVar15 & 0x11) != 0) && (piVar17[7] == 0)) {\n        if ((uVar15 & 0x10) == 0) {\n          iVar14 = piVar17[3];\n        }\n        else {\n          iVar14 = piVar17[0xc];\n        }\n        iVar14 = FUN_0006e8e0(iVar14);\n        if ((iVar14 == 0) && (iVar14 = unaff_EBP + 0x65cc6, local_28 != 0)) {\n          iVar14 = local_28;\n        }\n        iVar14 = (**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f1))(iVar14);\n        piVar17[7] = iVar14;\n        if (iVar14 != 0) {\n          *(undefined1 *)(piVar17 + 8) = 1;\n          __s = (char *)*piVar17;\n          goto LAB_0001ddc4;\n        }\nLAB_0001e016:\n        uVar8 = 1;\n        goto LAB_0001df65;\n      }\nLAB_0001ddc4:\n      if (__s == (char *)0x0) {\n        uVar15 = piVar17[9];\n        if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e016;\n      }\n      else {\n        iVar14 = piVar17[2];\n        if (iVar14 == 0) {\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) {\n            sVar10 = strlen(__s);\n            iVar14 = sVar10 + 1;\nLAB_0001e0cf:\n            __s = (char *)FUN_00050160(__s,iVar14);\n            *piVar17 = (int)__s;\n            if (__s == (char *)0x0) goto LAB_0001e016;\n            *(undefined1 *)(piVar17 + 1) = 1;\n            uVar15 = piVar17[9];\n          }\n        }\n        else {\n          if (*__s == '\0') {\nLAB_0001e140:\n            uVar8 = 3;\n            goto LAB_0001df65;\n          }\n          pcVar16 = __s;\n          while (pcVar16 = pcVar16 + 1, __s + iVar14 != pcVar16) {\n            if (*pcVar16 == '\0') goto LAB_0001e140;\n          }\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e0cf;\n        }\n      }\n      local_60 = (char *)piVar17[3];\n      local_54 = piVar17[5];\n      local_50 = piVar17[6];\n      if (((uVar15 & 0x6b) == 0) && (local_60 != (char *)0x0)) {\n        if (local_54 == 0) {\n          sVar10 = strlen(local_60);\n          local_54 = sVar10 + 1;\n        }\n        local_60 = (char *)FUN_00050160(local_60,local_54);\n        piVar17[3] = (int)local_60;\n        if (local_60 == (char *)0x0) goto LAB_0001e016;\n        local_54 = piVar17[5];\n        uVar15 = piVar17[9];\n        *(undefined1 *)(piVar17 + 4) = 1;\n        __s = (char *)*piVar17;\n        local_50 = piVar17[6];\n      }\n      iVar14 = piVar17[0xe];\n      sVar10 = piVar17[2];\n      iVar2 = piVar17[0xc];\n      iVar3 = piVar17[0xf];\n      iVar4 = piVar17[7];\n      iVar5 = piVar17[0xb];\n      iVar6 = piVar17[10];\n      iVar11 = (**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed))(1,0x3c);\n      if (iVar11 == 0) goto LAB_0001e016;\n      *(char **)(iVar11 + 4) = __s;\n      sVar12 = 0;\n      if ((__s != (char *)0x0) && (sVar12 = sVar10, sVar10 == 0)) {\n        sVar12 = strlen(__s);\n      }\n      *(size_t *)(iVar11 + 8) = sVar12;\n      *(char **)(iVar11 + 0xc) = local_60;\n      *(int *)(iVar11 + 0x34) = local_54;\n      *(int *)(iVar11 + 0x38) = local_50;\n      *(int *)(iVar11 + 0x14) = iVar6;\n      *(int *)(iVar11 + 0x18) = iVar5;\n      *(int *)(iVar11 + 0x1c) = iVar4;\n      *(int *)(iVar11 + 0x20) = iVar3;\n      *(int *)(iVar11 + 0x2c) = iVar2;\n      *(int *)(iVar11 + 0x30) = iVar14;\n      *(uint *)(iVar11 + 0x28) = uVar15 | 0x80;\n      if (local_5c == 0) {\n        piVar13 = (int *)*param_2;\n        if ((int *)*param_2 == (int *)0x0) {\n          piVar13 = param_1;\n        }\n        *piVar13 = iVar11;\n        *param_2 = iVar11;\n      }\n      else {\n        *(undefined4 *)(iVar11 + 0x24) = *(undefined4 *)(local_5c + 0x24);\n        *(int *)(local_5c + 0x24) = iVar11;\n      }\n      piVar13 = piVar17 + 7;\n      piVar17 = (int *)piVar17[0x10];\n      local_5c = iVar11;\n      if (*piVar13 == 0) {\n        if (piVar17 == (int *)0x0) break;\n        goto LAB_0001df4a;\n      }\n      local_28 = *piVar13;\n    } while (piVar17 != (int *)0x0);\n    uVar8 = 0;\n    pcVar9 = *(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9);\n  }\n  else {\n    if (param_3 < 0x15) {\n                    /* WARNING: Could not recover jumptable at 0x0001d8b7. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      uVar8 = (*(code *)(*(int *)(unaff_EBP + 0x65cf6 + param_3 * 4) + unaff_EBP + 0x98fca))();\n      return uVar8;\n    }\n    pbVar1 = BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9;\n    pcVar9 = *(code **)pbVar1;\n    uVar8 = 4;\n    piVar17 = piVar7;\n    do {\n      while( true ) {\n        if ((char)piVar17[1] != '\0') {\n          (*pcVar9)(*piVar17);\n          pcVar9 = *(code **)pbVar1;\n          *piVar17 = 0;\n          *(undefined1 *)(piVar17 + 1) = 0;\n        }\n        if ((char)piVar17[4] != '\0') {\n          (*pcVar9)(piVar17[3]);\n          pcVar9 = *(code **)pbVar1;\n          piVar17[3] = 0;\n          *(undefined1 *)(piVar17 + 4) = 0;\n        }\n        if ((char)piVar17[8] != '\0') {\n          (*pcVar9)(piVar17[7]);\n          pcVar9 = *(code **)pbVar1;\n          piVar17[7] = 0;\n          *(undefined1 *)(piVar17 + 8) = 0;\n        }\n        if ((char)piVar17[0xd] == '\0') break;\n        (*pcVar9)(piVar17[0xc]);\n        pcVar9 = *(code **)pbVar1;\n        piVar17[0xc] = 0;\n        *(undefined1 *)(piVar17 + 0xd) = 0;\n        piVar17 = (int *)piVar17[0x10];\n        if (piVar17 == (int *)0x0) goto LAB_0001d97c;\n      }\n      piVar17 = (int *)piVar17[0x10];\n    } while (piVar17 != (int *)0x0);\n  }\nLAB_0001d97c:\n  while( true ) {\n    piVar17 = (int *)piVar7[0x10];\n    (*pcVar9)(piVar7);\n    if (piVar17 == (int *)0x0) break;\n    pcVar9 = *(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9);\n    piVar7 = piVar17;\n  }\n  return uVar8;\n}" { (declaration "byte *pbVar1;" type_identifier (pointer_declarator "*pbVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int *piVar7;" primitive_type (pointer_declarator "*piVar7" * identifier) ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "code *pcVar9;" type_identifier (pointer_declarator "*pcVar9" * identifier) ;) (declaration "size_t sVar10;" primitive_type identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "size_t sVar12;" primitive_type identifier ;) (declaration "int *piVar13;" primitive_type (pointer_declarator "*piVar13" * identifier) ;) (declaration "char *__s;" primitive_type (pointer_declarator "*__s" * identifier) ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "char *pcVar16;" primitive_type (pointer_declarator "*pcVar16" * identifier) ;) (declaration "int unaff_EBP;" primitive_type identifier ;) (declaration "int *piVar17;" primitive_type (pointer_declarator "*piVar17" * identifier) ;) (declaration "char *local_60;" primitive_type (pointer_declarator "*local_60" * identifier) ;) (declaration "int local_5c;" primitive_type identifier ;) (declaration "int local_54;" primitive_type identifier ;) (declaration "int local_50;" primitive_type identifier ;) (declaration "int local_28;" primitive_type identifier ;) (expression_statement "FUN_0001ab8b();" (call_expression "FUN_0001ab8b()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar7 = (int *)(**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed))(1,0x44);" (assignment_expression "piVar7 = (int *)(**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed))(1,0x44)" identifier = (cast_expression "(int *)(**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed))(1,0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed))(1,0x44)" (parenthesized_expression "(**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed))" ( (pointer_expression "**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed)" * (pointer_expression "*(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed)" * (cast_expression "(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed)" ( (binary_expression "BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed" (binary_expression "BYTE_ARRAY_0009905d + unaff_EBP" identifier + identifier) + number_literal) ))))) )) (argument_list "(1,0x44)" ( number_literal , number_literal ))))) ;) (if_statement "if (piVar7 == (int *)0x0) {\n    return 1;\n  }" if (parenthesized_expression "(piVar7 == (int *)0x0)" ( (binary_expression "piVar7 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    return 1;\n  }" { (return_statement "return 1;" return number_literal ;) })) (if_statement "if (param_3 == 0x11) {\n    local_28 = 0;\n    local_5c = 0;\n    piVar17 = piVar7;\nLAB_0001df4a:\n    do {\n      __s = (char *)*piVar17;\n      if ((((((__s == (char *)0x0) || (piVar17[3] == 0)) && (local_5c == 0)) ||\n           ((uVar15 = piVar17[9], piVar17[6] != 0 || piVar17[5] != 0 && ((uVar15 & 1) != 0)))) ||\n          (((uVar15 & 9) == 9 || ((piVar17[10] == 0 && ((uVar15 & 0x30) == 0x30)))))) ||\n         ((uVar15 & 10) == 10)) {\n        uVar8 = 5;\nLAB_0001df65:\n        pbVar1 = BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9;\n        pcVar9 = *(code **)pbVar1;\n        do {\n          if ((char)piVar17[1] != '\0') {\n            (*pcVar9)(*piVar17);\n            pcVar9 = *(code **)pbVar1;\n            *piVar17 = 0;\n            *(undefined1 *)(piVar17 + 1) = 0;\n          }\n          if ((char)piVar17[4] != '\0') {\n            (*pcVar9)(piVar17[3]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[3] = 0;\n            *(undefined1 *)(piVar17 + 4) = 0;\n          }\n          if ((char)piVar17[8] != '\0') {\n            (*pcVar9)(piVar17[7]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[7] = 0;\n            *(undefined1 *)(piVar17 + 8) = 0;\n          }\n          if ((char)piVar17[0xd] == '\0') {\n            piVar17 = (int *)piVar17[0x10];\n          }\n          else {\n            (*pcVar9)(piVar17[0xc]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[0xc] = 0;\n            *(undefined1 *)(piVar17 + 0xd) = 0;\n            piVar17 = (int *)piVar17[0x10];\n          }\n        } while (piVar17 != (int *)0x0);\n        goto LAB_0001d97c;\n      }\n      if (((uVar15 & 0x11) != 0) && (piVar17[7] == 0)) {\n        if ((uVar15 & 0x10) == 0) {\n          iVar14 = piVar17[3];\n        }\n        else {\n          iVar14 = piVar17[0xc];\n        }\n        iVar14 = FUN_0006e8e0(iVar14);\n        if ((iVar14 == 0) && (iVar14 = unaff_EBP + 0x65cc6, local_28 != 0)) {\n          iVar14 = local_28;\n        }\n        iVar14 = (**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f1))(iVar14);\n        piVar17[7] = iVar14;\n        if (iVar14 != 0) {\n          *(undefined1 *)(piVar17 + 8) = 1;\n          __s = (char *)*piVar17;\n          goto LAB_0001ddc4;\n        }\nLAB_0001e016:\n        uVar8 = 1;\n        goto LAB_0001df65;\n      }\nLAB_0001ddc4:\n      if (__s == (char *)0x0) {\n        uVar15 = piVar17[9];\n        if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e016;\n      }\n      else {\n        iVar14 = piVar17[2];\n        if (iVar14 == 0) {\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) {\n            sVar10 = strlen(__s);\n            iVar14 = sVar10 + 1;\nLAB_0001e0cf:\n            __s = (char *)FUN_00050160(__s,iVar14);\n            *piVar17 = (int)__s;\n            if (__s == (char *)0x0) goto LAB_0001e016;\n            *(undefined1 *)(piVar17 + 1) = 1;\n            uVar15 = piVar17[9];\n          }\n        }\n        else {\n          if (*__s == '\0') {\nLAB_0001e140:\n            uVar8 = 3;\n            goto LAB_0001df65;\n          }\n          pcVar16 = __s;\n          while (pcVar16 = pcVar16 + 1, __s + iVar14 != pcVar16) {\n            if (*pcVar16 == '\0') goto LAB_0001e140;\n          }\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e0cf;\n        }\n      }\n      local_60 = (char *)piVar17[3];\n      local_54 = piVar17[5];\n      local_50 = piVar17[6];\n      if (((uVar15 & 0x6b) == 0) && (local_60 != (char *)0x0)) {\n        if (local_54 == 0) {\n          sVar10 = strlen(local_60);\n          local_54 = sVar10 + 1;\n        }\n        local_60 = (char *)FUN_00050160(local_60,local_54);\n        piVar17[3] = (int)local_60;\n        if (local_60 == (char *)0x0) goto LAB_0001e016;\n        local_54 = piVar17[5];\n        uVar15 = piVar17[9];\n        *(undefined1 *)(piVar17 + 4) = 1;\n        __s = (char *)*piVar17;\n        local_50 = piVar17[6];\n      }\n      iVar14 = piVar17[0xe];\n      sVar10 = piVar17[2];\n      iVar2 = piVar17[0xc];\n      iVar3 = piVar17[0xf];\n      iVar4 = piVar17[7];\n      iVar5 = piVar17[0xb];\n      iVar6 = piVar17[10];\n      iVar11 = (**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed))(1,0x3c);\n      if (iVar11 == 0) goto LAB_0001e016;\n      *(char **)(iVar11 + 4) = __s;\n      sVar12 = 0;\n      if ((__s != (char *)0x0) && (sVar12 = sVar10, sVar10 == 0)) {\n        sVar12 = strlen(__s);\n      }\n      *(size_t *)(iVar11 + 8) = sVar12;\n      *(char **)(iVar11 + 0xc) = local_60;\n      *(int *)(iVar11 + 0x34) = local_54;\n      *(int *)(iVar11 + 0x38) = local_50;\n      *(int *)(iVar11 + 0x14) = iVar6;\n      *(int *)(iVar11 + 0x18) = iVar5;\n      *(int *)(iVar11 + 0x1c) = iVar4;\n      *(int *)(iVar11 + 0x20) = iVar3;\n      *(int *)(iVar11 + 0x2c) = iVar2;\n      *(int *)(iVar11 + 0x30) = iVar14;\n      *(uint *)(iVar11 + 0x28) = uVar15 | 0x80;\n      if (local_5c == 0) {\n        piVar13 = (int *)*param_2;\n        if ((int *)*param_2 == (int *)0x0) {\n          piVar13 = param_1;\n        }\n        *piVar13 = iVar11;\n        *param_2 = iVar11;\n      }\n      else {\n        *(undefined4 *)(iVar11 + 0x24) = *(undefined4 *)(local_5c + 0x24);\n        *(int *)(local_5c + 0x24) = iVar11;\n      }\n      piVar13 = piVar17 + 7;\n      piVar17 = (int *)piVar17[0x10];\n      local_5c = iVar11;\n      if (*piVar13 == 0) {\n        if (piVar17 == (int *)0x0) break;\n        goto LAB_0001df4a;\n      }\n      local_28 = *piVar13;\n    } while (piVar17 != (int *)0x0);\n    uVar8 = 0;\n    pcVar9 = *(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9);\n  }\n  else {\n    if (param_3 < 0x15) {\n                    /* WARNING: Could not recover jumptable at 0x0001d8b7. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      uVar8 = (*(code *)(*(int *)(unaff_EBP + 0x65cf6 + param_3 * 4) + unaff_EBP + 0x98fca))();\n      return uVar8;\n    }\n    pbVar1 = BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9;\n    pcVar9 = *(code **)pbVar1;\n    uVar8 = 4;\n    piVar17 = piVar7;\n    do {\n      while( true ) {\n        if ((char)piVar17[1] != '\0') {\n          (*pcVar9)(*piVar17);\n          pcVar9 = *(code **)pbVar1;\n          *piVar17 = 0;\n          *(undefined1 *)(piVar17 + 1) = 0;\n        }\n        if ((char)piVar17[4] != '\0') {\n          (*pcVar9)(piVar17[3]);\n          pcVar9 = *(code **)pbVar1;\n          piVar17[3] = 0;\n          *(undefined1 *)(piVar17 + 4) = 0;\n        }\n        if ((char)piVar17[8] != '\0') {\n          (*pcVar9)(piVar17[7]);\n          pcVar9 = *(code **)pbVar1;\n          piVar17[7] = 0;\n          *(undefined1 *)(piVar17 + 8) = 0;\n        }\n        if ((char)piVar17[0xd] == '\0') break;\n        (*pcVar9)(piVar17[0xc]);\n        pcVar9 = *(code **)pbVar1;\n        piVar17[0xc] = 0;\n        *(undefined1 *)(piVar17 + 0xd) = 0;\n        piVar17 = (int *)piVar17[0x10];\n        if (piVar17 == (int *)0x0) goto LAB_0001d97c;\n      }\n      piVar17 = (int *)piVar17[0x10];\n    } while (piVar17 != (int *)0x0);\n  }" if (parenthesized_expression "(param_3 == 0x11)" ( (binary_expression "param_3 == 0x11" identifier == number_literal) )) (compound_statement "{\n    local_28 = 0;\n    local_5c = 0;\n    piVar17 = piVar7;\nLAB_0001df4a:\n    do {\n      __s = (char *)*piVar17;\n      if ((((((__s == (char *)0x0) || (piVar17[3] == 0)) && (local_5c == 0)) ||\n           ((uVar15 = piVar17[9], piVar17[6] != 0 || piVar17[5] != 0 && ((uVar15 & 1) != 0)))) ||\n          (((uVar15 & 9) == 9 || ((piVar17[10] == 0 && ((uVar15 & 0x30) == 0x30)))))) ||\n         ((uVar15 & 10) == 10)) {\n        uVar8 = 5;\nLAB_0001df65:\n        pbVar1 = BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9;\n        pcVar9 = *(code **)pbVar1;\n        do {\n          if ((char)piVar17[1] != '\0') {\n            (*pcVar9)(*piVar17);\n            pcVar9 = *(code **)pbVar1;\n            *piVar17 = 0;\n            *(undefined1 *)(piVar17 + 1) = 0;\n          }\n          if ((char)piVar17[4] != '\0') {\n            (*pcVar9)(piVar17[3]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[3] = 0;\n            *(undefined1 *)(piVar17 + 4) = 0;\n          }\n          if ((char)piVar17[8] != '\0') {\n            (*pcVar9)(piVar17[7]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[7] = 0;\n            *(undefined1 *)(piVar17 + 8) = 0;\n          }\n          if ((char)piVar17[0xd] == '\0') {\n            piVar17 = (int *)piVar17[0x10];\n          }\n          else {\n            (*pcVar9)(piVar17[0xc]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[0xc] = 0;\n            *(undefined1 *)(piVar17 + 0xd) = 0;\n            piVar17 = (int *)piVar17[0x10];\n          }\n        } while (piVar17 != (int *)0x0);\n        goto LAB_0001d97c;\n      }\n      if (((uVar15 & 0x11) != 0) && (piVar17[7] == 0)) {\n        if ((uVar15 & 0x10) == 0) {\n          iVar14 = piVar17[3];\n        }\n        else {\n          iVar14 = piVar17[0xc];\n        }\n        iVar14 = FUN_0006e8e0(iVar14);\n        if ((iVar14 == 0) && (iVar14 = unaff_EBP + 0x65cc6, local_28 != 0)) {\n          iVar14 = local_28;\n        }\n        iVar14 = (**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f1))(iVar14);\n        piVar17[7] = iVar14;\n        if (iVar14 != 0) {\n          *(undefined1 *)(piVar17 + 8) = 1;\n          __s = (char *)*piVar17;\n          goto LAB_0001ddc4;\n        }\nLAB_0001e016:\n        uVar8 = 1;\n        goto LAB_0001df65;\n      }\nLAB_0001ddc4:\n      if (__s == (char *)0x0) {\n        uVar15 = piVar17[9];\n        if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e016;\n      }\n      else {\n        iVar14 = piVar17[2];\n        if (iVar14 == 0) {\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) {\n            sVar10 = strlen(__s);\n            iVar14 = sVar10 + 1;\nLAB_0001e0cf:\n            __s = (char *)FUN_00050160(__s,iVar14);\n            *piVar17 = (int)__s;\n            if (__s == (char *)0x0) goto LAB_0001e016;\n            *(undefined1 *)(piVar17 + 1) = 1;\n            uVar15 = piVar17[9];\n          }\n        }\n        else {\n          if (*__s == '\0') {\nLAB_0001e140:\n            uVar8 = 3;\n            goto LAB_0001df65;\n          }\n          pcVar16 = __s;\n          while (pcVar16 = pcVar16 + 1, __s + iVar14 != pcVar16) {\n            if (*pcVar16 == '\0') goto LAB_0001e140;\n          }\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e0cf;\n        }\n      }\n      local_60 = (char *)piVar17[3];\n      local_54 = piVar17[5];\n      local_50 = piVar17[6];\n      if (((uVar15 & 0x6b) == 0) && (local_60 != (char *)0x0)) {\n        if (local_54 == 0) {\n          sVar10 = strlen(local_60);\n          local_54 = sVar10 + 1;\n        }\n        local_60 = (char *)FUN_00050160(local_60,local_54);\n        piVar17[3] = (int)local_60;\n        if (local_60 == (char *)0x0) goto LAB_0001e016;\n        local_54 = piVar17[5];\n        uVar15 = piVar17[9];\n        *(undefined1 *)(piVar17 + 4) = 1;\n        __s = (char *)*piVar17;\n        local_50 = piVar17[6];\n      }\n      iVar14 = piVar17[0xe];\n      sVar10 = piVar17[2];\n      iVar2 = piVar17[0xc];\n      iVar3 = piVar17[0xf];\n      iVar4 = piVar17[7];\n      iVar5 = piVar17[0xb];\n      iVar6 = piVar17[10];\n      iVar11 = (**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed))(1,0x3c);\n      if (iVar11 == 0) goto LAB_0001e016;\n      *(char **)(iVar11 + 4) = __s;\n      sVar12 = 0;\n      if ((__s != (char *)0x0) && (sVar12 = sVar10, sVar10 == 0)) {\n        sVar12 = strlen(__s);\n      }\n      *(size_t *)(iVar11 + 8) = sVar12;\n      *(char **)(iVar11 + 0xc) = local_60;\n      *(int *)(iVar11 + 0x34) = local_54;\n      *(int *)(iVar11 + 0x38) = local_50;\n      *(int *)(iVar11 + 0x14) = iVar6;\n      *(int *)(iVar11 + 0x18) = iVar5;\n      *(int *)(iVar11 + 0x1c) = iVar4;\n      *(int *)(iVar11 + 0x20) = iVar3;\n      *(int *)(iVar11 + 0x2c) = iVar2;\n      *(int *)(iVar11 + 0x30) = iVar14;\n      *(uint *)(iVar11 + 0x28) = uVar15 | 0x80;\n      if (local_5c == 0) {\n        piVar13 = (int *)*param_2;\n        if ((int *)*param_2 == (int *)0x0) {\n          piVar13 = param_1;\n        }\n        *piVar13 = iVar11;\n        *param_2 = iVar11;\n      }\n      else {\n        *(undefined4 *)(iVar11 + 0x24) = *(undefined4 *)(local_5c + 0x24);\n        *(int *)(local_5c + 0x24) = iVar11;\n      }\n      piVar13 = piVar17 + 7;\n      piVar17 = (int *)piVar17[0x10];\n      local_5c = iVar11;\n      if (*piVar13 == 0) {\n        if (piVar17 == (int *)0x0) break;\n        goto LAB_0001df4a;\n      }\n      local_28 = *piVar13;\n    } while (piVar17 != (int *)0x0);\n    uVar8 = 0;\n    pcVar9 = *(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9);\n  }" { (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" identifier = number_literal) ;) (expression_statement "local_5c = 0;" (assignment_expression "local_5c = 0" identifier = number_literal) ;) (expression_statement "piVar17 = piVar7;" (assignment_expression "piVar17 = piVar7" identifier = identifier) ;) (labeled_statement "LAB_0001df4a:\n    do {\n      __s = (char *)*piVar17;\n      if ((((((__s == (char *)0x0) || (piVar17[3] == 0)) && (local_5c == 0)) ||\n           ((uVar15 = piVar17[9], piVar17[6] != 0 || piVar17[5] != 0 && ((uVar15 & 1) != 0)))) ||\n          (((uVar15 & 9) == 9 || ((piVar17[10] == 0 && ((uVar15 & 0x30) == 0x30)))))) ||\n         ((uVar15 & 10) == 10)) {\n        uVar8 = 5;\nLAB_0001df65:\n        pbVar1 = BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9;\n        pcVar9 = *(code **)pbVar1;\n        do {\n          if ((char)piVar17[1] != '\0') {\n            (*pcVar9)(*piVar17);\n            pcVar9 = *(code **)pbVar1;\n            *piVar17 = 0;\n            *(undefined1 *)(piVar17 + 1) = 0;\n          }\n          if ((char)piVar17[4] != '\0') {\n            (*pcVar9)(piVar17[3]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[3] = 0;\n            *(undefined1 *)(piVar17 + 4) = 0;\n          }\n          if ((char)piVar17[8] != '\0') {\n            (*pcVar9)(piVar17[7]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[7] = 0;\n            *(undefined1 *)(piVar17 + 8) = 0;\n          }\n          if ((char)piVar17[0xd] == '\0') {\n            piVar17 = (int *)piVar17[0x10];\n          }\n          else {\n            (*pcVar9)(piVar17[0xc]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[0xc] = 0;\n            *(undefined1 *)(piVar17 + 0xd) = 0;\n            piVar17 = (int *)piVar17[0x10];\n          }\n        } while (piVar17 != (int *)0x0);\n        goto LAB_0001d97c;\n      }\n      if (((uVar15 & 0x11) != 0) && (piVar17[7] == 0)) {\n        if ((uVar15 & 0x10) == 0) {\n          iVar14 = piVar17[3];\n        }\n        else {\n          iVar14 = piVar17[0xc];\n        }\n        iVar14 = FUN_0006e8e0(iVar14);\n        if ((iVar14 == 0) && (iVar14 = unaff_EBP + 0x65cc6, local_28 != 0)) {\n          iVar14 = local_28;\n        }\n        iVar14 = (**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f1))(iVar14);\n        piVar17[7] = iVar14;\n        if (iVar14 != 0) {\n          *(undefined1 *)(piVar17 + 8) = 1;\n          __s = (char *)*piVar17;\n          goto LAB_0001ddc4;\n        }\nLAB_0001e016:\n        uVar8 = 1;\n        goto LAB_0001df65;\n      }\nLAB_0001ddc4:\n      if (__s == (char *)0x0) {\n        uVar15 = piVar17[9];\n        if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e016;\n      }\n      else {\n        iVar14 = piVar17[2];\n        if (iVar14 == 0) {\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) {\n            sVar10 = strlen(__s);\n            iVar14 = sVar10 + 1;\nLAB_0001e0cf:\n            __s = (char *)FUN_00050160(__s,iVar14);\n            *piVar17 = (int)__s;\n            if (__s == (char *)0x0) goto LAB_0001e016;\n            *(undefined1 *)(piVar17 + 1) = 1;\n            uVar15 = piVar17[9];\n          }\n        }\n        else {\n          if (*__s == '\0') {\nLAB_0001e140:\n            uVar8 = 3;\n            goto LAB_0001df65;\n          }\n          pcVar16 = __s;\n          while (pcVar16 = pcVar16 + 1, __s + iVar14 != pcVar16) {\n            if (*pcVar16 == '\0') goto LAB_0001e140;\n          }\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e0cf;\n        }\n      }\n      local_60 = (char *)piVar17[3];\n      local_54 = piVar17[5];\n      local_50 = piVar17[6];\n      if (((uVar15 & 0x6b) == 0) && (local_60 != (char *)0x0)) {\n        if (local_54 == 0) {\n          sVar10 = strlen(local_60);\n          local_54 = sVar10 + 1;\n        }\n        local_60 = (char *)FUN_00050160(local_60,local_54);\n        piVar17[3] = (int)local_60;\n        if (local_60 == (char *)0x0) goto LAB_0001e016;\n        local_54 = piVar17[5];\n        uVar15 = piVar17[9];\n        *(undefined1 *)(piVar17 + 4) = 1;\n        __s = (char *)*piVar17;\n        local_50 = piVar17[6];\n      }\n      iVar14 = piVar17[0xe];\n      sVar10 = piVar17[2];\n      iVar2 = piVar17[0xc];\n      iVar3 = piVar17[0xf];\n      iVar4 = piVar17[7];\n      iVar5 = piVar17[0xb];\n      iVar6 = piVar17[10];\n      iVar11 = (**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed))(1,0x3c);\n      if (iVar11 == 0) goto LAB_0001e016;\n      *(char **)(iVar11 + 4) = __s;\n      sVar12 = 0;\n      if ((__s != (char *)0x0) && (sVar12 = sVar10, sVar10 == 0)) {\n        sVar12 = strlen(__s);\n      }\n      *(size_t *)(iVar11 + 8) = sVar12;\n      *(char **)(iVar11 + 0xc) = local_60;\n      *(int *)(iVar11 + 0x34) = local_54;\n      *(int *)(iVar11 + 0x38) = local_50;\n      *(int *)(iVar11 + 0x14) = iVar6;\n      *(int *)(iVar11 + 0x18) = iVar5;\n      *(int *)(iVar11 + 0x1c) = iVar4;\n      *(int *)(iVar11 + 0x20) = iVar3;\n      *(int *)(iVar11 + 0x2c) = iVar2;\n      *(int *)(iVar11 + 0x30) = iVar14;\n      *(uint *)(iVar11 + 0x28) = uVar15 | 0x80;\n      if (local_5c == 0) {\n        piVar13 = (int *)*param_2;\n        if ((int *)*param_2 == (int *)0x0) {\n          piVar13 = param_1;\n        }\n        *piVar13 = iVar11;\n        *param_2 = iVar11;\n      }\n      else {\n        *(undefined4 *)(iVar11 + 0x24) = *(undefined4 *)(local_5c + 0x24);\n        *(int *)(local_5c + 0x24) = iVar11;\n      }\n      piVar13 = piVar17 + 7;\n      piVar17 = (int *)piVar17[0x10];\n      local_5c = iVar11;\n      if (*piVar13 == 0) {\n        if (piVar17 == (int *)0x0) break;\n        goto LAB_0001df4a;\n      }\n      local_28 = *piVar13;\n    } while (piVar17 != (int *)0x0);" statement_identifier : (do_statement "do {\n      __s = (char *)*piVar17;\n      if ((((((__s == (char *)0x0) || (piVar17[3] == 0)) && (local_5c == 0)) ||\n           ((uVar15 = piVar17[9], piVar17[6] != 0 || piVar17[5] != 0 && ((uVar15 & 1) != 0)))) ||\n          (((uVar15 & 9) == 9 || ((piVar17[10] == 0 && ((uVar15 & 0x30) == 0x30)))))) ||\n         ((uVar15 & 10) == 10)) {\n        uVar8 = 5;\nLAB_0001df65:\n        pbVar1 = BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9;\n        pcVar9 = *(code **)pbVar1;\n        do {\n          if ((char)piVar17[1] != '\0') {\n            (*pcVar9)(*piVar17);\n            pcVar9 = *(code **)pbVar1;\n            *piVar17 = 0;\n            *(undefined1 *)(piVar17 + 1) = 0;\n          }\n          if ((char)piVar17[4] != '\0') {\n            (*pcVar9)(piVar17[3]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[3] = 0;\n            *(undefined1 *)(piVar17 + 4) = 0;\n          }\n          if ((char)piVar17[8] != '\0') {\n            (*pcVar9)(piVar17[7]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[7] = 0;\n            *(undefined1 *)(piVar17 + 8) = 0;\n          }\n          if ((char)piVar17[0xd] == '\0') {\n            piVar17 = (int *)piVar17[0x10];\n          }\n          else {\n            (*pcVar9)(piVar17[0xc]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[0xc] = 0;\n            *(undefined1 *)(piVar17 + 0xd) = 0;\n            piVar17 = (int *)piVar17[0x10];\n          }\n        } while (piVar17 != (int *)0x0);\n        goto LAB_0001d97c;\n      }\n      if (((uVar15 & 0x11) != 0) && (piVar17[7] == 0)) {\n        if ((uVar15 & 0x10) == 0) {\n          iVar14 = piVar17[3];\n        }\n        else {\n          iVar14 = piVar17[0xc];\n        }\n        iVar14 = FUN_0006e8e0(iVar14);\n        if ((iVar14 == 0) && (iVar14 = unaff_EBP + 0x65cc6, local_28 != 0)) {\n          iVar14 = local_28;\n        }\n        iVar14 = (**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f1))(iVar14);\n        piVar17[7] = iVar14;\n        if (iVar14 != 0) {\n          *(undefined1 *)(piVar17 + 8) = 1;\n          __s = (char *)*piVar17;\n          goto LAB_0001ddc4;\n        }\nLAB_0001e016:\n        uVar8 = 1;\n        goto LAB_0001df65;\n      }\nLAB_0001ddc4:\n      if (__s == (char *)0x0) {\n        uVar15 = piVar17[9];\n        if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e016;\n      }\n      else {\n        iVar14 = piVar17[2];\n        if (iVar14 == 0) {\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) {\n            sVar10 = strlen(__s);\n            iVar14 = sVar10 + 1;\nLAB_0001e0cf:\n            __s = (char *)FUN_00050160(__s,iVar14);\n            *piVar17 = (int)__s;\n            if (__s == (char *)0x0) goto LAB_0001e016;\n            *(undefined1 *)(piVar17 + 1) = 1;\n            uVar15 = piVar17[9];\n          }\n        }\n        else {\n          if (*__s == '\0') {\nLAB_0001e140:\n            uVar8 = 3;\n            goto LAB_0001df65;\n          }\n          pcVar16 = __s;\n          while (pcVar16 = pcVar16 + 1, __s + iVar14 != pcVar16) {\n            if (*pcVar16 == '\0') goto LAB_0001e140;\n          }\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e0cf;\n        }\n      }\n      local_60 = (char *)piVar17[3];\n      local_54 = piVar17[5];\n      local_50 = piVar17[6];\n      if (((uVar15 & 0x6b) == 0) && (local_60 != (char *)0x0)) {\n        if (local_54 == 0) {\n          sVar10 = strlen(local_60);\n          local_54 = sVar10 + 1;\n        }\n        local_60 = (char *)FUN_00050160(local_60,local_54);\n        piVar17[3] = (int)local_60;\n        if (local_60 == (char *)0x0) goto LAB_0001e016;\n        local_54 = piVar17[5];\n        uVar15 = piVar17[9];\n        *(undefined1 *)(piVar17 + 4) = 1;\n        __s = (char *)*piVar17;\n        local_50 = piVar17[6];\n      }\n      iVar14 = piVar17[0xe];\n      sVar10 = piVar17[2];\n      iVar2 = piVar17[0xc];\n      iVar3 = piVar17[0xf];\n      iVar4 = piVar17[7];\n      iVar5 = piVar17[0xb];\n      iVar6 = piVar17[10];\n      iVar11 = (**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed))(1,0x3c);\n      if (iVar11 == 0) goto LAB_0001e016;\n      *(char **)(iVar11 + 4) = __s;\n      sVar12 = 0;\n      if ((__s != (char *)0x0) && (sVar12 = sVar10, sVar10 == 0)) {\n        sVar12 = strlen(__s);\n      }\n      *(size_t *)(iVar11 + 8) = sVar12;\n      *(char **)(iVar11 + 0xc) = local_60;\n      *(int *)(iVar11 + 0x34) = local_54;\n      *(int *)(iVar11 + 0x38) = local_50;\n      *(int *)(iVar11 + 0x14) = iVar6;\n      *(int *)(iVar11 + 0x18) = iVar5;\n      *(int *)(iVar11 + 0x1c) = iVar4;\n      *(int *)(iVar11 + 0x20) = iVar3;\n      *(int *)(iVar11 + 0x2c) = iVar2;\n      *(int *)(iVar11 + 0x30) = iVar14;\n      *(uint *)(iVar11 + 0x28) = uVar15 | 0x80;\n      if (local_5c == 0) {\n        piVar13 = (int *)*param_2;\n        if ((int *)*param_2 == (int *)0x0) {\n          piVar13 = param_1;\n        }\n        *piVar13 = iVar11;\n        *param_2 = iVar11;\n      }\n      else {\n        *(undefined4 *)(iVar11 + 0x24) = *(undefined4 *)(local_5c + 0x24);\n        *(int *)(local_5c + 0x24) = iVar11;\n      }\n      piVar13 = piVar17 + 7;\n      piVar17 = (int *)piVar17[0x10];\n      local_5c = iVar11;\n      if (*piVar13 == 0) {\n        if (piVar17 == (int *)0x0) break;\n        goto LAB_0001df4a;\n      }\n      local_28 = *piVar13;\n    } while (piVar17 != (int *)0x0);" do (compound_statement "{\n      __s = (char *)*piVar17;\n      if ((((((__s == (char *)0x0) || (piVar17[3] == 0)) && (local_5c == 0)) ||\n           ((uVar15 = piVar17[9], piVar17[6] != 0 || piVar17[5] != 0 && ((uVar15 & 1) != 0)))) ||\n          (((uVar15 & 9) == 9 || ((piVar17[10] == 0 && ((uVar15 & 0x30) == 0x30)))))) ||\n         ((uVar15 & 10) == 10)) {\n        uVar8 = 5;\nLAB_0001df65:\n        pbVar1 = BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9;\n        pcVar9 = *(code **)pbVar1;\n        do {\n          if ((char)piVar17[1] != '\0') {\n            (*pcVar9)(*piVar17);\n            pcVar9 = *(code **)pbVar1;\n            *piVar17 = 0;\n            *(undefined1 *)(piVar17 + 1) = 0;\n          }\n          if ((char)piVar17[4] != '\0') {\n            (*pcVar9)(piVar17[3]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[3] = 0;\n            *(undefined1 *)(piVar17 + 4) = 0;\n          }\n          if ((char)piVar17[8] != '\0') {\n            (*pcVar9)(piVar17[7]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[7] = 0;\n            *(undefined1 *)(piVar17 + 8) = 0;\n          }\n          if ((char)piVar17[0xd] == '\0') {\n            piVar17 = (int *)piVar17[0x10];\n          }\n          else {\n            (*pcVar9)(piVar17[0xc]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[0xc] = 0;\n            *(undefined1 *)(piVar17 + 0xd) = 0;\n            piVar17 = (int *)piVar17[0x10];\n          }\n        } while (piVar17 != (int *)0x0);\n        goto LAB_0001d97c;\n      }\n      if (((uVar15 & 0x11) != 0) && (piVar17[7] == 0)) {\n        if ((uVar15 & 0x10) == 0) {\n          iVar14 = piVar17[3];\n        }\n        else {\n          iVar14 = piVar17[0xc];\n        }\n        iVar14 = FUN_0006e8e0(iVar14);\n        if ((iVar14 == 0) && (iVar14 = unaff_EBP + 0x65cc6, local_28 != 0)) {\n          iVar14 = local_28;\n        }\n        iVar14 = (**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f1))(iVar14);\n        piVar17[7] = iVar14;\n        if (iVar14 != 0) {\n          *(undefined1 *)(piVar17 + 8) = 1;\n          __s = (char *)*piVar17;\n          goto LAB_0001ddc4;\n        }\nLAB_0001e016:\n        uVar8 = 1;\n        goto LAB_0001df65;\n      }\nLAB_0001ddc4:\n      if (__s == (char *)0x0) {\n        uVar15 = piVar17[9];\n        if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e016;\n      }\n      else {\n        iVar14 = piVar17[2];\n        if (iVar14 == 0) {\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) {\n            sVar10 = strlen(__s);\n            iVar14 = sVar10 + 1;\nLAB_0001e0cf:\n            __s = (char *)FUN_00050160(__s,iVar14);\n            *piVar17 = (int)__s;\n            if (__s == (char *)0x0) goto LAB_0001e016;\n            *(undefined1 *)(piVar17 + 1) = 1;\n            uVar15 = piVar17[9];\n          }\n        }\n        else {\n          if (*__s == '\0') {\nLAB_0001e140:\n            uVar8 = 3;\n            goto LAB_0001df65;\n          }\n          pcVar16 = __s;\n          while (pcVar16 = pcVar16 + 1, __s + iVar14 != pcVar16) {\n            if (*pcVar16 == '\0') goto LAB_0001e140;\n          }\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e0cf;\n        }\n      }\n      local_60 = (char *)piVar17[3];\n      local_54 = piVar17[5];\n      local_50 = piVar17[6];\n      if (((uVar15 & 0x6b) == 0) && (local_60 != (char *)0x0)) {\n        if (local_54 == 0) {\n          sVar10 = strlen(local_60);\n          local_54 = sVar10 + 1;\n        }\n        local_60 = (char *)FUN_00050160(local_60,local_54);\n        piVar17[3] = (int)local_60;\n        if (local_60 == (char *)0x0) goto LAB_0001e016;\n        local_54 = piVar17[5];\n        uVar15 = piVar17[9];\n        *(undefined1 *)(piVar17 + 4) = 1;\n        __s = (char *)*piVar17;\n        local_50 = piVar17[6];\n      }\n      iVar14 = piVar17[0xe];\n      sVar10 = piVar17[2];\n      iVar2 = piVar17[0xc];\n      iVar3 = piVar17[0xf];\n      iVar4 = piVar17[7];\n      iVar5 = piVar17[0xb];\n      iVar6 = piVar17[10];\n      iVar11 = (**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed))(1,0x3c);\n      if (iVar11 == 0) goto LAB_0001e016;\n      *(char **)(iVar11 + 4) = __s;\n      sVar12 = 0;\n      if ((__s != (char *)0x0) && (sVar12 = sVar10, sVar10 == 0)) {\n        sVar12 = strlen(__s);\n      }\n      *(size_t *)(iVar11 + 8) = sVar12;\n      *(char **)(iVar11 + 0xc) = local_60;\n      *(int *)(iVar11 + 0x34) = local_54;\n      *(int *)(iVar11 + 0x38) = local_50;\n      *(int *)(iVar11 + 0x14) = iVar6;\n      *(int *)(iVar11 + 0x18) = iVar5;\n      *(int *)(iVar11 + 0x1c) = iVar4;\n      *(int *)(iVar11 + 0x20) = iVar3;\n      *(int *)(iVar11 + 0x2c) = iVar2;\n      *(int *)(iVar11 + 0x30) = iVar14;\n      *(uint *)(iVar11 + 0x28) = uVar15 | 0x80;\n      if (local_5c == 0) {\n        piVar13 = (int *)*param_2;\n        if ((int *)*param_2 == (int *)0x0) {\n          piVar13 = param_1;\n        }\n        *piVar13 = iVar11;\n        *param_2 = iVar11;\n      }\n      else {\n        *(undefined4 *)(iVar11 + 0x24) = *(undefined4 *)(local_5c + 0x24);\n        *(int *)(local_5c + 0x24) = iVar11;\n      }\n      piVar13 = piVar17 + 7;\n      piVar17 = (int *)piVar17[0x10];\n      local_5c = iVar11;\n      if (*piVar13 == 0) {\n        if (piVar17 == (int *)0x0) break;\n        goto LAB_0001df4a;\n      }\n      local_28 = *piVar13;\n    }" { (expression_statement "__s = (char *)*piVar17;" (assignment_expression "__s = (char *)*piVar17" identifier = (cast_expression "(char *)*piVar17" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar17" * identifier))) ;) (if_statement "if ((((((__s == (char *)0x0) || (piVar17[3] == 0)) && (local_5c == 0)) ||\n           ((uVar15 = piVar17[9], piVar17[6] != 0 || piVar17[5] != 0 && ((uVar15 & 1) != 0)))) ||\n          (((uVar15 & 9) == 9 || ((piVar17[10] == 0 && ((uVar15 & 0x30) == 0x30)))))) ||\n         ((uVar15 & 10) == 10)) {\n        uVar8 = 5;\nLAB_0001df65:\n        pbVar1 = BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9;\n        pcVar9 = *(code **)pbVar1;\n        do {\n          if ((char)piVar17[1] != '\0') {\n            (*pcVar9)(*piVar17);\n            pcVar9 = *(code **)pbVar1;\n            *piVar17 = 0;\n            *(undefined1 *)(piVar17 + 1) = 0;\n          }\n          if ((char)piVar17[4] != '\0') {\n            (*pcVar9)(piVar17[3]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[3] = 0;\n            *(undefined1 *)(piVar17 + 4) = 0;\n          }\n          if ((char)piVar17[8] != '\0') {\n            (*pcVar9)(piVar17[7]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[7] = 0;\n            *(undefined1 *)(piVar17 + 8) = 0;\n          }\n          if ((char)piVar17[0xd] == '\0') {\n            piVar17 = (int *)piVar17[0x10];\n          }\n          else {\n            (*pcVar9)(piVar17[0xc]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[0xc] = 0;\n            *(undefined1 *)(piVar17 + 0xd) = 0;\n            piVar17 = (int *)piVar17[0x10];\n          }\n        } while (piVar17 != (int *)0x0);\n        goto LAB_0001d97c;\n      }" if (parenthesized_expression "((((((__s == (char *)0x0) || (piVar17[3] == 0)) && (local_5c == 0)) ||\n           ((uVar15 = piVar17[9], piVar17[6] != 0 || piVar17[5] != 0 && ((uVar15 & 1) != 0)))) ||\n          (((uVar15 & 9) == 9 || ((piVar17[10] == 0 && ((uVar15 & 0x30) == 0x30)))))) ||\n         ((uVar15 & 10) == 10))" ( (binary_expression "(((((__s == (char *)0x0) || (piVar17[3] == 0)) && (local_5c == 0)) ||\n           ((uVar15 = piVar17[9], piVar17[6] != 0 || piVar17[5] != 0 && ((uVar15 & 1) != 0)))) ||\n          (((uVar15 & 9) == 9 || ((piVar17[10] == 0 && ((uVar15 & 0x30) == 0x30)))))) ||\n         ((uVar15 & 10) == 10)" (parenthesized_expression "(((((__s == (char *)0x0) || (piVar17[3] == 0)) && (local_5c == 0)) ||\n           ((uVar15 = piVar17[9], piVar17[6] != 0 || piVar17[5] != 0 && ((uVar15 & 1) != 0)))) ||\n          (((uVar15 & 9) == 9 || ((piVar17[10] == 0 && ((uVar15 & 0x30) == 0x30))))))" ( (binary_expression "((((__s == (char *)0x0) || (piVar17[3] == 0)) && (local_5c == 0)) ||\n           ((uVar15 = piVar17[9], piVar17[6] != 0 || piVar17[5] != 0 && ((uVar15 & 1) != 0)))) ||\n          (((uVar15 & 9) == 9 || ((piVar17[10] == 0 && ((uVar15 & 0x30) == 0x30)))))" (parenthesized_expression "((((__s == (char *)0x0) || (piVar17[3] == 0)) && (local_5c == 0)) ||\n           ((uVar15 = piVar17[9], piVar17[6] != 0 || piVar17[5] != 0 && ((uVar15 & 1) != 0))))" ( (binary_expression "(((__s == (char *)0x0) || (piVar17[3] == 0)) && (local_5c == 0)) ||\n           ((uVar15 = piVar17[9], piVar17[6] != 0 || piVar17[5] != 0 && ((uVar15 & 1) != 0)))" (parenthesized_expression "(((__s == (char *)0x0) || (piVar17[3] == 0)) && (local_5c == 0))" ( (binary_expression "((__s == (char *)0x0) || (piVar17[3] == 0)) && (local_5c == 0)" (parenthesized_expression "((__s == (char *)0x0) || (piVar17[3] == 0))" ( (binary_expression "(__s == (char *)0x0) || (piVar17[3] == 0)" (parenthesized_expression "(__s == (char *)0x0)" ( (binary_expression "__s == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(piVar17[3] == 0)" ( (binary_expression "piVar17[3] == 0" (subscript_expression "piVar17[3]" identifier [ number_literal ]) == number_literal) ))) )) && (parenthesized_expression "(local_5c == 0)" ( (binary_expression "local_5c == 0" identifier == number_literal) ))) )) || (parenthesized_expression "((uVar15 = piVar17[9], piVar17[6] != 0 || piVar17[5] != 0 && ((uVar15 & 1) != 0)))" ( (parenthesized_expression "(uVar15 = piVar17[9], piVar17[6] != 0 || piVar17[5] != 0 && ((uVar15 & 1) != 0))" ( (comma_expression "uVar15 = piVar17[9], piVar17[6] != 0 || piVar17[5] != 0 && ((uVar15 & 1) != 0)" (assignment_expression "uVar15 = piVar17[9]" identifier = (subscript_expression "piVar17[9]" identifier [ number_literal ])) , (binary_expression "piVar17[6] != 0 || piVar17[5] != 0 && ((uVar15 & 1) != 0)" (binary_expression "piVar17[6] != 0" (subscript_expression "piVar17[6]" identifier [ number_literal ]) != number_literal) || (binary_expression "piVar17[5] != 0 && ((uVar15 & 1) != 0)" (binary_expression "piVar17[5] != 0" (subscript_expression "piVar17[5]" identifier [ number_literal ]) != number_literal) && (parenthesized_expression "((uVar15 & 1) != 0)" ( (binary_expression "(uVar15 & 1) != 0" (parenthesized_expression "(uVar15 & 1)" ( (binary_expression "uVar15 & 1" identifier & number_literal) )) != number_literal) ))))) )) ))) )) || (parenthesized_expression "(((uVar15 & 9) == 9 || ((piVar17[10] == 0 && ((uVar15 & 0x30) == 0x30)))))" ( (parenthesized_expression "((uVar15 & 9) == 9 || ((piVar17[10] == 0 && ((uVar15 & 0x30) == 0x30))))" ( (binary_expression "(uVar15 & 9) == 9 || ((piVar17[10] == 0 && ((uVar15 & 0x30) == 0x30)))" (binary_expression "(uVar15 & 9) == 9" (parenthesized_expression "(uVar15 & 9)" ( (binary_expression "uVar15 & 9" identifier & number_literal) )) == number_literal) || (parenthesized_expression "((piVar17[10] == 0 && ((uVar15 & 0x30) == 0x30)))" ( (parenthesized_expression "(piVar17[10] == 0 && ((uVar15 & 0x30) == 0x30))" ( (binary_expression "piVar17[10] == 0 && ((uVar15 & 0x30) == 0x30)" (binary_expression "piVar17[10] == 0" (subscript_expression "piVar17[10]" identifier [ number_literal ]) == number_literal) && (parenthesized_expression "((uVar15 & 0x30) == 0x30)" ( (binary_expression "(uVar15 & 0x30) == 0x30" (parenthesized_expression "(uVar15 & 0x30)" ( (binary_expression "uVar15 & 0x30" identifier & number_literal) )) == number_literal) ))) )) ))) )) ))) )) || (parenthesized_expression "((uVar15 & 10) == 10)" ( (binary_expression "(uVar15 & 10) == 10" (parenthesized_expression "(uVar15 & 10)" ( (binary_expression "uVar15 & 10" identifier & number_literal) )) == number_literal) ))) )) (compound_statement "{\n        uVar8 = 5;\nLAB_0001df65:\n        pbVar1 = BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9;\n        pcVar9 = *(code **)pbVar1;\n        do {\n          if ((char)piVar17[1] != '\0') {\n            (*pcVar9)(*piVar17);\n            pcVar9 = *(code **)pbVar1;\n            *piVar17 = 0;\n            *(undefined1 *)(piVar17 + 1) = 0;\n          }\n          if ((char)piVar17[4] != '\0') {\n            (*pcVar9)(piVar17[3]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[3] = 0;\n            *(undefined1 *)(piVar17 + 4) = 0;\n          }\n          if ((char)piVar17[8] != '\0') {\n            (*pcVar9)(piVar17[7]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[7] = 0;\n            *(undefined1 *)(piVar17 + 8) = 0;\n          }\n          if ((char)piVar17[0xd] == '\0') {\n            piVar17 = (int *)piVar17[0x10];\n          }\n          else {\n            (*pcVar9)(piVar17[0xc]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[0xc] = 0;\n            *(undefined1 *)(piVar17 + 0xd) = 0;\n            piVar17 = (int *)piVar17[0x10];\n          }\n        } while (piVar17 != (int *)0x0);\n        goto LAB_0001d97c;\n      }" { (expression_statement "uVar8 = 5;" (assignment_expression "uVar8 = 5" identifier = number_literal) ;) (labeled_statement "LAB_0001df65:\n        pbVar1 = BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9;" statement_identifier : (expression_statement "pbVar1 = BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9;" (assignment_expression "pbVar1 = BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9" identifier = (binary_expression "BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9" (binary_expression "BYTE_ARRAY_0009905d + unaff_EBP" identifier + identifier) + number_literal)) ;)) (expression_statement "pcVar9 = *(code **)pbVar1;" (assignment_expression "pcVar9 = *(code **)pbVar1" identifier = (pointer_expression "*(code **)pbVar1" * (cast_expression "(code **)pbVar1" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (do_statement "do {\n          if ((char)piVar17[1] != '\0') {\n            (*pcVar9)(*piVar17);\n            pcVar9 = *(code **)pbVar1;\n            *piVar17 = 0;\n            *(undefined1 *)(piVar17 + 1) = 0;\n          }\n          if ((char)piVar17[4] != '\0') {\n            (*pcVar9)(piVar17[3]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[3] = 0;\n            *(undefined1 *)(piVar17 + 4) = 0;\n          }\n          if ((char)piVar17[8] != '\0') {\n            (*pcVar9)(piVar17[7]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[7] = 0;\n            *(undefined1 *)(piVar17 + 8) = 0;\n          }\n          if ((char)piVar17[0xd] == '\0') {\n            piVar17 = (int *)piVar17[0x10];\n          }\n          else {\n            (*pcVar9)(piVar17[0xc]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[0xc] = 0;\n            *(undefined1 *)(piVar17 + 0xd) = 0;\n            piVar17 = (int *)piVar17[0x10];\n          }\n        } while (piVar17 != (int *)0x0);" do (compound_statement "{\n          if ((char)piVar17[1] != '\0') {\n            (*pcVar9)(*piVar17);\n            pcVar9 = *(code **)pbVar1;\n            *piVar17 = 0;\n            *(undefined1 *)(piVar17 + 1) = 0;\n          }\n          if ((char)piVar17[4] != '\0') {\n            (*pcVar9)(piVar17[3]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[3] = 0;\n            *(undefined1 *)(piVar17 + 4) = 0;\n          }\n          if ((char)piVar17[8] != '\0') {\n            (*pcVar9)(piVar17[7]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[7] = 0;\n            *(undefined1 *)(piVar17 + 8) = 0;\n          }\n          if ((char)piVar17[0xd] == '\0') {\n            piVar17 = (int *)piVar17[0x10];\n          }\n          else {\n            (*pcVar9)(piVar17[0xc]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[0xc] = 0;\n            *(undefined1 *)(piVar17 + 0xd) = 0;\n            piVar17 = (int *)piVar17[0x10];\n          }\n        }" { (if_statement "if ((char)piVar17[1] != '\0') {\n            (*pcVar9)(*piVar17);\n            pcVar9 = *(code **)pbVar1;\n            *piVar17 = 0;\n            *(undefined1 *)(piVar17 + 1) = 0;\n          }" if (parenthesized_expression "((char)piVar17[1] != '\0')" ( (binary_expression "(char)piVar17[1] != '\0'" (cast_expression "(char)piVar17[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "piVar17[1]" identifier [ number_literal ])) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            (*pcVar9)(*piVar17);\n            pcVar9 = *(code **)pbVar1;\n            *piVar17 = 0;\n            *(undefined1 *)(piVar17 + 1) = 0;\n          }" { (expression_statement "(*pcVar9)(*piVar17);" (call_expression "(*pcVar9)(*piVar17)" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "(*piVar17)" ( (pointer_expression "*piVar17" * identifier) ))) ;) (expression_statement "pcVar9 = *(code **)pbVar1;" (assignment_expression "pcVar9 = *(code **)pbVar1" identifier = (pointer_expression "*(code **)pbVar1" * (cast_expression "(code **)pbVar1" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "*piVar17 = 0;" (assignment_expression "*piVar17 = 0" (pointer_expression "*piVar17" * identifier) = number_literal) ;) (expression_statement "*(undefined1 *)(piVar17 + 1) = 0;" (assignment_expression "*(undefined1 *)(piVar17 + 1) = 0" (pointer_expression "*(undefined1 *)(piVar17 + 1)" * (cast_expression "(undefined1 *)(piVar17 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar17 + 1)" ( (binary_expression "piVar17 + 1" identifier + number_literal) )))) = number_literal) ;) })) (if_statement "if ((char)piVar17[4] != '\0') {\n            (*pcVar9)(piVar17[3]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[3] = 0;\n            *(undefined1 *)(piVar17 + 4) = 0;\n          }" if (parenthesized_expression "((char)piVar17[4] != '\0')" ( (binary_expression "(char)piVar17[4] != '\0'" (cast_expression "(char)piVar17[4]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "piVar17[4]" identifier [ number_literal ])) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            (*pcVar9)(piVar17[3]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[3] = 0;\n            *(undefined1 *)(piVar17 + 4) = 0;\n          }" { (expression_statement "(*pcVar9)(piVar17[3]);" (call_expression "(*pcVar9)(piVar17[3])" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "(piVar17[3])" ( (subscript_expression "piVar17[3]" identifier [ number_literal ]) ))) ;) (expression_statement "pcVar9 = *(code **)pbVar1;" (assignment_expression "pcVar9 = *(code **)pbVar1" identifier = (pointer_expression "*(code **)pbVar1" * (cast_expression "(code **)pbVar1" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "piVar17[3] = 0;" (assignment_expression "piVar17[3] = 0" (subscript_expression "piVar17[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(piVar17 + 4) = 0;" (assignment_expression "*(undefined1 *)(piVar17 + 4) = 0" (pointer_expression "*(undefined1 *)(piVar17 + 4)" * (cast_expression "(undefined1 *)(piVar17 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar17 + 4)" ( (binary_expression "piVar17 + 4" identifier + number_literal) )))) = number_literal) ;) })) (if_statement "if ((char)piVar17[8] != '\0') {\n            (*pcVar9)(piVar17[7]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[7] = 0;\n            *(undefined1 *)(piVar17 + 8) = 0;\n          }" if (parenthesized_expression "((char)piVar17[8] != '\0')" ( (binary_expression "(char)piVar17[8] != '\0'" (cast_expression "(char)piVar17[8]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "piVar17[8]" identifier [ number_literal ])) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            (*pcVar9)(piVar17[7]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[7] = 0;\n            *(undefined1 *)(piVar17 + 8) = 0;\n          }" { (expression_statement "(*pcVar9)(piVar17[7]);" (call_expression "(*pcVar9)(piVar17[7])" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "(piVar17[7])" ( (subscript_expression "piVar17[7]" identifier [ number_literal ]) ))) ;) (expression_statement "pcVar9 = *(code **)pbVar1;" (assignment_expression "pcVar9 = *(code **)pbVar1" identifier = (pointer_expression "*(code **)pbVar1" * (cast_expression "(code **)pbVar1" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "piVar17[7] = 0;" (assignment_expression "piVar17[7] = 0" (subscript_expression "piVar17[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(piVar17 + 8) = 0;" (assignment_expression "*(undefined1 *)(piVar17 + 8) = 0" (pointer_expression "*(undefined1 *)(piVar17 + 8)" * (cast_expression "(undefined1 *)(piVar17 + 8)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar17 + 8)" ( (binary_expression "piVar17 + 8" identifier + number_literal) )))) = number_literal) ;) })) (if_statement "if ((char)piVar17[0xd] == '\0') {\n            piVar17 = (int *)piVar17[0x10];\n          }\n          else {\n            (*pcVar9)(piVar17[0xc]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[0xc] = 0;\n            *(undefined1 *)(piVar17 + 0xd) = 0;\n            piVar17 = (int *)piVar17[0x10];\n          }" if (parenthesized_expression "((char)piVar17[0xd] == '\0')" ( (binary_expression "(char)piVar17[0xd] == '\0'" (cast_expression "(char)piVar17[0xd]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "piVar17[0xd]" identifier [ number_literal ])) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            piVar17 = (int *)piVar17[0x10];\n          }" { (expression_statement "piVar17 = (int *)piVar17[0x10];" (assignment_expression "piVar17 = (int *)piVar17[0x10]" identifier = (cast_expression "(int *)piVar17[0x10]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar17[0x10]" identifier [ number_literal ]))) ;) }) (else_clause "else {\n            (*pcVar9)(piVar17[0xc]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[0xc] = 0;\n            *(undefined1 *)(piVar17 + 0xd) = 0;\n            piVar17 = (int *)piVar17[0x10];\n          }" else (compound_statement "{\n            (*pcVar9)(piVar17[0xc]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[0xc] = 0;\n            *(undefined1 *)(piVar17 + 0xd) = 0;\n            piVar17 = (int *)piVar17[0x10];\n          }" { (expression_statement "(*pcVar9)(piVar17[0xc]);" (call_expression "(*pcVar9)(piVar17[0xc])" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "(piVar17[0xc])" ( (subscript_expression "piVar17[0xc]" identifier [ number_literal ]) ))) ;) (expression_statement "pcVar9 = *(code **)pbVar1;" (assignment_expression "pcVar9 = *(code **)pbVar1" identifier = (pointer_expression "*(code **)pbVar1" * (cast_expression "(code **)pbVar1" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "piVar17[0xc] = 0;" (assignment_expression "piVar17[0xc] = 0" (subscript_expression "piVar17[0xc]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(piVar17 + 0xd) = 0;" (assignment_expression "*(undefined1 *)(piVar17 + 0xd) = 0" (pointer_expression "*(undefined1 *)(piVar17 + 0xd)" * (cast_expression "(undefined1 *)(piVar17 + 0xd)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar17 + 0xd)" ( (binary_expression "piVar17 + 0xd" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar17 = (int *)piVar17[0x10];" (assignment_expression "piVar17 = (int *)piVar17[0x10]" identifier = (cast_expression "(int *)piVar17[0x10]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar17[0x10]" identifier [ number_literal ]))) ;) }))) }) while (parenthesized_expression "(piVar17 != (int *)0x0)" ( (binary_expression "piVar17 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (goto_statement "goto LAB_0001d97c;" goto statement_identifier ;) })) (if_statement "if (((uVar15 & 0x11) != 0) && (piVar17[7] == 0)) {\n        if ((uVar15 & 0x10) == 0) {\n          iVar14 = piVar17[3];\n        }\n        else {\n          iVar14 = piVar17[0xc];\n        }\n        iVar14 = FUN_0006e8e0(iVar14);\n        if ((iVar14 == 0) && (iVar14 = unaff_EBP + 0x65cc6, local_28 != 0)) {\n          iVar14 = local_28;\n        }\n        iVar14 = (**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f1))(iVar14);\n        piVar17[7] = iVar14;\n        if (iVar14 != 0) {\n          *(undefined1 *)(piVar17 + 8) = 1;\n          __s = (char *)*piVar17;\n          goto LAB_0001ddc4;\n        }\nLAB_0001e016:\n        uVar8 = 1;\n        goto LAB_0001df65;\n      }" if (parenthesized_expression "(((uVar15 & 0x11) != 0) && (piVar17[7] == 0))" ( (binary_expression "((uVar15 & 0x11) != 0) && (piVar17[7] == 0)" (parenthesized_expression "((uVar15 & 0x11) != 0)" ( (binary_expression "(uVar15 & 0x11) != 0" (parenthesized_expression "(uVar15 & 0x11)" ( (binary_expression "uVar15 & 0x11" identifier & number_literal) )) != number_literal) )) && (parenthesized_expression "(piVar17[7] == 0)" ( (binary_expression "piVar17[7] == 0" (subscript_expression "piVar17[7]" identifier [ number_literal ]) == number_literal) ))) )) (compound_statement "{\n        if ((uVar15 & 0x10) == 0) {\n          iVar14 = piVar17[3];\n        }\n        else {\n          iVar14 = piVar17[0xc];\n        }\n        iVar14 = FUN_0006e8e0(iVar14);\n        if ((iVar14 == 0) && (iVar14 = unaff_EBP + 0x65cc6, local_28 != 0)) {\n          iVar14 = local_28;\n        }\n        iVar14 = (**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f1))(iVar14);\n        piVar17[7] = iVar14;\n        if (iVar14 != 0) {\n          *(undefined1 *)(piVar17 + 8) = 1;\n          __s = (char *)*piVar17;\n          goto LAB_0001ddc4;\n        }\nLAB_0001e016:\n        uVar8 = 1;\n        goto LAB_0001df65;\n      }" { (if_statement "if ((uVar15 & 0x10) == 0) {\n          iVar14 = piVar17[3];\n        }\n        else {\n          iVar14 = piVar17[0xc];\n        }" if (parenthesized_expression "((uVar15 & 0x10) == 0)" ( (binary_expression "(uVar15 & 0x10) == 0" (parenthesized_expression "(uVar15 & 0x10)" ( (binary_expression "uVar15 & 0x10" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n          iVar14 = piVar17[3];\n        }" { (expression_statement "iVar14 = piVar17[3];" (assignment_expression "iVar14 = piVar17[3]" identifier = (subscript_expression "piVar17[3]" identifier [ number_literal ])) ;) }) (else_clause "else {\n          iVar14 = piVar17[0xc];\n        }" else (compound_statement "{\n          iVar14 = piVar17[0xc];\n        }" { (expression_statement "iVar14 = piVar17[0xc];" (assignment_expression "iVar14 = piVar17[0xc]" identifier = (subscript_expression "piVar17[0xc]" identifier [ number_literal ])) ;) }))) (expression_statement "iVar14 = FUN_0006e8e0(iVar14);" (assignment_expression "iVar14 = FUN_0006e8e0(iVar14)" identifier = (call_expression "FUN_0006e8e0(iVar14)" identifier (argument_list "(iVar14)" ( identifier )))) ;) (if_statement "if ((iVar14 == 0) && (iVar14 = unaff_EBP + 0x65cc6, local_28 != 0)) {\n          iVar14 = local_28;\n        }" if (parenthesized_expression "((iVar14 == 0) && (iVar14 = unaff_EBP + 0x65cc6, local_28 != 0))" ( (binary_expression "(iVar14 == 0) && (iVar14 = unaff_EBP + 0x65cc6, local_28 != 0)" (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) && (parenthesized_expression "(iVar14 = unaff_EBP + 0x65cc6, local_28 != 0)" ( (comma_expression "iVar14 = unaff_EBP + 0x65cc6, local_28 != 0" (assignment_expression "iVar14 = unaff_EBP + 0x65cc6" identifier = (binary_expression "unaff_EBP + 0x65cc6" identifier + number_literal)) , (binary_expression "local_28 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n          iVar14 = local_28;\n        }" { (expression_statement "iVar14 = local_28;" (assignment_expression "iVar14 = local_28" identifier = identifier) ;) })) (expression_statement "iVar14 = (**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f1))(iVar14);" (assignment_expression "iVar14 = (**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f1))(iVar14)" identifier = (call_expression "(**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f1))(iVar14)" (parenthesized_expression "(**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f1))" ( (pointer_expression "**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f1)" * (pointer_expression "*(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f1)" * (cast_expression "(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f1)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f1)" ( (binary_expression "BYTE_ARRAY_0009905d + unaff_EBP + 0x7f1" (binary_expression "BYTE_ARRAY_0009905d + unaff_EBP" identifier + identifier) + number_literal) ))))) )) (argument_list "(iVar14)" ( identifier )))) ;) (expression_statement "piVar17[7] = iVar14;" (assignment_expression "piVar17[7] = iVar14" (subscript_expression "piVar17[7]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar14 != 0) {\n          *(undefined1 *)(piVar17 + 8) = 1;\n          __s = (char *)*piVar17;\n          goto LAB_0001ddc4;\n        }" if (parenthesized_expression "(iVar14 != 0)" ( (binary_expression "iVar14 != 0" identifier != number_literal) )) (compound_statement "{\n          *(undefined1 *)(piVar17 + 8) = 1;\n          __s = (char *)*piVar17;\n          goto LAB_0001ddc4;\n        }" { (expression_statement "*(undefined1 *)(piVar17 + 8) = 1;" (assignment_expression "*(undefined1 *)(piVar17 + 8) = 1" (pointer_expression "*(undefined1 *)(piVar17 + 8)" * (cast_expression "(undefined1 *)(piVar17 + 8)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar17 + 8)" ( (binary_expression "piVar17 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "__s = (char *)*piVar17;" (assignment_expression "__s = (char *)*piVar17" identifier = (cast_expression "(char *)*piVar17" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar17" * identifier))) ;) (goto_statement "goto LAB_0001ddc4;" goto statement_identifier ;) })) (labeled_statement "LAB_0001e016:\n        uVar8 = 1;" statement_identifier : (expression_statement "uVar8 = 1;" (assignment_expression "uVar8 = 1" identifier = number_literal) ;)) (goto_statement "goto LAB_0001df65;" goto statement_identifier ;) })) (labeled_statement "LAB_0001ddc4:\n      if (__s == (char *)0x0) {\n        uVar15 = piVar17[9];\n        if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e016;\n      }\n      else {\n        iVar14 = piVar17[2];\n        if (iVar14 == 0) {\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) {\n            sVar10 = strlen(__s);\n            iVar14 = sVar10 + 1;\nLAB_0001e0cf:\n            __s = (char *)FUN_00050160(__s,iVar14);\n            *piVar17 = (int)__s;\n            if (__s == (char *)0x0) goto LAB_0001e016;\n            *(undefined1 *)(piVar17 + 1) = 1;\n            uVar15 = piVar17[9];\n          }\n        }\n        else {\n          if (*__s == '\0') {\nLAB_0001e140:\n            uVar8 = 3;\n            goto LAB_0001df65;\n          }\n          pcVar16 = __s;\n          while (pcVar16 = pcVar16 + 1, __s + iVar14 != pcVar16) {\n            if (*pcVar16 == '\0') goto LAB_0001e140;\n          }\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e0cf;\n        }\n      }" statement_identifier : (if_statement "if (__s == (char *)0x0) {\n        uVar15 = piVar17[9];\n        if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e016;\n      }\n      else {\n        iVar14 = piVar17[2];\n        if (iVar14 == 0) {\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) {\n            sVar10 = strlen(__s);\n            iVar14 = sVar10 + 1;\nLAB_0001e0cf:\n            __s = (char *)FUN_00050160(__s,iVar14);\n            *piVar17 = (int)__s;\n            if (__s == (char *)0x0) goto LAB_0001e016;\n            *(undefined1 *)(piVar17 + 1) = 1;\n            uVar15 = piVar17[9];\n          }\n        }\n        else {\n          if (*__s == '\0') {\nLAB_0001e140:\n            uVar8 = 3;\n            goto LAB_0001df65;\n          }\n          pcVar16 = __s;\n          while (pcVar16 = pcVar16 + 1, __s + iVar14 != pcVar16) {\n            if (*pcVar16 == '\0') goto LAB_0001e140;\n          }\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e0cf;\n        }\n      }" if (parenthesized_expression "(__s == (char *)0x0)" ( (binary_expression "__s == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        uVar15 = piVar17[9];\n        if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e016;\n      }" { (expression_statement "uVar15 = piVar17[9];" (assignment_expression "uVar15 = piVar17[9]" identifier = (subscript_expression "piVar17[9]" identifier [ number_literal ])) ;) (if_statement "if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e016;" if (parenthesized_expression "(((uVar15 & 4) == 0) && (piVar7 == piVar17))" ( (binary_expression "((uVar15 & 4) == 0) && (piVar7 == piVar17)" (parenthesized_expression "((uVar15 & 4) == 0)" ( (binary_expression "(uVar15 & 4) == 0" (parenthesized_expression "(uVar15 & 4)" ( (binary_expression "uVar15 & 4" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "(piVar7 == piVar17)" ( (binary_expression "piVar7 == piVar17" identifier == identifier) ))) )) (goto_statement "goto LAB_0001e016;" goto statement_identifier ;)) }) (else_clause "else {\n        iVar14 = piVar17[2];\n        if (iVar14 == 0) {\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) {\n            sVar10 = strlen(__s);\n            iVar14 = sVar10 + 1;\nLAB_0001e0cf:\n            __s = (char *)FUN_00050160(__s,iVar14);\n            *piVar17 = (int)__s;\n            if (__s == (char *)0x0) goto LAB_0001e016;\n            *(undefined1 *)(piVar17 + 1) = 1;\n            uVar15 = piVar17[9];\n          }\n        }\n        else {\n          if (*__s == '\0') {\nLAB_0001e140:\n            uVar8 = 3;\n            goto LAB_0001df65;\n          }\n          pcVar16 = __s;\n          while (pcVar16 = pcVar16 + 1, __s + iVar14 != pcVar16) {\n            if (*pcVar16 == '\0') goto LAB_0001e140;\n          }\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e0cf;\n        }\n      }" else (compound_statement "{\n        iVar14 = piVar17[2];\n        if (iVar14 == 0) {\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) {\n            sVar10 = strlen(__s);\n            iVar14 = sVar10 + 1;\nLAB_0001e0cf:\n            __s = (char *)FUN_00050160(__s,iVar14);\n            *piVar17 = (int)__s;\n            if (__s == (char *)0x0) goto LAB_0001e016;\n            *(undefined1 *)(piVar17 + 1) = 1;\n            uVar15 = piVar17[9];\n          }\n        }\n        else {\n          if (*__s == '\0') {\nLAB_0001e140:\n            uVar8 = 3;\n            goto LAB_0001df65;\n          }\n          pcVar16 = __s;\n          while (pcVar16 = pcVar16 + 1, __s + iVar14 != pcVar16) {\n            if (*pcVar16 == '\0') goto LAB_0001e140;\n          }\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e0cf;\n        }\n      }" { (expression_statement "iVar14 = piVar17[2];" (assignment_expression "iVar14 = piVar17[2]" identifier = (subscript_expression "piVar17[2]" identifier [ number_literal ])) ;) (if_statement "if (iVar14 == 0) {\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) {\n            sVar10 = strlen(__s);\n            iVar14 = sVar10 + 1;\nLAB_0001e0cf:\n            __s = (char *)FUN_00050160(__s,iVar14);\n            *piVar17 = (int)__s;\n            if (__s == (char *)0x0) goto LAB_0001e016;\n            *(undefined1 *)(piVar17 + 1) = 1;\n            uVar15 = piVar17[9];\n          }\n        }\n        else {\n          if (*__s == '\0') {\nLAB_0001e140:\n            uVar8 = 3;\n            goto LAB_0001df65;\n          }\n          pcVar16 = __s;\n          while (pcVar16 = pcVar16 + 1, __s + iVar14 != pcVar16) {\n            if (*pcVar16 == '\0') goto LAB_0001e140;\n          }\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e0cf;\n        }" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (compound_statement "{\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) {\n            sVar10 = strlen(__s);\n            iVar14 = sVar10 + 1;\nLAB_0001e0cf:\n            __s = (char *)FUN_00050160(__s,iVar14);\n            *piVar17 = (int)__s;\n            if (__s == (char *)0x0) goto LAB_0001e016;\n            *(undefined1 *)(piVar17 + 1) = 1;\n            uVar15 = piVar17[9];\n          }\n        }" { (expression_statement "uVar15 = piVar17[9];" (assignment_expression "uVar15 = piVar17[9]" identifier = (subscript_expression "piVar17[9]" identifier [ number_literal ])) ;) (if_statement "if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) {\n            sVar10 = strlen(__s);\n            iVar14 = sVar10 + 1;\nLAB_0001e0cf:\n            __s = (char *)FUN_00050160(__s,iVar14);\n            *piVar17 = (int)__s;\n            if (__s == (char *)0x0) goto LAB_0001e016;\n            *(undefined1 *)(piVar17 + 1) = 1;\n            uVar15 = piVar17[9];\n          }" if (parenthesized_expression "(((uVar15 & 4) == 0) && (piVar7 == piVar17))" ( (binary_expression "((uVar15 & 4) == 0) && (piVar7 == piVar17)" (parenthesized_expression "((uVar15 & 4) == 0)" ( (binary_expression "(uVar15 & 4) == 0" (parenthesized_expression "(uVar15 & 4)" ( (binary_expression "uVar15 & 4" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "(piVar7 == piVar17)" ( (binary_expression "piVar7 == piVar17" identifier == identifier) ))) )) (compound_statement "{\n            sVar10 = strlen(__s);\n            iVar14 = sVar10 + 1;\nLAB_0001e0cf:\n            __s = (char *)FUN_00050160(__s,iVar14);\n            *piVar17 = (int)__s;\n            if (__s == (char *)0x0) goto LAB_0001e016;\n            *(undefined1 *)(piVar17 + 1) = 1;\n            uVar15 = piVar17[9];\n          }" { (expression_statement "sVar10 = strlen(__s);" (assignment_expression "sVar10 = strlen(__s)" identifier = (call_expression "strlen(__s)" identifier (argument_list "(__s)" ( identifier )))) ;) (expression_statement "iVar14 = sVar10 + 1;" (assignment_expression "iVar14 = sVar10 + 1" identifier = (binary_expression "sVar10 + 1" identifier + number_literal)) ;) (labeled_statement "LAB_0001e0cf:\n            __s = (char *)FUN_00050160(__s,iVar14);" statement_identifier : (expression_statement "__s = (char *)FUN_00050160(__s,iVar14);" (assignment_expression "__s = (char *)FUN_00050160(__s,iVar14)" identifier = (cast_expression "(char *)FUN_00050160(__s,iVar14)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00050160(__s,iVar14)" identifier (argument_list "(__s,iVar14)" ( identifier , identifier ))))) ;)) (expression_statement "*piVar17 = (int)__s;" (assignment_expression "*piVar17 = (int)__s" (pointer_expression "*piVar17" * identifier) = (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (__s == (char *)0x0) goto LAB_0001e016;" if (parenthesized_expression "(__s == (char *)0x0)" ( (binary_expression "__s == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0001e016;" goto statement_identifier ;)) (expression_statement "*(undefined1 *)(piVar17 + 1) = 1;" (assignment_expression "*(undefined1 *)(piVar17 + 1) = 1" (pointer_expression "*(undefined1 *)(piVar17 + 1)" * (cast_expression "(undefined1 *)(piVar17 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar17 + 1)" ( (binary_expression "piVar17 + 1" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar15 = piVar17[9];" (assignment_expression "uVar15 = piVar17[9]" identifier = (subscript_expression "piVar17[9]" identifier [ number_literal ])) ;) })) }) (else_clause "else {\n          if (*__s == '\0') {\nLAB_0001e140:\n            uVar8 = 3;\n            goto LAB_0001df65;\n          }\n          pcVar16 = __s;\n          while (pcVar16 = pcVar16 + 1, __s + iVar14 != pcVar16) {\n            if (*pcVar16 == '\0') goto LAB_0001e140;\n          }\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e0cf;\n        }" else (compound_statement "{\n          if (*__s == '\0') {\nLAB_0001e140:\n            uVar8 = 3;\n            goto LAB_0001df65;\n          }\n          pcVar16 = __s;\n          while (pcVar16 = pcVar16 + 1, __s + iVar14 != pcVar16) {\n            if (*pcVar16 == '\0') goto LAB_0001e140;\n          }\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e0cf;\n        }" { (if_statement "if (*__s == '\0') {\nLAB_0001e140:\n            uVar8 = 3;\n            goto LAB_0001df65;\n          }" if (parenthesized_expression "(*__s == '\0')" ( (binary_expression "*__s == '\0'" (pointer_expression "*__s" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0001e140:\n            uVar8 = 3;\n            goto LAB_0001df65;\n          }" { (labeled_statement "LAB_0001e140:\n            uVar8 = 3;" statement_identifier : (expression_statement "uVar8 = 3;" (assignment_expression "uVar8 = 3" identifier = number_literal) ;)) (goto_statement "goto LAB_0001df65;" goto statement_identifier ;) })) (expression_statement "pcVar16 = __s;" (assignment_expression "pcVar16 = __s" identifier = identifier) ;) (while_statement "while (pcVar16 = pcVar16 + 1, __s + iVar14 != pcVar16) {\n            if (*pcVar16 == '\0') goto LAB_0001e140;\n          }" while (parenthesized_expression "(pcVar16 = pcVar16 + 1, __s + iVar14 != pcVar16)" ( (comma_expression "pcVar16 = pcVar16 + 1, __s + iVar14 != pcVar16" (assignment_expression "pcVar16 = pcVar16 + 1" identifier = (binary_expression "pcVar16 + 1" identifier + number_literal)) , (binary_expression "__s + iVar14 != pcVar16" (binary_expression "__s + iVar14" identifier + identifier) != identifier)) )) (compound_statement "{\n            if (*pcVar16 == '\0') goto LAB_0001e140;\n          }" { (if_statement "if (*pcVar16 == '\0') goto LAB_0001e140;" if (parenthesized_expression "(*pcVar16 == '\0')" ( (binary_expression "*pcVar16 == '\0'" (pointer_expression "*pcVar16" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0001e140;" goto statement_identifier ;)) })) (expression_statement "uVar15 = piVar17[9];" (assignment_expression "uVar15 = piVar17[9]" identifier = (subscript_expression "piVar17[9]" identifier [ number_literal ])) ;) (if_statement "if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e0cf;" if (parenthesized_expression "(((uVar15 & 4) == 0) && (piVar7 == piVar17))" ( (binary_expression "((uVar15 & 4) == 0) && (piVar7 == piVar17)" (parenthesized_expression "((uVar15 & 4) == 0)" ( (binary_expression "(uVar15 & 4) == 0" (parenthesized_expression "(uVar15 & 4)" ( (binary_expression "uVar15 & 4" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "(piVar7 == piVar17)" ( (binary_expression "piVar7 == piVar17" identifier == identifier) ))) )) (goto_statement "goto LAB_0001e0cf;" goto statement_identifier ;)) }))) })))) (expression_statement "local_60 = (char *)piVar17[3];" (assignment_expression "local_60 = (char *)piVar17[3]" identifier = (cast_expression "(char *)piVar17[3]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar17[3]" identifier [ number_literal ]))) ;) (expression_statement "local_54 = piVar17[5];" (assignment_expression "local_54 = piVar17[5]" identifier = (subscript_expression "piVar17[5]" identifier [ number_literal ])) ;) (expression_statement "local_50 = piVar17[6];" (assignment_expression "local_50 = piVar17[6]" identifier = (subscript_expression "piVar17[6]" identifier [ number_literal ])) ;) (if_statement "if (((uVar15 & 0x6b) == 0) && (local_60 != (char *)0x0)) {\n        if (local_54 == 0) {\n          sVar10 = strlen(local_60);\n          local_54 = sVar10 + 1;\n        }\n        local_60 = (char *)FUN_00050160(local_60,local_54);\n        piVar17[3] = (int)local_60;\n        if (local_60 == (char *)0x0) goto LAB_0001e016;\n        local_54 = piVar17[5];\n        uVar15 = piVar17[9];\n        *(undefined1 *)(piVar17 + 4) = 1;\n        __s = (char *)*piVar17;\n        local_50 = piVar17[6];\n      }" if (parenthesized_expression "(((uVar15 & 0x6b) == 0) && (local_60 != (char *)0x0))" ( (binary_expression "((uVar15 & 0x6b) == 0) && (local_60 != (char *)0x0)" (parenthesized_expression "((uVar15 & 0x6b) == 0)" ( (binary_expression "(uVar15 & 0x6b) == 0" (parenthesized_expression "(uVar15 & 0x6b)" ( (binary_expression "uVar15 & 0x6b" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "(local_60 != (char *)0x0)" ( (binary_expression "local_60 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n        if (local_54 == 0) {\n          sVar10 = strlen(local_60);\n          local_54 = sVar10 + 1;\n        }\n        local_60 = (char *)FUN_00050160(local_60,local_54);\n        piVar17[3] = (int)local_60;\n        if (local_60 == (char *)0x0) goto LAB_0001e016;\n        local_54 = piVar17[5];\n        uVar15 = piVar17[9];\n        *(undefined1 *)(piVar17 + 4) = 1;\n        __s = (char *)*piVar17;\n        local_50 = piVar17[6];\n      }" { (if_statement "if (local_54 == 0) {\n          sVar10 = strlen(local_60);\n          local_54 = sVar10 + 1;\n        }" if (parenthesized_expression "(local_54 == 0)" ( (binary_expression "local_54 == 0" identifier == number_literal) )) (compound_statement "{\n          sVar10 = strlen(local_60);\n          local_54 = sVar10 + 1;\n        }" { (expression_statement "sVar10 = strlen(local_60);" (assignment_expression "sVar10 = strlen(local_60)" identifier = (call_expression "strlen(local_60)" identifier (argument_list "(local_60)" ( identifier )))) ;) (expression_statement "local_54 = sVar10 + 1;" (assignment_expression "local_54 = sVar10 + 1" identifier = (binary_expression "sVar10 + 1" identifier + number_literal)) ;) })) (expression_statement "local_60 = (char *)FUN_00050160(local_60,local_54);" (assignment_expression "local_60 = (char *)FUN_00050160(local_60,local_54)" identifier = (cast_expression "(char *)FUN_00050160(local_60,local_54)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00050160(local_60,local_54)" identifier (argument_list "(local_60,local_54)" ( identifier , identifier ))))) ;) (expression_statement "piVar17[3] = (int)local_60;" (assignment_expression "piVar17[3] = (int)local_60" (subscript_expression "piVar17[3]" identifier [ number_literal ]) = (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (local_60 == (char *)0x0) goto LAB_0001e016;" if (parenthesized_expression "(local_60 == (char *)0x0)" ( (binary_expression "local_60 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0001e016;" goto statement_identifier ;)) (expression_statement "local_54 = piVar17[5];" (assignment_expression "local_54 = piVar17[5]" identifier = (subscript_expression "piVar17[5]" identifier [ number_literal ])) ;) (expression_statement "uVar15 = piVar17[9];" (assignment_expression "uVar15 = piVar17[9]" identifier = (subscript_expression "piVar17[9]" identifier [ number_literal ])) ;) (expression_statement "*(undefined1 *)(piVar17 + 4) = 1;" (assignment_expression "*(undefined1 *)(piVar17 + 4) = 1" (pointer_expression "*(undefined1 *)(piVar17 + 4)" * (cast_expression "(undefined1 *)(piVar17 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar17 + 4)" ( (binary_expression "piVar17 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "__s = (char *)*piVar17;" (assignment_expression "__s = (char *)*piVar17" identifier = (cast_expression "(char *)*piVar17" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar17" * identifier))) ;) (expression_statement "local_50 = piVar17[6];" (assignment_expression "local_50 = piVar17[6]" identifier = (subscript_expression "piVar17[6]" identifier [ number_literal ])) ;) })) (expression_statement "iVar14 = piVar17[0xe];" (assignment_expression "iVar14 = piVar17[0xe]" identifier = (subscript_expression "piVar17[0xe]" identifier [ number_literal ])) ;) (expression_statement "sVar10 = piVar17[2];" (assignment_expression "sVar10 = piVar17[2]" identifier = (subscript_expression "piVar17[2]" identifier [ number_literal ])) ;) (expression_statement "iVar2 = piVar17[0xc];" (assignment_expression "iVar2 = piVar17[0xc]" identifier = (subscript_expression "piVar17[0xc]" identifier [ number_literal ])) ;) (expression_statement "iVar3 = piVar17[0xf];" (assignment_expression "iVar3 = piVar17[0xf]" identifier = (subscript_expression "piVar17[0xf]" identifier [ number_literal ])) ;) (expression_statement "iVar4 = piVar17[7];" (assignment_expression "iVar4 = piVar17[7]" identifier = (subscript_expression "piVar17[7]" identifier [ number_literal ])) ;) (expression_statement "iVar5 = piVar17[0xb];" (assignment_expression "iVar5 = piVar17[0xb]" identifier = (subscript_expression "piVar17[0xb]" identifier [ number_literal ])) ;) (expression_statement "iVar6 = piVar17[10];" (assignment_expression "iVar6 = piVar17[10]" identifier = (subscript_expression "piVar17[10]" identifier [ number_literal ])) ;) (expression_statement "iVar11 = (**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed))(1,0x3c);" (assignment_expression "iVar11 = (**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed))(1,0x3c)" identifier = (call_expression "(**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed))(1,0x3c)" (parenthesized_expression "(**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed))" ( (pointer_expression "**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed)" * (pointer_expression "*(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed)" * (cast_expression "(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed)" ( (binary_expression "BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed" (binary_expression "BYTE_ARRAY_0009905d + unaff_EBP" identifier + identifier) + number_literal) ))))) )) (argument_list "(1,0x3c)" ( number_literal , number_literal )))) ;) (if_statement "if (iVar11 == 0) goto LAB_0001e016;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001e016;" goto statement_identifier ;)) (expression_statement "*(char **)(iVar11 + 4) = __s;" (assignment_expression "*(char **)(iVar11 + 4) = __s" (pointer_expression "*(char **)(iVar11 + 4)" * (cast_expression "(char **)(iVar11 + 4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar11 + 4)" ( (binary_expression "iVar11 + 4" identifier + number_literal) )))) = identifier) ;) (expression_statement "sVar12 = 0;" (assignment_expression "sVar12 = 0" identifier = number_literal) ;) (if_statement "if ((__s != (char *)0x0) && (sVar12 = sVar10, sVar10 == 0)) {\n        sVar12 = strlen(__s);\n      }" if (parenthesized_expression "((__s != (char *)0x0) && (sVar12 = sVar10, sVar10 == 0))" ( (binary_expression "(__s != (char *)0x0) && (sVar12 = sVar10, sVar10 == 0)" (parenthesized_expression "(__s != (char *)0x0)" ( (binary_expression "__s != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(sVar12 = sVar10, sVar10 == 0)" ( (comma_expression "sVar12 = sVar10, sVar10 == 0" (assignment_expression "sVar12 = sVar10" identifier = identifier) , (binary_expression "sVar10 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n        sVar12 = strlen(__s);\n      }" { (expression_statement "sVar12 = strlen(__s);" (assignment_expression "sVar12 = strlen(__s)" identifier = (call_expression "strlen(__s)" identifier (argument_list "(__s)" ( identifier )))) ;) })) (expression_statement "*(size_t *)(iVar11 + 8) = sVar12;" (assignment_expression "*(size_t *)(iVar11 + 8) = sVar12" (pointer_expression "*(size_t *)(iVar11 + 8)" * (cast_expression "(size_t *)(iVar11 + 8)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 8)" ( (binary_expression "iVar11 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char **)(iVar11 + 0xc) = local_60;" (assignment_expression "*(char **)(iVar11 + 0xc) = local_60" (pointer_expression "*(char **)(iVar11 + 0xc)" * (cast_expression "(char **)(iVar11 + 0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar11 + 0xc)" ( (binary_expression "iVar11 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar11 + 0x34) = local_54;" (assignment_expression "*(int *)(iVar11 + 0x34) = local_54" (pointer_expression "*(int *)(iVar11 + 0x34)" * (cast_expression "(int *)(iVar11 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x34)" ( (binary_expression "iVar11 + 0x34" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar11 + 0x38) = local_50;" (assignment_expression "*(int *)(iVar11 + 0x38) = local_50" (pointer_expression "*(int *)(iVar11 + 0x38)" * (cast_expression "(int *)(iVar11 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x38)" ( (binary_expression "iVar11 + 0x38" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar11 + 0x14) = iVar6;" (assignment_expression "*(int *)(iVar11 + 0x14) = iVar6" (pointer_expression "*(int *)(iVar11 + 0x14)" * (cast_expression "(int *)(iVar11 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x14)" ( (binary_expression "iVar11 + 0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar11 + 0x18) = iVar5;" (assignment_expression "*(int *)(iVar11 + 0x18) = iVar5" (pointer_expression "*(int *)(iVar11 + 0x18)" * (cast_expression "(int *)(iVar11 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x18)" ( (binary_expression "iVar11 + 0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar11 + 0x1c) = iVar4;" (assignment_expression "*(int *)(iVar11 + 0x1c) = iVar4" (pointer_expression "*(int *)(iVar11 + 0x1c)" * (cast_expression "(int *)(iVar11 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x1c)" ( (binary_expression "iVar11 + 0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar11 + 0x20) = iVar3;" (assignment_expression "*(int *)(iVar11 + 0x20) = iVar3" (pointer_expression "*(int *)(iVar11 + 0x20)" * (cast_expression "(int *)(iVar11 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x20)" ( (binary_expression "iVar11 + 0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar11 + 0x2c) = iVar2;" (assignment_expression "*(int *)(iVar11 + 0x2c) = iVar2" (pointer_expression "*(int *)(iVar11 + 0x2c)" * (cast_expression "(int *)(iVar11 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x2c)" ( (binary_expression "iVar11 + 0x2c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar11 + 0x30) = iVar14;" (assignment_expression "*(int *)(iVar11 + 0x30) = iVar14" (pointer_expression "*(int *)(iVar11 + 0x30)" * (cast_expression "(int *)(iVar11 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x30)" ( (binary_expression "iVar11 + 0x30" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(iVar11 + 0x28) = uVar15 | 0x80;" (assignment_expression "*(uint *)(iVar11 + 0x28) = uVar15 | 0x80" (pointer_expression "*(uint *)(iVar11 + 0x28)" * (cast_expression "(uint *)(iVar11 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x28)" ( (binary_expression "iVar11 + 0x28" identifier + number_literal) )))) = (binary_expression "uVar15 | 0x80" identifier | number_literal)) ;) (if_statement "if (local_5c == 0) {\n        piVar13 = (int *)*param_2;\n        if ((int *)*param_2 == (int *)0x0) {\n          piVar13 = param_1;\n        }\n        *piVar13 = iVar11;\n        *param_2 = iVar11;\n      }\n      else {\n        *(undefined4 *)(iVar11 + 0x24) = *(undefined4 *)(local_5c + 0x24);\n        *(int *)(local_5c + 0x24) = iVar11;\n      }" if (parenthesized_expression "(local_5c == 0)" ( (binary_expression "local_5c == 0" identifier == number_literal) )) (compound_statement "{\n        piVar13 = (int *)*param_2;\n        if ((int *)*param_2 == (int *)0x0) {\n          piVar13 = param_1;\n        }\n        *piVar13 = iVar11;\n        *param_2 = iVar11;\n      }" { (expression_statement "piVar13 = (int *)*param_2;" (assignment_expression "piVar13 = (int *)*param_2" identifier = (cast_expression "(int *)*param_2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_2" * identifier))) ;) (if_statement "if ((int *)*param_2 == (int *)0x0) {\n          piVar13 = param_1;\n        }" if (parenthesized_expression "((int *)*param_2 == (int *)0x0)" ( (binary_expression "(int *)*param_2 == (int *)0x0" (cast_expression "(int *)*param_2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_2" * identifier)) == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          piVar13 = param_1;\n        }" { (expression_statement "piVar13 = param_1;" (assignment_expression "piVar13 = param_1" identifier = identifier) ;) })) (expression_statement "*piVar13 = iVar11;" (assignment_expression "*piVar13 = iVar11" (pointer_expression "*piVar13" * identifier) = identifier) ;) (expression_statement "*param_2 = iVar11;" (assignment_expression "*param_2 = iVar11" (pointer_expression "*param_2" * identifier) = identifier) ;) }) (else_clause "else {\n        *(undefined4 *)(iVar11 + 0x24) = *(undefined4 *)(local_5c + 0x24);\n        *(int *)(local_5c + 0x24) = iVar11;\n      }" else (compound_statement "{\n        *(undefined4 *)(iVar11 + 0x24) = *(undefined4 *)(local_5c + 0x24);\n        *(int *)(local_5c + 0x24) = iVar11;\n      }" { (expression_statement "*(undefined4 *)(iVar11 + 0x24) = *(undefined4 *)(local_5c + 0x24);" (assignment_expression "*(undefined4 *)(iVar11 + 0x24) = *(undefined4 *)(local_5c + 0x24)" (pointer_expression "*(undefined4 *)(iVar11 + 0x24)" * (cast_expression "(undefined4 *)(iVar11 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x24)" ( (binary_expression "iVar11 + 0x24" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(local_5c + 0x24)" * (cast_expression "(undefined4 *)(local_5c + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_5c + 0x24)" ( (binary_expression "local_5c + 0x24" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(local_5c + 0x24) = iVar11;" (assignment_expression "*(int *)(local_5c + 0x24) = iVar11" (pointer_expression "*(int *)(local_5c + 0x24)" * (cast_expression "(int *)(local_5c + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_5c + 0x24)" ( (binary_expression "local_5c + 0x24" identifier + number_literal) )))) = identifier) ;) }))) (expression_statement "piVar13 = piVar17 + 7;" (assignment_expression "piVar13 = piVar17 + 7" identifier = (binary_expression "piVar17 + 7" identifier + number_literal)) ;) (expression_statement "piVar17 = (int *)piVar17[0x10];" (assignment_expression "piVar17 = (int *)piVar17[0x10]" identifier = (cast_expression "(int *)piVar17[0x10]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar17[0x10]" identifier [ number_literal ]))) ;) (expression_statement "local_5c = iVar11;" (assignment_expression "local_5c = iVar11" identifier = identifier) ;) (if_statement "if (*piVar13 == 0) {\n        if (piVar17 == (int *)0x0) break;\n        goto LAB_0001df4a;\n      }" if (parenthesized_expression "(*piVar13 == 0)" ( (binary_expression "*piVar13 == 0" (pointer_expression "*piVar13" * identifier) == number_literal) )) (compound_statement "{\n        if (piVar17 == (int *)0x0) break;\n        goto LAB_0001df4a;\n      }" { (if_statement "if (piVar17 == (int *)0x0) break;" if (parenthesized_expression "(piVar17 == (int *)0x0)" ( (binary_expression "piVar17 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (goto_statement "goto LAB_0001df4a;" goto statement_identifier ;) })) (expression_statement "local_28 = *piVar13;" (assignment_expression "local_28 = *piVar13" identifier = (pointer_expression "*piVar13" * identifier)) ;) }) while (parenthesized_expression "(piVar17 != (int *)0x0)" ( (binary_expression "piVar17 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;)) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) (expression_statement "pcVar9 = *(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9);" (assignment_expression "pcVar9 = *(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9)" identifier = (pointer_expression "*(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9)" * (cast_expression "(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9)" ( (binary_expression "BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9" (binary_expression "BYTE_ARRAY_0009905d + unaff_EBP" identifier + identifier) + number_literal) ))))) ;) }) (else_clause "else {\n    if (param_3 < 0x15) {\n                    /* WARNING: Could not recover jumptable at 0x0001d8b7. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      uVar8 = (*(code *)(*(int *)(unaff_EBP + 0x65cf6 + param_3 * 4) + unaff_EBP + 0x98fca))();\n      return uVar8;\n    }\n    pbVar1 = BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9;\n    pcVar9 = *(code **)pbVar1;\n    uVar8 = 4;\n    piVar17 = piVar7;\n    do {\n      while( true ) {\n        if ((char)piVar17[1] != '\0') {\n          (*pcVar9)(*piVar17);\n          pcVar9 = *(code **)pbVar1;\n          *piVar17 = 0;\n          *(undefined1 *)(piVar17 + 1) = 0;\n        }\n        if ((char)piVar17[4] != '\0') {\n          (*pcVar9)(piVar17[3]);\n          pcVar9 = *(code **)pbVar1;\n          piVar17[3] = 0;\n          *(undefined1 *)(piVar17 + 4) = 0;\n        }\n        if ((char)piVar17[8] != '\0') {\n          (*pcVar9)(piVar17[7]);\n          pcVar9 = *(code **)pbVar1;\n          piVar17[7] = 0;\n          *(undefined1 *)(piVar17 + 8) = 0;\n        }\n        if ((char)piVar17[0xd] == '\0') break;\n        (*pcVar9)(piVar17[0xc]);\n        pcVar9 = *(code **)pbVar1;\n        piVar17[0xc] = 0;\n        *(undefined1 *)(piVar17 + 0xd) = 0;\n        piVar17 = (int *)piVar17[0x10];\n        if (piVar17 == (int *)0x0) goto LAB_0001d97c;\n      }\n      piVar17 = (int *)piVar17[0x10];\n    } while (piVar17 != (int *)0x0);\n  }" else (compound_statement "{\n    if (param_3 < 0x15) {\n                    /* WARNING: Could not recover jumptable at 0x0001d8b7. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      uVar8 = (*(code *)(*(int *)(unaff_EBP + 0x65cf6 + param_3 * 4) + unaff_EBP + 0x98fca))();\n      return uVar8;\n    }\n    pbVar1 = BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9;\n    pcVar9 = *(code **)pbVar1;\n    uVar8 = 4;\n    piVar17 = piVar7;\n    do {\n      while( true ) {\n        if ((char)piVar17[1] != '\0') {\n          (*pcVar9)(*piVar17);\n          pcVar9 = *(code **)pbVar1;\n          *piVar17 = 0;\n          *(undefined1 *)(piVar17 + 1) = 0;\n        }\n        if ((char)piVar17[4] != '\0') {\n          (*pcVar9)(piVar17[3]);\n          pcVar9 = *(code **)pbVar1;\n          piVar17[3] = 0;\n          *(undefined1 *)(piVar17 + 4) = 0;\n        }\n        if ((char)piVar17[8] != '\0') {\n          (*pcVar9)(piVar17[7]);\n          pcVar9 = *(code **)pbVar1;\n          piVar17[7] = 0;\n          *(undefined1 *)(piVar17 + 8) = 0;\n        }\n        if ((char)piVar17[0xd] == '\0') break;\n        (*pcVar9)(piVar17[0xc]);\n        pcVar9 = *(code **)pbVar1;\n        piVar17[0xc] = 0;\n        *(undefined1 *)(piVar17 + 0xd) = 0;\n        piVar17 = (int *)piVar17[0x10];\n        if (piVar17 == (int *)0x0) goto LAB_0001d97c;\n      }\n      piVar17 = (int *)piVar17[0x10];\n    } while (piVar17 != (int *)0x0);\n  }" { (if_statement "if (param_3 < 0x15) {\n                    /* WARNING: Could not recover jumptable at 0x0001d8b7. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      uVar8 = (*(code *)(*(int *)(unaff_EBP + 0x65cf6 + param_3 * 4) + unaff_EBP + 0x98fca))();\n      return uVar8;\n    }" if (parenthesized_expression "(param_3 < 0x15)" ( (binary_expression "param_3 < 0x15" identifier < number_literal) )) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x0001d8b7. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      uVar8 = (*(code *)(*(int *)(unaff_EBP + 0x65cf6 + param_3 * 4) + unaff_EBP + 0x98fca))();\n      return uVar8;\n    }" { comment comment (expression_statement "uVar8 = (*(code *)(*(int *)(unaff_EBP + 0x65cf6 + param_3 * 4) + unaff_EBP + 0x98fca))();" (assignment_expression "uVar8 = (*(code *)(*(int *)(unaff_EBP + 0x65cf6 + param_3 * 4) + unaff_EBP + 0x98fca))()" identifier = (call_expression "(*(code *)(*(int *)(unaff_EBP + 0x65cf6 + param_3 * 4) + unaff_EBP + 0x98fca))()" (parenthesized_expression "(*(code *)(*(int *)(unaff_EBP + 0x65cf6 + param_3 * 4) + unaff_EBP + 0x98fca))" ( (pointer_expression "*(code *)(*(int *)(unaff_EBP + 0x65cf6 + param_3 * 4) + unaff_EBP + 0x98fca)" * (cast_expression "(code *)(*(int *)(unaff_EBP + 0x65cf6 + param_3 * 4) + unaff_EBP + 0x98fca)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(unaff_EBP + 0x65cf6 + param_3 * 4) + unaff_EBP + 0x98fca)" ( (binary_expression "*(int *)(unaff_EBP + 0x65cf6 + param_3 * 4) + unaff_EBP + 0x98fca" (binary_expression "*(int *)(unaff_EBP + 0x65cf6 + param_3 * 4) + unaff_EBP" (pointer_expression "*(int *)(unaff_EBP + 0x65cf6 + param_3 * 4)" * (cast_expression "(int *)(unaff_EBP + 0x65cf6 + param_3 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x65cf6 + param_3 * 4)" ( (binary_expression "unaff_EBP + 0x65cf6 + param_3 * 4" (binary_expression "unaff_EBP + 0x65cf6" identifier + number_literal) + (binary_expression "param_3 * 4" identifier * number_literal)) )))) + identifier) + number_literal) )))) )) (argument_list "()" ( )))) ;) (return_statement "return uVar8;" return identifier ;) })) (expression_statement "pbVar1 = BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9;" (assignment_expression "pbVar1 = BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9" identifier = (binary_expression "BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9" (binary_expression "BYTE_ARRAY_0009905d + unaff_EBP" identifier + identifier) + number_literal)) ;) (expression_statement "pcVar9 = *(code **)pbVar1;" (assignment_expression "pcVar9 = *(code **)pbVar1" identifier = (pointer_expression "*(code **)pbVar1" * (cast_expression "(code **)pbVar1" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "uVar8 = 4;" (assignment_expression "uVar8 = 4" identifier = number_literal) ;) (expression_statement "piVar17 = piVar7;" (assignment_expression "piVar17 = piVar7" identifier = identifier) ;) (do_statement "do {\n      while( true ) {\n        if ((char)piVar17[1] != '\0') {\n          (*pcVar9)(*piVar17);\n          pcVar9 = *(code **)pbVar1;\n          *piVar17 = 0;\n          *(undefined1 *)(piVar17 + 1) = 0;\n        }\n        if ((char)piVar17[4] != '\0') {\n          (*pcVar9)(piVar17[3]);\n          pcVar9 = *(code **)pbVar1;\n          piVar17[3] = 0;\n          *(undefined1 *)(piVar17 + 4) = 0;\n        }\n        if ((char)piVar17[8] != '\0') {\n          (*pcVar9)(piVar17[7]);\n          pcVar9 = *(code **)pbVar1;\n          piVar17[7] = 0;\n          *(undefined1 *)(piVar17 + 8) = 0;\n        }\n        if ((char)piVar17[0xd] == '\0') break;\n        (*pcVar9)(piVar17[0xc]);\n        pcVar9 = *(code **)pbVar1;\n        piVar17[0xc] = 0;\n        *(undefined1 *)(piVar17 + 0xd) = 0;\n        piVar17 = (int *)piVar17[0x10];\n        if (piVar17 == (int *)0x0) goto LAB_0001d97c;\n      }\n      piVar17 = (int *)piVar17[0x10];\n    } while (piVar17 != (int *)0x0);" do (compound_statement "{\n      while( true ) {\n        if ((char)piVar17[1] != '\0') {\n          (*pcVar9)(*piVar17);\n          pcVar9 = *(code **)pbVar1;\n          *piVar17 = 0;\n          *(undefined1 *)(piVar17 + 1) = 0;\n        }\n        if ((char)piVar17[4] != '\0') {\n          (*pcVar9)(piVar17[3]);\n          pcVar9 = *(code **)pbVar1;\n          piVar17[3] = 0;\n          *(undefined1 *)(piVar17 + 4) = 0;\n        }\n        if ((char)piVar17[8] != '\0') {\n          (*pcVar9)(piVar17[7]);\n          pcVar9 = *(code **)pbVar1;\n          piVar17[7] = 0;\n          *(undefined1 *)(piVar17 + 8) = 0;\n        }\n        if ((char)piVar17[0xd] == '\0') break;\n        (*pcVar9)(piVar17[0xc]);\n        pcVar9 = *(code **)pbVar1;\n        piVar17[0xc] = 0;\n        *(undefined1 *)(piVar17 + 0xd) = 0;\n        piVar17 = (int *)piVar17[0x10];\n        if (piVar17 == (int *)0x0) goto LAB_0001d97c;\n      }\n      piVar17 = (int *)piVar17[0x10];\n    }" { (while_statement "while( true ) {\n        if ((char)piVar17[1] != '\0') {\n          (*pcVar9)(*piVar17);\n          pcVar9 = *(code **)pbVar1;\n          *piVar17 = 0;\n          *(undefined1 *)(piVar17 + 1) = 0;\n        }\n        if ((char)piVar17[4] != '\0') {\n          (*pcVar9)(piVar17[3]);\n          pcVar9 = *(code **)pbVar1;\n          piVar17[3] = 0;\n          *(undefined1 *)(piVar17 + 4) = 0;\n        }\n        if ((char)piVar17[8] != '\0') {\n          (*pcVar9)(piVar17[7]);\n          pcVar9 = *(code **)pbVar1;\n          piVar17[7] = 0;\n          *(undefined1 *)(piVar17 + 8) = 0;\n        }\n        if ((char)piVar17[0xd] == '\0') break;\n        (*pcVar9)(piVar17[0xc]);\n        pcVar9 = *(code **)pbVar1;\n        piVar17[0xc] = 0;\n        *(undefined1 *)(piVar17 + 0xd) = 0;\n        piVar17 = (int *)piVar17[0x10];\n        if (piVar17 == (int *)0x0) goto LAB_0001d97c;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        if ((char)piVar17[1] != '\0') {\n          (*pcVar9)(*piVar17);\n          pcVar9 = *(code **)pbVar1;\n          *piVar17 = 0;\n          *(undefined1 *)(piVar17 + 1) = 0;\n        }\n        if ((char)piVar17[4] != '\0') {\n          (*pcVar9)(piVar17[3]);\n          pcVar9 = *(code **)pbVar1;\n          piVar17[3] = 0;\n          *(undefined1 *)(piVar17 + 4) = 0;\n        }\n        if ((char)piVar17[8] != '\0') {\n          (*pcVar9)(piVar17[7]);\n          pcVar9 = *(code **)pbVar1;\n          piVar17[7] = 0;\n          *(undefined1 *)(piVar17 + 8) = 0;\n        }\n        if ((char)piVar17[0xd] == '\0') break;\n        (*pcVar9)(piVar17[0xc]);\n        pcVar9 = *(code **)pbVar1;\n        piVar17[0xc] = 0;\n        *(undefined1 *)(piVar17 + 0xd) = 0;\n        piVar17 = (int *)piVar17[0x10];\n        if (piVar17 == (int *)0x0) goto LAB_0001d97c;\n      }" { (if_statement "if ((char)piVar17[1] != '\0') {\n          (*pcVar9)(*piVar17);\n          pcVar9 = *(code **)pbVar1;\n          *piVar17 = 0;\n          *(undefined1 *)(piVar17 + 1) = 0;\n        }" if (parenthesized_expression "((char)piVar17[1] != '\0')" ( (binary_expression "(char)piVar17[1] != '\0'" (cast_expression "(char)piVar17[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "piVar17[1]" identifier [ number_literal ])) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          (*pcVar9)(*piVar17);\n          pcVar9 = *(code **)pbVar1;\n          *piVar17 = 0;\n          *(undefined1 *)(piVar17 + 1) = 0;\n        }" { (expression_statement "(*pcVar9)(*piVar17);" (call_expression "(*pcVar9)(*piVar17)" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "(*piVar17)" ( (pointer_expression "*piVar17" * identifier) ))) ;) (expression_statement "pcVar9 = *(code **)pbVar1;" (assignment_expression "pcVar9 = *(code **)pbVar1" identifier = (pointer_expression "*(code **)pbVar1" * (cast_expression "(code **)pbVar1" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "*piVar17 = 0;" (assignment_expression "*piVar17 = 0" (pointer_expression "*piVar17" * identifier) = number_literal) ;) (expression_statement "*(undefined1 *)(piVar17 + 1) = 0;" (assignment_expression "*(undefined1 *)(piVar17 + 1) = 0" (pointer_expression "*(undefined1 *)(piVar17 + 1)" * (cast_expression "(undefined1 *)(piVar17 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar17 + 1)" ( (binary_expression "piVar17 + 1" identifier + number_literal) )))) = number_literal) ;) })) (if_statement "if ((char)piVar17[4] != '\0') {\n          (*pcVar9)(piVar17[3]);\n          pcVar9 = *(code **)pbVar1;\n          piVar17[3] = 0;\n          *(undefined1 *)(piVar17 + 4) = 0;\n        }" if (parenthesized_expression "((char)piVar17[4] != '\0')" ( (binary_expression "(char)piVar17[4] != '\0'" (cast_expression "(char)piVar17[4]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "piVar17[4]" identifier [ number_literal ])) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          (*pcVar9)(piVar17[3]);\n          pcVar9 = *(code **)pbVar1;\n          piVar17[3] = 0;\n          *(undefined1 *)(piVar17 + 4) = 0;\n        }" { (expression_statement "(*pcVar9)(piVar17[3]);" (call_expression "(*pcVar9)(piVar17[3])" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "(piVar17[3])" ( (subscript_expression "piVar17[3]" identifier [ number_literal ]) ))) ;) (expression_statement "pcVar9 = *(code **)pbVar1;" (assignment_expression "pcVar9 = *(code **)pbVar1" identifier = (pointer_expression "*(code **)pbVar1" * (cast_expression "(code **)pbVar1" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "piVar17[3] = 0;" (assignment_expression "piVar17[3] = 0" (subscript_expression "piVar17[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(piVar17 + 4) = 0;" (assignment_expression "*(undefined1 *)(piVar17 + 4) = 0" (pointer_expression "*(undefined1 *)(piVar17 + 4)" * (cast_expression "(undefined1 *)(piVar17 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar17 + 4)" ( (binary_expression "piVar17 + 4" identifier + number_literal) )))) = number_literal) ;) })) (if_statement "if ((char)piVar17[8] != '\0') {\n          (*pcVar9)(piVar17[7]);\n          pcVar9 = *(code **)pbVar1;\n          piVar17[7] = 0;\n          *(undefined1 *)(piVar17 + 8) = 0;\n        }" if (parenthesized_expression "((char)piVar17[8] != '\0')" ( (binary_expression "(char)piVar17[8] != '\0'" (cast_expression "(char)piVar17[8]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "piVar17[8]" identifier [ number_literal ])) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          (*pcVar9)(piVar17[7]);\n          pcVar9 = *(code **)pbVar1;\n          piVar17[7] = 0;\n          *(undefined1 *)(piVar17 + 8) = 0;\n        }" { (expression_statement "(*pcVar9)(piVar17[7]);" (call_expression "(*pcVar9)(piVar17[7])" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "(piVar17[7])" ( (subscript_expression "piVar17[7]" identifier [ number_literal ]) ))) ;) (expression_statement "pcVar9 = *(code **)pbVar1;" (assignment_expression "pcVar9 = *(code **)pbVar1" identifier = (pointer_expression "*(code **)pbVar1" * (cast_expression "(code **)pbVar1" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "piVar17[7] = 0;" (assignment_expression "piVar17[7] = 0" (subscript_expression "piVar17[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(piVar17 + 8) = 0;" (assignment_expression "*(undefined1 *)(piVar17 + 8) = 0" (pointer_expression "*(undefined1 *)(piVar17 + 8)" * (cast_expression "(undefined1 *)(piVar17 + 8)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar17 + 8)" ( (binary_expression "piVar17 + 8" identifier + number_literal) )))) = number_literal) ;) })) (if_statement "if ((char)piVar17[0xd] == '\0') break;" if (parenthesized_expression "((char)piVar17[0xd] == '\0')" ( (binary_expression "(char)piVar17[0xd] == '\0'" (cast_expression "(char)piVar17[0xd]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "piVar17[0xd]" identifier [ number_literal ])) == (char_literal "'\0'" ' escape_sequence ')) )) (break_statement "break;" break ;)) (expression_statement "(*pcVar9)(piVar17[0xc]);" (call_expression "(*pcVar9)(piVar17[0xc])" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "(piVar17[0xc])" ( (subscript_expression "piVar17[0xc]" identifier [ number_literal ]) ))) ;) (expression_statement "pcVar9 = *(code **)pbVar1;" (assignment_expression "pcVar9 = *(code **)pbVar1" identifier = (pointer_expression "*(code **)pbVar1" * (cast_expression "(code **)pbVar1" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "piVar17[0xc] = 0;" (assignment_expression "piVar17[0xc] = 0" (subscript_expression "piVar17[0xc]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(piVar17 + 0xd) = 0;" (assignment_expression "*(undefined1 *)(piVar17 + 0xd) = 0" (pointer_expression "*(undefined1 *)(piVar17 + 0xd)" * (cast_expression "(undefined1 *)(piVar17 + 0xd)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar17 + 0xd)" ( (binary_expression "piVar17 + 0xd" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar17 = (int *)piVar17[0x10];" (assignment_expression "piVar17 = (int *)piVar17[0x10]" identifier = (cast_expression "(int *)piVar17[0x10]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar17[0x10]" identifier [ number_literal ]))) ;) (if_statement "if (piVar17 == (int *)0x0) goto LAB_0001d97c;" if (parenthesized_expression "(piVar17 == (int *)0x0)" ( (binary_expression "piVar17 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0001d97c;" goto statement_identifier ;)) })) (expression_statement "piVar17 = (int *)piVar17[0x10];" (assignment_expression "piVar17 = (int *)piVar17[0x10]" identifier = (cast_expression "(int *)piVar17[0x10]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar17[0x10]" identifier [ number_literal ]))) ;) }) while (parenthesized_expression "(piVar17 != (int *)0x0)" ( (binary_expression "piVar17 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) }))) (labeled_statement "LAB_0001d97c:\n  while( true ) {\n    piVar17 = (int *)piVar7[0x10];\n    (*pcVar9)(piVar7);\n    if (piVar17 == (int *)0x0) break;\n    pcVar9 = *(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9);\n    piVar7 = piVar17;\n  }" statement_identifier : (while_statement "while( true ) {\n    piVar17 = (int *)piVar7[0x10];\n    (*pcVar9)(piVar7);\n    if (piVar17 == (int *)0x0) break;\n    pcVar9 = *(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9);\n    piVar7 = piVar17;\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    piVar17 = (int *)piVar7[0x10];\n    (*pcVar9)(piVar7);\n    if (piVar17 == (int *)0x0) break;\n    pcVar9 = *(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9);\n    piVar7 = piVar17;\n  }" { (expression_statement "piVar17 = (int *)piVar7[0x10];" (assignment_expression "piVar17 = (int *)piVar7[0x10]" identifier = (cast_expression "(int *)piVar7[0x10]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar7[0x10]" identifier [ number_literal ]))) ;) (expression_statement "(*pcVar9)(piVar7);" (call_expression "(*pcVar9)(piVar7)" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "(piVar7)" ( identifier ))) ;) (if_statement "if (piVar17 == (int *)0x0) break;" if (parenthesized_expression "(piVar17 == (int *)0x0)" ( (binary_expression "piVar17 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "pcVar9 = *(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9);" (assignment_expression "pcVar9 = *(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9)" identifier = (pointer_expression "*(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9)" * (cast_expression "(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9)" ( (binary_expression "BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9" (binary_expression "BYTE_ARRAY_0009905d + unaff_EBP" identifier + identifier) + number_literal) ))))) ;) (expression_statement "piVar7 = piVar17;" (assignment_expression "piVar7 = piVar17" identifier = identifier) ;) }))) (return_statement "return uVar8;" return identifier ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bp replaced with injection: get_pc_thunk.bp */\n/* WARNING: Unknown calling convention */\n\nCURLFORMcode curl_formadd(curl_httppost **httppost,curl_httppost **last_post,...)\n\n{\n  void *pvVar1;\n  curl_slist *pcVar2;\n  char *pcVar3;\n  char *pcVar4;\n  bool bVar5;\n  int *piVar6;\n  curl_free_callback p_Var7;\n  int *piVar8;\n  size_t sVar9;\n  curl_httppost *pcVar10;\n  size_t sVar11;\n  curl_httppost *pcVar12;\n  char *pcVar13;\n  size_t length;\n  int iVar14;\n  uint uVar15;\n  char *pcVar16;\n  int *piVar17;\n  int *piVar18;\n  CURLFORMcode CVar19;\n  int *piVar20;\n  int *piVar21;\n  char *local_60;\n  curl_httppost *local_5c;\n  size_t local_54;\n  int local_50;\n  char *local_48;\n  char *local_28;\n  \n  piVar17 = (int *)&stack0x0000000c;\n  piVar6 = (int *)(*Curl_ccalloc)(1,0x44);\n  if (piVar6 == (int *)0x0) {\n    return CURL_FORMADD_MEMORY;\n  }\n  bVar5 = false;\n  piVar20 = (int *)0x0;\n  local_60 = (char *)0x0;\n  piVar18 = piVar6;\nLAB_0001d880:\n  while ((piVar20 != (int *)0x0 && (bVar5))) {\n    local_60 = (char *)piVar20[1];\n    iVar14 = *piVar20;\n    piVar20 = piVar20 + 2;\n    if (iVar14 != 0x11) goto LAB_0001d8a5;\n    bVar5 = false;\n  }\n  iVar14 = *piVar17;\n  piVar17 = piVar17 + 1;\n  if (iVar14 == 0x11) {\n    local_28 = (char *)0x0;\n    local_5c = (curl_httppost *)0x0;\n    piVar17 = piVar6;\n    goto LAB_0001df4a;\n  }\nLAB_0001d8a5:\n  p_Var7 = Curl_cfree;\n  pcVar13 = local_60;\n  piVar21 = piVar6;\n  switch(iVar14) {\n  default:\n    CVar19 = CURL_FORMADD_UNKNOWN_OPTION;\n    goto LAB_0001d8e8;\n  case 1:\n    goto _L25;\n  case 2:\n    piVar18[9] = piVar18[9] | 4;\n_L25:\n    if (*piVar18 == 0) {\n      if (!bVar5) {\n        pcVar13 = (char *)*piVar17;\n        piVar17 = piVar17 + 1;\n      }\n      if (pcVar13 == (char *)0x0) goto LAB_0001dd00;\n      *piVar18 = (int)pcVar13;\n      goto LAB_0001d880;\n    }\n    break;\n  case 3:\n    if (piVar18[2] == 0) {\n      if (!bVar5) {\n        pcVar13 = (char *)*piVar17;\n        piVar17 = piVar17 + 1;\n      }\n      piVar18[2] = (int)pcVar13;\n      goto LAB_0001d880;\n    }\n    break;\n  case 4:\n    goto _L22;\n  case 5:\n    piVar18[9] = piVar18[9] | 8;\n_L22:\n    if (piVar18[3] == 0) {\n      if (!bVar5) {\n        pcVar13 = (char *)*piVar17;\n        piVar17 = piVar17 + 1;\n      }\n      if (pcVar13 == (char *)0x0) goto LAB_0001dd00;\nLAB_0001dd31:\n      piVar18[3] = (int)pcVar13;\n      goto LAB_0001d880;\n    }\n    break;\n  case 6:\n    if (!bVar5) {\n      pcVar13 = (char *)*piVar17;\n      piVar17 = piVar17 + 1;\n    }\n    piVar18[5] = (int)pcVar13;\n    piVar18[6] = 0;\n    goto LAB_0001d880;\n  case 7:\n    if ((*(byte *)(piVar18 + 9) & 10) == 0) {\n      if (!bVar5) {\n        pcVar13 = (char *)*piVar17;\n        piVar17 = piVar17 + 1;\n      }\n      if (pcVar13 == (char *)0x0) goto LAB_0001dd00;\n      pcVar13 = (*Curl_cstrdup)(pcVar13);\n      piVar18[3] = (int)pcVar13;\n      if (pcVar13 == (char *)0x0) goto LAB_0001dd10;\n      piVar18[9] = piVar18[9] | 2;\n      *(undefined1 *)(piVar18 + 4) = 1;\n      goto LAB_0001d880;\n    }\n    break;\n  case 8:\n    if (bVar5) {\n      CVar19 = CURL_FORMADD_ILLEGAL_ARRAY;\n      goto LAB_0001d8e8;\n    }\n    piVar20 = (int *)*piVar17;\n    if (piVar20 == (int *)0x0) goto LAB_0001dd00;\n    piVar17 = piVar17 + 1;\n    bVar5 = true;\n    goto LAB_0001d880;\n  case 10:\n    if (!bVar5) {\n      pcVar13 = (char *)*piVar17;\n      piVar17 = piVar17 + 1;\n    }\n    if (piVar18[3] != 0) {\n      if ((*(byte *)(piVar18 + 9) & 1) == 0) break;\n      if (pcVar13 != (char *)0x0) {\n        local_48 = (*Curl_cstrdup)(pcVar13);\n        if (local_48 == (char *)0x0) goto LAB_0001dd10;\n        piVar8 = (int *)(*Curl_ccalloc)(1,0x44);\n        if (piVar8 == (int *)0x0) {\nLAB_0001e234:\n          CVar19 = CURL_FORMADD_MEMORY;\n          (*Curl_cfree)(local_48);\n          p_Var7 = Curl_cfree;\n          goto LAB_0001d8e8;\n        }\n        piVar8[3] = (int)local_48;\n        iVar14 = piVar18[0x10];\n        piVar8[9] = 1;\n        piVar8[0x10] = iVar14;\n        piVar18[0x10] = (int)piVar8;\n        *(undefined1 *)(piVar8 + 4) = 1;\n        piVar18 = piVar8;\n        goto LAB_0001d880;\n      }\nLAB_0001dd00:\n      CVar19 = CURL_FORMADD_NULL;\n      p_Var7 = Curl_cfree;\nLAB_0001d8e8:\n      do {\n        if ((char)piVar21[1] != '\0') {\n          (*p_Var7)((void *)*piVar21);\n          p_Var7 = Curl_cfree;\n          *piVar21 = 0;\n          *(undefined1 *)(piVar21 + 1) = 0;\n        }\n        if ((char)piVar21[4] != '\0') {\n          (*p_Var7)((void *)piVar21[3]);\n          p_Var7 = Curl_cfree;\n          piVar21[3] = 0;\n          *(undefined1 *)(piVar21 + 4) = 0;\n        }\n        if ((char)piVar21[8] != '\0') {\n          (*p_Var7)((void *)piVar21[7]);\n          p_Var7 = Curl_cfree;\n          piVar21[7] = 0;\n          *(undefined1 *)(piVar21 + 8) = 0;\n        }\n        if ((char)piVar21[0xd] == '\0') {\n          piVar17 = piVar21 + 0x10;\n          piVar21 = (int *)*piVar17;\n          if ((int *)*piVar17 == (int *)0x0) break;\n          goto LAB_0001d8e8;\n        }\n        (*p_Var7)((void *)piVar21[0xc]);\n        p_Var7 = Curl_cfree;\n        piVar21[0xc] = 0;\n        *(undefined1 *)(piVar21 + 0xd) = 0;\n        piVar17 = piVar21 + 0x10;\n        piVar21 = (int *)*piVar17;\n      } while ((int *)*piVar17 != (int *)0x0);\n      goto LAB_0001d97c;\n    }\n    if (pcVar13 == (char *)0x0) goto LAB_0001dd00;\n    pcVar13 = (*Curl_cstrdup)(pcVar13);\n    piVar18[3] = (int)pcVar13;\n    if (pcVar13 != (char *)0x0) {\n      piVar18[9] = piVar18[9] | 1;\n      *(undefined1 *)(piVar18 + 4) = 1;\n      goto LAB_0001d880;\n    }\n    goto LAB_0001dd10;\n  case 0xb:\n  case 0x10:\n    if (!bVar5) {\n      pcVar13 = (char *)*piVar17;\n      piVar17 = piVar17 + 1;\n    }\n    if (piVar18[0xc] == 0) {\n      pcVar13 = (*Curl_cstrdup)(pcVar13);\n      piVar18[0xc] = (int)pcVar13;\n      if (pcVar13 == (char *)0x0) goto LAB_0001dd10;\n      *(undefined1 *)(piVar18 + 0xd) = 1;\n      goto LAB_0001d880;\n    }\n    break;\n  case 0xc:\n    piVar18[9] = piVar18[9] | 0x30;\n    if (piVar18[10] != 0) break;\n    if (!bVar5) {\n      pcVar13 = (char *)*piVar17;\n      piVar17 = piVar17 + 1;\n    }\n    if (pcVar13 != (char *)0x0) {\n      piVar18[10] = (int)pcVar13;\n      goto LAB_0001dd31;\n    }\n    goto LAB_0001dd00;\n  case 0xd:\n    if (piVar18[0xb] == 0) {\n      if (!bVar5) {\n        pcVar13 = (char *)*piVar17;\n        piVar17 = piVar17 + 1;\n      }\n      piVar18[0xb] = (int)pcVar13;\n      goto LAB_0001d880;\n    }\n    break;\n  case 0xe:\n    if (!bVar5) {\n      pcVar13 = (char *)*piVar17;\n      piVar17 = piVar17 + 1;\n    }\n    if (piVar18[7] == 0) {\n      if (pcVar13 == (char *)0x0) goto LAB_0001dd00;\n      pcVar13 = (*Curl_cstrdup)(pcVar13);\n      piVar18[7] = (int)pcVar13;\n      if (pcVar13 != (char *)0x0) {\n        *(undefined1 *)(piVar18 + 8) = 1;\n        goto LAB_0001d880;\n      }\n    }\n    else {\n      if ((*(byte *)(piVar18 + 9) & 1) == 0) break;\n      if (pcVar13 == (char *)0x0) goto LAB_0001dd00;\n      local_48 = (*Curl_cstrdup)(pcVar13);\n      if (local_48 != (char *)0x0) {\n        piVar8 = (int *)(*Curl_ccalloc)(1,0x44);\n        if (piVar8 == (int *)0x0) goto LAB_0001e234;\n        piVar8[7] = (int)local_48;\n        iVar14 = piVar18[0x10];\n        piVar8[9] = 1;\n        piVar8[0x10] = iVar14;\n        piVar18[0x10] = (int)piVar8;\n        *(undefined1 *)(piVar8 + 8) = 1;\n        piVar18 = piVar8;\n        goto LAB_0001d880;\n      }\n    }\nLAB_0001dd10:\n    CVar19 = CURL_FORMADD_MEMORY;\n    p_Var7 = Curl_cfree;\n    goto LAB_0001d8e8;\n  case 0xf:\n    if (!bVar5) {\n      pcVar13 = (char *)*piVar17;\n      piVar17 = piVar17 + 1;\n    }\n    if (piVar18[0xf] == 0) {\n      piVar18[0xf] = (int)pcVar13;\n      goto LAB_0001d880;\n    }\n    break;\n  case 0x13:\n    piVar18[9] = piVar18[9] | 0x40;\n    if (piVar18[0xe] == 0) {\n      if (!bVar5) {\n        pcVar13 = (char *)*piVar17;\n        piVar17 = piVar17 + 1;\n      }\n      if (pcVar13 == (char *)0x0) goto LAB_0001dd00;\n      piVar18[0xe] = (int)pcVar13;\n      piVar18[3] = (int)pcVar13;\n      goto LAB_0001d880;\n    }\n    break;\n  case 0x14:\n    piVar18[9] = piVar18[9] | 0x80;\n    if (bVar5) {\n      iVar14 = 0;\n    }\n    else {\n      pcVar13 = (char *)*piVar17;\n      iVar14 = piVar17[1];\n      piVar17 = piVar17 + 2;\n    }\n    piVar18[5] = (int)pcVar13;\n    piVar18[6] = iVar14;\n    goto LAB_0001d880;\n  }\n  CVar19 = CURL_FORMADD_OPTION_TWICE;\n  p_Var7 = Curl_cfree;\n  goto LAB_0001d8e8;\n  while (local_28 = (char *)*piVar20, piVar17 != (int *)0x0) {\nLAB_0001df4a:\n    pcVar13 = (char *)*piVar17;\n    if ((((((pcVar13 == (char *)0x0) || (piVar17[3] == 0)) && (local_5c == (curl_httppost *)0x0)) ||\n         ((uVar15 = piVar17[9], piVar17[6] != 0 || piVar17[5] != 0 && ((uVar15 & 1) != 0)))) ||\n        (((uVar15 & 9) == 9 || ((piVar17[10] == 0 && ((uVar15 & 0x30) == 0x30)))))) ||\n       ((uVar15 & 10) == 10)) {\n      CVar19 = CURL_FORMADD_INCOMPLETE;\n      p_Var7 = Curl_cfree;\n      goto LAB_0001df70;\n    }\n    if (((uVar15 & 0x11) != 0) && (piVar17[7] == 0)) {\n      if ((uVar15 & 0x10) == 0) {\n        pcVar13 = (char *)piVar17[3];\n      }\n      else {\n        pcVar13 = (char *)piVar17[0xc];\n      }\n      pcVar13 = Curl_mime_contenttype(pcVar13);\n      if ((pcVar13 == (char *)0x0) &&\n         (pcVar13 = "application/octet-stream", local_28 != (char *)0x0)) {\n        pcVar13 = local_28;\n      }\n      pcVar13 = (*Curl_cstrdup)(pcVar13);\n      piVar17[7] = (int)pcVar13;\n      if (pcVar13 != (char *)0x0) {\n        *(undefined1 *)(piVar17 + 8) = 1;\n        pcVar13 = (char *)*piVar17;\n        goto LAB_0001ddc4;\n      }\nLAB_0001e016:\n      CVar19 = CURL_FORMADD_MEMORY;\n      p_Var7 = Curl_cfree;\n      goto LAB_0001df70;\n    }\nLAB_0001ddc4:\n    if (pcVar13 == (char *)0x0) {\n      uVar15 = piVar17[9];\n      if (((uVar15 & 4) == 0) && (piVar6 == piVar17)) goto LAB_0001e016;\n    }\n    else {\n      length = piVar17[2];\n      if (length == 0) {\n        uVar15 = piVar17[9];\n        if (((uVar15 & 4) == 0) && (piVar6 == piVar17)) {\n          sVar9 = strlen(pcVar13);\n          length = sVar9 + 1;\nLAB_0001e0cf:\n          pcVar13 = (char *)Curl_memdup(pcVar13,length);\n          *piVar17 = (int)pcVar13;\n          if (pcVar13 == (char *)0x0) goto LAB_0001e016;\n          *(undefined1 *)(piVar17 + 1) = 1;\n          uVar15 = piVar17[9];\n        }\n      }\n      else {\n        if (*pcVar13 == '\0') {\nLAB_0001e140:\n          CVar19 = CURL_FORMADD_NULL;\n          p_Var7 = Curl_cfree;\n          goto LAB_0001df70;\n        }\n        pcVar16 = pcVar13;\n        while (pcVar16 = pcVar16 + 1, pcVar13 + length != pcVar16) {\n          if (*pcVar16 == '\0') goto LAB_0001e140;\n        }\n        uVar15 = piVar17[9];\n        if (((uVar15 & 4) == 0) && (piVar6 == piVar17)) goto LAB_0001e0cf;\n      }\n    }\n    local_60 = (char *)piVar17[3];\n    local_54 = piVar17[5];\n    local_50 = piVar17[6];\n    if (((uVar15 & 0x6b) == 0) && (local_60 != (char *)0x0)) {\n      if (local_54 == 0) {\n        sVar9 = strlen(local_60);\n        local_54 = sVar9 + 1;\n      }\n      local_60 = (char *)Curl_memdup(local_60,local_54);\n      piVar17[3] = (int)local_60;\n      if (local_60 == (char *)0x0) goto LAB_0001e016;\n      local_54 = piVar17[5];\n      uVar15 = piVar17[9];\n      *(undefined1 *)(piVar17 + 4) = 1;\n      pcVar13 = (char *)*piVar17;\n      local_50 = piVar17[6];\n    }\n    pvVar1 = (void *)piVar17[0xe];\n    sVar9 = piVar17[2];\n    pcVar16 = (char *)piVar17[0xc];\n    pcVar2 = (curl_slist *)piVar17[0xf];\n    pcVar3 = (char *)piVar17[7];\n    iVar14 = piVar17[0xb];\n    pcVar4 = (char *)piVar17[10];\n    pcVar10 = (curl_httppost *)(*Curl_ccalloc)(1,0x3c);\n    if (pcVar10 == (curl_httppost *)0x0) goto LAB_0001e016;\n    pcVar10->name = pcVar13;\n    sVar11 = 0;\n    if ((pcVar13 != (char *)0x0) && (sVar11 = sVar9, sVar9 == 0)) {\n      sVar11 = strlen(pcVar13);\n    }\n    pcVar10->namelength = sVar11;\n    pcVar10->contents = local_60;\n    *(size_t *)&pcVar10->contentlen = local_54;\n    *(int *)((int)&pcVar10->contentlen + 4) = local_50;\n    pcVar10->buffer = pcVar4;\n    pcVar10->bufferlength = iVar14;\n    pcVar10->contenttype = pcVar3;\n    pcVar10->contentheader = pcVar2;\n    pcVar10->showfilename = pcVar16;\n    pcVar10->userp = pvVar1;\n    pcVar10->flags = uVar15 | 0x80;\n    if (local_5c == (curl_httppost *)0x0) {\n      pcVar12 = *last_post;\n      if (*last_post == (curl_httppost *)0x0) {\n        pcVar12 = (curl_httppost *)httppost;\n      }\n      pcVar12->next = pcVar10;\n      *last_post = pcVar10;\n    }\n    else {\n      pcVar10->more = local_5c->more;\n      local_5c->more = pcVar10;\n    }\n    piVar20 = piVar17 + 7;\n    piVar17 = (int *)piVar17[0x10];\n    local_5c = pcVar10;\n    if ((char *)*piVar20 == (char *)0x0) {\n      if (piVar17 == (int *)0x0) break;\n      goto LAB_0001df4a;\n    }\n  }\n  CVar19 = CURL_FORMADD_OK;\n  p_Var7 = Curl_cfree;\n  goto LAB_0001d97c;\n  while (piVar17 = (int *)piVar17[0x10], piVar17 != (int *)0x0) {\nLAB_0001df70:\n    if ((char)piVar17[1] != '\0') {\n      (*p_Var7)((void *)*piVar17);\n      p_Var7 = Curl_cfree;\n      *piVar17 = 0;\n      *(undefined1 *)(piVar17 + 1) = 0;\n    }\n    if ((char)piVar17[4] != '\0') {\n      (*p_Var7)((void *)piVar17[3]);\n      p_Var7 = Curl_cfree;\n      piVar17[3] = 0;\n      *(undefined1 *)(piVar17 + 4) = 0;\n    }\n    if ((char)piVar17[8] != '\0') {\n      (*p_Var7)((void *)piVar17[7]);\n      p_Var7 = Curl_cfree;\n      piVar17[7] = 0;\n      *(undefined1 *)(piVar17 + 8) = 0;\n    }\n    if ((char)piVar17[0xd] != '\0') {\n      (*p_Var7)((void *)piVar17[0xc]);\n      p_Var7 = Curl_cfree;\n      piVar17[0xc] = 0;\n      *(undefined1 *)(piVar17 + 0xd) = 0;\n      piVar17 = (int *)piVar17[0x10];\n      if (piVar17 == (int *)0x0) break;\n      goto LAB_0001df70;\n    }\n  }\nLAB_0001d97c:\n  do {\n    piVar17 = (int *)piVar6[0x10];\n    (*p_Var7)(piVar6);\n    p_Var7 = Curl_cfree;\n    piVar6 = piVar17;\n  } while (piVar17 != (int *)0x0);\n  return CVar19;\n}\n\n" comment comment (function_definition "CURLFORMcode curl_formadd(curl_httppost **httppost,curl_httppost **last_post,...)\n\n{\n  void *pvVar1;\n  curl_slist *pcVar2;\n  char *pcVar3;\n  char *pcVar4;\n  bool bVar5;\n  int *piVar6;\n  curl_free_callback p_Var7;\n  int *piVar8;\n  size_t sVar9;\n  curl_httppost *pcVar10;\n  size_t sVar11;\n  curl_httppost *pcVar12;\n  char *pcVar13;\n  size_t length;\n  int iVar14;\n  uint uVar15;\n  char *pcVar16;\n  int *piVar17;\n  int *piVar18;\n  CURLFORMcode CVar19;\n  int *piVar20;\n  int *piVar21;\n  char *local_60;\n  curl_httppost *local_5c;\n  size_t local_54;\n  int local_50;\n  char *local_48;\n  char *local_28;\n  \n  piVar17 = (int *)&stack0x0000000c;\n  piVar6 = (int *)(*Curl_ccalloc)(1,0x44);\n  if (piVar6 == (int *)0x0) {\n    return CURL_FORMADD_MEMORY;\n  }\n  bVar5 = false;\n  piVar20 = (int *)0x0;\n  local_60 = (char *)0x0;\n  piVar18 = piVar6;\nLAB_0001d880:\n  while ((piVar20 != (int *)0x0 && (bVar5))) {\n    local_60 = (char *)piVar20[1];\n    iVar14 = *piVar20;\n    piVar20 = piVar20 + 2;\n    if (iVar14 != 0x11) goto LAB_0001d8a5;\n    bVar5 = false;\n  }\n  iVar14 = *piVar17;\n  piVar17 = piVar17 + 1;\n  if (iVar14 == 0x11) {\n    local_28 = (char *)0x0;\n    local_5c = (curl_httppost *)0x0;\n    piVar17 = piVar6;\n    goto LAB_0001df4a;\n  }\nLAB_0001d8a5:\n  p_Var7 = Curl_cfree;\n  pcVar13 = local_60;\n  piVar21 = piVar6;\n  switch(iVar14) {\n  default:\n    CVar19 = CURL_FORMADD_UNKNOWN_OPTION;\n    goto LAB_0001d8e8;\n  case 1:\n    goto _L25;\n  case 2:\n    piVar18[9] = piVar18[9] | 4;\n_L25:\n    if (*piVar18 == 0) {\n      if (!bVar5) {\n        pcVar13 = (char *)*piVar17;\n        piVar17 = piVar17 + 1;\n      }\n      if (pcVar13 == (char *)0x0) goto LAB_0001dd00;\n      *piVar18 = (int)pcVar13;\n      goto LAB_0001d880;\n    }\n    break;\n  case 3:\n    if (piVar18[2] == 0) {\n      if (!bVar5) {\n        pcVar13 = (char *)*piVar17;\n        piVar17 = piVar17 + 1;\n      }\n      piVar18[2] = (int)pcVar13;\n      goto LAB_0001d880;\n    }\n    break;\n  case 4:\n    goto _L22;\n  case 5:\n    piVar18[9] = piVar18[9] | 8;\n_L22:\n    if (piVar18[3] == 0) {\n      if (!bVar5) {\n        pcVar13 = (char *)*piVar17;\n        piVar17 = piVar17 + 1;\n      }\n      if (pcVar13 == (char *)0x0) goto LAB_0001dd00;\nLAB_0001dd31:\n      piVar18[3] = (int)pcVar13;\n      goto LAB_0001d880;\n    }\n    break;\n  case 6:\n    if (!bVar5) {\n      pcVar13 = (char *)*piVar17;\n      piVar17 = piVar17 + 1;\n    }\n    piVar18[5] = (int)pcVar13;\n    piVar18[6] = 0;\n    goto LAB_0001d880;\n  case 7:\n    if ((*(byte *)(piVar18 + 9) & 10) == 0) {\n      if (!bVar5) {\n        pcVar13 = (char *)*piVar17;\n        piVar17 = piVar17 + 1;\n      }\n      if (pcVar13 == (char *)0x0) goto LAB_0001dd00;\n      pcVar13 = (*Curl_cstrdup)(pcVar13);\n      piVar18[3] = (int)pcVar13;\n      if (pcVar13 == (char *)0x0) goto LAB_0001dd10;\n      piVar18[9] = piVar18[9] | 2;\n      *(undefined1 *)(piVar18 + 4) = 1;\n      goto LAB_0001d880;\n    }\n    break;\n  case 8:\n    if (bVar5) {\n      CVar19 = CURL_FORMADD_ILLEGAL_ARRAY;\n      goto LAB_0001d8e8;\n    }\n    piVar20 = (int *)*piVar17;\n    if (piVar20 == (int *)0x0) goto LAB_0001dd00;\n    piVar17 = piVar17 + 1;\n    bVar5 = true;\n    goto LAB_0001d880;\n  case 10:\n    if (!bVar5) {\n      pcVar13 = (char *)*piVar17;\n      piVar17 = piVar17 + 1;\n    }\n    if (piVar18[3] != 0) {\n      if ((*(byte *)(piVar18 + 9) & 1) == 0) break;\n      if (pcVar13 != (char *)0x0) {\n        local_48 = (*Curl_cstrdup)(pcVar13);\n        if (local_48 == (char *)0x0) goto LAB_0001dd10;\n        piVar8 = (int *)(*Curl_ccalloc)(1,0x44);\n        if (piVar8 == (int *)0x0) {\nLAB_0001e234:\n          CVar19 = CURL_FORMADD_MEMORY;\n          (*Curl_cfree)(local_48);\n          p_Var7 = Curl_cfree;\n          goto LAB_0001d8e8;\n        }\n        piVar8[3] = (int)local_48;\n        iVar14 = piVar18[0x10];\n        piVar8[9] = 1;\n        piVar8[0x10] = iVar14;\n        piVar18[0x10] = (int)piVar8;\n        *(undefined1 *)(piVar8 + 4) = 1;\n        piVar18 = piVar8;\n        goto LAB_0001d880;\n      }\nLAB_0001dd00:\n      CVar19 = CURL_FORMADD_NULL;\n      p_Var7 = Curl_cfree;\nLAB_0001d8e8:\n      do {\n        if ((char)piVar21[1] != '\0') {\n          (*p_Var7)((void *)*piVar21);\n          p_Var7 = Curl_cfree;\n          *piVar21 = 0;\n          *(undefined1 *)(piVar21 + 1) = 0;\n        }\n        if ((char)piVar21[4] != '\0') {\n          (*p_Var7)((void *)piVar21[3]);\n          p_Var7 = Curl_cfree;\n          piVar21[3] = 0;\n          *(undefined1 *)(piVar21 + 4) = 0;\n        }\n        if ((char)piVar21[8] != '\0') {\n          (*p_Var7)((void *)piVar21[7]);\n          p_Var7 = Curl_cfree;\n          piVar21[7] = 0;\n          *(undefined1 *)(piVar21 + 8) = 0;\n        }\n        if ((char)piVar21[0xd] == '\0') {\n          piVar17 = piVar21 + 0x10;\n          piVar21 = (int *)*piVar17;\n          if ((int *)*piVar17 == (int *)0x0) break;\n          goto LAB_0001d8e8;\n        }\n        (*p_Var7)((void *)piVar21[0xc]);\n        p_Var7 = Curl_cfree;\n        piVar21[0xc] = 0;\n        *(undefined1 *)(piVar21 + 0xd) = 0;\n        piVar17 = piVar21 + 0x10;\n        piVar21 = (int *)*piVar17;\n      } while ((int *)*piVar17 != (int *)0x0);\n      goto LAB_0001d97c;\n    }\n    if (pcVar13 == (char *)0x0) goto LAB_0001dd00;\n    pcVar13 = (*Curl_cstrdup)(pcVar13);\n    piVar18[3] = (int)pcVar13;\n    if (pcVar13 != (char *)0x0) {\n      piVar18[9] = piVar18[9] | 1;\n      *(undefined1 *)(piVar18 + 4) = 1;\n      goto LAB_0001d880;\n    }\n    goto LAB_0001dd10;\n  case 0xb:\n  case 0x10:\n    if (!bVar5) {\n      pcVar13 = (char *)*piVar17;\n      piVar17 = piVar17 + 1;\n    }\n    if (piVar18[0xc] == 0) {\n      pcVar13 = (*Curl_cstrdup)(pcVar13);\n      piVar18[0xc] = (int)pcVar13;\n      if (pcVar13 == (char *)0x0) goto LAB_0001dd10;\n      *(undefined1 *)(piVar18 + 0xd) = 1;\n      goto LAB_0001d880;\n    }\n    break;\n  case 0xc:\n    piVar18[9] = piVar18[9] | 0x30;\n    if (piVar18[10] != 0) break;\n    if (!bVar5) {\n      pcVar13 = (char *)*piVar17;\n      piVar17 = piVar17 + 1;\n    }\n    if (pcVar13 != (char *)0x0) {\n      piVar18[10] = (int)pcVar13;\n      goto LAB_0001dd31;\n    }\n    goto LAB_0001dd00;\n  case 0xd:\n    if (piVar18[0xb] == 0) {\n      if (!bVar5) {\n        pcVar13 = (char *)*piVar17;\n        piVar17 = piVar17 + 1;\n      }\n      piVar18[0xb] = (int)pcVar13;\n      goto LAB_0001d880;\n    }\n    break;\n  case 0xe:\n    if (!bVar5) {\n      pcVar13 = (char *)*piVar17;\n      piVar17 = piVar17 + 1;\n    }\n    if (piVar18[7] == 0) {\n      if (pcVar13 == (char *)0x0) goto LAB_0001dd00;\n      pcVar13 = (*Curl_cstrdup)(pcVar13);\n      piVar18[7] = (int)pcVar13;\n      if (pcVar13 != (char *)0x0) {\n        *(undefined1 *)(piVar18 + 8) = 1;\n        goto LAB_0001d880;\n      }\n    }\n    else {\n      if ((*(byte *)(piVar18 + 9) & 1) == 0) break;\n      if (pcVar13 == (char *)0x0) goto LAB_0001dd00;\n      local_48 = (*Curl_cstrdup)(pcVar13);\n      if (local_48 != (char *)0x0) {\n        piVar8 = (int *)(*Curl_ccalloc)(1,0x44);\n        if (piVar8 == (int *)0x0) goto LAB_0001e234;\n        piVar8[7] = (int)local_48;\n        iVar14 = piVar18[0x10];\n        piVar8[9] = 1;\n        piVar8[0x10] = iVar14;\n        piVar18[0x10] = (int)piVar8;\n        *(undefined1 *)(piVar8 + 8) = 1;\n        piVar18 = piVar8;\n        goto LAB_0001d880;\n      }\n    }\nLAB_0001dd10:\n    CVar19 = CURL_FORMADD_MEMORY;\n    p_Var7 = Curl_cfree;\n    goto LAB_0001d8e8;\n  case 0xf:\n    if (!bVar5) {\n      pcVar13 = (char *)*piVar17;\n      piVar17 = piVar17 + 1;\n    }\n    if (piVar18[0xf] == 0) {\n      piVar18[0xf] = (int)pcVar13;\n      goto LAB_0001d880;\n    }\n    break;\n  case 0x13:\n    piVar18[9] = piVar18[9] | 0x40;\n    if (piVar18[0xe] == 0) {\n      if (!bVar5) {\n        pcVar13 = (char *)*piVar17;\n        piVar17 = piVar17 + 1;\n      }\n      if (pcVar13 == (char *)0x0) goto LAB_0001dd00;\n      piVar18[0xe] = (int)pcVar13;\n      piVar18[3] = (int)pcVar13;\n      goto LAB_0001d880;\n    }\n    break;\n  case 0x14:\n    piVar18[9] = piVar18[9] | 0x80;\n    if (bVar5) {\n      iVar14 = 0;\n    }\n    else {\n      pcVar13 = (char *)*piVar17;\n      iVar14 = piVar17[1];\n      piVar17 = piVar17 + 2;\n    }\n    piVar18[5] = (int)pcVar13;\n    piVar18[6] = iVar14;\n    goto LAB_0001d880;\n  }\n  CVar19 = CURL_FORMADD_OPTION_TWICE;\n  p_Var7 = Curl_cfree;\n  goto LAB_0001d8e8;\n  while (local_28 = (char *)*piVar20, piVar17 != (int *)0x0) {\nLAB_0001df4a:\n    pcVar13 = (char *)*piVar17;\n    if ((((((pcVar13 == (char *)0x0) || (piVar17[3] == 0)) && (local_5c == (curl_httppost *)0x0)) ||\n         ((uVar15 = piVar17[9], piVar17[6] != 0 || piVar17[5] != 0 && ((uVar15 & 1) != 0)))) ||\n        (((uVar15 & 9) == 9 || ((piVar17[10] == 0 && ((uVar15 & 0x30) == 0x30)))))) ||\n       ((uVar15 & 10) == 10)) {\n      CVar19 = CURL_FORMADD_INCOMPLETE;\n      p_Var7 = Curl_cfree;\n      goto LAB_0001df70;\n    }\n    if (((uVar15 & 0x11) != 0) && (piVar17[7] == 0)) {\n      if ((uVar15 & 0x10) == 0) {\n        pcVar13 = (char *)piVar17[3];\n      }\n      else {\n        pcVar13 = (char *)piVar17[0xc];\n      }\n      pcVar13 = Curl_mime_contenttype(pcVar13);\n      if ((pcVar13 == (char *)0x0) &&\n         (pcVar13 = "application/octet-stream", local_28 != (char *)0x0)) {\n        pcVar13 = local_28;\n      }\n      pcVar13 = (*Curl_cstrdup)(pcVar13);\n      piVar17[7] = (int)pcVar13;\n      if (pcVar13 != (char *)0x0) {\n        *(undefined1 *)(piVar17 + 8) = 1;\n        pcVar13 = (char *)*piVar17;\n        goto LAB_0001ddc4;\n      }\nLAB_0001e016:\n      CVar19 = CURL_FORMADD_MEMORY;\n      p_Var7 = Curl_cfree;\n      goto LAB_0001df70;\n    }\nLAB_0001ddc4:\n    if (pcVar13 == (char *)0x0) {\n      uVar15 = piVar17[9];\n      if (((uVar15 & 4) == 0) && (piVar6 == piVar17)) goto LAB_0001e016;\n    }\n    else {\n      length = piVar17[2];\n      if (length == 0) {\n        uVar15 = piVar17[9];\n        if (((uVar15 & 4) == 0) && (piVar6 == piVar17)) {\n          sVar9 = strlen(pcVar13);\n          length = sVar9 + 1;\nLAB_0001e0cf:\n          pcVar13 = (char *)Curl_memdup(pcVar13,length);\n          *piVar17 = (int)pcVar13;\n          if (pcVar13 == (char *)0x0) goto LAB_0001e016;\n          *(undefined1 *)(piVar17 + 1) = 1;\n          uVar15 = piVar17[9];\n        }\n      }\n      else {\n        if (*pcVar13 == '\0') {\nLAB_0001e140:\n          CVar19 = CURL_FORMADD_NULL;\n          p_Var7 = Curl_cfree;\n          goto LAB_0001df70;\n        }\n        pcVar16 = pcVar13;\n        while (pcVar16 = pcVar16 + 1, pcVar13 + length != pcVar16) {\n          if (*pcVar16 == '\0') goto LAB_0001e140;\n        }\n        uVar15 = piVar17[9];\n        if (((uVar15 & 4) == 0) && (piVar6 == piVar17)) goto LAB_0001e0cf;\n      }\n    }\n    local_60 = (char *)piVar17[3];\n    local_54 = piVar17[5];\n    local_50 = piVar17[6];\n    if (((uVar15 & 0x6b) == 0) && (local_60 != (char *)0x0)) {\n      if (local_54 == 0) {\n        sVar9 = strlen(local_60);\n        local_54 = sVar9 + 1;\n      }\n      local_60 = (char *)Curl_memdup(local_60,local_54);\n      piVar17[3] = (int)local_60;\n      if (local_60 == (char *)0x0) goto LAB_0001e016;\n      local_54 = piVar17[5];\n      uVar15 = piVar17[9];\n      *(undefined1 *)(piVar17 + 4) = 1;\n      pcVar13 = (char *)*piVar17;\n      local_50 = piVar17[6];\n    }\n    pvVar1 = (void *)piVar17[0xe];\n    sVar9 = piVar17[2];\n    pcVar16 = (char *)piVar17[0xc];\n    pcVar2 = (curl_slist *)piVar17[0xf];\n    pcVar3 = (char *)piVar17[7];\n    iVar14 = piVar17[0xb];\n    pcVar4 = (char *)piVar17[10];\n    pcVar10 = (curl_httppost *)(*Curl_ccalloc)(1,0x3c);\n    if (pcVar10 == (curl_httppost *)0x0) goto LAB_0001e016;\n    pcVar10->name = pcVar13;\n    sVar11 = 0;\n    if ((pcVar13 != (char *)0x0) && (sVar11 = sVar9, sVar9 == 0)) {\n      sVar11 = strlen(pcVar13);\n    }\n    pcVar10->namelength = sVar11;\n    pcVar10->contents = local_60;\n    *(size_t *)&pcVar10->contentlen = local_54;\n    *(int *)((int)&pcVar10->contentlen + 4) = local_50;\n    pcVar10->buffer = pcVar4;\n    pcVar10->bufferlength = iVar14;\n    pcVar10->contenttype = pcVar3;\n    pcVar10->contentheader = pcVar2;\n    pcVar10->showfilename = pcVar16;\n    pcVar10->userp = pvVar1;\n    pcVar10->flags = uVar15 | 0x80;\n    if (local_5c == (curl_httppost *)0x0) {\n      pcVar12 = *last_post;\n      if (*last_post == (curl_httppost *)0x0) {\n        pcVar12 = (curl_httppost *)httppost;\n      }\n      pcVar12->next = pcVar10;\n      *last_post = pcVar10;\n    }\n    else {\n      pcVar10->more = local_5c->more;\n      local_5c->more = pcVar10;\n    }\n    piVar20 = piVar17 + 7;\n    piVar17 = (int *)piVar17[0x10];\n    local_5c = pcVar10;\n    if ((char *)*piVar20 == (char *)0x0) {\n      if (piVar17 == (int *)0x0) break;\n      goto LAB_0001df4a;\n    }\n  }\n  CVar19 = CURL_FORMADD_OK;\n  p_Var7 = Curl_cfree;\n  goto LAB_0001d97c;\n  while (piVar17 = (int *)piVar17[0x10], piVar17 != (int *)0x0) {\nLAB_0001df70:\n    if ((char)piVar17[1] != '\0') {\n      (*p_Var7)((void *)*piVar17);\n      p_Var7 = Curl_cfree;\n      *piVar17 = 0;\n      *(undefined1 *)(piVar17 + 1) = 0;\n    }\n    if ((char)piVar17[4] != '\0') {\n      (*p_Var7)((void *)piVar17[3]);\n      p_Var7 = Curl_cfree;\n      piVar17[3] = 0;\n      *(undefined1 *)(piVar17 + 4) = 0;\n    }\n    if ((char)piVar17[8] != '\0') {\n      (*p_Var7)((void *)piVar17[7]);\n      p_Var7 = Curl_cfree;\n      piVar17[7] = 0;\n      *(undefined1 *)(piVar17 + 8) = 0;\n    }\n    if ((char)piVar17[0xd] != '\0') {\n      (*p_Var7)((void *)piVar17[0xc]);\n      p_Var7 = Curl_cfree;\n      piVar17[0xc] = 0;\n      *(undefined1 *)(piVar17 + 0xd) = 0;\n      piVar17 = (int *)piVar17[0x10];\n      if (piVar17 == (int *)0x0) break;\n      goto LAB_0001df70;\n    }\n  }\nLAB_0001d97c:\n  do {\n    piVar17 = (int *)piVar6[0x10];\n    (*p_Var7)(piVar6);\n    p_Var7 = Curl_cfree;\n    piVar6 = piVar17;\n  } while (piVar17 != (int *)0x0);\n  return CVar19;\n}" type_identifier (function_declarator "curl_formadd(curl_httppost **httppost,curl_httppost **last_post,...)" identifier (parameter_list "(curl_httppost **httppost,curl_httppost **last_post,...)" ( (parameter_declaration "curl_httppost **httppost" type_identifier (pointer_declarator "**httppost" * (pointer_declarator "*httppost" * identifier))) , (parameter_declaration "curl_httppost **last_post" type_identifier (pointer_declarator "**last_post" * (pointer_declarator "*last_post" * identifier))) , (variadic_parameter "..." ...) ))) (compound_statement "{\n  void *pvVar1;\n  curl_slist *pcVar2;\n  char *pcVar3;\n  char *pcVar4;\n  bool bVar5;\n  int *piVar6;\n  curl_free_callback p_Var7;\n  int *piVar8;\n  size_t sVar9;\n  curl_httppost *pcVar10;\n  size_t sVar11;\n  curl_httppost *pcVar12;\n  char *pcVar13;\n  size_t length;\n  int iVar14;\n  uint uVar15;\n  char *pcVar16;\n  int *piVar17;\n  int *piVar18;\n  CURLFORMcode CVar19;\n  int *piVar20;\n  int *piVar21;\n  char *local_60;\n  curl_httppost *local_5c;\n  size_t local_54;\n  int local_50;\n  char *local_48;\n  char *local_28;\n  \n  piVar17 = (int *)&stack0x0000000c;\n  piVar6 = (int *)(*Curl_ccalloc)(1,0x44);\n  if (piVar6 == (int *)0x0) {\n    return CURL_FORMADD_MEMORY;\n  }\n  bVar5 = false;\n  piVar20 = (int *)0x0;\n  local_60 = (char *)0x0;\n  piVar18 = piVar6;\nLAB_0001d880:\n  while ((piVar20 != (int *)0x0 && (bVar5))) {\n    local_60 = (char *)piVar20[1];\n    iVar14 = *piVar20;\n    piVar20 = piVar20 + 2;\n    if (iVar14 != 0x11) goto LAB_0001d8a5;\n    bVar5 = false;\n  }\n  iVar14 = *piVar17;\n  piVar17 = piVar17 + 1;\n  if (iVar14 == 0x11) {\n    local_28 = (char *)0x0;\n    local_5c = (curl_httppost *)0x0;\n    piVar17 = piVar6;\n    goto LAB_0001df4a;\n  }\nLAB_0001d8a5:\n  p_Var7 = Curl_cfree;\n  pcVar13 = local_60;\n  piVar21 = piVar6;\n  switch(iVar14) {\n  default:\n    CVar19 = CURL_FORMADD_UNKNOWN_OPTION;\n    goto LAB_0001d8e8;\n  case 1:\n    goto _L25;\n  case 2:\n    piVar18[9] = piVar18[9] | 4;\n_L25:\n    if (*piVar18 == 0) {\n      if (!bVar5) {\n        pcVar13 = (char *)*piVar17;\n        piVar17 = piVar17 + 1;\n      }\n      if (pcVar13 == (char *)0x0) goto LAB_0001dd00;\n      *piVar18 = (int)pcVar13;\n      goto LAB_0001d880;\n    }\n    break;\n  case 3:\n    if (piVar18[2] == 0) {\n      if (!bVar5) {\n        pcVar13 = (char *)*piVar17;\n        piVar17 = piVar17 + 1;\n      }\n      piVar18[2] = (int)pcVar13;\n      goto LAB_0001d880;\n    }\n    break;\n  case 4:\n    goto _L22;\n  case 5:\n    piVar18[9] = piVar18[9] | 8;\n_L22:\n    if (piVar18[3] == 0) {\n      if (!bVar5) {\n        pcVar13 = (char *)*piVar17;\n        piVar17 = piVar17 + 1;\n      }\n      if (pcVar13 == (char *)0x0) goto LAB_0001dd00;\nLAB_0001dd31:\n      piVar18[3] = (int)pcVar13;\n      goto LAB_0001d880;\n    }\n    break;\n  case 6:\n    if (!bVar5) {\n      pcVar13 = (char *)*piVar17;\n      piVar17 = piVar17 + 1;\n    }\n    piVar18[5] = (int)pcVar13;\n    piVar18[6] = 0;\n    goto LAB_0001d880;\n  case 7:\n    if ((*(byte *)(piVar18 + 9) & 10) == 0) {\n      if (!bVar5) {\n        pcVar13 = (char *)*piVar17;\n        piVar17 = piVar17 + 1;\n      }\n      if (pcVar13 == (char *)0x0) goto LAB_0001dd00;\n      pcVar13 = (*Curl_cstrdup)(pcVar13);\n      piVar18[3] = (int)pcVar13;\n      if (pcVar13 == (char *)0x0) goto LAB_0001dd10;\n      piVar18[9] = piVar18[9] | 2;\n      *(undefined1 *)(piVar18 + 4) = 1;\n      goto LAB_0001d880;\n    }\n    break;\n  case 8:\n    if (bVar5) {\n      CVar19 = CURL_FORMADD_ILLEGAL_ARRAY;\n      goto LAB_0001d8e8;\n    }\n    piVar20 = (int *)*piVar17;\n    if (piVar20 == (int *)0x0) goto LAB_0001dd00;\n    piVar17 = piVar17 + 1;\n    bVar5 = true;\n    goto LAB_0001d880;\n  case 10:\n    if (!bVar5) {\n      pcVar13 = (char *)*piVar17;\n      piVar17 = piVar17 + 1;\n    }\n    if (piVar18[3] != 0) {\n      if ((*(byte *)(piVar18 + 9) & 1) == 0) break;\n      if (pcVar13 != (char *)0x0) {\n        local_48 = (*Curl_cstrdup)(pcVar13);\n        if (local_48 == (char *)0x0) goto LAB_0001dd10;\n        piVar8 = (int *)(*Curl_ccalloc)(1,0x44);\n        if (piVar8 == (int *)0x0) {\nLAB_0001e234:\n          CVar19 = CURL_FORMADD_MEMORY;\n          (*Curl_cfree)(local_48);\n          p_Var7 = Curl_cfree;\n          goto LAB_0001d8e8;\n        }\n        piVar8[3] = (int)local_48;\n        iVar14 = piVar18[0x10];\n        piVar8[9] = 1;\n        piVar8[0x10] = iVar14;\n        piVar18[0x10] = (int)piVar8;\n        *(undefined1 *)(piVar8 + 4) = 1;\n        piVar18 = piVar8;\n        goto LAB_0001d880;\n      }\nLAB_0001dd00:\n      CVar19 = CURL_FORMADD_NULL;\n      p_Var7 = Curl_cfree;\nLAB_0001d8e8:\n      do {\n        if ((char)piVar21[1] != '\0') {\n          (*p_Var7)((void *)*piVar21);\n          p_Var7 = Curl_cfree;\n          *piVar21 = 0;\n          *(undefined1 *)(piVar21 + 1) = 0;\n        }\n        if ((char)piVar21[4] != '\0') {\n          (*p_Var7)((void *)piVar21[3]);\n          p_Var7 = Curl_cfree;\n          piVar21[3] = 0;\n          *(undefined1 *)(piVar21 + 4) = 0;\n        }\n        if ((char)piVar21[8] != '\0') {\n          (*p_Var7)((void *)piVar21[7]);\n          p_Var7 = Curl_cfree;\n          piVar21[7] = 0;\n          *(undefined1 *)(piVar21 + 8) = 0;\n        }\n        if ((char)piVar21[0xd] == '\0') {\n          piVar17 = piVar21 + 0x10;\n          piVar21 = (int *)*piVar17;\n          if ((int *)*piVar17 == (int *)0x0) break;\n          goto LAB_0001d8e8;\n        }\n        (*p_Var7)((void *)piVar21[0xc]);\n        p_Var7 = Curl_cfree;\n        piVar21[0xc] = 0;\n        *(undefined1 *)(piVar21 + 0xd) = 0;\n        piVar17 = piVar21 + 0x10;\n        piVar21 = (int *)*piVar17;\n      } while ((int *)*piVar17 != (int *)0x0);\n      goto LAB_0001d97c;\n    }\n    if (pcVar13 == (char *)0x0) goto LAB_0001dd00;\n    pcVar13 = (*Curl_cstrdup)(pcVar13);\n    piVar18[3] = (int)pcVar13;\n    if (pcVar13 != (char *)0x0) {\n      piVar18[9] = piVar18[9] | 1;\n      *(undefined1 *)(piVar18 + 4) = 1;\n      goto LAB_0001d880;\n    }\n    goto LAB_0001dd10;\n  case 0xb:\n  case 0x10:\n    if (!bVar5) {\n      pcVar13 = (char *)*piVar17;\n      piVar17 = piVar17 + 1;\n    }\n    if (piVar18[0xc] == 0) {\n      pcVar13 = (*Curl_cstrdup)(pcVar13);\n      piVar18[0xc] = (int)pcVar13;\n      if (pcVar13 == (char *)0x0) goto LAB_0001dd10;\n      *(undefined1 *)(piVar18 + 0xd) = 1;\n      goto LAB_0001d880;\n    }\n    break;\n  case 0xc:\n    piVar18[9] = piVar18[9] | 0x30;\n    if (piVar18[10] != 0) break;\n    if (!bVar5) {\n      pcVar13 = (char *)*piVar17;\n      piVar17 = piVar17 + 1;\n    }\n    if (pcVar13 != (char *)0x0) {\n      piVar18[10] = (int)pcVar13;\n      goto LAB_0001dd31;\n    }\n    goto LAB_0001dd00;\n  case 0xd:\n    if (piVar18[0xb] == 0) {\n      if (!bVar5) {\n        pcVar13 = (char *)*piVar17;\n        piVar17 = piVar17 + 1;\n      }\n      piVar18[0xb] = (int)pcVar13;\n      goto LAB_0001d880;\n    }\n    break;\n  case 0xe:\n    if (!bVar5) {\n      pcVar13 = (char *)*piVar17;\n      piVar17 = piVar17 + 1;\n    }\n    if (piVar18[7] == 0) {\n      if (pcVar13 == (char *)0x0) goto LAB_0001dd00;\n      pcVar13 = (*Curl_cstrdup)(pcVar13);\n      piVar18[7] = (int)pcVar13;\n      if (pcVar13 != (char *)0x0) {\n        *(undefined1 *)(piVar18 + 8) = 1;\n        goto LAB_0001d880;\n      }\n    }\n    else {\n      if ((*(byte *)(piVar18 + 9) & 1) == 0) break;\n      if (pcVar13 == (char *)0x0) goto LAB_0001dd00;\n      local_48 = (*Curl_cstrdup)(pcVar13);\n      if (local_48 != (char *)0x0) {\n        piVar8 = (int *)(*Curl_ccalloc)(1,0x44);\n        if (piVar8 == (int *)0x0) goto LAB_0001e234;\n        piVar8[7] = (int)local_48;\n        iVar14 = piVar18[0x10];\n        piVar8[9] = 1;\n        piVar8[0x10] = iVar14;\n        piVar18[0x10] = (int)piVar8;\n        *(undefined1 *)(piVar8 + 8) = 1;\n        piVar18 = piVar8;\n        goto LAB_0001d880;\n      }\n    }\nLAB_0001dd10:\n    CVar19 = CURL_FORMADD_MEMORY;\n    p_Var7 = Curl_cfree;\n    goto LAB_0001d8e8;\n  case 0xf:\n    if (!bVar5) {\n      pcVar13 = (char *)*piVar17;\n      piVar17 = piVar17 + 1;\n    }\n    if (piVar18[0xf] == 0) {\n      piVar18[0xf] = (int)pcVar13;\n      goto LAB_0001d880;\n    }\n    break;\n  case 0x13:\n    piVar18[9] = piVar18[9] | 0x40;\n    if (piVar18[0xe] == 0) {\n      if (!bVar5) {\n        pcVar13 = (char *)*piVar17;\n        piVar17 = piVar17 + 1;\n      }\n      if (pcVar13 == (char *)0x0) goto LAB_0001dd00;\n      piVar18[0xe] = (int)pcVar13;\n      piVar18[3] = (int)pcVar13;\n      goto LAB_0001d880;\n    }\n    break;\n  case 0x14:\n    piVar18[9] = piVar18[9] | 0x80;\n    if (bVar5) {\n      iVar14 = 0;\n    }\n    else {\n      pcVar13 = (char *)*piVar17;\n      iVar14 = piVar17[1];\n      piVar17 = piVar17 + 2;\n    }\n    piVar18[5] = (int)pcVar13;\n    piVar18[6] = iVar14;\n    goto LAB_0001d880;\n  }\n  CVar19 = CURL_FORMADD_OPTION_TWICE;\n  p_Var7 = Curl_cfree;\n  goto LAB_0001d8e8;\n  while (local_28 = (char *)*piVar20, piVar17 != (int *)0x0) {\nLAB_0001df4a:\n    pcVar13 = (char *)*piVar17;\n    if ((((((pcVar13 == (char *)0x0) || (piVar17[3] == 0)) && (local_5c == (curl_httppost *)0x0)) ||\n         ((uVar15 = piVar17[9], piVar17[6] != 0 || piVar17[5] != 0 && ((uVar15 & 1) != 0)))) ||\n        (((uVar15 & 9) == 9 || ((piVar17[10] == 0 && ((uVar15 & 0x30) == 0x30)))))) ||\n       ((uVar15 & 10) == 10)) {\n      CVar19 = CURL_FORMADD_INCOMPLETE;\n      p_Var7 = Curl_cfree;\n      goto LAB_0001df70;\n    }\n    if (((uVar15 & 0x11) != 0) && (piVar17[7] == 0)) {\n      if ((uVar15 & 0x10) == 0) {\n        pcVar13 = (char *)piVar17[3];\n      }\n      else {\n        pcVar13 = (char *)piVar17[0xc];\n      }\n      pcVar13 = Curl_mime_contenttype(pcVar13);\n      if ((pcVar13 == (char *)0x0) &&\n         (pcVar13 = "application/octet-stream", local_28 != (char *)0x0)) {\n        pcVar13 = local_28;\n      }\n      pcVar13 = (*Curl_cstrdup)(pcVar13);\n      piVar17[7] = (int)pcVar13;\n      if (pcVar13 != (char *)0x0) {\n        *(undefined1 *)(piVar17 + 8) = 1;\n        pcVar13 = (char *)*piVar17;\n        goto LAB_0001ddc4;\n      }\nLAB_0001e016:\n      CVar19 = CURL_FORMADD_MEMORY;\n      p_Var7 = Curl_cfree;\n      goto LAB_0001df70;\n    }\nLAB_0001ddc4:\n    if (pcVar13 == (char *)0x0) {\n      uVar15 = piVar17[9];\n      if (((uVar15 & 4) == 0) && (piVar6 == piVar17)) goto LAB_0001e016;\n    }\n    else {\n      length = piVar17[2];\n      if (length == 0) {\n        uVar15 = piVar17[9];\n        if (((uVar15 & 4) == 0) && (piVar6 == piVar17)) {\n          sVar9 = strlen(pcVar13);\n          length = sVar9 + 1;\nLAB_0001e0cf:\n          pcVar13 = (char *)Curl_memdup(pcVar13,length);\n          *piVar17 = (int)pcVar13;\n          if (pcVar13 == (char *)0x0) goto LAB_0001e016;\n          *(undefined1 *)(piVar17 + 1) = 1;\n          uVar15 = piVar17[9];\n        }\n      }\n      else {\n        if (*pcVar13 == '\0') {\nLAB_0001e140:\n          CVar19 = CURL_FORMADD_NULL;\n          p_Var7 = Curl_cfree;\n          goto LAB_0001df70;\n        }\n        pcVar16 = pcVar13;\n        while (pcVar16 = pcVar16 + 1, pcVar13 + length != pcVar16) {\n          if (*pcVar16 == '\0') goto LAB_0001e140;\n        }\n        uVar15 = piVar17[9];\n        if (((uVar15 & 4) == 0) && (piVar6 == piVar17)) goto LAB_0001e0cf;\n      }\n    }\n    local_60 = (char *)piVar17[3];\n    local_54 = piVar17[5];\n    local_50 = piVar17[6];\n    if (((uVar15 & 0x6b) == 0) && (local_60 != (char *)0x0)) {\n      if (local_54 == 0) {\n        sVar9 = strlen(local_60);\n        local_54 = sVar9 + 1;\n      }\n      local_60 = (char *)Curl_memdup(local_60,local_54);\n      piVar17[3] = (int)local_60;\n      if (local_60 == (char *)0x0) goto LAB_0001e016;\n      local_54 = piVar17[5];\n      uVar15 = piVar17[9];\n      *(undefined1 *)(piVar17 + 4) = 1;\n      pcVar13 = (char *)*piVar17;\n      local_50 = piVar17[6];\n    }\n    pvVar1 = (void *)piVar17[0xe];\n    sVar9 = piVar17[2];\n    pcVar16 = (char *)piVar17[0xc];\n    pcVar2 = (curl_slist *)piVar17[0xf];\n    pcVar3 = (char *)piVar17[7];\n    iVar14 = piVar17[0xb];\n    pcVar4 = (char *)piVar17[10];\n    pcVar10 = (curl_httppost *)(*Curl_ccalloc)(1,0x3c);\n    if (pcVar10 == (curl_httppost *)0x0) goto LAB_0001e016;\n    pcVar10->name = pcVar13;\n    sVar11 = 0;\n    if ((pcVar13 != (char *)0x0) && (sVar11 = sVar9, sVar9 == 0)) {\n      sVar11 = strlen(pcVar13);\n    }\n    pcVar10->namelength = sVar11;\n    pcVar10->contents = local_60;\n    *(size_t *)&pcVar10->contentlen = local_54;\n    *(int *)((int)&pcVar10->contentlen + 4) = local_50;\n    pcVar10->buffer = pcVar4;\n    pcVar10->bufferlength = iVar14;\n    pcVar10->contenttype = pcVar3;\n    pcVar10->contentheader = pcVar2;\n    pcVar10->showfilename = pcVar16;\n    pcVar10->userp = pvVar1;\n    pcVar10->flags = uVar15 | 0x80;\n    if (local_5c == (curl_httppost *)0x0) {\n      pcVar12 = *last_post;\n      if (*last_post == (curl_httppost *)0x0) {\n        pcVar12 = (curl_httppost *)httppost;\n      }\n      pcVar12->next = pcVar10;\n      *last_post = pcVar10;\n    }\n    else {\n      pcVar10->more = local_5c->more;\n      local_5c->more = pcVar10;\n    }\n    piVar20 = piVar17 + 7;\n    piVar17 = (int *)piVar17[0x10];\n    local_5c = pcVar10;\n    if ((char *)*piVar20 == (char *)0x0) {\n      if (piVar17 == (int *)0x0) break;\n      goto LAB_0001df4a;\n    }\n  }\n  CVar19 = CURL_FORMADD_OK;\n  p_Var7 = Curl_cfree;\n  goto LAB_0001d97c;\n  while (piVar17 = (int *)piVar17[0x10], piVar17 != (int *)0x0) {\nLAB_0001df70:\n    if ((char)piVar17[1] != '\0') {\n      (*p_Var7)((void *)*piVar17);\n      p_Var7 = Curl_cfree;\n      *piVar17 = 0;\n      *(undefined1 *)(piVar17 + 1) = 0;\n    }\n    if ((char)piVar17[4] != '\0') {\n      (*p_Var7)((void *)piVar17[3]);\n      p_Var7 = Curl_cfree;\n      piVar17[3] = 0;\n      *(undefined1 *)(piVar17 + 4) = 0;\n    }\n    if ((char)piVar17[8] != '\0') {\n      (*p_Var7)((void *)piVar17[7]);\n      p_Var7 = Curl_cfree;\n      piVar17[7] = 0;\n      *(undefined1 *)(piVar17 + 8) = 0;\n    }\n    if ((char)piVar17[0xd] != '\0') {\n      (*p_Var7)((void *)piVar17[0xc]);\n      p_Var7 = Curl_cfree;\n      piVar17[0xc] = 0;\n      *(undefined1 *)(piVar17 + 0xd) = 0;\n      piVar17 = (int *)piVar17[0x10];\n      if (piVar17 == (int *)0x0) break;\n      goto LAB_0001df70;\n    }\n  }\nLAB_0001d97c:\n  do {\n    piVar17 = (int *)piVar6[0x10];\n    (*p_Var7)(piVar6);\n    p_Var7 = Curl_cfree;\n    piVar6 = piVar17;\n  } while (piVar17 != (int *)0x0);\n  return CVar19;\n}" { (declaration "void *pvVar1;" primitive_type (pointer_declarator "*pvVar1" * identifier) ;) (declaration "curl_slist *pcVar2;" type_identifier (pointer_declarator "*pcVar2" * identifier) ;) (declaration "char *pcVar3;" primitive_type (pointer_declarator "*pcVar3" * identifier) ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "bool bVar5;" primitive_type identifier ;) (declaration "int *piVar6;" primitive_type (pointer_declarator "*piVar6" * identifier) ;) (declaration "curl_free_callback p_Var7;" type_identifier identifier ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "size_t sVar9;" primitive_type identifier ;) (declaration "curl_httppost *pcVar10;" type_identifier (pointer_declarator "*pcVar10" * identifier) ;) (declaration "size_t sVar11;" primitive_type identifier ;) (declaration "curl_httppost *pcVar12;" type_identifier (pointer_declarator "*pcVar12" * identifier) ;) (declaration "char *pcVar13;" primitive_type (pointer_declarator "*pcVar13" * identifier) ;) (declaration "size_t length;" primitive_type identifier ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "char *pcVar16;" primitive_type (pointer_declarator "*pcVar16" * identifier) ;) (declaration "int *piVar17;" primitive_type (pointer_declarator "*piVar17" * identifier) ;) (declaration "int *piVar18;" primitive_type (pointer_declarator "*piVar18" * identifier) ;) (declaration "CURLFORMcode CVar19;" type_identifier identifier ;) (declaration "int *piVar20;" primitive_type (pointer_declarator "*piVar20" * identifier) ;) (declaration "int *piVar21;" primitive_type (pointer_declarator "*piVar21" * identifier) ;) (declaration "char *local_60;" primitive_type (pointer_declarator "*local_60" * identifier) ;) (declaration "curl_httppost *local_5c;" type_identifier (pointer_declarator "*local_5c" * identifier) ;) (declaration "size_t local_54;" primitive_type identifier ;) (declaration "int local_50;" primitive_type identifier ;) (declaration "char *local_48;" primitive_type (pointer_declarator "*local_48" * identifier) ;) (declaration "char *local_28;" primitive_type (pointer_declarator "*local_28" * identifier) ;) (expression_statement "piVar17 = (int *)&stack0x0000000c;" (assignment_expression "piVar17 = (int *)&stack0x0000000c" identifier = (cast_expression "(int *)&stack0x0000000c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&stack0x0000000c" & identifier))) ;) (expression_statement "piVar6 = (int *)(*Curl_ccalloc)(1,0x44);" (assignment_expression "piVar6 = (int *)(*Curl_ccalloc)(1,0x44)" identifier = (cast_expression "(int *)(*Curl_ccalloc)(1,0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*Curl_ccalloc)(1,0x44)" (parenthesized_expression "(*Curl_ccalloc)" ( (pointer_expression "*Curl_ccalloc" * identifier) )) (argument_list "(1,0x44)" ( number_literal , number_literal ))))) ;) (if_statement "if (piVar6 == (int *)0x0) {\n    return CURL_FORMADD_MEMORY;\n  }" if (parenthesized_expression "(piVar6 == (int *)0x0)" ( (binary_expression "piVar6 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    return CURL_FORMADD_MEMORY;\n  }" { (return_statement "return CURL_FORMADD_MEMORY;" return identifier ;) })) (expression_statement "bVar5 = false;" (assignment_expression "bVar5 = false" identifier = false) ;) (expression_statement "piVar20 = (int *)0x0;" (assignment_expression "piVar20 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_60 = (char *)0x0;" (assignment_expression "local_60 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piVar18 = piVar6;" (assignment_expression "piVar18 = piVar6" identifier = identifier) ;) (labeled_statement "LAB_0001d880:\n  while ((piVar20 != (int *)0x0 && (bVar5))) {\n    local_60 = (char *)piVar20[1];\n    iVar14 = *piVar20;\n    piVar20 = piVar20 + 2;\n    if (iVar14 != 0x11) goto LAB_0001d8a5;\n    bVar5 = false;\n  }" statement_identifier : (while_statement "while ((piVar20 != (int *)0x0 && (bVar5))) {\n    local_60 = (char *)piVar20[1];\n    iVar14 = *piVar20;\n    piVar20 = piVar20 + 2;\n    if (iVar14 != 0x11) goto LAB_0001d8a5;\n    bVar5 = false;\n  }" while (parenthesized_expression "((piVar20 != (int *)0x0 && (bVar5)))" ( (parenthesized_expression "(piVar20 != (int *)0x0 && (bVar5))" ( (binary_expression "piVar20 != (int *)0x0 && (bVar5)" (binary_expression "piVar20 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) && (parenthesized_expression "(bVar5)" ( identifier ))) )) )) (compound_statement "{\n    local_60 = (char *)piVar20[1];\n    iVar14 = *piVar20;\n    piVar20 = piVar20 + 2;\n    if (iVar14 != 0x11) goto LAB_0001d8a5;\n    bVar5 = false;\n  }" { (expression_statement "local_60 = (char *)piVar20[1];" (assignment_expression "local_60 = (char *)piVar20[1]" identifier = (cast_expression "(char *)piVar20[1]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar20[1]" identifier [ number_literal ]))) ;) (expression_statement "iVar14 = *piVar20;" (assignment_expression "iVar14 = *piVar20" identifier = (pointer_expression "*piVar20" * identifier)) ;) (expression_statement "piVar20 = piVar20 + 2;" (assignment_expression "piVar20 = piVar20 + 2" identifier = (binary_expression "piVar20 + 2" identifier + number_literal)) ;) (if_statement "if (iVar14 != 0x11) goto LAB_0001d8a5;" if (parenthesized_expression "(iVar14 != 0x11)" ( (binary_expression "iVar14 != 0x11" identifier != number_literal) )) (goto_statement "goto LAB_0001d8a5;" goto statement_identifier ;)) (expression_statement "bVar5 = false;" (assignment_expression "bVar5 = false" identifier = false) ;) }))) (expression_statement "iVar14 = *piVar17;" (assignment_expression "iVar14 = *piVar17" identifier = (pointer_expression "*piVar17" * identifier)) ;) (expression_statement "piVar17 = piVar17 + 1;" (assignment_expression "piVar17 = piVar17 + 1" identifier = (binary_expression "piVar17 + 1" identifier + number_literal)) ;) (if_statement "if (iVar14 == 0x11) {\n    local_28 = (char *)0x0;\n    local_5c = (curl_httppost *)0x0;\n    piVar17 = piVar6;\n    goto LAB_0001df4a;\n  }" if (parenthesized_expression "(iVar14 == 0x11)" ( (binary_expression "iVar14 == 0x11" identifier == number_literal) )) (compound_statement "{\n    local_28 = (char *)0x0;\n    local_5c = (curl_httppost *)0x0;\n    piVar17 = piVar6;\n    goto LAB_0001df4a;\n  }" { (expression_statement "local_28 = (char *)0x0;" (assignment_expression "local_28 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_5c = (curl_httppost *)0x0;" (assignment_expression "local_5c = (curl_httppost *)0x0" identifier = (cast_expression "(curl_httppost *)0x0" ( (type_descriptor "curl_httppost *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piVar17 = piVar6;" (assignment_expression "piVar17 = piVar6" identifier = identifier) ;) (goto_statement "goto LAB_0001df4a;" goto statement_identifier ;) })) (labeled_statement "LAB_0001d8a5:\n  p_Var7 = Curl_cfree;" statement_identifier : (expression_statement "p_Var7 = Curl_cfree;" (assignment_expression "p_Var7 = Curl_cfree" identifier = identifier) ;)) (expression_statement "pcVar13 = local_60;" (assignment_expression "pcVar13 = local_60" identifier = identifier) ;) (expression_statement "piVar21 = piVar6;" (assignment_expression "piVar21 = piVar6" identifier = identifier) ;) (switch_statement "switch(iVar14) {\n  default:\n    CVar19 = CURL_FORMADD_UNKNOWN_OPTION;\n    goto LAB_0001d8e8;\n  case 1:\n    goto _L25;\n  case 2:\n    piVar18[9] = piVar18[9] | 4;\n_L25:\n    if (*piVar18 == 0) {\n      if (!bVar5) {\n        pcVar13 = (char *)*piVar17;\n        piVar17 = piVar17 + 1;\n      }\n      if (pcVar13 == (char *)0x0) goto LAB_0001dd00;\n      *piVar18 = (int)pcVar13;\n      goto LAB_0001d880;\n    }\n    break;\n  case 3:\n    if (piVar18[2] == 0) {\n      if (!bVar5) {\n        pcVar13 = (char *)*piVar17;\n        piVar17 = piVar17 + 1;\n      }\n      piVar18[2] = (int)pcVar13;\n      goto LAB_0001d880;\n    }\n    break;\n  case 4:\n    goto _L22;\n  case 5:\n    piVar18[9] = piVar18[9] | 8;\n_L22:\n    if (piVar18[3] == 0) {\n      if (!bVar5) {\n        pcVar13 = (char *)*piVar17;\n        piVar17 = piVar17 + 1;\n      }\n      if (pcVar13 == (char *)0x0) goto LAB_0001dd00;\nLAB_0001dd31:\n      piVar18[3] = (int)pcVar13;\n      goto LAB_0001d880;\n    }\n    break;\n  case 6:\n    if (!bVar5) {\n      pcVar13 = (char *)*piVar17;\n      piVar17 = piVar17 + 1;\n    }\n    piVar18[5] = (int)pcVar13;\n    piVar18[6] = 0;\n    goto LAB_0001d880;\n  case 7:\n    if ((*(byte *)(piVar18 + 9) & 10) == 0) {\n      if (!bVar5) {\n        pcVar13 = (char *)*piVar17;\n        piVar17 = piVar17 + 1;\n      }\n      if (pcVar13 == (char *)0x0) goto LAB_0001dd00;\n      pcVar13 = (*Curl_cstrdup)(pcVar13);\n      piVar18[3] = (int)pcVar13;\n      if (pcVar13 == (char *)0x0) goto LAB_0001dd10;\n      piVar18[9] = piVar18[9] | 2;\n      *(undefined1 *)(piVar18 + 4) = 1;\n      goto LAB_0001d880;\n    }\n    break;\n  case 8:\n    if (bVar5) {\n      CVar19 = CURL_FORMADD_ILLEGAL_ARRAY;\n      goto LAB_0001d8e8;\n    }\n    piVar20 = (int *)*piVar17;\n    if (piVar20 == (int *)0x0) goto LAB_0001dd00;\n    piVar17 = piVar17 + 1;\n    bVar5 = true;\n    goto LAB_0001d880;\n  case 10:\n    if (!bVar5) {\n      pcVar13 = (char *)*piVar17;\n      piVar17 = piVar17 + 1;\n    }\n    if (piVar18[3] != 0) {\n      if ((*(byte *)(piVar18 + 9) & 1) == 0) break;\n      if (pcVar13 != (char *)0x0) {\n        local_48 = (*Curl_cstrdup)(pcVar13);\n        if (local_48 == (char *)0x0) goto LAB_0001dd10;\n        piVar8 = (int *)(*Curl_ccalloc)(1,0x44);\n        if (piVar8 == (int *)0x0) {\nLAB_0001e234:\n          CVar19 = CURL_FORMADD_MEMORY;\n          (*Curl_cfree)(local_48);\n          p_Var7 = Curl_cfree;\n          goto LAB_0001d8e8;\n        }\n        piVar8[3] = (int)local_48;\n        iVar14 = piVar18[0x10];\n        piVar8[9] = 1;\n        piVar8[0x10] = iVar14;\n        piVar18[0x10] = (int)piVar8;\n        *(undefined1 *)(piVar8 + 4) = 1;\n        piVar18 = piVar8;\n        goto LAB_0001d880;\n      }\nLAB_0001dd00:\n      CVar19 = CURL_FORMADD_NULL;\n      p_Var7 = Curl_cfree;\nLAB_0001d8e8:\n      do {\n        if ((char)piVar21[1] != '\0') {\n          (*p_Var7)((void *)*piVar21);\n          p_Var7 = Curl_cfree;\n          *piVar21 = 0;\n          *(undefined1 *)(piVar21 + 1) = 0;\n        }\n        if ((char)piVar21[4] != '\0') {\n          (*p_Var7)((void *)piVar21[3]);\n          p_Var7 = Curl_cfree;\n          piVar21[3] = 0;\n          *(undefined1 *)(piVar21 + 4) = 0;\n        }\n        if ((char)piVar21[8] != '\0') {\n          (*p_Var7)((void *)piVar21[7]);\n          p_Var7 = Curl_cfree;\n          piVar21[7] = 0;\n          *(undefined1 *)(piVar21 + 8) = 0;\n        }\n        if ((char)piVar21[0xd] == '\0') {\n          piVar17 = piVar21 + 0x10;\n          piVar21 = (int *)*piVar17;\n          if ((int *)*piVar17 == (int *)0x0) break;\n          goto LAB_0001d8e8;\n        }\n        (*p_Var7)((void *)piVar21[0xc]);\n        p_Var7 = Curl_cfree;\n        piVar21[0xc] = 0;\n        *(undefined1 *)(piVar21 + 0xd) = 0;\n        piVar17 = piVar21 + 0x10;\n        piVar21 = (int *)*piVar17;\n      } while ((int *)*piVar17 != (int *)0x0);\n      goto LAB_0001d97c;\n    }\n    if (pcVar13 == (char *)0x0) goto LAB_0001dd00;\n    pcVar13 = (*Curl_cstrdup)(pcVar13);\n    piVar18[3] = (int)pcVar13;\n    if (pcVar13 != (char *)0x0) {\n      piVar18[9] = piVar18[9] | 1;\n      *(undefined1 *)(piVar18 + 4) = 1;\n      goto LAB_0001d880;\n    }\n    goto LAB_0001dd10;\n  case 0xb:\n  case 0x10:\n    if (!bVar5) {\n      pcVar13 = (char *)*piVar17;\n      piVar17 = piVar17 + 1;\n    }\n    if (piVar18[0xc] == 0) {\n      pcVar13 = (*Curl_cstrdup)(pcVar13);\n      piVar18[0xc] = (int)pcVar13;\n      if (pcVar13 == (char *)0x0) goto LAB_0001dd10;\n      *(undefined1 *)(piVar18 + 0xd) = 1;\n      goto LAB_0001d880;\n    }\n    break;\n  case 0xc:\n    piVar18[9] = piVar18[9] | 0x30;\n    if (piVar18[10] != 0) break;\n    if (!bVar5) {\n      pcVar13 = (char *)*piVar17;\n      piVar17 = piVar17 + 1;\n    }\n    if (pcVar13 != (char *)0x0) {\n      piVar18[10] = (int)pcVar13;\n      goto LAB_0001dd31;\n    }\n    goto LAB_0001dd00;\n  case 0xd:\n    if (piVar18[0xb] == 0) {\n      if (!bVar5) {\n        pcVar13 = (char *)*piVar17;\n        piVar17 = piVar17 + 1;\n      }\n      piVar18[0xb] = (int)pcVar13;\n      goto LAB_0001d880;\n    }\n    break;\n  case 0xe:\n    if (!bVar5) {\n      pcVar13 = (char *)*piVar17;\n      piVar17 = piVar17 + 1;\n    }\n    if (piVar18[7] == 0) {\n      if (pcVar13 == (char *)0x0) goto LAB_0001dd00;\n      pcVar13 = (*Curl_cstrdup)(pcVar13);\n      piVar18[7] = (int)pcVar13;\n      if (pcVar13 != (char *)0x0) {\n        *(undefined1 *)(piVar18 + 8) = 1;\n        goto LAB_0001d880;\n      }\n    }\n    else {\n      if ((*(byte *)(piVar18 + 9) & 1) == 0) break;\n      if (pcVar13 == (char *)0x0) goto LAB_0001dd00;\n      local_48 = (*Curl_cstrdup)(pcVar13);\n      if (local_48 != (char *)0x0) {\n        piVar8 = (int *)(*Curl_ccalloc)(1,0x44);\n        if (piVar8 == (int *)0x0) goto LAB_0001e234;\n        piVar8[7] = (int)local_48;\n        iVar14 = piVar18[0x10];\n        piVar8[9] = 1;\n        piVar8[0x10] = iVar14;\n        piVar18[0x10] = (int)piVar8;\n        *(undefined1 *)(piVar8 + 8) = 1;\n        piVar18 = piVar8;\n        goto LAB_0001d880;\n      }\n    }\nLAB_0001dd10:\n    CVar19 = CURL_FORMADD_MEMORY;\n    p_Var7 = Curl_cfree;\n    goto LAB_0001d8e8;\n  case 0xf:\n    if (!bVar5) {\n      pcVar13 = (char *)*piVar17;\n      piVar17 = piVar17 + 1;\n    }\n    if (piVar18[0xf] == 0) {\n      piVar18[0xf] = (int)pcVar13;\n      goto LAB_0001d880;\n    }\n    break;\n  case 0x13:\n    piVar18[9] = piVar18[9] | 0x40;\n    if (piVar18[0xe] == 0) {\n      if (!bVar5) {\n        pcVar13 = (char *)*piVar17;\n        piVar17 = piVar17 + 1;\n      }\n      if (pcVar13 == (char *)0x0) goto LAB_0001dd00;\n      piVar18[0xe] = (int)pcVar13;\n      piVar18[3] = (int)pcVar13;\n      goto LAB_0001d880;\n    }\n    break;\n  case 0x14:\n    piVar18[9] = piVar18[9] | 0x80;\n    if (bVar5) {\n      iVar14 = 0;\n    }\n    else {\n      pcVar13 = (char *)*piVar17;\n      iVar14 = piVar17[1];\n      piVar17 = piVar17 + 2;\n    }\n    piVar18[5] = (int)pcVar13;\n    piVar18[6] = iVar14;\n    goto LAB_0001d880;\n  }" switch (parenthesized_expression "(iVar14)" ( identifier )) (compound_statement "{\n  default:\n    CVar19 = CURL_FORMADD_UNKNOWN_OPTION;\n    goto LAB_0001d8e8;\n  case 1:\n    goto _L25;\n  case 2:\n    piVar18[9] = piVar18[9] | 4;\n_L25:\n    if (*piVar18 == 0) {\n      if (!bVar5) {\n        pcVar13 = (char *)*piVar17;\n        piVar17 = piVar17 + 1;\n      }\n      if (pcVar13 == (char *)0x0) goto LAB_0001dd00;\n      *piVar18 = (int)pcVar13;\n      goto LAB_0001d880;\n    }\n    break;\n  case 3:\n    if (piVar18[2] == 0) {\n      if (!bVar5) {\n        pcVar13 = (char *)*piVar17;\n        piVar17 = piVar17 + 1;\n      }\n      piVar18[2] = (int)pcVar13;\n      goto LAB_0001d880;\n    }\n    break;\n  case 4:\n    goto _L22;\n  case 5:\n    piVar18[9] = piVar18[9] | 8;\n_L22:\n    if (piVar18[3] == 0) {\n      if (!bVar5) {\n        pcVar13 = (char *)*piVar17;\n        piVar17 = piVar17 + 1;\n      }\n      if (pcVar13 == (char *)0x0) goto LAB_0001dd00;\nLAB_0001dd31:\n      piVar18[3] = (int)pcVar13;\n      goto LAB_0001d880;\n    }\n    break;\n  case 6:\n    if (!bVar5) {\n      pcVar13 = (char *)*piVar17;\n      piVar17 = piVar17 + 1;\n    }\n    piVar18[5] = (int)pcVar13;\n    piVar18[6] = 0;\n    goto LAB_0001d880;\n  case 7:\n    if ((*(byte *)(piVar18 + 9) & 10) == 0) {\n      if (!bVar5) {\n        pcVar13 = (char *)*piVar17;\n        piVar17 = piVar17 + 1;\n      }\n      if (pcVar13 == (char *)0x0) goto LAB_0001dd00;\n      pcVar13 = (*Curl_cstrdup)(pcVar13);\n      piVar18[3] = (int)pcVar13;\n      if (pcVar13 == (char *)0x0) goto LAB_0001dd10;\n      piVar18[9] = piVar18[9] | 2;\n      *(undefined1 *)(piVar18 + 4) = 1;\n      goto LAB_0001d880;\n    }\n    break;\n  case 8:\n    if (bVar5) {\n      CVar19 = CURL_FORMADD_ILLEGAL_ARRAY;\n      goto LAB_0001d8e8;\n    }\n    piVar20 = (int *)*piVar17;\n    if (piVar20 == (int *)0x0) goto LAB_0001dd00;\n    piVar17 = piVar17 + 1;\n    bVar5 = true;\n    goto LAB_0001d880;\n  case 10:\n    if (!bVar5) {\n      pcVar13 = (char *)*piVar17;\n      piVar17 = piVar17 + 1;\n    }\n    if (piVar18[3] != 0) {\n      if ((*(byte *)(piVar18 + 9) & 1) == 0) break;\n      if (pcVar13 != (char *)0x0) {\n        local_48 = (*Curl_cstrdup)(pcVar13);\n        if (local_48 == (char *)0x0) goto LAB_0001dd10;\n        piVar8 = (int *)(*Curl_ccalloc)(1,0x44);\n        if (piVar8 == (int *)0x0) {\nLAB_0001e234:\n          CVar19 = CURL_FORMADD_MEMORY;\n          (*Curl_cfree)(local_48);\n          p_Var7 = Curl_cfree;\n          goto LAB_0001d8e8;\n        }\n        piVar8[3] = (int)local_48;\n        iVar14 = piVar18[0x10];\n        piVar8[9] = 1;\n        piVar8[0x10] = iVar14;\n        piVar18[0x10] = (int)piVar8;\n        *(undefined1 *)(piVar8 + 4) = 1;\n        piVar18 = piVar8;\n        goto LAB_0001d880;\n      }\nLAB_0001dd00:\n      CVar19 = CURL_FORMADD_NULL;\n      p_Var7 = Curl_cfree;\nLAB_0001d8e8:\n      do {\n        if ((char)piVar21[1] != '\0') {\n          (*p_Var7)((void *)*piVar21);\n          p_Var7 = Curl_cfree;\n          *piVar21 = 0;\n          *(undefined1 *)(piVar21 + 1) = 0;\n        }\n        if ((char)piVar21[4] != '\0') {\n          (*p_Var7)((void *)piVar21[3]);\n          p_Var7 = Curl_cfree;\n          piVar21[3] = 0;\n          *(undefined1 *)(piVar21 + 4) = 0;\n        }\n        if ((char)piVar21[8] != '\0') {\n          (*p_Var7)((void *)piVar21[7]);\n          p_Var7 = Curl_cfree;\n          piVar21[7] = 0;\n          *(undefined1 *)(piVar21 + 8) = 0;\n        }\n        if ((char)piVar21[0xd] == '\0') {\n          piVar17 = piVar21 + 0x10;\n          piVar21 = (int *)*piVar17;\n          if ((int *)*piVar17 == (int *)0x0) break;\n          goto LAB_0001d8e8;\n        }\n        (*p_Var7)((void *)piVar21[0xc]);\n        p_Var7 = Curl_cfree;\n        piVar21[0xc] = 0;\n        *(undefined1 *)(piVar21 + 0xd) = 0;\n        piVar17 = piVar21 + 0x10;\n        piVar21 = (int *)*piVar17;\n      } while ((int *)*piVar17 != (int *)0x0);\n      goto LAB_0001d97c;\n    }\n    if (pcVar13 == (char *)0x0) goto LAB_0001dd00;\n    pcVar13 = (*Curl_cstrdup)(pcVar13);\n    piVar18[3] = (int)pcVar13;\n    if (pcVar13 != (char *)0x0) {\n      piVar18[9] = piVar18[9] | 1;\n      *(undefined1 *)(piVar18 + 4) = 1;\n      goto LAB_0001d880;\n    }\n    goto LAB_0001dd10;\n  case 0xb:\n  case 0x10:\n    if (!bVar5) {\n      pcVar13 = (char *)*piVar17;\n      piVar17 = piVar17 + 1;\n    }\n    if (piVar18[0xc] == 0) {\n      pcVar13 = (*Curl_cstrdup)(pcVar13);\n      piVar18[0xc] = (int)pcVar13;\n      if (pcVar13 == (char *)0x0) goto LAB_0001dd10;\n      *(undefined1 *)(piVar18 + 0xd) = 1;\n      goto LAB_0001d880;\n    }\n    break;\n  case 0xc:\n    piVar18[9] = piVar18[9] | 0x30;\n    if (piVar18[10] != 0) break;\n    if (!bVar5) {\n      pcVar13 = (char *)*piVar17;\n      piVar17 = piVar17 + 1;\n    }\n    if (pcVar13 != (char *)0x0) {\n      piVar18[10] = (int)pcVar13;\n      goto LAB_0001dd31;\n    }\n    goto LAB_0001dd00;\n  case 0xd:\n    if (piVar18[0xb] == 0) {\n      if (!bVar5) {\n        pcVar13 = (char *)*piVar17;\n        piVar17 = piVar17 + 1;\n      }\n      piVar18[0xb] = (int)pcVar13;\n      goto LAB_0001d880;\n    }\n    break;\n  case 0xe:\n    if (!bVar5) {\n      pcVar13 = (char *)*piVar17;\n      piVar17 = piVar17 + 1;\n    }\n    if (piVar18[7] == 0) {\n      if (pcVar13 == (char *)0x0) goto LAB_0001dd00;\n      pcVar13 = (*Curl_cstrdup)(pcVar13);\n      piVar18[7] = (int)pcVar13;\n      if (pcVar13 != (char *)0x0) {\n        *(undefined1 *)(piVar18 + 8) = 1;\n        goto LAB_0001d880;\n      }\n    }\n    else {\n      if ((*(byte *)(piVar18 + 9) & 1) == 0) break;\n      if (pcVar13 == (char *)0x0) goto LAB_0001dd00;\n      local_48 = (*Curl_cstrdup)(pcVar13);\n      if (local_48 != (char *)0x0) {\n        piVar8 = (int *)(*Curl_ccalloc)(1,0x44);\n        if (piVar8 == (int *)0x0) goto LAB_0001e234;\n        piVar8[7] = (int)local_48;\n        iVar14 = piVar18[0x10];\n        piVar8[9] = 1;\n        piVar8[0x10] = iVar14;\n        piVar18[0x10] = (int)piVar8;\n        *(undefined1 *)(piVar8 + 8) = 1;\n        piVar18 = piVar8;\n        goto LAB_0001d880;\n      }\n    }\nLAB_0001dd10:\n    CVar19 = CURL_FORMADD_MEMORY;\n    p_Var7 = Curl_cfree;\n    goto LAB_0001d8e8;\n  case 0xf:\n    if (!bVar5) {\n      pcVar13 = (char *)*piVar17;\n      piVar17 = piVar17 + 1;\n    }\n    if (piVar18[0xf] == 0) {\n      piVar18[0xf] = (int)pcVar13;\n      goto LAB_0001d880;\n    }\n    break;\n  case 0x13:\n    piVar18[9] = piVar18[9] | 0x40;\n    if (piVar18[0xe] == 0) {\n      if (!bVar5) {\n        pcVar13 = (char *)*piVar17;\n        piVar17 = piVar17 + 1;\n      }\n      if (pcVar13 == (char *)0x0) goto LAB_0001dd00;\n      piVar18[0xe] = (int)pcVar13;\n      piVar18[3] = (int)pcVar13;\n      goto LAB_0001d880;\n    }\n    break;\n  case 0x14:\n    piVar18[9] = piVar18[9] | 0x80;\n    if (bVar5) {\n      iVar14 = 0;\n    }\n    else {\n      pcVar13 = (char *)*piVar17;\n      iVar14 = piVar17[1];\n      piVar17 = piVar17 + 2;\n    }\n    piVar18[5] = (int)pcVar13;\n    piVar18[6] = iVar14;\n    goto LAB_0001d880;\n  }" { (case_statement "default:\n    CVar19 = CURL_FORMADD_UNKNOWN_OPTION;\n    goto LAB_0001d8e8;" default : (expression_statement "CVar19 = CURL_FORMADD_UNKNOWN_OPTION;" (assignment_expression "CVar19 = CURL_FORMADD_UNKNOWN_OPTION" identifier = identifier) ;) (goto_statement "goto LAB_0001d8e8;" goto statement_identifier ;)) (case_statement "case 1:\n    goto _L25;" case number_literal : (goto_statement "goto _L25;" goto statement_identifier ;)) (case_statement "case 2:\n    piVar18[9] = piVar18[9] | 4;\n_L25:\n    if (*piVar18 == 0) {\n      if (!bVar5) {\n        pcVar13 = (char *)*piVar17;\n        piVar17 = piVar17 + 1;\n      }\n      if (pcVar13 == (char *)0x0) goto LAB_0001dd00;\n      *piVar18 = (int)pcVar13;\n      goto LAB_0001d880;\n    }\n    break;" case number_literal : (expression_statement "piVar18[9] = piVar18[9] | 4;" (assignment_expression "piVar18[9] = piVar18[9] | 4" (subscript_expression "piVar18[9]" identifier [ number_literal ]) = (binary_expression "piVar18[9] | 4" (subscript_expression "piVar18[9]" identifier [ number_literal ]) | number_literal)) ;) (labeled_statement "_L25:\n    if (*piVar18 == 0) {\n      if (!bVar5) {\n        pcVar13 = (char *)*piVar17;\n        piVar17 = piVar17 + 1;\n      }\n      if (pcVar13 == (char *)0x0) goto LAB_0001dd00;\n      *piVar18 = (int)pcVar13;\n      goto LAB_0001d880;\n    }" statement_identifier : (if_statement "if (*piVar18 == 0) {\n      if (!bVar5) {\n        pcVar13 = (char *)*piVar17;\n        piVar17 = piVar17 + 1;\n      }\n      if (pcVar13 == (char *)0x0) goto LAB_0001dd00;\n      *piVar18 = (int)pcVar13;\n      goto LAB_0001d880;\n    }" if (parenthesized_expression "(*piVar18 == 0)" ( (binary_expression "*piVar18 == 0" (pointer_expression "*piVar18" * identifier) == number_literal) )) (compound_statement "{\n      if (!bVar5) {\n        pcVar13 = (char *)*piVar17;\n        piVar17 = piVar17 + 1;\n      }\n      if (pcVar13 == (char *)0x0) goto LAB_0001dd00;\n      *piVar18 = (int)pcVar13;\n      goto LAB_0001d880;\n    }" { (if_statement "if (!bVar5) {\n        pcVar13 = (char *)*piVar17;\n        piVar17 = piVar17 + 1;\n      }" if (parenthesized_expression "(!bVar5)" ( (unary_expression "!bVar5" ! identifier) )) (compound_statement "{\n        pcVar13 = (char *)*piVar17;\n        piVar17 = piVar17 + 1;\n      }" { (expression_statement "pcVar13 = (char *)*piVar17;" (assignment_expression "pcVar13 = (char *)*piVar17" identifier = (cast_expression "(char *)*piVar17" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar17" * identifier))) ;) (expression_statement "piVar17 = piVar17 + 1;" (assignment_expression "piVar17 = piVar17 + 1" identifier = (binary_expression "piVar17 + 1" identifier + number_literal)) ;) })) (if_statement "if (pcVar13 == (char *)0x0) goto LAB_0001dd00;" if (parenthesized_expression "(pcVar13 == (char *)0x0)" ( (binary_expression "pcVar13 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0001dd00;" goto statement_identifier ;)) (expression_statement "*piVar18 = (int)pcVar13;" (assignment_expression "*piVar18 = (int)pcVar13" (pointer_expression "*piVar18" * identifier) = (cast_expression "(int)pcVar13" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (goto_statement "goto LAB_0001d880;" goto statement_identifier ;) }))) (break_statement "break;" break ;)) (case_statement "case 3:\n    if (piVar18[2] == 0) {\n      if (!bVar5) {\n        pcVar13 = (char *)*piVar17;\n        piVar17 = piVar17 + 1;\n      }\n      piVar18[2] = (int)pcVar13;\n      goto LAB_0001d880;\n    }\n    break;" case number_literal : (if_statement "if (piVar18[2] == 0) {\n      if (!bVar5) {\n        pcVar13 = (char *)*piVar17;\n        piVar17 = piVar17 + 1;\n      }\n      piVar18[2] = (int)pcVar13;\n      goto LAB_0001d880;\n    }" if (parenthesized_expression "(piVar18[2] == 0)" ( (binary_expression "piVar18[2] == 0" (subscript_expression "piVar18[2]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      if (!bVar5) {\n        pcVar13 = (char *)*piVar17;\n        piVar17 = piVar17 + 1;\n      }\n      piVar18[2] = (int)pcVar13;\n      goto LAB_0001d880;\n    }" { (if_statement "if (!bVar5) {\n        pcVar13 = (char *)*piVar17;\n        piVar17 = piVar17 + 1;\n      }" if (parenthesized_expression "(!bVar5)" ( (unary_expression "!bVar5" ! identifier) )) (compound_statement "{\n        pcVar13 = (char *)*piVar17;\n        piVar17 = piVar17 + 1;\n      }" { (expression_statement "pcVar13 = (char *)*piVar17;" (assignment_expression "pcVar13 = (char *)*piVar17" identifier = (cast_expression "(char *)*piVar17" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar17" * identifier))) ;) (expression_statement "piVar17 = piVar17 + 1;" (assignment_expression "piVar17 = piVar17 + 1" identifier = (binary_expression "piVar17 + 1" identifier + number_literal)) ;) })) (expression_statement "piVar18[2] = (int)pcVar13;" (assignment_expression "piVar18[2] = (int)pcVar13" (subscript_expression "piVar18[2]" identifier [ number_literal ]) = (cast_expression "(int)pcVar13" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (goto_statement "goto LAB_0001d880;" goto statement_identifier ;) })) (break_statement "break;" break ;)) (case_statement "case 4:\n    goto _L22;" case number_literal : (goto_statement "goto _L22;" goto statement_identifier ;)) (case_statement "case 5:\n    piVar18[9] = piVar18[9] | 8;\n_L22:\n    if (piVar18[3] == 0) {\n      if (!bVar5) {\n        pcVar13 = (char *)*piVar17;\n        piVar17 = piVar17 + 1;\n      }\n      if (pcVar13 == (char *)0x0) goto LAB_0001dd00;\nLAB_0001dd31:\n      piVar18[3] = (int)pcVar13;\n      goto LAB_0001d880;\n    }\n    break;" case number_literal : (expression_statement "piVar18[9] = piVar18[9] | 8;" (assignment_expression "piVar18[9] = piVar18[9] | 8" (subscript_expression "piVar18[9]" identifier [ number_literal ]) = (binary_expression "piVar18[9] | 8" (subscript_expression "piVar18[9]" identifier [ number_literal ]) | number_literal)) ;) (labeled_statement "_L22:\n    if (piVar18[3] == 0) {\n      if (!bVar5) {\n        pcVar13 = (char *)*piVar17;\n        piVar17 = piVar17 + 1;\n      }\n      if (pcVar13 == (char *)0x0) goto LAB_0001dd00;\nLAB_0001dd31:\n      piVar18[3] = (int)pcVar13;\n      goto LAB_0001d880;\n    }" statement_identifier : (if_statement "if (piVar18[3] == 0) {\n      if (!bVar5) {\n        pcVar13 = (char *)*piVar17;\n        piVar17 = piVar17 + 1;\n      }\n      if (pcVar13 == (char *)0x0) goto LAB_0001dd00;\nLAB_0001dd31:\n      piVar18[3] = (int)pcVar13;\n      goto LAB_0001d880;\n    }" if (parenthesized_expression "(piVar18[3] == 0)" ( (binary_expression "piVar18[3] == 0" (subscript_expression "piVar18[3]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      if (!bVar5) {\n        pcVar13 = (char *)*piVar17;\n        piVar17 = piVar17 + 1;\n      }\n      if (pcVar13 == (char *)0x0) goto LAB_0001dd00;\nLAB_0001dd31:\n      piVar18[3] = (int)pcVar13;\n      goto LAB_0001d880;\n    }" { (if_statement "if (!bVar5) {\n        pcVar13 = (char *)*piVar17;\n        piVar17 = piVar17 + 1;\n      }" if (parenthesized_expression "(!bVar5)" ( (unary_expression "!bVar5" ! identifier) )) (compound_statement "{\n        pcVar13 = (char *)*piVar17;\n        piVar17 = piVar17 + 1;\n      }" { (expression_statement "pcVar13 = (char *)*piVar17;" (assignment_expression "pcVar13 = (char *)*piVar17" identifier = (cast_expression "(char *)*piVar17" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar17" * identifier))) ;) (expression_statement "piVar17 = piVar17 + 1;" (assignment_expression "piVar17 = piVar17 + 1" identifier = (binary_expression "piVar17 + 1" identifier + number_literal)) ;) })) (if_statement "if (pcVar13 == (char *)0x0) goto LAB_0001dd00;" if (parenthesized_expression "(pcVar13 == (char *)0x0)" ( (binary_expression "pcVar13 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0001dd00;" goto statement_identifier ;)) (labeled_statement "LAB_0001dd31:\n      piVar18[3] = (int)pcVar13;" statement_identifier : (expression_statement "piVar18[3] = (int)pcVar13;" (assignment_expression "piVar18[3] = (int)pcVar13" (subscript_expression "piVar18[3]" identifier [ number_literal ]) = (cast_expression "(int)pcVar13" ( (type_descriptor "int" primitive_type) ) identifier)) ;)) (goto_statement "goto LAB_0001d880;" goto statement_identifier ;) }))) (break_statement "break;" break ;)) (case_statement "case 6:\n    if (!bVar5) {\n      pcVar13 = (char *)*piVar17;\n      piVar17 = piVar17 + 1;\n    }\n    piVar18[5] = (int)pcVar13;\n    piVar18[6] = 0;\n    goto LAB_0001d880;" case number_literal : (if_statement "if (!bVar5) {\n      pcVar13 = (char *)*piVar17;\n      piVar17 = piVar17 + 1;\n    }" if (parenthesized_expression "(!bVar5)" ( (unary_expression "!bVar5" ! identifier) )) (compound_statement "{\n      pcVar13 = (char *)*piVar17;\n      piVar17 = piVar17 + 1;\n    }" { (expression_statement "pcVar13 = (char *)*piVar17;" (assignment_expression "pcVar13 = (char *)*piVar17" identifier = (cast_expression "(char *)*piVar17" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar17" * identifier))) ;) (expression_statement "piVar17 = piVar17 + 1;" (assignment_expression "piVar17 = piVar17 + 1" identifier = (binary_expression "piVar17 + 1" identifier + number_literal)) ;) })) (expression_statement "piVar18[5] = (int)pcVar13;" (assignment_expression "piVar18[5] = (int)pcVar13" (subscript_expression "piVar18[5]" identifier [ number_literal ]) = (cast_expression "(int)pcVar13" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar18[6] = 0;" (assignment_expression "piVar18[6] = 0" (subscript_expression "piVar18[6]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_0001d880;" goto statement_identifier ;)) (case_statement "case 7:\n    if ((*(byte *)(piVar18 + 9) & 10) == 0) {\n      if (!bVar5) {\n        pcVar13 = (char *)*piVar17;\n        piVar17 = piVar17 + 1;\n      }\n      if (pcVar13 == (char *)0x0) goto LAB_0001dd00;\n      pcVar13 = (*Curl_cstrdup)(pcVar13);\n      piVar18[3] = (int)pcVar13;\n      if (pcVar13 == (char *)0x0) goto LAB_0001dd10;\n      piVar18[9] = piVar18[9] | 2;\n      *(undefined1 *)(piVar18 + 4) = 1;\n      goto LAB_0001d880;\n    }\n    break;" case number_literal : (if_statement "if ((*(byte *)(piVar18 + 9) & 10) == 0) {\n      if (!bVar5) {\n        pcVar13 = (char *)*piVar17;\n        piVar17 = piVar17 + 1;\n      }\n      if (pcVar13 == (char *)0x0) goto LAB_0001dd00;\n      pcVar13 = (*Curl_cstrdup)(pcVar13);\n      piVar18[3] = (int)pcVar13;\n      if (pcVar13 == (char *)0x0) goto LAB_0001dd10;\n      piVar18[9] = piVar18[9] | 2;\n      *(undefined1 *)(piVar18 + 4) = 1;\n      goto LAB_0001d880;\n    }" if (parenthesized_expression "((*(byte *)(piVar18 + 9) & 10) == 0)" ( (binary_expression "(*(byte *)(piVar18 + 9) & 10) == 0" (parenthesized_expression "(*(byte *)(piVar18 + 9) & 10)" ( (binary_expression "*(byte *)(piVar18 + 9) & 10" (pointer_expression "*(byte *)(piVar18 + 9)" * (cast_expression "(byte *)(piVar18 + 9)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar18 + 9)" ( (binary_expression "piVar18 + 9" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n      if (!bVar5) {\n        pcVar13 = (char *)*piVar17;\n        piVar17 = piVar17 + 1;\n      }\n      if (pcVar13 == (char *)0x0) goto LAB_0001dd00;\n      pcVar13 = (*Curl_cstrdup)(pcVar13);\n      piVar18[3] = (int)pcVar13;\n      if (pcVar13 == (char *)0x0) goto LAB_0001dd10;\n      piVar18[9] = piVar18[9] | 2;\n      *(undefined1 *)(piVar18 + 4) = 1;\n      goto LAB_0001d880;\n    }" { (if_statement "if (!bVar5) {\n        pcVar13 = (char *)*piVar17;\n        piVar17 = piVar17 + 1;\n      }" if (parenthesized_expression "(!bVar5)" ( (unary_expression "!bVar5" ! identifier) )) (compound_statement "{\n        pcVar13 = (char *)*piVar17;\n        piVar17 = piVar17 + 1;\n      }" { (expression_statement "pcVar13 = (char *)*piVar17;" (assignment_expression "pcVar13 = (char *)*piVar17" identifier = (cast_expression "(char *)*piVar17" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar17" * identifier))) ;) (expression_statement "piVar17 = piVar17 + 1;" (assignment_expression "piVar17 = piVar17 + 1" identifier = (binary_expression "piVar17 + 1" identifier + number_literal)) ;) })) (if_statement "if (pcVar13 == (char *)0x0) goto LAB_0001dd00;" if (parenthesized_expression "(pcVar13 == (char *)0x0)" ( (binary_expression "pcVar13 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0001dd00;" goto statement_identifier ;)) (expression_statement "pcVar13 = (*Curl_cstrdup)(pcVar13);" (assignment_expression "pcVar13 = (*Curl_cstrdup)(pcVar13)" identifier = (call_expression "(*Curl_cstrdup)(pcVar13)" (parenthesized_expression "(*Curl_cstrdup)" ( (pointer_expression "*Curl_cstrdup" * identifier) )) (argument_list "(pcVar13)" ( identifier )))) ;) (expression_statement "piVar18[3] = (int)pcVar13;" (assignment_expression "piVar18[3] = (int)pcVar13" (subscript_expression "piVar18[3]" identifier [ number_literal ]) = (cast_expression "(int)pcVar13" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (pcVar13 == (char *)0x0) goto LAB_0001dd10;" if (parenthesized_expression "(pcVar13 == (char *)0x0)" ( (binary_expression "pcVar13 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0001dd10;" goto statement_identifier ;)) (expression_statement "piVar18[9] = piVar18[9] | 2;" (assignment_expression "piVar18[9] = piVar18[9] | 2" (subscript_expression "piVar18[9]" identifier [ number_literal ]) = (binary_expression "piVar18[9] | 2" (subscript_expression "piVar18[9]" identifier [ number_literal ]) | number_literal)) ;) (expression_statement "*(undefined1 *)(piVar18 + 4) = 1;" (assignment_expression "*(undefined1 *)(piVar18 + 4) = 1" (pointer_expression "*(undefined1 *)(piVar18 + 4)" * (cast_expression "(undefined1 *)(piVar18 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar18 + 4)" ( (binary_expression "piVar18 + 4" identifier + number_literal) )))) = number_literal) ;) (goto_statement "goto LAB_0001d880;" goto statement_identifier ;) })) (break_statement "break;" break ;)) (case_statement "case 8:\n    if (bVar5) {\n      CVar19 = CURL_FORMADD_ILLEGAL_ARRAY;\n      goto LAB_0001d8e8;\n    }\n    piVar20 = (int *)*piVar17;\n    if (piVar20 == (int *)0x0) goto LAB_0001dd00;\n    piVar17 = piVar17 + 1;\n    bVar5 = true;\n    goto LAB_0001d880;" case number_literal : (if_statement "if (bVar5) {\n      CVar19 = CURL_FORMADD_ILLEGAL_ARRAY;\n      goto LAB_0001d8e8;\n    }" if (parenthesized_expression "(bVar5)" ( identifier )) (compound_statement "{\n      CVar19 = CURL_FORMADD_ILLEGAL_ARRAY;\n      goto LAB_0001d8e8;\n    }" { (expression_statement "CVar19 = CURL_FORMADD_ILLEGAL_ARRAY;" (assignment_expression "CVar19 = CURL_FORMADD_ILLEGAL_ARRAY" identifier = identifier) ;) (goto_statement "goto LAB_0001d8e8;" goto statement_identifier ;) })) (expression_statement "piVar20 = (int *)*piVar17;" (assignment_expression "piVar20 = (int *)*piVar17" identifier = (cast_expression "(int *)*piVar17" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar17" * identifier))) ;) (if_statement "if (piVar20 == (int *)0x0) goto LAB_0001dd00;" if (parenthesized_expression "(piVar20 == (int *)0x0)" ( (binary_expression "piVar20 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0001dd00;" goto statement_identifier ;)) (expression_statement "piVar17 = piVar17 + 1;" (assignment_expression "piVar17 = piVar17 + 1" identifier = (binary_expression "piVar17 + 1" identifier + number_literal)) ;) (expression_statement "bVar5 = true;" (assignment_expression "bVar5 = true" identifier = true) ;) (goto_statement "goto LAB_0001d880;" goto statement_identifier ;)) (case_statement "case 10:\n    if (!bVar5) {\n      pcVar13 = (char *)*piVar17;\n      piVar17 = piVar17 + 1;\n    }\n    if (piVar18[3] != 0) {\n      if ((*(byte *)(piVar18 + 9) & 1) == 0) break;\n      if (pcVar13 != (char *)0x0) {\n        local_48 = (*Curl_cstrdup)(pcVar13);\n        if (local_48 == (char *)0x0) goto LAB_0001dd10;\n        piVar8 = (int *)(*Curl_ccalloc)(1,0x44);\n        if (piVar8 == (int *)0x0) {\nLAB_0001e234:\n          CVar19 = CURL_FORMADD_MEMORY;\n          (*Curl_cfree)(local_48);\n          p_Var7 = Curl_cfree;\n          goto LAB_0001d8e8;\n        }\n        piVar8[3] = (int)local_48;\n        iVar14 = piVar18[0x10];\n        piVar8[9] = 1;\n        piVar8[0x10] = iVar14;\n        piVar18[0x10] = (int)piVar8;\n        *(undefined1 *)(piVar8 + 4) = 1;\n        piVar18 = piVar8;\n        goto LAB_0001d880;\n      }\nLAB_0001dd00:\n      CVar19 = CURL_FORMADD_NULL;\n      p_Var7 = Curl_cfree;\nLAB_0001d8e8:\n      do {\n        if ((char)piVar21[1] != '\0') {\n          (*p_Var7)((void *)*piVar21);\n          p_Var7 = Curl_cfree;\n          *piVar21 = 0;\n          *(undefined1 *)(piVar21 + 1) = 0;\n        }\n        if ((char)piVar21[4] != '\0') {\n          (*p_Var7)((void *)piVar21[3]);\n          p_Var7 = Curl_cfree;\n          piVar21[3] = 0;\n          *(undefined1 *)(piVar21 + 4) = 0;\n        }\n        if ((char)piVar21[8] != '\0') {\n          (*p_Var7)((void *)piVar21[7]);\n          p_Var7 = Curl_cfree;\n          piVar21[7] = 0;\n          *(undefined1 *)(piVar21 + 8) = 0;\n        }\n        if ((char)piVar21[0xd] == '\0') {\n          piVar17 = piVar21 + 0x10;\n          piVar21 = (int *)*piVar17;\n          if ((int *)*piVar17 == (int *)0x0) break;\n          goto LAB_0001d8e8;\n        }\n        (*p_Var7)((void *)piVar21[0xc]);\n        p_Var7 = Curl_cfree;\n        piVar21[0xc] = 0;\n        *(undefined1 *)(piVar21 + 0xd) = 0;\n        piVar17 = piVar21 + 0x10;\n        piVar21 = (int *)*piVar17;\n      } while ((int *)*piVar17 != (int *)0x0);\n      goto LAB_0001d97c;\n    }\n    if (pcVar13 == (char *)0x0) goto LAB_0001dd00;\n    pcVar13 = (*Curl_cstrdup)(pcVar13);\n    piVar18[3] = (int)pcVar13;\n    if (pcVar13 != (char *)0x0) {\n      piVar18[9] = piVar18[9] | 1;\n      *(undefined1 *)(piVar18 + 4) = 1;\n      goto LAB_0001d880;\n    }\n    goto LAB_0001dd10;" case number_literal : (if_statement "if (!bVar5) {\n      pcVar13 = (char *)*piVar17;\n      piVar17 = piVar17 + 1;\n    }" if (parenthesized_expression "(!bVar5)" ( (unary_expression "!bVar5" ! identifier) )) (compound_statement "{\n      pcVar13 = (char *)*piVar17;\n      piVar17 = piVar17 + 1;\n    }" { (expression_statement "pcVar13 = (char *)*piVar17;" (assignment_expression "pcVar13 = (char *)*piVar17" identifier = (cast_expression "(char *)*piVar17" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar17" * identifier))) ;) (expression_statement "piVar17 = piVar17 + 1;" (assignment_expression "piVar17 = piVar17 + 1" identifier = (binary_expression "piVar17 + 1" identifier + number_literal)) ;) })) (if_statement "if (piVar18[3] != 0) {\n      if ((*(byte *)(piVar18 + 9) & 1) == 0) break;\n      if (pcVar13 != (char *)0x0) {\n        local_48 = (*Curl_cstrdup)(pcVar13);\n        if (local_48 == (char *)0x0) goto LAB_0001dd10;\n        piVar8 = (int *)(*Curl_ccalloc)(1,0x44);\n        if (piVar8 == (int *)0x0) {\nLAB_0001e234:\n          CVar19 = CURL_FORMADD_MEMORY;\n          (*Curl_cfree)(local_48);\n          p_Var7 = Curl_cfree;\n          goto LAB_0001d8e8;\n        }\n        piVar8[3] = (int)local_48;\n        iVar14 = piVar18[0x10];\n        piVar8[9] = 1;\n        piVar8[0x10] = iVar14;\n        piVar18[0x10] = (int)piVar8;\n        *(undefined1 *)(piVar8 + 4) = 1;\n        piVar18 = piVar8;\n        goto LAB_0001d880;\n      }\nLAB_0001dd00:\n      CVar19 = CURL_FORMADD_NULL;\n      p_Var7 = Curl_cfree;\nLAB_0001d8e8:\n      do {\n        if ((char)piVar21[1] != '\0') {\n          (*p_Var7)((void *)*piVar21);\n          p_Var7 = Curl_cfree;\n          *piVar21 = 0;\n          *(undefined1 *)(piVar21 + 1) = 0;\n        }\n        if ((char)piVar21[4] != '\0') {\n          (*p_Var7)((void *)piVar21[3]);\n          p_Var7 = Curl_cfree;\n          piVar21[3] = 0;\n          *(undefined1 *)(piVar21 + 4) = 0;\n        }\n        if ((char)piVar21[8] != '\0') {\n          (*p_Var7)((void *)piVar21[7]);\n          p_Var7 = Curl_cfree;\n          piVar21[7] = 0;\n          *(undefined1 *)(piVar21 + 8) = 0;\n        }\n        if ((char)piVar21[0xd] == '\0') {\n          piVar17 = piVar21 + 0x10;\n          piVar21 = (int *)*piVar17;\n          if ((int *)*piVar17 == (int *)0x0) break;\n          goto LAB_0001d8e8;\n        }\n        (*p_Var7)((void *)piVar21[0xc]);\n        p_Var7 = Curl_cfree;\n        piVar21[0xc] = 0;\n        *(undefined1 *)(piVar21 + 0xd) = 0;\n        piVar17 = piVar21 + 0x10;\n        piVar21 = (int *)*piVar17;\n      } while ((int *)*piVar17 != (int *)0x0);\n      goto LAB_0001d97c;\n    }" if (parenthesized_expression "(piVar18[3] != 0)" ( (binary_expression "piVar18[3] != 0" (subscript_expression "piVar18[3]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      if ((*(byte *)(piVar18 + 9) & 1) == 0) break;\n      if (pcVar13 != (char *)0x0) {\n        local_48 = (*Curl_cstrdup)(pcVar13);\n        if (local_48 == (char *)0x0) goto LAB_0001dd10;\n        piVar8 = (int *)(*Curl_ccalloc)(1,0x44);\n        if (piVar8 == (int *)0x0) {\nLAB_0001e234:\n          CVar19 = CURL_FORMADD_MEMORY;\n          (*Curl_cfree)(local_48);\n          p_Var7 = Curl_cfree;\n          goto LAB_0001d8e8;\n        }\n        piVar8[3] = (int)local_48;\n        iVar14 = piVar18[0x10];\n        piVar8[9] = 1;\n        piVar8[0x10] = iVar14;\n        piVar18[0x10] = (int)piVar8;\n        *(undefined1 *)(piVar8 + 4) = 1;\n        piVar18 = piVar8;\n        goto LAB_0001d880;\n      }\nLAB_0001dd00:\n      CVar19 = CURL_FORMADD_NULL;\n      p_Var7 = Curl_cfree;\nLAB_0001d8e8:\n      do {\n        if ((char)piVar21[1] != '\0') {\n          (*p_Var7)((void *)*piVar21);\n          p_Var7 = Curl_cfree;\n          *piVar21 = 0;\n          *(undefined1 *)(piVar21 + 1) = 0;\n        }\n        if ((char)piVar21[4] != '\0') {\n          (*p_Var7)((void *)piVar21[3]);\n          p_Var7 = Curl_cfree;\n          piVar21[3] = 0;\n          *(undefined1 *)(piVar21 + 4) = 0;\n        }\n        if ((char)piVar21[8] != '\0') {\n          (*p_Var7)((void *)piVar21[7]);\n          p_Var7 = Curl_cfree;\n          piVar21[7] = 0;\n          *(undefined1 *)(piVar21 + 8) = 0;\n        }\n        if ((char)piVar21[0xd] == '\0') {\n          piVar17 = piVar21 + 0x10;\n          piVar21 = (int *)*piVar17;\n          if ((int *)*piVar17 == (int *)0x0) break;\n          goto LAB_0001d8e8;\n        }\n        (*p_Var7)((void *)piVar21[0xc]);\n        p_Var7 = Curl_cfree;\n        piVar21[0xc] = 0;\n        *(undefined1 *)(piVar21 + 0xd) = 0;\n        piVar17 = piVar21 + 0x10;\n        piVar21 = (int *)*piVar17;\n      } while ((int *)*piVar17 != (int *)0x0);\n      goto LAB_0001d97c;\n    }" { (if_statement "if ((*(byte *)(piVar18 + 9) & 1) == 0) break;" if (parenthesized_expression "((*(byte *)(piVar18 + 9) & 1) == 0)" ( (binary_expression "(*(byte *)(piVar18 + 9) & 1) == 0" (parenthesized_expression "(*(byte *)(piVar18 + 9) & 1)" ( (binary_expression "*(byte *)(piVar18 + 9) & 1" (pointer_expression "*(byte *)(piVar18 + 9)" * (cast_expression "(byte *)(piVar18 + 9)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar18 + 9)" ( (binary_expression "piVar18 + 9" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (break_statement "break;" break ;)) (if_statement "if (pcVar13 != (char *)0x0) {\n        local_48 = (*Curl_cstrdup)(pcVar13);\n        if (local_48 == (char *)0x0) goto LAB_0001dd10;\n        piVar8 = (int *)(*Curl_ccalloc)(1,0x44);\n        if (piVar8 == (int *)0x0) {\nLAB_0001e234:\n          CVar19 = CURL_FORMADD_MEMORY;\n          (*Curl_cfree)(local_48);\n          p_Var7 = Curl_cfree;\n          goto LAB_0001d8e8;\n        }\n        piVar8[3] = (int)local_48;\n        iVar14 = piVar18[0x10];\n        piVar8[9] = 1;\n        piVar8[0x10] = iVar14;\n        piVar18[0x10] = (int)piVar8;\n        *(undefined1 *)(piVar8 + 4) = 1;\n        piVar18 = piVar8;\n        goto LAB_0001d880;\n      }" if (parenthesized_expression "(pcVar13 != (char *)0x0)" ( (binary_expression "pcVar13 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        local_48 = (*Curl_cstrdup)(pcVar13);\n        if (local_48 == (char *)0x0) goto LAB_0001dd10;\n        piVar8 = (int *)(*Curl_ccalloc)(1,0x44);\n        if (piVar8 == (int *)0x0) {\nLAB_0001e234:\n          CVar19 = CURL_FORMADD_MEMORY;\n          (*Curl_cfree)(local_48);\n          p_Var7 = Curl_cfree;\n          goto LAB_0001d8e8;\n        }\n        piVar8[3] = (int)local_48;\n        iVar14 = piVar18[0x10];\n        piVar8[9] = 1;\n        piVar8[0x10] = iVar14;\n        piVar18[0x10] = (int)piVar8;\n        *(undefined1 *)(piVar8 + 4) = 1;\n        piVar18 = piVar8;\n        goto LAB_0001d880;\n      }" { (expression_statement "local_48 = (*Curl_cstrdup)(pcVar13);" (assignment_expression "local_48 = (*Curl_cstrdup)(pcVar13)" identifier = (call_expression "(*Curl_cstrdup)(pcVar13)" (parenthesized_expression "(*Curl_cstrdup)" ( (pointer_expression "*Curl_cstrdup" * identifier) )) (argument_list "(pcVar13)" ( identifier )))) ;) (if_statement "if (local_48 == (char *)0x0) goto LAB_0001dd10;" if (parenthesized_expression "(local_48 == (char *)0x0)" ( (binary_expression "local_48 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0001dd10;" goto statement_identifier ;)) (expression_statement "piVar8 = (int *)(*Curl_ccalloc)(1,0x44);" (assignment_expression "piVar8 = (int *)(*Curl_ccalloc)(1,0x44)" identifier = (cast_expression "(int *)(*Curl_ccalloc)(1,0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*Curl_ccalloc)(1,0x44)" (parenthesized_expression "(*Curl_ccalloc)" ( (pointer_expression "*Curl_ccalloc" * identifier) )) (argument_list "(1,0x44)" ( number_literal , number_literal ))))) ;) (if_statement "if (piVar8 == (int *)0x0) {\nLAB_0001e234:\n          CVar19 = CURL_FORMADD_MEMORY;\n          (*Curl_cfree)(local_48);\n          p_Var7 = Curl_cfree;\n          goto LAB_0001d8e8;\n        }" if (parenthesized_expression "(piVar8 == (int *)0x0)" ( (binary_expression "piVar8 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0001e234:\n          CVar19 = CURL_FORMADD_MEMORY;\n          (*Curl_cfree)(local_48);\n          p_Var7 = Curl_cfree;\n          goto LAB_0001d8e8;\n        }" { (labeled_statement "LAB_0001e234:\n          CVar19 = CURL_FORMADD_MEMORY;" statement_identifier : (expression_statement "CVar19 = CURL_FORMADD_MEMORY;" (assignment_expression "CVar19 = CURL_FORMADD_MEMORY" identifier = identifier) ;)) (expression_statement "(*Curl_cfree)(local_48);" (call_expression "(*Curl_cfree)(local_48)" (parenthesized_expression "(*Curl_cfree)" ( (pointer_expression "*Curl_cfree" * identifier) )) (argument_list "(local_48)" ( identifier ))) ;) (expression_statement "p_Var7 = Curl_cfree;" (assignment_expression "p_Var7 = Curl_cfree" identifier = identifier) ;) (goto_statement "goto LAB_0001d8e8;" goto statement_identifier ;) })) (expression_statement "piVar8[3] = (int)local_48;" (assignment_expression "piVar8[3] = (int)local_48" (subscript_expression "piVar8[3]" identifier [ number_literal ]) = (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "iVar14 = piVar18[0x10];" (assignment_expression "iVar14 = piVar18[0x10]" identifier = (subscript_expression "piVar18[0x10]" identifier [ number_literal ])) ;) (expression_statement "piVar8[9] = 1;" (assignment_expression "piVar8[9] = 1" (subscript_expression "piVar8[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[0x10] = iVar14;" (assignment_expression "piVar8[0x10] = iVar14" (subscript_expression "piVar8[0x10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar18[0x10] = (int)piVar8;" (assignment_expression "piVar18[0x10] = (int)piVar8" (subscript_expression "piVar18[0x10]" identifier [ number_literal ]) = (cast_expression "(int)piVar8" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*(undefined1 *)(piVar8 + 4) = 1;" (assignment_expression "*(undefined1 *)(piVar8 + 4) = 1" (pointer_expression "*(undefined1 *)(piVar8 + 4)" * (cast_expression "(undefined1 *)(piVar8 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar8 + 4)" ( (binary_expression "piVar8 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar18 = piVar8;" (assignment_expression "piVar18 = piVar8" identifier = identifier) ;) (goto_statement "goto LAB_0001d880;" goto statement_identifier ;) })) (labeled_statement "LAB_0001dd00:\n      CVar19 = CURL_FORMADD_NULL;" statement_identifier : (expression_statement "CVar19 = CURL_FORMADD_NULL;" (assignment_expression "CVar19 = CURL_FORMADD_NULL" identifier = identifier) ;)) (expression_statement "p_Var7 = Curl_cfree;" (assignment_expression "p_Var7 = Curl_cfree" identifier = identifier) ;) (labeled_statement "LAB_0001d8e8:\n      do {\n        if ((char)piVar21[1] != '\0') {\n          (*p_Var7)((void *)*piVar21);\n          p_Var7 = Curl_cfree;\n          *piVar21 = 0;\n          *(undefined1 *)(piVar21 + 1) = 0;\n        }\n        if ((char)piVar21[4] != '\0') {\n          (*p_Var7)((void *)piVar21[3]);\n          p_Var7 = Curl_cfree;\n          piVar21[3] = 0;\n          *(undefined1 *)(piVar21 + 4) = 0;\n        }\n        if ((char)piVar21[8] != '\0') {\n          (*p_Var7)((void *)piVar21[7]);\n          p_Var7 = Curl_cfree;\n          piVar21[7] = 0;\n          *(undefined1 *)(piVar21 + 8) = 0;\n        }\n        if ((char)piVar21[0xd] == '\0') {\n          piVar17 = piVar21 + 0x10;\n          piVar21 = (int *)*piVar17;\n          if ((int *)*piVar17 == (int *)0x0) break;\n          goto LAB_0001d8e8;\n        }\n        (*p_Var7)((void *)piVar21[0xc]);\n        p_Var7 = Curl_cfree;\n        piVar21[0xc] = 0;\n        *(undefined1 *)(piVar21 + 0xd) = 0;\n        piVar17 = piVar21 + 0x10;\n        piVar21 = (int *)*piVar17;\n      } while ((int *)*piVar17 != (int *)0x0);" statement_identifier : (do_statement "do {\n        if ((char)piVar21[1] != '\0') {\n          (*p_Var7)((void *)*piVar21);\n          p_Var7 = Curl_cfree;\n          *piVar21 = 0;\n          *(undefined1 *)(piVar21 + 1) = 0;\n        }\n        if ((char)piVar21[4] != '\0') {\n          (*p_Var7)((void *)piVar21[3]);\n          p_Var7 = Curl_cfree;\n          piVar21[3] = 0;\n          *(undefined1 *)(piVar21 + 4) = 0;\n        }\n        if ((char)piVar21[8] != '\0') {\n          (*p_Var7)((void *)piVar21[7]);\n          p_Var7 = Curl_cfree;\n          piVar21[7] = 0;\n          *(undefined1 *)(piVar21 + 8) = 0;\n        }\n        if ((char)piVar21[0xd] == '\0') {\n          piVar17 = piVar21 + 0x10;\n          piVar21 = (int *)*piVar17;\n          if ((int *)*piVar17 == (int *)0x0) break;\n          goto LAB_0001d8e8;\n        }\n        (*p_Var7)((void *)piVar21[0xc]);\n        p_Var7 = Curl_cfree;\n        piVar21[0xc] = 0;\n        *(undefined1 *)(piVar21 + 0xd) = 0;\n        piVar17 = piVar21 + 0x10;\n        piVar21 = (int *)*piVar17;\n      } while ((int *)*piVar17 != (int *)0x0);" do (compound_statement "{\n        if ((char)piVar21[1] != '\0') {\n          (*p_Var7)((void *)*piVar21);\n          p_Var7 = Curl_cfree;\n          *piVar21 = 0;\n          *(undefined1 *)(piVar21 + 1) = 0;\n        }\n        if ((char)piVar21[4] != '\0') {\n          (*p_Var7)((void *)piVar21[3]);\n          p_Var7 = Curl_cfree;\n          piVar21[3] = 0;\n          *(undefined1 *)(piVar21 + 4) = 0;\n        }\n        if ((char)piVar21[8] != '\0') {\n          (*p_Var7)((void *)piVar21[7]);\n          p_Var7 = Curl_cfree;\n          piVar21[7] = 0;\n          *(undefined1 *)(piVar21 + 8) = 0;\n        }\n        if ((char)piVar21[0xd] == '\0') {\n          piVar17 = piVar21 + 0x10;\n          piVar21 = (int *)*piVar17;\n          if ((int *)*piVar17 == (int *)0x0) break;\n          goto LAB_0001d8e8;\n        }\n        (*p_Var7)((void *)piVar21[0xc]);\n        p_Var7 = Curl_cfree;\n        piVar21[0xc] = 0;\n        *(undefined1 *)(piVar21 + 0xd) = 0;\n        piVar17 = piVar21 + 0x10;\n        piVar21 = (int *)*piVar17;\n      }" { (if_statement "if ((char)piVar21[1] != '\0') {\n          (*p_Var7)((void *)*piVar21);\n          p_Var7 = Curl_cfree;\n          *piVar21 = 0;\n          *(undefined1 *)(piVar21 + 1) = 0;\n        }" if (parenthesized_expression "((char)piVar21[1] != '\0')" ( (binary_expression "(char)piVar21[1] != '\0'" (cast_expression "(char)piVar21[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "piVar21[1]" identifier [ number_literal ])) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          (*p_Var7)((void *)*piVar21);\n          p_Var7 = Curl_cfree;\n          *piVar21 = 0;\n          *(undefined1 *)(piVar21 + 1) = 0;\n        }" { (expression_statement "(*p_Var7)((void *)*piVar21);" (call_expression "(*p_Var7)((void *)*piVar21)" (parenthesized_expression "(*p_Var7)" ( (pointer_expression "*p_Var7" * identifier) )) (argument_list "((void *)*piVar21)" ( (cast_expression "(void *)*piVar21" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar21" * identifier)) ))) ;) (expression_statement "p_Var7 = Curl_cfree;" (assignment_expression "p_Var7 = Curl_cfree" identifier = identifier) ;) (expression_statement "*piVar21 = 0;" (assignment_expression "*piVar21 = 0" (pointer_expression "*piVar21" * identifier) = number_literal) ;) (expression_statement "*(undefined1 *)(piVar21 + 1) = 0;" (assignment_expression "*(undefined1 *)(piVar21 + 1) = 0" (pointer_expression "*(undefined1 *)(piVar21 + 1)" * (cast_expression "(undefined1 *)(piVar21 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar21 + 1)" ( (binary_expression "piVar21 + 1" identifier + number_literal) )))) = number_literal) ;) })) (if_statement "if ((char)piVar21[4] != '\0') {\n          (*p_Var7)((void *)piVar21[3]);\n          p_Var7 = Curl_cfree;\n          piVar21[3] = 0;\n          *(undefined1 *)(piVar21 + 4) = 0;\n        }" if (parenthesized_expression "((char)piVar21[4] != '\0')" ( (binary_expression "(char)piVar21[4] != '\0'" (cast_expression "(char)piVar21[4]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "piVar21[4]" identifier [ number_literal ])) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          (*p_Var7)((void *)piVar21[3]);\n          p_Var7 = Curl_cfree;\n          piVar21[3] = 0;\n          *(undefined1 *)(piVar21 + 4) = 0;\n        }" { (expression_statement "(*p_Var7)((void *)piVar21[3]);" (call_expression "(*p_Var7)((void *)piVar21[3])" (parenthesized_expression "(*p_Var7)" ( (pointer_expression "*p_Var7" * identifier) )) (argument_list "((void *)piVar21[3])" ( (cast_expression "(void *)piVar21[3]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar21[3]" identifier [ number_literal ])) ))) ;) (expression_statement "p_Var7 = Curl_cfree;" (assignment_expression "p_Var7 = Curl_cfree" identifier = identifier) ;) (expression_statement "piVar21[3] = 0;" (assignment_expression "piVar21[3] = 0" (subscript_expression "piVar21[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(piVar21 + 4) = 0;" (assignment_expression "*(undefined1 *)(piVar21 + 4) = 0" (pointer_expression "*(undefined1 *)(piVar21 + 4)" * (cast_expression "(undefined1 *)(piVar21 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar21 + 4)" ( (binary_expression "piVar21 + 4" identifier + number_literal) )))) = number_literal) ;) })) (if_statement "if ((char)piVar21[8] != '\0') {\n          (*p_Var7)((void *)piVar21[7]);\n          p_Var7 = Curl_cfree;\n          piVar21[7] = 0;\n          *(undefined1 *)(piVar21 + 8) = 0;\n        }" if (parenthesized_expression "((char)piVar21[8] != '\0')" ( (binary_expression "(char)piVar21[8] != '\0'" (cast_expression "(char)piVar21[8]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "piVar21[8]" identifier [ number_literal ])) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          (*p_Var7)((void *)piVar21[7]);\n          p_Var7 = Curl_cfree;\n          piVar21[7] = 0;\n          *(undefined1 *)(piVar21 + 8) = 0;\n        }" { (expression_statement "(*p_Var7)((void *)piVar21[7]);" (call_expression "(*p_Var7)((void *)piVar21[7])" (parenthesized_expression "(*p_Var7)" ( (pointer_expression "*p_Var7" * identifier) )) (argument_list "((void *)piVar21[7])" ( (cast_expression "(void *)piVar21[7]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar21[7]" identifier [ number_literal ])) ))) ;) (expression_statement "p_Var7 = Curl_cfree;" (assignment_expression "p_Var7 = Curl_cfree" identifier = identifier) ;) (expression_statement "piVar21[7] = 0;" (assignment_expression "piVar21[7] = 0" (subscript_expression "piVar21[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(piVar21 + 8) = 0;" (assignment_expression "*(undefined1 *)(piVar21 + 8) = 0" (pointer_expression "*(undefined1 *)(piVar21 + 8)" * (cast_expression "(undefined1 *)(piVar21 + 8)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar21 + 8)" ( (binary_expression "piVar21 + 8" identifier + number_literal) )))) = number_literal) ;) })) (if_statement "if ((char)piVar21[0xd] == '\0') {\n          piVar17 = piVar21 + 0x10;\n          piVar21 = (int *)*piVar17;\n          if ((int *)*piVar17 == (int *)0x0) break;\n          goto LAB_0001d8e8;\n        }" if (parenthesized_expression "((char)piVar21[0xd] == '\0')" ( (binary_expression "(char)piVar21[0xd] == '\0'" (cast_expression "(char)piVar21[0xd]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "piVar21[0xd]" identifier [ number_literal ])) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          piVar17 = piVar21 + 0x10;\n          piVar21 = (int *)*piVar17;\n          if ((int *)*piVar17 == (int *)0x0) break;\n          goto LAB_0001d8e8;\n        }" { (expression_statement "piVar17 = piVar21 + 0x10;" (assignment_expression "piVar17 = piVar21 + 0x10" identifier = (binary_expression "piVar21 + 0x10" identifier + number_literal)) ;) (expression_statement "piVar21 = (int *)*piVar17;" (assignment_expression "piVar21 = (int *)*piVar17" identifier = (cast_expression "(int *)*piVar17" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar17" * identifier))) ;) (if_statement "if ((int *)*piVar17 == (int *)0x0) break;" if (parenthesized_expression "((int *)*piVar17 == (int *)0x0)" ( (binary_expression "(int *)*piVar17 == (int *)0x0" (cast_expression "(int *)*piVar17" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar17" * identifier)) == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (goto_statement "goto LAB_0001d8e8;" goto statement_identifier ;) })) (expression_statement "(*p_Var7)((void *)piVar21[0xc]);" (call_expression "(*p_Var7)((void *)piVar21[0xc])" (parenthesized_expression "(*p_Var7)" ( (pointer_expression "*p_Var7" * identifier) )) (argument_list "((void *)piVar21[0xc])" ( (cast_expression "(void *)piVar21[0xc]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar21[0xc]" identifier [ number_literal ])) ))) ;) (expression_statement "p_Var7 = Curl_cfree;" (assignment_expression "p_Var7 = Curl_cfree" identifier = identifier) ;) (expression_statement "piVar21[0xc] = 0;" (assignment_expression "piVar21[0xc] = 0" (subscript_expression "piVar21[0xc]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(piVar21 + 0xd) = 0;" (assignment_expression "*(undefined1 *)(piVar21 + 0xd) = 0" (pointer_expression "*(undefined1 *)(piVar21 + 0xd)" * (cast_expression "(undefined1 *)(piVar21 + 0xd)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar21 + 0xd)" ( (binary_expression "piVar21 + 0xd" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar17 = piVar21 + 0x10;" (assignment_expression "piVar17 = piVar21 + 0x10" identifier = (binary_expression "piVar21 + 0x10" identifier + number_literal)) ;) (expression_statement "piVar21 = (int *)*piVar17;" (assignment_expression "piVar21 = (int *)*piVar17" identifier = (cast_expression "(int *)*piVar17" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar17" * identifier))) ;) }) while (parenthesized_expression "((int *)*piVar17 != (int *)0x0)" ( (binary_expression "(int *)*piVar17 != (int *)0x0" (cast_expression "(int *)*piVar17" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar17" * identifier)) != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;)) (goto_statement "goto LAB_0001d97c;" goto statement_identifier ;) })) (if_statement "if (pcVar13 == (char *)0x0) goto LAB_0001dd00;" if (parenthesized_expression "(pcVar13 == (char *)0x0)" ( (binary_expression "pcVar13 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0001dd00;" goto statement_identifier ;)) (expression_statement "pcVar13 = (*Curl_cstrdup)(pcVar13);" (assignment_expression "pcVar13 = (*Curl_cstrdup)(pcVar13)" identifier = (call_expression "(*Curl_cstrdup)(pcVar13)" (parenthesized_expression "(*Curl_cstrdup)" ( (pointer_expression "*Curl_cstrdup" * identifier) )) (argument_list "(pcVar13)" ( identifier )))) ;) (expression_statement "piVar18[3] = (int)pcVar13;" (assignment_expression "piVar18[3] = (int)pcVar13" (subscript_expression "piVar18[3]" identifier [ number_literal ]) = (cast_expression "(int)pcVar13" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (pcVar13 != (char *)0x0) {\n      piVar18[9] = piVar18[9] | 1;\n      *(undefined1 *)(piVar18 + 4) = 1;\n      goto LAB_0001d880;\n    }" if (parenthesized_expression "(pcVar13 != (char *)0x0)" ( (binary_expression "pcVar13 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      piVar18[9] = piVar18[9] | 1;\n      *(undefined1 *)(piVar18 + 4) = 1;\n      goto LAB_0001d880;\n    }" { (expression_statement "piVar18[9] = piVar18[9] | 1;" (assignment_expression "piVar18[9] = piVar18[9] | 1" (subscript_expression "piVar18[9]" identifier [ number_literal ]) = (binary_expression "piVar18[9] | 1" (subscript_expression "piVar18[9]" identifier [ number_literal ]) | number_literal)) ;) (expression_statement "*(undefined1 *)(piVar18 + 4) = 1;" (assignment_expression "*(undefined1 *)(piVar18 + 4) = 1" (pointer_expression "*(undefined1 *)(piVar18 + 4)" * (cast_expression "(undefined1 *)(piVar18 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar18 + 4)" ( (binary_expression "piVar18 + 4" identifier + number_literal) )))) = number_literal) ;) (goto_statement "goto LAB_0001d880;" goto statement_identifier ;) })) (goto_statement "goto LAB_0001dd10;" goto statement_identifier ;)) (case_statement "case 0xb:" case number_literal :) (case_statement "case 0x10:\n    if (!bVar5) {\n      pcVar13 = (char *)*piVar17;\n      piVar17 = piVar17 + 1;\n    }\n    if (piVar18[0xc] == 0) {\n      pcVar13 = (*Curl_cstrdup)(pcVar13);\n      piVar18[0xc] = (int)pcVar13;\n      if (pcVar13 == (char *)0x0) goto LAB_0001dd10;\n      *(undefined1 *)(piVar18 + 0xd) = 1;\n      goto LAB_0001d880;\n    }\n    break;" case number_literal : (if_statement "if (!bVar5) {\n      pcVar13 = (char *)*piVar17;\n      piVar17 = piVar17 + 1;\n    }" if (parenthesized_expression "(!bVar5)" ( (unary_expression "!bVar5" ! identifier) )) (compound_statement "{\n      pcVar13 = (char *)*piVar17;\n      piVar17 = piVar17 + 1;\n    }" { (expression_statement "pcVar13 = (char *)*piVar17;" (assignment_expression "pcVar13 = (char *)*piVar17" identifier = (cast_expression "(char *)*piVar17" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar17" * identifier))) ;) (expression_statement "piVar17 = piVar17 + 1;" (assignment_expression "piVar17 = piVar17 + 1" identifier = (binary_expression "piVar17 + 1" identifier + number_literal)) ;) })) (if_statement "if (piVar18[0xc] == 0) {\n      pcVar13 = (*Curl_cstrdup)(pcVar13);\n      piVar18[0xc] = (int)pcVar13;\n      if (pcVar13 == (char *)0x0) goto LAB_0001dd10;\n      *(undefined1 *)(piVar18 + 0xd) = 1;\n      goto LAB_0001d880;\n    }" if (parenthesized_expression "(piVar18[0xc] == 0)" ( (binary_expression "piVar18[0xc] == 0" (subscript_expression "piVar18[0xc]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      pcVar13 = (*Curl_cstrdup)(pcVar13);\n      piVar18[0xc] = (int)pcVar13;\n      if (pcVar13 == (char *)0x0) goto LAB_0001dd10;\n      *(undefined1 *)(piVar18 + 0xd) = 1;\n      goto LAB_0001d880;\n    }" { (expression_statement "pcVar13 = (*Curl_cstrdup)(pcVar13);" (assignment_expression "pcVar13 = (*Curl_cstrdup)(pcVar13)" identifier = (call_expression "(*Curl_cstrdup)(pcVar13)" (parenthesized_expression "(*Curl_cstrdup)" ( (pointer_expression "*Curl_cstrdup" * identifier) )) (argument_list "(pcVar13)" ( identifier )))) ;) (expression_statement "piVar18[0xc] = (int)pcVar13;" (assignment_expression "piVar18[0xc] = (int)pcVar13" (subscript_expression "piVar18[0xc]" identifier [ number_literal ]) = (cast_expression "(int)pcVar13" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (pcVar13 == (char *)0x0) goto LAB_0001dd10;" if (parenthesized_expression "(pcVar13 == (char *)0x0)" ( (binary_expression "pcVar13 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0001dd10;" goto statement_identifier ;)) (expression_statement "*(undefined1 *)(piVar18 + 0xd) = 1;" (assignment_expression "*(undefined1 *)(piVar18 + 0xd) = 1" (pointer_expression "*(undefined1 *)(piVar18 + 0xd)" * (cast_expression "(undefined1 *)(piVar18 + 0xd)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar18 + 0xd)" ( (binary_expression "piVar18 + 0xd" identifier + number_literal) )))) = number_literal) ;) (goto_statement "goto LAB_0001d880;" goto statement_identifier ;) })) (break_statement "break;" break ;)) (case_statement "case 0xc:\n    piVar18[9] = piVar18[9] | 0x30;\n    if (piVar18[10] != 0) break;\n    if (!bVar5) {\n      pcVar13 = (char *)*piVar17;\n      piVar17 = piVar17 + 1;\n    }\n    if (pcVar13 != (char *)0x0) {\n      piVar18[10] = (int)pcVar13;\n      goto LAB_0001dd31;\n    }\n    goto LAB_0001dd00;" case number_literal : (expression_statement "piVar18[9] = piVar18[9] | 0x30;" (assignment_expression "piVar18[9] = piVar18[9] | 0x30" (subscript_expression "piVar18[9]" identifier [ number_literal ]) = (binary_expression "piVar18[9] | 0x30" (subscript_expression "piVar18[9]" identifier [ number_literal ]) | number_literal)) ;) (if_statement "if (piVar18[10] != 0) break;" if (parenthesized_expression "(piVar18[10] != 0)" ( (binary_expression "piVar18[10] != 0" (subscript_expression "piVar18[10]" identifier [ number_literal ]) != number_literal) )) (break_statement "break;" break ;)) (if_statement "if (!bVar5) {\n      pcVar13 = (char *)*piVar17;\n      piVar17 = piVar17 + 1;\n    }" if (parenthesized_expression "(!bVar5)" ( (unary_expression "!bVar5" ! identifier) )) (compound_statement "{\n      pcVar13 = (char *)*piVar17;\n      piVar17 = piVar17 + 1;\n    }" { (expression_statement "pcVar13 = (char *)*piVar17;" (assignment_expression "pcVar13 = (char *)*piVar17" identifier = (cast_expression "(char *)*piVar17" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar17" * identifier))) ;) (expression_statement "piVar17 = piVar17 + 1;" (assignment_expression "piVar17 = piVar17 + 1" identifier = (binary_expression "piVar17 + 1" identifier + number_literal)) ;) })) (if_statement "if (pcVar13 != (char *)0x0) {\n      piVar18[10] = (int)pcVar13;\n      goto LAB_0001dd31;\n    }" if (parenthesized_expression "(pcVar13 != (char *)0x0)" ( (binary_expression "pcVar13 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      piVar18[10] = (int)pcVar13;\n      goto LAB_0001dd31;\n    }" { (expression_statement "piVar18[10] = (int)pcVar13;" (assignment_expression "piVar18[10] = (int)pcVar13" (subscript_expression "piVar18[10]" identifier [ number_literal ]) = (cast_expression "(int)pcVar13" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (goto_statement "goto LAB_0001dd31;" goto statement_identifier ;) })) (goto_statement "goto LAB_0001dd00;" goto statement_identifier ;)) (case_statement "case 0xd:\n    if (piVar18[0xb] == 0) {\n      if (!bVar5) {\n        pcVar13 = (char *)*piVar17;\n        piVar17 = piVar17 + 1;\n      }\n      piVar18[0xb] = (int)pcVar13;\n      goto LAB_0001d880;\n    }\n    break;" case number_literal : (if_statement "if (piVar18[0xb] == 0) {\n      if (!bVar5) {\n        pcVar13 = (char *)*piVar17;\n        piVar17 = piVar17 + 1;\n      }\n      piVar18[0xb] = (int)pcVar13;\n      goto LAB_0001d880;\n    }" if (parenthesized_expression "(piVar18[0xb] == 0)" ( (binary_expression "piVar18[0xb] == 0" (subscript_expression "piVar18[0xb]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      if (!bVar5) {\n        pcVar13 = (char *)*piVar17;\n        piVar17 = piVar17 + 1;\n      }\n      piVar18[0xb] = (int)pcVar13;\n      goto LAB_0001d880;\n    }" { (if_statement "if (!bVar5) {\n        pcVar13 = (char *)*piVar17;\n        piVar17 = piVar17 + 1;\n      }" if (parenthesized_expression "(!bVar5)" ( (unary_expression "!bVar5" ! identifier) )) (compound_statement "{\n        pcVar13 = (char *)*piVar17;\n        piVar17 = piVar17 + 1;\n      }" { (expression_statement "pcVar13 = (char *)*piVar17;" (assignment_expression "pcVar13 = (char *)*piVar17" identifier = (cast_expression "(char *)*piVar17" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar17" * identifier))) ;) (expression_statement "piVar17 = piVar17 + 1;" (assignment_expression "piVar17 = piVar17 + 1" identifier = (binary_expression "piVar17 + 1" identifier + number_literal)) ;) })) (expression_statement "piVar18[0xb] = (int)pcVar13;" (assignment_expression "piVar18[0xb] = (int)pcVar13" (subscript_expression "piVar18[0xb]" identifier [ number_literal ]) = (cast_expression "(int)pcVar13" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (goto_statement "goto LAB_0001d880;" goto statement_identifier ;) })) (break_statement "break;" break ;)) (case_statement "case 0xe:\n    if (!bVar5) {\n      pcVar13 = (char *)*piVar17;\n      piVar17 = piVar17 + 1;\n    }\n    if (piVar18[7] == 0) {\n      if (pcVar13 == (char *)0x0) goto LAB_0001dd00;\n      pcVar13 = (*Curl_cstrdup)(pcVar13);\n      piVar18[7] = (int)pcVar13;\n      if (pcVar13 != (char *)0x0) {\n        *(undefined1 *)(piVar18 + 8) = 1;\n        goto LAB_0001d880;\n      }\n    }\n    else {\n      if ((*(byte *)(piVar18 + 9) & 1) == 0) break;\n      if (pcVar13 == (char *)0x0) goto LAB_0001dd00;\n      local_48 = (*Curl_cstrdup)(pcVar13);\n      if (local_48 != (char *)0x0) {\n        piVar8 = (int *)(*Curl_ccalloc)(1,0x44);\n        if (piVar8 == (int *)0x0) goto LAB_0001e234;\n        piVar8[7] = (int)local_48;\n        iVar14 = piVar18[0x10];\n        piVar8[9] = 1;\n        piVar8[0x10] = iVar14;\n        piVar18[0x10] = (int)piVar8;\n        *(undefined1 *)(piVar8 + 8) = 1;\n        piVar18 = piVar8;\n        goto LAB_0001d880;\n      }\n    }\nLAB_0001dd10:\n    CVar19 = CURL_FORMADD_MEMORY;\n    p_Var7 = Curl_cfree;\n    goto LAB_0001d8e8;" case number_literal : (if_statement "if (!bVar5) {\n      pcVar13 = (char *)*piVar17;\n      piVar17 = piVar17 + 1;\n    }" if (parenthesized_expression "(!bVar5)" ( (unary_expression "!bVar5" ! identifier) )) (compound_statement "{\n      pcVar13 = (char *)*piVar17;\n      piVar17 = piVar17 + 1;\n    }" { (expression_statement "pcVar13 = (char *)*piVar17;" (assignment_expression "pcVar13 = (char *)*piVar17" identifier = (cast_expression "(char *)*piVar17" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar17" * identifier))) ;) (expression_statement "piVar17 = piVar17 + 1;" (assignment_expression "piVar17 = piVar17 + 1" identifier = (binary_expression "piVar17 + 1" identifier + number_literal)) ;) })) (if_statement "if (piVar18[7] == 0) {\n      if (pcVar13 == (char *)0x0) goto LAB_0001dd00;\n      pcVar13 = (*Curl_cstrdup)(pcVar13);\n      piVar18[7] = (int)pcVar13;\n      if (pcVar13 != (char *)0x0) {\n        *(undefined1 *)(piVar18 + 8) = 1;\n        goto LAB_0001d880;\n      }\n    }\n    else {\n      if ((*(byte *)(piVar18 + 9) & 1) == 0) break;\n      if (pcVar13 == (char *)0x0) goto LAB_0001dd00;\n      local_48 = (*Curl_cstrdup)(pcVar13);\n      if (local_48 != (char *)0x0) {\n        piVar8 = (int *)(*Curl_ccalloc)(1,0x44);\n        if (piVar8 == (int *)0x0) goto LAB_0001e234;\n        piVar8[7] = (int)local_48;\n        iVar14 = piVar18[0x10];\n        piVar8[9] = 1;\n        piVar8[0x10] = iVar14;\n        piVar18[0x10] = (int)piVar8;\n        *(undefined1 *)(piVar8 + 8) = 1;\n        piVar18 = piVar8;\n        goto LAB_0001d880;\n      }\n    }" if (parenthesized_expression "(piVar18[7] == 0)" ( (binary_expression "piVar18[7] == 0" (subscript_expression "piVar18[7]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      if (pcVar13 == (char *)0x0) goto LAB_0001dd00;\n      pcVar13 = (*Curl_cstrdup)(pcVar13);\n      piVar18[7] = (int)pcVar13;\n      if (pcVar13 != (char *)0x0) {\n        *(undefined1 *)(piVar18 + 8) = 1;\n        goto LAB_0001d880;\n      }\n    }" { (if_statement "if (pcVar13 == (char *)0x0) goto LAB_0001dd00;" if (parenthesized_expression "(pcVar13 == (char *)0x0)" ( (binary_expression "pcVar13 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0001dd00;" goto statement_identifier ;)) (expression_statement "pcVar13 = (*Curl_cstrdup)(pcVar13);" (assignment_expression "pcVar13 = (*Curl_cstrdup)(pcVar13)" identifier = (call_expression "(*Curl_cstrdup)(pcVar13)" (parenthesized_expression "(*Curl_cstrdup)" ( (pointer_expression "*Curl_cstrdup" * identifier) )) (argument_list "(pcVar13)" ( identifier )))) ;) (expression_statement "piVar18[7] = (int)pcVar13;" (assignment_expression "piVar18[7] = (int)pcVar13" (subscript_expression "piVar18[7]" identifier [ number_literal ]) = (cast_expression "(int)pcVar13" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (pcVar13 != (char *)0x0) {\n        *(undefined1 *)(piVar18 + 8) = 1;\n        goto LAB_0001d880;\n      }" if (parenthesized_expression "(pcVar13 != (char *)0x0)" ( (binary_expression "pcVar13 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        *(undefined1 *)(piVar18 + 8) = 1;\n        goto LAB_0001d880;\n      }" { (expression_statement "*(undefined1 *)(piVar18 + 8) = 1;" (assignment_expression "*(undefined1 *)(piVar18 + 8) = 1" (pointer_expression "*(undefined1 *)(piVar18 + 8)" * (cast_expression "(undefined1 *)(piVar18 + 8)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar18 + 8)" ( (binary_expression "piVar18 + 8" identifier + number_literal) )))) = number_literal) ;) (goto_statement "goto LAB_0001d880;" goto statement_identifier ;) })) }) (else_clause "else {\n      if ((*(byte *)(piVar18 + 9) & 1) == 0) break;\n      if (pcVar13 == (char *)0x0) goto LAB_0001dd00;\n      local_48 = (*Curl_cstrdup)(pcVar13);\n      if (local_48 != (char *)0x0) {\n        piVar8 = (int *)(*Curl_ccalloc)(1,0x44);\n        if (piVar8 == (int *)0x0) goto LAB_0001e234;\n        piVar8[7] = (int)local_48;\n        iVar14 = piVar18[0x10];\n        piVar8[9] = 1;\n        piVar8[0x10] = iVar14;\n        piVar18[0x10] = (int)piVar8;\n        *(undefined1 *)(piVar8 + 8) = 1;\n        piVar18 = piVar8;\n        goto LAB_0001d880;\n      }\n    }" else (compound_statement "{\n      if ((*(byte *)(piVar18 + 9) & 1) == 0) break;\n      if (pcVar13 == (char *)0x0) goto LAB_0001dd00;\n      local_48 = (*Curl_cstrdup)(pcVar13);\n      if (local_48 != (char *)0x0) {\n        piVar8 = (int *)(*Curl_ccalloc)(1,0x44);\n        if (piVar8 == (int *)0x0) goto LAB_0001e234;\n        piVar8[7] = (int)local_48;\n        iVar14 = piVar18[0x10];\n        piVar8[9] = 1;\n        piVar8[0x10] = iVar14;\n        piVar18[0x10] = (int)piVar8;\n        *(undefined1 *)(piVar8 + 8) = 1;\n        piVar18 = piVar8;\n        goto LAB_0001d880;\n      }\n    }" { (if_statement "if ((*(byte *)(piVar18 + 9) & 1) == 0) break;" if (parenthesized_expression "((*(byte *)(piVar18 + 9) & 1) == 0)" ( (binary_expression "(*(byte *)(piVar18 + 9) & 1) == 0" (parenthesized_expression "(*(byte *)(piVar18 + 9) & 1)" ( (binary_expression "*(byte *)(piVar18 + 9) & 1" (pointer_expression "*(byte *)(piVar18 + 9)" * (cast_expression "(byte *)(piVar18 + 9)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar18 + 9)" ( (binary_expression "piVar18 + 9" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (break_statement "break;" break ;)) (if_statement "if (pcVar13 == (char *)0x0) goto LAB_0001dd00;" if (parenthesized_expression "(pcVar13 == (char *)0x0)" ( (binary_expression "pcVar13 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0001dd00;" goto statement_identifier ;)) (expression_statement "local_48 = (*Curl_cstrdup)(pcVar13);" (assignment_expression "local_48 = (*Curl_cstrdup)(pcVar13)" identifier = (call_expression "(*Curl_cstrdup)(pcVar13)" (parenthesized_expression "(*Curl_cstrdup)" ( (pointer_expression "*Curl_cstrdup" * identifier) )) (argument_list "(pcVar13)" ( identifier )))) ;) (if_statement "if (local_48 != (char *)0x0) {\n        piVar8 = (int *)(*Curl_ccalloc)(1,0x44);\n        if (piVar8 == (int *)0x0) goto LAB_0001e234;\n        piVar8[7] = (int)local_48;\n        iVar14 = piVar18[0x10];\n        piVar8[9] = 1;\n        piVar8[0x10] = iVar14;\n        piVar18[0x10] = (int)piVar8;\n        *(undefined1 *)(piVar8 + 8) = 1;\n        piVar18 = piVar8;\n        goto LAB_0001d880;\n      }" if (parenthesized_expression "(local_48 != (char *)0x0)" ( (binary_expression "local_48 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        piVar8 = (int *)(*Curl_ccalloc)(1,0x44);\n        if (piVar8 == (int *)0x0) goto LAB_0001e234;\n        piVar8[7] = (int)local_48;\n        iVar14 = piVar18[0x10];\n        piVar8[9] = 1;\n        piVar8[0x10] = iVar14;\n        piVar18[0x10] = (int)piVar8;\n        *(undefined1 *)(piVar8 + 8) = 1;\n        piVar18 = piVar8;\n        goto LAB_0001d880;\n      }" { (expression_statement "piVar8 = (int *)(*Curl_ccalloc)(1,0x44);" (assignment_expression "piVar8 = (int *)(*Curl_ccalloc)(1,0x44)" identifier = (cast_expression "(int *)(*Curl_ccalloc)(1,0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*Curl_ccalloc)(1,0x44)" (parenthesized_expression "(*Curl_ccalloc)" ( (pointer_expression "*Curl_ccalloc" * identifier) )) (argument_list "(1,0x44)" ( number_literal , number_literal ))))) ;) (if_statement "if (piVar8 == (int *)0x0) goto LAB_0001e234;" if (parenthesized_expression "(piVar8 == (int *)0x0)" ( (binary_expression "piVar8 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0001e234;" goto statement_identifier ;)) (expression_statement "piVar8[7] = (int)local_48;" (assignment_expression "piVar8[7] = (int)local_48" (subscript_expression "piVar8[7]" identifier [ number_literal ]) = (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "iVar14 = piVar18[0x10];" (assignment_expression "iVar14 = piVar18[0x10]" identifier = (subscript_expression "piVar18[0x10]" identifier [ number_literal ])) ;) (expression_statement "piVar8[9] = 1;" (assignment_expression "piVar8[9] = 1" (subscript_expression "piVar8[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[0x10] = iVar14;" (assignment_expression "piVar8[0x10] = iVar14" (subscript_expression "piVar8[0x10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar18[0x10] = (int)piVar8;" (assignment_expression "piVar18[0x10] = (int)piVar8" (subscript_expression "piVar18[0x10]" identifier [ number_literal ]) = (cast_expression "(int)piVar8" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*(undefined1 *)(piVar8 + 8) = 1;" (assignment_expression "*(undefined1 *)(piVar8 + 8) = 1" (pointer_expression "*(undefined1 *)(piVar8 + 8)" * (cast_expression "(undefined1 *)(piVar8 + 8)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar8 + 8)" ( (binary_expression "piVar8 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar18 = piVar8;" (assignment_expression "piVar18 = piVar8" identifier = identifier) ;) (goto_statement "goto LAB_0001d880;" goto statement_identifier ;) })) }))) (labeled_statement "LAB_0001dd10:\n    CVar19 = CURL_FORMADD_MEMORY;" statement_identifier : (expression_statement "CVar19 = CURL_FORMADD_MEMORY;" (assignment_expression "CVar19 = CURL_FORMADD_MEMORY" identifier = identifier) ;)) (expression_statement "p_Var7 = Curl_cfree;" (assignment_expression "p_Var7 = Curl_cfree" identifier = identifier) ;) (goto_statement "goto LAB_0001d8e8;" goto statement_identifier ;)) (case_statement "case 0xf:\n    if (!bVar5) {\n      pcVar13 = (char *)*piVar17;\n      piVar17 = piVar17 + 1;\n    }\n    if (piVar18[0xf] == 0) {\n      piVar18[0xf] = (int)pcVar13;\n      goto LAB_0001d880;\n    }\n    break;" case number_literal : (if_statement "if (!bVar5) {\n      pcVar13 = (char *)*piVar17;\n      piVar17 = piVar17 + 1;\n    }" if (parenthesized_expression "(!bVar5)" ( (unary_expression "!bVar5" ! identifier) )) (compound_statement "{\n      pcVar13 = (char *)*piVar17;\n      piVar17 = piVar17 + 1;\n    }" { (expression_statement "pcVar13 = (char *)*piVar17;" (assignment_expression "pcVar13 = (char *)*piVar17" identifier = (cast_expression "(char *)*piVar17" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar17" * identifier))) ;) (expression_statement "piVar17 = piVar17 + 1;" (assignment_expression "piVar17 = piVar17 + 1" identifier = (binary_expression "piVar17 + 1" identifier + number_literal)) ;) })) (if_statement "if (piVar18[0xf] == 0) {\n      piVar18[0xf] = (int)pcVar13;\n      goto LAB_0001d880;\n    }" if (parenthesized_expression "(piVar18[0xf] == 0)" ( (binary_expression "piVar18[0xf] == 0" (subscript_expression "piVar18[0xf]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      piVar18[0xf] = (int)pcVar13;\n      goto LAB_0001d880;\n    }" { (expression_statement "piVar18[0xf] = (int)pcVar13;" (assignment_expression "piVar18[0xf] = (int)pcVar13" (subscript_expression "piVar18[0xf]" identifier [ number_literal ]) = (cast_expression "(int)pcVar13" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (goto_statement "goto LAB_0001d880;" goto statement_identifier ;) })) (break_statement "break;" break ;)) (case_statement "case 0x13:\n    piVar18[9] = piVar18[9] | 0x40;\n    if (piVar18[0xe] == 0) {\n      if (!bVar5) {\n        pcVar13 = (char *)*piVar17;\n        piVar17 = piVar17 + 1;\n      }\n      if (pcVar13 == (char *)0x0) goto LAB_0001dd00;\n      piVar18[0xe] = (int)pcVar13;\n      piVar18[3] = (int)pcVar13;\n      goto LAB_0001d880;\n    }\n    break;" case number_literal : (expression_statement "piVar18[9] = piVar18[9] | 0x40;" (assignment_expression "piVar18[9] = piVar18[9] | 0x40" (subscript_expression "piVar18[9]" identifier [ number_literal ]) = (binary_expression "piVar18[9] | 0x40" (subscript_expression "piVar18[9]" identifier [ number_literal ]) | number_literal)) ;) (if_statement "if (piVar18[0xe] == 0) {\n      if (!bVar5) {\n        pcVar13 = (char *)*piVar17;\n        piVar17 = piVar17 + 1;\n      }\n      if (pcVar13 == (char *)0x0) goto LAB_0001dd00;\n      piVar18[0xe] = (int)pcVar13;\n      piVar18[3] = (int)pcVar13;\n      goto LAB_0001d880;\n    }" if (parenthesized_expression "(piVar18[0xe] == 0)" ( (binary_expression "piVar18[0xe] == 0" (subscript_expression "piVar18[0xe]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      if (!bVar5) {\n        pcVar13 = (char *)*piVar17;\n        piVar17 = piVar17 + 1;\n      }\n      if (pcVar13 == (char *)0x0) goto LAB_0001dd00;\n      piVar18[0xe] = (int)pcVar13;\n      piVar18[3] = (int)pcVar13;\n      goto LAB_0001d880;\n    }" { (if_statement "if (!bVar5) {\n        pcVar13 = (char *)*piVar17;\n        piVar17 = piVar17 + 1;\n      }" if (parenthesized_expression "(!bVar5)" ( (unary_expression "!bVar5" ! identifier) )) (compound_statement "{\n        pcVar13 = (char *)*piVar17;\n        piVar17 = piVar17 + 1;\n      }" { (expression_statement "pcVar13 = (char *)*piVar17;" (assignment_expression "pcVar13 = (char *)*piVar17" identifier = (cast_expression "(char *)*piVar17" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar17" * identifier))) ;) (expression_statement "piVar17 = piVar17 + 1;" (assignment_expression "piVar17 = piVar17 + 1" identifier = (binary_expression "piVar17 + 1" identifier + number_literal)) ;) })) (if_statement "if (pcVar13 == (char *)0x0) goto LAB_0001dd00;" if (parenthesized_expression "(pcVar13 == (char *)0x0)" ( (binary_expression "pcVar13 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0001dd00;" goto statement_identifier ;)) (expression_statement "piVar18[0xe] = (int)pcVar13;" (assignment_expression "piVar18[0xe] = (int)pcVar13" (subscript_expression "piVar18[0xe]" identifier [ number_literal ]) = (cast_expression "(int)pcVar13" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar18[3] = (int)pcVar13;" (assignment_expression "piVar18[3] = (int)pcVar13" (subscript_expression "piVar18[3]" identifier [ number_literal ]) = (cast_expression "(int)pcVar13" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (goto_statement "goto LAB_0001d880;" goto statement_identifier ;) })) (break_statement "break;" break ;)) (case_statement "case 0x14:\n    piVar18[9] = piVar18[9] | 0x80;\n    if (bVar5) {\n      iVar14 = 0;\n    }\n    else {\n      pcVar13 = (char *)*piVar17;\n      iVar14 = piVar17[1];\n      piVar17 = piVar17 + 2;\n    }\n    piVar18[5] = (int)pcVar13;\n    piVar18[6] = iVar14;\n    goto LAB_0001d880;" case number_literal : (expression_statement "piVar18[9] = piVar18[9] | 0x80;" (assignment_expression "piVar18[9] = piVar18[9] | 0x80" (subscript_expression "piVar18[9]" identifier [ number_literal ]) = (binary_expression "piVar18[9] | 0x80" (subscript_expression "piVar18[9]" identifier [ number_literal ]) | number_literal)) ;) (if_statement "if (bVar5) {\n      iVar14 = 0;\n    }\n    else {\n      pcVar13 = (char *)*piVar17;\n      iVar14 = piVar17[1];\n      piVar17 = piVar17 + 2;\n    }" if (parenthesized_expression "(bVar5)" ( identifier )) (compound_statement "{\n      iVar14 = 0;\n    }" { (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" identifier = number_literal) ;) }) (else_clause "else {\n      pcVar13 = (char *)*piVar17;\n      iVar14 = piVar17[1];\n      piVar17 = piVar17 + 2;\n    }" else (compound_statement "{\n      pcVar13 = (char *)*piVar17;\n      iVar14 = piVar17[1];\n      piVar17 = piVar17 + 2;\n    }" { (expression_statement "pcVar13 = (char *)*piVar17;" (assignment_expression "pcVar13 = (char *)*piVar17" identifier = (cast_expression "(char *)*piVar17" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar17" * identifier))) ;) (expression_statement "iVar14 = piVar17[1];" (assignment_expression "iVar14 = piVar17[1]" identifier = (subscript_expression "piVar17[1]" identifier [ number_literal ])) ;) (expression_statement "piVar17 = piVar17 + 2;" (assignment_expression "piVar17 = piVar17 + 2" identifier = (binary_expression "piVar17 + 2" identifier + number_literal)) ;) }))) (expression_statement "piVar18[5] = (int)pcVar13;" (assignment_expression "piVar18[5] = (int)pcVar13" (subscript_expression "piVar18[5]" identifier [ number_literal ]) = (cast_expression "(int)pcVar13" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar18[6] = iVar14;" (assignment_expression "piVar18[6] = iVar14" (subscript_expression "piVar18[6]" identifier [ number_literal ]) = identifier) ;) (goto_statement "goto LAB_0001d880;" goto statement_identifier ;)) })) (expression_statement "CVar19 = CURL_FORMADD_OPTION_TWICE;" (assignment_expression "CVar19 = CURL_FORMADD_OPTION_TWICE" identifier = identifier) ;) (expression_statement "p_Var7 = Curl_cfree;" (assignment_expression "p_Var7 = Curl_cfree" identifier = identifier) ;) (goto_statement "goto LAB_0001d8e8;" goto statement_identifier ;) (while_statement "while (local_28 = (char *)*piVar20, piVar17 != (int *)0x0) {\nLAB_0001df4a:\n    pcVar13 = (char *)*piVar17;\n    if ((((((pcVar13 == (char *)0x0) || (piVar17[3] == 0)) && (local_5c == (curl_httppost *)0x0)) ||\n         ((uVar15 = piVar17[9], piVar17[6] != 0 || piVar17[5] != 0 && ((uVar15 & 1) != 0)))) ||\n        (((uVar15 & 9) == 9 || ((piVar17[10] == 0 && ((uVar15 & 0x30) == 0x30)))))) ||\n       ((uVar15 & 10) == 10)) {\n      CVar19 = CURL_FORMADD_INCOMPLETE;\n      p_Var7 = Curl_cfree;\n      goto LAB_0001df70;\n    }\n    if (((uVar15 & 0x11) != 0) && (piVar17[7] == 0)) {\n      if ((uVar15 & 0x10) == 0) {\n        pcVar13 = (char *)piVar17[3];\n      }\n      else {\n        pcVar13 = (char *)piVar17[0xc];\n      }\n      pcVar13 = Curl_mime_contenttype(pcVar13);\n      if ((pcVar13 == (char *)0x0) &&\n         (pcVar13 = "application/octet-stream", local_28 != (char *)0x0)) {\n        pcVar13 = local_28;\n      }\n      pcVar13 = (*Curl_cstrdup)(pcVar13);\n      piVar17[7] = (int)pcVar13;\n      if (pcVar13 != (char *)0x0) {\n        *(undefined1 *)(piVar17 + 8) = 1;\n        pcVar13 = (char *)*piVar17;\n        goto LAB_0001ddc4;\n      }\nLAB_0001e016:\n      CVar19 = CURL_FORMADD_MEMORY;\n      p_Var7 = Curl_cfree;\n      goto LAB_0001df70;\n    }\nLAB_0001ddc4:\n    if (pcVar13 == (char *)0x0) {\n      uVar15 = piVar17[9];\n      if (((uVar15 & 4) == 0) && (piVar6 == piVar17)) goto LAB_0001e016;\n    }\n    else {\n      length = piVar17[2];\n      if (length == 0) {\n        uVar15 = piVar17[9];\n        if (((uVar15 & 4) == 0) && (piVar6 == piVar17)) {\n          sVar9 = strlen(pcVar13);\n          length = sVar9 + 1;\nLAB_0001e0cf:\n          pcVar13 = (char *)Curl_memdup(pcVar13,length);\n          *piVar17 = (int)pcVar13;\n          if (pcVar13 == (char *)0x0) goto LAB_0001e016;\n          *(undefined1 *)(piVar17 + 1) = 1;\n          uVar15 = piVar17[9];\n        }\n      }\n      else {\n        if (*pcVar13 == '\0') {\nLAB_0001e140:\n          CVar19 = CURL_FORMADD_NULL;\n          p_Var7 = Curl_cfree;\n          goto LAB_0001df70;\n        }\n        pcVar16 = pcVar13;\n        while (pcVar16 = pcVar16 + 1, pcVar13 + length != pcVar16) {\n          if (*pcVar16 == '\0') goto LAB_0001e140;\n        }\n        uVar15 = piVar17[9];\n        if (((uVar15 & 4) == 0) && (piVar6 == piVar17)) goto LAB_0001e0cf;\n      }\n    }\n    local_60 = (char *)piVar17[3];\n    local_54 = piVar17[5];\n    local_50 = piVar17[6];\n    if (((uVar15 & 0x6b) == 0) && (local_60 != (char *)0x0)) {\n      if (local_54 == 0) {\n        sVar9 = strlen(local_60);\n        local_54 = sVar9 + 1;\n      }\n      local_60 = (char *)Curl_memdup(local_60,local_54);\n      piVar17[3] = (int)local_60;\n      if (local_60 == (char *)0x0) goto LAB_0001e016;\n      local_54 = piVar17[5];\n      uVar15 = piVar17[9];\n      *(undefined1 *)(piVar17 + 4) = 1;\n      pcVar13 = (char *)*piVar17;\n      local_50 = piVar17[6];\n    }\n    pvVar1 = (void *)piVar17[0xe];\n    sVar9 = piVar17[2];\n    pcVar16 = (char *)piVar17[0xc];\n    pcVar2 = (curl_slist *)piVar17[0xf];\n    pcVar3 = (char *)piVar17[7];\n    iVar14 = piVar17[0xb];\n    pcVar4 = (char *)piVar17[10];\n    pcVar10 = (curl_httppost *)(*Curl_ccalloc)(1,0x3c);\n    if (pcVar10 == (curl_httppost *)0x0) goto LAB_0001e016;\n    pcVar10->name = pcVar13;\n    sVar11 = 0;\n    if ((pcVar13 != (char *)0x0) && (sVar11 = sVar9, sVar9 == 0)) {\n      sVar11 = strlen(pcVar13);\n    }\n    pcVar10->namelength = sVar11;\n    pcVar10->contents = local_60;\n    *(size_t *)&pcVar10->contentlen = local_54;\n    *(int *)((int)&pcVar10->contentlen + 4) = local_50;\n    pcVar10->buffer = pcVar4;\n    pcVar10->bufferlength = iVar14;\n    pcVar10->contenttype = pcVar3;\n    pcVar10->contentheader = pcVar2;\n    pcVar10->showfilename = pcVar16;\n    pcVar10->userp = pvVar1;\n    pcVar10->flags = uVar15 | 0x80;\n    if (local_5c == (curl_httppost *)0x0) {\n      pcVar12 = *last_post;\n      if (*last_post == (curl_httppost *)0x0) {\n        pcVar12 = (curl_httppost *)httppost;\n      }\n      pcVar12->next = pcVar10;\n      *last_post = pcVar10;\n    }\n    else {\n      pcVar10->more = local_5c->more;\n      local_5c->more = pcVar10;\n    }\n    piVar20 = piVar17 + 7;\n    piVar17 = (int *)piVar17[0x10];\n    local_5c = pcVar10;\n    if ((char *)*piVar20 == (char *)0x0) {\n      if (piVar17 == (int *)0x0) break;\n      goto LAB_0001df4a;\n    }\n  }" while (parenthesized_expression "(local_28 = (char *)*piVar20, piVar17 != (int *)0x0)" ( (comma_expression "local_28 = (char *)*piVar20, piVar17 != (int *)0x0" (assignment_expression "local_28 = (char *)*piVar20" identifier = (cast_expression "(char *)*piVar20" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar20" * identifier))) , (binary_expression "piVar17 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\nLAB_0001df4a:\n    pcVar13 = (char *)*piVar17;\n    if ((((((pcVar13 == (char *)0x0) || (piVar17[3] == 0)) && (local_5c == (curl_httppost *)0x0)) ||\n         ((uVar15 = piVar17[9], piVar17[6] != 0 || piVar17[5] != 0 && ((uVar15 & 1) != 0)))) ||\n        (((uVar15 & 9) == 9 || ((piVar17[10] == 0 && ((uVar15 & 0x30) == 0x30)))))) ||\n       ((uVar15 & 10) == 10)) {\n      CVar19 = CURL_FORMADD_INCOMPLETE;\n      p_Var7 = Curl_cfree;\n      goto LAB_0001df70;\n    }\n    if (((uVar15 & 0x11) != 0) && (piVar17[7] == 0)) {\n      if ((uVar15 & 0x10) == 0) {\n        pcVar13 = (char *)piVar17[3];\n      }\n      else {\n        pcVar13 = (char *)piVar17[0xc];\n      }\n      pcVar13 = Curl_mime_contenttype(pcVar13);\n      if ((pcVar13 == (char *)0x0) &&\n         (pcVar13 = "application/octet-stream", local_28 != (char *)0x0)) {\n        pcVar13 = local_28;\n      }\n      pcVar13 = (*Curl_cstrdup)(pcVar13);\n      piVar17[7] = (int)pcVar13;\n      if (pcVar13 != (char *)0x0) {\n        *(undefined1 *)(piVar17 + 8) = 1;\n        pcVar13 = (char *)*piVar17;\n        goto LAB_0001ddc4;\n      }\nLAB_0001e016:\n      CVar19 = CURL_FORMADD_MEMORY;\n      p_Var7 = Curl_cfree;\n      goto LAB_0001df70;\n    }\nLAB_0001ddc4:\n    if (pcVar13 == (char *)0x0) {\n      uVar15 = piVar17[9];\n      if (((uVar15 & 4) == 0) && (piVar6 == piVar17)) goto LAB_0001e016;\n    }\n    else {\n      length = piVar17[2];\n      if (length == 0) {\n        uVar15 = piVar17[9];\n        if (((uVar15 & 4) == 0) && (piVar6 == piVar17)) {\n          sVar9 = strlen(pcVar13);\n          length = sVar9 + 1;\nLAB_0001e0cf:\n          pcVar13 = (char *)Curl_memdup(pcVar13,length);\n          *piVar17 = (int)pcVar13;\n          if (pcVar13 == (char *)0x0) goto LAB_0001e016;\n          *(undefined1 *)(piVar17 + 1) = 1;\n          uVar15 = piVar17[9];\n        }\n      }\n      else {\n        if (*pcVar13 == '\0') {\nLAB_0001e140:\n          CVar19 = CURL_FORMADD_NULL;\n          p_Var7 = Curl_cfree;\n          goto LAB_0001df70;\n        }\n        pcVar16 = pcVar13;\n        while (pcVar16 = pcVar16 + 1, pcVar13 + length != pcVar16) {\n          if (*pcVar16 == '\0') goto LAB_0001e140;\n        }\n        uVar15 = piVar17[9];\n        if (((uVar15 & 4) == 0) && (piVar6 == piVar17)) goto LAB_0001e0cf;\n      }\n    }\n    local_60 = (char *)piVar17[3];\n    local_54 = piVar17[5];\n    local_50 = piVar17[6];\n    if (((uVar15 & 0x6b) == 0) && (local_60 != (char *)0x0)) {\n      if (local_54 == 0) {\n        sVar9 = strlen(local_60);\n        local_54 = sVar9 + 1;\n      }\n      local_60 = (char *)Curl_memdup(local_60,local_54);\n      piVar17[3] = (int)local_60;\n      if (local_60 == (char *)0x0) goto LAB_0001e016;\n      local_54 = piVar17[5];\n      uVar15 = piVar17[9];\n      *(undefined1 *)(piVar17 + 4) = 1;\n      pcVar13 = (char *)*piVar17;\n      local_50 = piVar17[6];\n    }\n    pvVar1 = (void *)piVar17[0xe];\n    sVar9 = piVar17[2];\n    pcVar16 = (char *)piVar17[0xc];\n    pcVar2 = (curl_slist *)piVar17[0xf];\n    pcVar3 = (char *)piVar17[7];\n    iVar14 = piVar17[0xb];\n    pcVar4 = (char *)piVar17[10];\n    pcVar10 = (curl_httppost *)(*Curl_ccalloc)(1,0x3c);\n    if (pcVar10 == (curl_httppost *)0x0) goto LAB_0001e016;\n    pcVar10->name = pcVar13;\n    sVar11 = 0;\n    if ((pcVar13 != (char *)0x0) && (sVar11 = sVar9, sVar9 == 0)) {\n      sVar11 = strlen(pcVar13);\n    }\n    pcVar10->namelength = sVar11;\n    pcVar10->contents = local_60;\n    *(size_t *)&pcVar10->contentlen = local_54;\n    *(int *)((int)&pcVar10->contentlen + 4) = local_50;\n    pcVar10->buffer = pcVar4;\n    pcVar10->bufferlength = iVar14;\n    pcVar10->contenttype = pcVar3;\n    pcVar10->contentheader = pcVar2;\n    pcVar10->showfilename = pcVar16;\n    pcVar10->userp = pvVar1;\n    pcVar10->flags = uVar15 | 0x80;\n    if (local_5c == (curl_httppost *)0x0) {\n      pcVar12 = *last_post;\n      if (*last_post == (curl_httppost *)0x0) {\n        pcVar12 = (curl_httppost *)httppost;\n      }\n      pcVar12->next = pcVar10;\n      *last_post = pcVar10;\n    }\n    else {\n      pcVar10->more = local_5c->more;\n      local_5c->more = pcVar10;\n    }\n    piVar20 = piVar17 + 7;\n    piVar17 = (int *)piVar17[0x10];\n    local_5c = pcVar10;\n    if ((char *)*piVar20 == (char *)0x0) {\n      if (piVar17 == (int *)0x0) break;\n      goto LAB_0001df4a;\n    }\n  }" { (labeled_statement "LAB_0001df4a:\n    pcVar13 = (char *)*piVar17;" statement_identifier : (expression_statement "pcVar13 = (char *)*piVar17;" (assignment_expression "pcVar13 = (char *)*piVar17" identifier = (cast_expression "(char *)*piVar17" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar17" * identifier))) ;)) (if_statement "if ((((((pcVar13 == (char *)0x0) || (piVar17[3] == 0)) && (local_5c == (curl_httppost *)0x0)) ||\n         ((uVar15 = piVar17[9], piVar17[6] != 0 || piVar17[5] != 0 && ((uVar15 & 1) != 0)))) ||\n        (((uVar15 & 9) == 9 || ((piVar17[10] == 0 && ((uVar15 & 0x30) == 0x30)))))) ||\n       ((uVar15 & 10) == 10)) {\n      CVar19 = CURL_FORMADD_INCOMPLETE;\n      p_Var7 = Curl_cfree;\n      goto LAB_0001df70;\n    }" if (parenthesized_expression "((((((pcVar13 == (char *)0x0) || (piVar17[3] == 0)) && (local_5c == (curl_httppost *)0x0)) ||\n         ((uVar15 = piVar17[9], piVar17[6] != 0 || piVar17[5] != 0 && ((uVar15 & 1) != 0)))) ||\n        (((uVar15 & 9) == 9 || ((piVar17[10] == 0 && ((uVar15 & 0x30) == 0x30)))))) ||\n       ((uVar15 & 10) == 10))" ( (binary_expression "(((((pcVar13 == (char *)0x0) || (piVar17[3] == 0)) && (local_5c == (curl_httppost *)0x0)) ||\n         ((uVar15 = piVar17[9], piVar17[6] != 0 || piVar17[5] != 0 && ((uVar15 & 1) != 0)))) ||\n        (((uVar15 & 9) == 9 || ((piVar17[10] == 0 && ((uVar15 & 0x30) == 0x30)))))) ||\n       ((uVar15 & 10) == 10)" (parenthesized_expression "(((((pcVar13 == (char *)0x0) || (piVar17[3] == 0)) && (local_5c == (curl_httppost *)0x0)) ||\n         ((uVar15 = piVar17[9], piVar17[6] != 0 || piVar17[5] != 0 && ((uVar15 & 1) != 0)))) ||\n        (((uVar15 & 9) == 9 || ((piVar17[10] == 0 && ((uVar15 & 0x30) == 0x30))))))" ( (binary_expression "((((pcVar13 == (char *)0x0) || (piVar17[3] == 0)) && (local_5c == (curl_httppost *)0x0)) ||\n         ((uVar15 = piVar17[9], piVar17[6] != 0 || piVar17[5] != 0 && ((uVar15 & 1) != 0)))) ||\n        (((uVar15 & 9) == 9 || ((piVar17[10] == 0 && ((uVar15 & 0x30) == 0x30)))))" (parenthesized_expression "((((pcVar13 == (char *)0x0) || (piVar17[3] == 0)) && (local_5c == (curl_httppost *)0x0)) ||\n         ((uVar15 = piVar17[9], piVar17[6] != 0 || piVar17[5] != 0 && ((uVar15 & 1) != 0))))" ( (binary_expression "(((pcVar13 == (char *)0x0) || (piVar17[3] == 0)) && (local_5c == (curl_httppost *)0x0)) ||\n         ((uVar15 = piVar17[9], piVar17[6] != 0 || piVar17[5] != 0 && ((uVar15 & 1) != 0)))" (parenthesized_expression "(((pcVar13 == (char *)0x0) || (piVar17[3] == 0)) && (local_5c == (curl_httppost *)0x0))" ( (binary_expression "((pcVar13 == (char *)0x0) || (piVar17[3] == 0)) && (local_5c == (curl_httppost *)0x0)" (parenthesized_expression "((pcVar13 == (char *)0x0) || (piVar17[3] == 0))" ( (binary_expression "(pcVar13 == (char *)0x0) || (piVar17[3] == 0)" (parenthesized_expression "(pcVar13 == (char *)0x0)" ( (binary_expression "pcVar13 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(piVar17[3] == 0)" ( (binary_expression "piVar17[3] == 0" (subscript_expression "piVar17[3]" identifier [ number_literal ]) == number_literal) ))) )) && (parenthesized_expression "(local_5c == (curl_httppost *)0x0)" ( (binary_expression "local_5c == (curl_httppost *)0x0" identifier == (cast_expression "(curl_httppost *)0x0" ( (type_descriptor "curl_httppost *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) || (parenthesized_expression "((uVar15 = piVar17[9], piVar17[6] != 0 || piVar17[5] != 0 && ((uVar15 & 1) != 0)))" ( (parenthesized_expression "(uVar15 = piVar17[9], piVar17[6] != 0 || piVar17[5] != 0 && ((uVar15 & 1) != 0))" ( (comma_expression "uVar15 = piVar17[9], piVar17[6] != 0 || piVar17[5] != 0 && ((uVar15 & 1) != 0)" (assignment_expression "uVar15 = piVar17[9]" identifier = (subscript_expression "piVar17[9]" identifier [ number_literal ])) , (binary_expression "piVar17[6] != 0 || piVar17[5] != 0 && ((uVar15 & 1) != 0)" (binary_expression "piVar17[6] != 0" (subscript_expression "piVar17[6]" identifier [ number_literal ]) != number_literal) || (binary_expression "piVar17[5] != 0 && ((uVar15 & 1) != 0)" (binary_expression "piVar17[5] != 0" (subscript_expression "piVar17[5]" identifier [ number_literal ]) != number_literal) && (parenthesized_expression "((uVar15 & 1) != 0)" ( (binary_expression "(uVar15 & 1) != 0" (parenthesized_expression "(uVar15 & 1)" ( (binary_expression "uVar15 & 1" identifier & number_literal) )) != number_literal) ))))) )) ))) )) || (parenthesized_expression "(((uVar15 & 9) == 9 || ((piVar17[10] == 0 && ((uVar15 & 0x30) == 0x30)))))" ( (parenthesized_expression "((uVar15 & 9) == 9 || ((piVar17[10] == 0 && ((uVar15 & 0x30) == 0x30))))" ( (binary_expression "(uVar15 & 9) == 9 || ((piVar17[10] == 0 && ((uVar15 & 0x30) == 0x30)))" (binary_expression "(uVar15 & 9) == 9" (parenthesized_expression "(uVar15 & 9)" ( (binary_expression "uVar15 & 9" identifier & number_literal) )) == number_literal) || (parenthesized_expression "((piVar17[10] == 0 && ((uVar15 & 0x30) == 0x30)))" ( (parenthesized_expression "(piVar17[10] == 0 && ((uVar15 & 0x30) == 0x30))" ( (binary_expression "piVar17[10] == 0 && ((uVar15 & 0x30) == 0x30)" (binary_expression "piVar17[10] == 0" (subscript_expression "piVar17[10]" identifier [ number_literal ]) == number_literal) && (parenthesized_expression "((uVar15 & 0x30) == 0x30)" ( (binary_expression "(uVar15 & 0x30) == 0x30" (parenthesized_expression "(uVar15 & 0x30)" ( (binary_expression "uVar15 & 0x30" identifier & number_literal) )) == number_literal) ))) )) ))) )) ))) )) || (parenthesized_expression "((uVar15 & 10) == 10)" ( (binary_expression "(uVar15 & 10) == 10" (parenthesized_expression "(uVar15 & 10)" ( (binary_expression "uVar15 & 10" identifier & number_literal) )) == number_literal) ))) )) (compound_statement "{\n      CVar19 = CURL_FORMADD_INCOMPLETE;\n      p_Var7 = Curl_cfree;\n      goto LAB_0001df70;\n    }" { (expression_statement "CVar19 = CURL_FORMADD_INCOMPLETE;" (assignment_expression "CVar19 = CURL_FORMADD_INCOMPLETE" identifier = identifier) ;) (expression_statement "p_Var7 = Curl_cfree;" (assignment_expression "p_Var7 = Curl_cfree" identifier = identifier) ;) (goto_statement "goto LAB_0001df70;" goto statement_identifier ;) })) (if_statement "if (((uVar15 & 0x11) != 0) && (piVar17[7] == 0)) {\n      if ((uVar15 & 0x10) == 0) {\n        pcVar13 = (char *)piVar17[3];\n      }\n      else {\n        pcVar13 = (char *)piVar17[0xc];\n      }\n      pcVar13 = Curl_mime_contenttype(pcVar13);\n      if ((pcVar13 == (char *)0x0) &&\n         (pcVar13 = "application/octet-stream", local_28 != (char *)0x0)) {\n        pcVar13 = local_28;\n      }\n      pcVar13 = (*Curl_cstrdup)(pcVar13);\n      piVar17[7] = (int)pcVar13;\n      if (pcVar13 != (char *)0x0) {\n        *(undefined1 *)(piVar17 + 8) = 1;\n        pcVar13 = (char *)*piVar17;\n        goto LAB_0001ddc4;\n      }\nLAB_0001e016:\n      CVar19 = CURL_FORMADD_MEMORY;\n      p_Var7 = Curl_cfree;\n      goto LAB_0001df70;\n    }" if (parenthesized_expression "(((uVar15 & 0x11) != 0) && (piVar17[7] == 0))" ( (binary_expression "((uVar15 & 0x11) != 0) && (piVar17[7] == 0)" (parenthesized_expression "((uVar15 & 0x11) != 0)" ( (binary_expression "(uVar15 & 0x11) != 0" (parenthesized_expression "(uVar15 & 0x11)" ( (binary_expression "uVar15 & 0x11" identifier & number_literal) )) != number_literal) )) && (parenthesized_expression "(piVar17[7] == 0)" ( (binary_expression "piVar17[7] == 0" (subscript_expression "piVar17[7]" identifier [ number_literal ]) == number_literal) ))) )) (compound_statement "{\n      if ((uVar15 & 0x10) == 0) {\n        pcVar13 = (char *)piVar17[3];\n      }\n      else {\n        pcVar13 = (char *)piVar17[0xc];\n      }\n      pcVar13 = Curl_mime_contenttype(pcVar13);\n      if ((pcVar13 == (char *)0x0) &&\n         (pcVar13 = "application/octet-stream", local_28 != (char *)0x0)) {\n        pcVar13 = local_28;\n      }\n      pcVar13 = (*Curl_cstrdup)(pcVar13);\n      piVar17[7] = (int)pcVar13;\n      if (pcVar13 != (char *)0x0) {\n        *(undefined1 *)(piVar17 + 8) = 1;\n        pcVar13 = (char *)*piVar17;\n        goto LAB_0001ddc4;\n      }\nLAB_0001e016:\n      CVar19 = CURL_FORMADD_MEMORY;\n      p_Var7 = Curl_cfree;\n      goto LAB_0001df70;\n    }" { (if_statement "if ((uVar15 & 0x10) == 0) {\n        pcVar13 = (char *)piVar17[3];\n      }\n      else {\n        pcVar13 = (char *)piVar17[0xc];\n      }" if (parenthesized_expression "((uVar15 & 0x10) == 0)" ( (binary_expression "(uVar15 & 0x10) == 0" (parenthesized_expression "(uVar15 & 0x10)" ( (binary_expression "uVar15 & 0x10" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        pcVar13 = (char *)piVar17[3];\n      }" { (expression_statement "pcVar13 = (char *)piVar17[3];" (assignment_expression "pcVar13 = (char *)piVar17[3]" identifier = (cast_expression "(char *)piVar17[3]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar17[3]" identifier [ number_literal ]))) ;) }) (else_clause "else {\n        pcVar13 = (char *)piVar17[0xc];\n      }" else (compound_statement "{\n        pcVar13 = (char *)piVar17[0xc];\n      }" { (expression_statement "pcVar13 = (char *)piVar17[0xc];" (assignment_expression "pcVar13 = (char *)piVar17[0xc]" identifier = (cast_expression "(char *)piVar17[0xc]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar17[0xc]" identifier [ number_literal ]))) ;) }))) (expression_statement "pcVar13 = Curl_mime_contenttype(pcVar13);" (assignment_expression "pcVar13 = Curl_mime_contenttype(pcVar13)" identifier = (call_expression "Curl_mime_contenttype(pcVar13)" identifier (argument_list "(pcVar13)" ( identifier )))) ;) (if_statement "if ((pcVar13 == (char *)0x0) &&\n         (pcVar13 = "application/octet-stream", local_28 != (char *)0x0)) {\n        pcVar13 = local_28;\n      }" if (parenthesized_expression "((pcVar13 == (char *)0x0) &&\n         (pcVar13 = "application/octet-stream", local_28 != (char *)0x0))" ( (binary_expression "(pcVar13 == (char *)0x0) &&\n         (pcVar13 = "application/octet-stream", local_28 != (char *)0x0)" (parenthesized_expression "(pcVar13 == (char *)0x0)" ( (binary_expression "pcVar13 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(pcVar13 = "application/octet-stream", local_28 != (char *)0x0)" ( (comma_expression "pcVar13 = "application/octet-stream", local_28 != (char *)0x0" (assignment_expression "pcVar13 = "application/octet-stream"" identifier = (string_literal ""application/octet-stream"" " string_content ")) , (binary_expression "local_28 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n        pcVar13 = local_28;\n      }" { (expression_statement "pcVar13 = local_28;" (assignment_expression "pcVar13 = local_28" identifier = identifier) ;) })) (expression_statement "pcVar13 = (*Curl_cstrdup)(pcVar13);" (assignment_expression "pcVar13 = (*Curl_cstrdup)(pcVar13)" identifier = (call_expression "(*Curl_cstrdup)(pcVar13)" (parenthesized_expression "(*Curl_cstrdup)" ( (pointer_expression "*Curl_cstrdup" * identifier) )) (argument_list "(pcVar13)" ( identifier )))) ;) (expression_statement "piVar17[7] = (int)pcVar13;" (assignment_expression "piVar17[7] = (int)pcVar13" (subscript_expression "piVar17[7]" identifier [ number_literal ]) = (cast_expression "(int)pcVar13" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (pcVar13 != (char *)0x0) {\n        *(undefined1 *)(piVar17 + 8) = 1;\n        pcVar13 = (char *)*piVar17;\n        goto LAB_0001ddc4;\n      }" if (parenthesized_expression "(pcVar13 != (char *)0x0)" ( (binary_expression "pcVar13 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        *(undefined1 *)(piVar17 + 8) = 1;\n        pcVar13 = (char *)*piVar17;\n        goto LAB_0001ddc4;\n      }" { (expression_statement "*(undefined1 *)(piVar17 + 8) = 1;" (assignment_expression "*(undefined1 *)(piVar17 + 8) = 1" (pointer_expression "*(undefined1 *)(piVar17 + 8)" * (cast_expression "(undefined1 *)(piVar17 + 8)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar17 + 8)" ( (binary_expression "piVar17 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcVar13 = (char *)*piVar17;" (assignment_expression "pcVar13 = (char *)*piVar17" identifier = (cast_expression "(char *)*piVar17" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar17" * identifier))) ;) (goto_statement "goto LAB_0001ddc4;" goto statement_identifier ;) })) (labeled_statement "LAB_0001e016:\n      CVar19 = CURL_FORMADD_MEMORY;" statement_identifier : (expression_statement "CVar19 = CURL_FORMADD_MEMORY;" (assignment_expression "CVar19 = CURL_FORMADD_MEMORY" identifier = identifier) ;)) (expression_statement "p_Var7 = Curl_cfree;" (assignment_expression "p_Var7 = Curl_cfree" identifier = identifier) ;) (goto_statement "goto LAB_0001df70;" goto statement_identifier ;) })) (labeled_statement "LAB_0001ddc4:\n    if (pcVar13 == (char *)0x0) {\n      uVar15 = piVar17[9];\n      if (((uVar15 & 4) == 0) && (piVar6 == piVar17)) goto LAB_0001e016;\n    }\n    else {\n      length = piVar17[2];\n      if (length == 0) {\n        uVar15 = piVar17[9];\n        if (((uVar15 & 4) == 0) && (piVar6 == piVar17)) {\n          sVar9 = strlen(pcVar13);\n          length = sVar9 + 1;\nLAB_0001e0cf:\n          pcVar13 = (char *)Curl_memdup(pcVar13,length);\n          *piVar17 = (int)pcVar13;\n          if (pcVar13 == (char *)0x0) goto LAB_0001e016;\n          *(undefined1 *)(piVar17 + 1) = 1;\n          uVar15 = piVar17[9];\n        }\n      }\n      else {\n        if (*pcVar13 == '\0') {\nLAB_0001e140:\n          CVar19 = CURL_FORMADD_NULL;\n          p_Var7 = Curl_cfree;\n          goto LAB_0001df70;\n        }\n        pcVar16 = pcVar13;\n        while (pcVar16 = pcVar16 + 1, pcVar13 + length != pcVar16) {\n          if (*pcVar16 == '\0') goto LAB_0001e140;\n        }\n        uVar15 = piVar17[9];\n        if (((uVar15 & 4) == 0) && (piVar6 == piVar17)) goto LAB_0001e0cf;\n      }\n    }" statement_identifier : (if_statement "if (pcVar13 == (char *)0x0) {\n      uVar15 = piVar17[9];\n      if (((uVar15 & 4) == 0) && (piVar6 == piVar17)) goto LAB_0001e016;\n    }\n    else {\n      length = piVar17[2];\n      if (length == 0) {\n        uVar15 = piVar17[9];\n        if (((uVar15 & 4) == 0) && (piVar6 == piVar17)) {\n          sVar9 = strlen(pcVar13);\n          length = sVar9 + 1;\nLAB_0001e0cf:\n          pcVar13 = (char *)Curl_memdup(pcVar13,length);\n          *piVar17 = (int)pcVar13;\n          if (pcVar13 == (char *)0x0) goto LAB_0001e016;\n          *(undefined1 *)(piVar17 + 1) = 1;\n          uVar15 = piVar17[9];\n        }\n      }\n      else {\n        if (*pcVar13 == '\0') {\nLAB_0001e140:\n          CVar19 = CURL_FORMADD_NULL;\n          p_Var7 = Curl_cfree;\n          goto LAB_0001df70;\n        }\n        pcVar16 = pcVar13;\n        while (pcVar16 = pcVar16 + 1, pcVar13 + length != pcVar16) {\n          if (*pcVar16 == '\0') goto LAB_0001e140;\n        }\n        uVar15 = piVar17[9];\n        if (((uVar15 & 4) == 0) && (piVar6 == piVar17)) goto LAB_0001e0cf;\n      }\n    }" if (parenthesized_expression "(pcVar13 == (char *)0x0)" ( (binary_expression "pcVar13 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      uVar15 = piVar17[9];\n      if (((uVar15 & 4) == 0) && (piVar6 == piVar17)) goto LAB_0001e016;\n    }" { (expression_statement "uVar15 = piVar17[9];" (assignment_expression "uVar15 = piVar17[9]" identifier = (subscript_expression "piVar17[9]" identifier [ number_literal ])) ;) (if_statement "if (((uVar15 & 4) == 0) && (piVar6 == piVar17)) goto LAB_0001e016;" if (parenthesized_expression "(((uVar15 & 4) == 0) && (piVar6 == piVar17))" ( (binary_expression "((uVar15 & 4) == 0) && (piVar6 == piVar17)" (parenthesized_expression "((uVar15 & 4) == 0)" ( (binary_expression "(uVar15 & 4) == 0" (parenthesized_expression "(uVar15 & 4)" ( (binary_expression "uVar15 & 4" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "(piVar6 == piVar17)" ( (binary_expression "piVar6 == piVar17" identifier == identifier) ))) )) (goto_statement "goto LAB_0001e016;" goto statement_identifier ;)) }) (else_clause "else {\n      length = piVar17[2];\n      if (length == 0) {\n        uVar15 = piVar17[9];\n        if (((uVar15 & 4) == 0) && (piVar6 == piVar17)) {\n          sVar9 = strlen(pcVar13);\n          length = sVar9 + 1;\nLAB_0001e0cf:\n          pcVar13 = (char *)Curl_memdup(pcVar13,length);\n          *piVar17 = (int)pcVar13;\n          if (pcVar13 == (char *)0x0) goto LAB_0001e016;\n          *(undefined1 *)(piVar17 + 1) = 1;\n          uVar15 = piVar17[9];\n        }\n      }\n      else {\n        if (*pcVar13 == '\0') {\nLAB_0001e140:\n          CVar19 = CURL_FORMADD_NULL;\n          p_Var7 = Curl_cfree;\n          goto LAB_0001df70;\n        }\n        pcVar16 = pcVar13;\n        while (pcVar16 = pcVar16 + 1, pcVar13 + length != pcVar16) {\n          if (*pcVar16 == '\0') goto LAB_0001e140;\n        }\n        uVar15 = piVar17[9];\n        if (((uVar15 & 4) == 0) && (piVar6 == piVar17)) goto LAB_0001e0cf;\n      }\n    }" else (compound_statement "{\n      length = piVar17[2];\n      if (length == 0) {\n        uVar15 = piVar17[9];\n        if (((uVar15 & 4) == 0) && (piVar6 == piVar17)) {\n          sVar9 = strlen(pcVar13);\n          length = sVar9 + 1;\nLAB_0001e0cf:\n          pcVar13 = (char *)Curl_memdup(pcVar13,length);\n          *piVar17 = (int)pcVar13;\n          if (pcVar13 == (char *)0x0) goto LAB_0001e016;\n          *(undefined1 *)(piVar17 + 1) = 1;\n          uVar15 = piVar17[9];\n        }\n      }\n      else {\n        if (*pcVar13 == '\0') {\nLAB_0001e140:\n          CVar19 = CURL_FORMADD_NULL;\n          p_Var7 = Curl_cfree;\n          goto LAB_0001df70;\n        }\n        pcVar16 = pcVar13;\n        while (pcVar16 = pcVar16 + 1, pcVar13 + length != pcVar16) {\n          if (*pcVar16 == '\0') goto LAB_0001e140;\n        }\n        uVar15 = piVar17[9];\n        if (((uVar15 & 4) == 0) && (piVar6 == piVar17)) goto LAB_0001e0cf;\n      }\n    }" { (expression_statement "length = piVar17[2];" (assignment_expression "length = piVar17[2]" identifier = (subscript_expression "piVar17[2]" identifier [ number_literal ])) ;) (if_statement "if (length == 0) {\n        uVar15 = piVar17[9];\n        if (((uVar15 & 4) == 0) && (piVar6 == piVar17)) {\n          sVar9 = strlen(pcVar13);\n          length = sVar9 + 1;\nLAB_0001e0cf:\n          pcVar13 = (char *)Curl_memdup(pcVar13,length);\n          *piVar17 = (int)pcVar13;\n          if (pcVar13 == (char *)0x0) goto LAB_0001e016;\n          *(undefined1 *)(piVar17 + 1) = 1;\n          uVar15 = piVar17[9];\n        }\n      }\n      else {\n        if (*pcVar13 == '\0') {\nLAB_0001e140:\n          CVar19 = CURL_FORMADD_NULL;\n          p_Var7 = Curl_cfree;\n          goto LAB_0001df70;\n        }\n        pcVar16 = pcVar13;\n        while (pcVar16 = pcVar16 + 1, pcVar13 + length != pcVar16) {\n          if (*pcVar16 == '\0') goto LAB_0001e140;\n        }\n        uVar15 = piVar17[9];\n        if (((uVar15 & 4) == 0) && (piVar6 == piVar17)) goto LAB_0001e0cf;\n      }" if (parenthesized_expression "(length == 0)" ( (binary_expression "length == 0" identifier == number_literal) )) (compound_statement "{\n        uVar15 = piVar17[9];\n        if (((uVar15 & 4) == 0) && (piVar6 == piVar17)) {\n          sVar9 = strlen(pcVar13);\n          length = sVar9 + 1;\nLAB_0001e0cf:\n          pcVar13 = (char *)Curl_memdup(pcVar13,length);\n          *piVar17 = (int)pcVar13;\n          if (pcVar13 == (char *)0x0) goto LAB_0001e016;\n          *(undefined1 *)(piVar17 + 1) = 1;\n          uVar15 = piVar17[9];\n        }\n      }" { (expression_statement "uVar15 = piVar17[9];" (assignment_expression "uVar15 = piVar17[9]" identifier = (subscript_expression "piVar17[9]" identifier [ number_literal ])) ;) (if_statement "if (((uVar15 & 4) == 0) && (piVar6 == piVar17)) {\n          sVar9 = strlen(pcVar13);\n          length = sVar9 + 1;\nLAB_0001e0cf:\n          pcVar13 = (char *)Curl_memdup(pcVar13,length);\n          *piVar17 = (int)pcVar13;\n          if (pcVar13 == (char *)0x0) goto LAB_0001e016;\n          *(undefined1 *)(piVar17 + 1) = 1;\n          uVar15 = piVar17[9];\n        }" if (parenthesized_expression "(((uVar15 & 4) == 0) && (piVar6 == piVar17))" ( (binary_expression "((uVar15 & 4) == 0) && (piVar6 == piVar17)" (parenthesized_expression "((uVar15 & 4) == 0)" ( (binary_expression "(uVar15 & 4) == 0" (parenthesized_expression "(uVar15 & 4)" ( (binary_expression "uVar15 & 4" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "(piVar6 == piVar17)" ( (binary_expression "piVar6 == piVar17" identifier == identifier) ))) )) (compound_statement "{\n          sVar9 = strlen(pcVar13);\n          length = sVar9 + 1;\nLAB_0001e0cf:\n          pcVar13 = (char *)Curl_memdup(pcVar13,length);\n          *piVar17 = (int)pcVar13;\n          if (pcVar13 == (char *)0x0) goto LAB_0001e016;\n          *(undefined1 *)(piVar17 + 1) = 1;\n          uVar15 = piVar17[9];\n        }" { (expression_statement "sVar9 = strlen(pcVar13);" (assignment_expression "sVar9 = strlen(pcVar13)" identifier = (call_expression "strlen(pcVar13)" identifier (argument_list "(pcVar13)" ( identifier )))) ;) (expression_statement "length = sVar9 + 1;" (assignment_expression "length = sVar9 + 1" identifier = (binary_expression "sVar9 + 1" identifier + number_literal)) ;) (labeled_statement "LAB_0001e0cf:\n          pcVar13 = (char *)Curl_memdup(pcVar13,length);" statement_identifier : (expression_statement "pcVar13 = (char *)Curl_memdup(pcVar13,length);" (assignment_expression "pcVar13 = (char *)Curl_memdup(pcVar13,length)" identifier = (cast_expression "(char *)Curl_memdup(pcVar13,length)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "Curl_memdup(pcVar13,length)" identifier (argument_list "(pcVar13,length)" ( identifier , identifier ))))) ;)) (expression_statement "*piVar17 = (int)pcVar13;" (assignment_expression "*piVar17 = (int)pcVar13" (pointer_expression "*piVar17" * identifier) = (cast_expression "(int)pcVar13" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (pcVar13 == (char *)0x0) goto LAB_0001e016;" if (parenthesized_expression "(pcVar13 == (char *)0x0)" ( (binary_expression "pcVar13 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0001e016;" goto statement_identifier ;)) (expression_statement "*(undefined1 *)(piVar17 + 1) = 1;" (assignment_expression "*(undefined1 *)(piVar17 + 1) = 1" (pointer_expression "*(undefined1 *)(piVar17 + 1)" * (cast_expression "(undefined1 *)(piVar17 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar17 + 1)" ( (binary_expression "piVar17 + 1" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar15 = piVar17[9];" (assignment_expression "uVar15 = piVar17[9]" identifier = (subscript_expression "piVar17[9]" identifier [ number_literal ])) ;) })) }) (else_clause "else {\n        if (*pcVar13 == '\0') {\nLAB_0001e140:\n          CVar19 = CURL_FORMADD_NULL;\n          p_Var7 = Curl_cfree;\n          goto LAB_0001df70;\n        }\n        pcVar16 = pcVar13;\n        while (pcVar16 = pcVar16 + 1, pcVar13 + length != pcVar16) {\n          if (*pcVar16 == '\0') goto LAB_0001e140;\n        }\n        uVar15 = piVar17[9];\n        if (((uVar15 & 4) == 0) && (piVar6 == piVar17)) goto LAB_0001e0cf;\n      }" else (compound_statement "{\n        if (*pcVar13 == '\0') {\nLAB_0001e140:\n          CVar19 = CURL_FORMADD_NULL;\n          p_Var7 = Curl_cfree;\n          goto LAB_0001df70;\n        }\n        pcVar16 = pcVar13;\n        while (pcVar16 = pcVar16 + 1, pcVar13 + length != pcVar16) {\n          if (*pcVar16 == '\0') goto LAB_0001e140;\n        }\n        uVar15 = piVar17[9];\n        if (((uVar15 & 4) == 0) && (piVar6 == piVar17)) goto LAB_0001e0cf;\n      }" { (if_statement "if (*pcVar13 == '\0') {\nLAB_0001e140:\n          CVar19 = CURL_FORMADD_NULL;\n          p_Var7 = Curl_cfree;\n          goto LAB_0001df70;\n        }" if (parenthesized_expression "(*pcVar13 == '\0')" ( (binary_expression "*pcVar13 == '\0'" (pointer_expression "*pcVar13" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0001e140:\n          CVar19 = CURL_FORMADD_NULL;\n          p_Var7 = Curl_cfree;\n          goto LAB_0001df70;\n        }" { (labeled_statement "LAB_0001e140:\n          CVar19 = CURL_FORMADD_NULL;" statement_identifier : (expression_statement "CVar19 = CURL_FORMADD_NULL;" (assignment_expression "CVar19 = CURL_FORMADD_NULL" identifier = identifier) ;)) (expression_statement "p_Var7 = Curl_cfree;" (assignment_expression "p_Var7 = Curl_cfree" identifier = identifier) ;) (goto_statement "goto LAB_0001df70;" goto statement_identifier ;) })) (expression_statement "pcVar16 = pcVar13;" (assignment_expression "pcVar16 = pcVar13" identifier = identifier) ;) (while_statement "while (pcVar16 = pcVar16 + 1, pcVar13 + length != pcVar16) {\n          if (*pcVar16 == '\0') goto LAB_0001e140;\n        }" while (parenthesized_expression "(pcVar16 = pcVar16 + 1, pcVar13 + length != pcVar16)" ( (comma_expression "pcVar16 = pcVar16 + 1, pcVar13 + length != pcVar16" (assignment_expression "pcVar16 = pcVar16 + 1" identifier = (binary_expression "pcVar16 + 1" identifier + number_literal)) , (binary_expression "pcVar13 + length != pcVar16" (binary_expression "pcVar13 + length" identifier + identifier) != identifier)) )) (compound_statement "{\n          if (*pcVar16 == '\0') goto LAB_0001e140;\n        }" { (if_statement "if (*pcVar16 == '\0') goto LAB_0001e140;" if (parenthesized_expression "(*pcVar16 == '\0')" ( (binary_expression "*pcVar16 == '\0'" (pointer_expression "*pcVar16" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0001e140;" goto statement_identifier ;)) })) (expression_statement "uVar15 = piVar17[9];" (assignment_expression "uVar15 = piVar17[9]" identifier = (subscript_expression "piVar17[9]" identifier [ number_literal ])) ;) (if_statement "if (((uVar15 & 4) == 0) && (piVar6 == piVar17)) goto LAB_0001e0cf;" if (parenthesized_expression "(((uVar15 & 4) == 0) && (piVar6 == piVar17))" ( (binary_expression "((uVar15 & 4) == 0) && (piVar6 == piVar17)" (parenthesized_expression "((uVar15 & 4) == 0)" ( (binary_expression "(uVar15 & 4) == 0" (parenthesized_expression "(uVar15 & 4)" ( (binary_expression "uVar15 & 4" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "(piVar6 == piVar17)" ( (binary_expression "piVar6 == piVar17" identifier == identifier) ))) )) (goto_statement "goto LAB_0001e0cf;" goto statement_identifier ;)) }))) })))) (expression_statement "local_60 = (char *)piVar17[3];" (assignment_expression "local_60 = (char *)piVar17[3]" identifier = (cast_expression "(char *)piVar17[3]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar17[3]" identifier [ number_literal ]))) ;) (expression_statement "local_54 = piVar17[5];" (assignment_expression "local_54 = piVar17[5]" identifier = (subscript_expression "piVar17[5]" identifier [ number_literal ])) ;) (expression_statement "local_50 = piVar17[6];" (assignment_expression "local_50 = piVar17[6]" identifier = (subscript_expression "piVar17[6]" identifier [ number_literal ])) ;) (if_statement "if (((uVar15 & 0x6b) == 0) && (local_60 != (char *)0x0)) {\n      if (local_54 == 0) {\n        sVar9 = strlen(local_60);\n        local_54 = sVar9 + 1;\n      }\n      local_60 = (char *)Curl_memdup(local_60,local_54);\n      piVar17[3] = (int)local_60;\n      if (local_60 == (char *)0x0) goto LAB_0001e016;\n      local_54 = piVar17[5];\n      uVar15 = piVar17[9];\n      *(undefined1 *)(piVar17 + 4) = 1;\n      pcVar13 = (char *)*piVar17;\n      local_50 = piVar17[6];\n    }" if (parenthesized_expression "(((uVar15 & 0x6b) == 0) && (local_60 != (char *)0x0))" ( (binary_expression "((uVar15 & 0x6b) == 0) && (local_60 != (char *)0x0)" (parenthesized_expression "((uVar15 & 0x6b) == 0)" ( (binary_expression "(uVar15 & 0x6b) == 0" (parenthesized_expression "(uVar15 & 0x6b)" ( (binary_expression "uVar15 & 0x6b" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "(local_60 != (char *)0x0)" ( (binary_expression "local_60 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n      if (local_54 == 0) {\n        sVar9 = strlen(local_60);\n        local_54 = sVar9 + 1;\n      }\n      local_60 = (char *)Curl_memdup(local_60,local_54);\n      piVar17[3] = (int)local_60;\n      if (local_60 == (char *)0x0) goto LAB_0001e016;\n      local_54 = piVar17[5];\n      uVar15 = piVar17[9];\n      *(undefined1 *)(piVar17 + 4) = 1;\n      pcVar13 = (char *)*piVar17;\n      local_50 = piVar17[6];\n    }" { (if_statement "if (local_54 == 0) {\n        sVar9 = strlen(local_60);\n        local_54 = sVar9 + 1;\n      }" if (parenthesized_expression "(local_54 == 0)" ( (binary_expression "local_54 == 0" identifier == number_literal) )) (compound_statement "{\n        sVar9 = strlen(local_60);\n        local_54 = sVar9 + 1;\n      }" { (expression_statement "sVar9 = strlen(local_60);" (assignment_expression "sVar9 = strlen(local_60)" identifier = (call_expression "strlen(local_60)" identifier (argument_list "(local_60)" ( identifier )))) ;) (expression_statement "local_54 = sVar9 + 1;" (assignment_expression "local_54 = sVar9 + 1" identifier = (binary_expression "sVar9 + 1" identifier + number_literal)) ;) })) (expression_statement "local_60 = (char *)Curl_memdup(local_60,local_54);" (assignment_expression "local_60 = (char *)Curl_memdup(local_60,local_54)" identifier = (cast_expression "(char *)Curl_memdup(local_60,local_54)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "Curl_memdup(local_60,local_54)" identifier (argument_list "(local_60,local_54)" ( identifier , identifier ))))) ;) (expression_statement "piVar17[3] = (int)local_60;" (assignment_expression "piVar17[3] = (int)local_60" (subscript_expression "piVar17[3]" identifier [ number_literal ]) = (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (local_60 == (char *)0x0) goto LAB_0001e016;" if (parenthesized_expression "(local_60 == (char *)0x0)" ( (binary_expression "local_60 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0001e016;" goto statement_identifier ;)) (expression_statement "local_54 = piVar17[5];" (assignment_expression "local_54 = piVar17[5]" identifier = (subscript_expression "piVar17[5]" identifier [ number_literal ])) ;) (expression_statement "uVar15 = piVar17[9];" (assignment_expression "uVar15 = piVar17[9]" identifier = (subscript_expression "piVar17[9]" identifier [ number_literal ])) ;) (expression_statement "*(undefined1 *)(piVar17 + 4) = 1;" (assignment_expression "*(undefined1 *)(piVar17 + 4) = 1" (pointer_expression "*(undefined1 *)(piVar17 + 4)" * (cast_expression "(undefined1 *)(piVar17 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar17 + 4)" ( (binary_expression "piVar17 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcVar13 = (char *)*piVar17;" (assignment_expression "pcVar13 = (char *)*piVar17" identifier = (cast_expression "(char *)*piVar17" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar17" * identifier))) ;) (expression_statement "local_50 = piVar17[6];" (assignment_expression "local_50 = piVar17[6]" identifier = (subscript_expression "piVar17[6]" identifier [ number_literal ])) ;) })) (expression_statement "pvVar1 = (void *)piVar17[0xe];" (assignment_expression "pvVar1 = (void *)piVar17[0xe]" identifier = (cast_expression "(void *)piVar17[0xe]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar17[0xe]" identifier [ number_literal ]))) ;) (expression_statement "sVar9 = piVar17[2];" (assignment_expression "sVar9 = piVar17[2]" identifier = (subscript_expression "piVar17[2]" identifier [ number_literal ])) ;) (expression_statement "pcVar16 = (char *)piVar17[0xc];" (assignment_expression "pcVar16 = (char *)piVar17[0xc]" identifier = (cast_expression "(char *)piVar17[0xc]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar17[0xc]" identifier [ number_literal ]))) ;) (expression_statement "pcVar2 = (curl_slist *)piVar17[0xf];" (assignment_expression "pcVar2 = (curl_slist *)piVar17[0xf]" identifier = (cast_expression "(curl_slist *)piVar17[0xf]" ( (type_descriptor "curl_slist *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar17[0xf]" identifier [ number_literal ]))) ;) (expression_statement "pcVar3 = (char *)piVar17[7];" (assignment_expression "pcVar3 = (char *)piVar17[7]" identifier = (cast_expression "(char *)piVar17[7]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar17[7]" identifier [ number_literal ]))) ;) (expression_statement "iVar14 = piVar17[0xb];" (assignment_expression "iVar14 = piVar17[0xb]" identifier = (subscript_expression "piVar17[0xb]" identifier [ number_literal ])) ;) (expression_statement "pcVar4 = (char *)piVar17[10];" (assignment_expression "pcVar4 = (char *)piVar17[10]" identifier = (cast_expression "(char *)piVar17[10]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar17[10]" identifier [ number_literal ]))) ;) (expression_statement "pcVar10 = (curl_httppost *)(*Curl_ccalloc)(1,0x3c);" (assignment_expression "pcVar10 = (curl_httppost *)(*Curl_ccalloc)(1,0x3c)" identifier = (cast_expression "(curl_httppost *)(*Curl_ccalloc)(1,0x3c)" ( (type_descriptor "curl_httppost *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*Curl_ccalloc)(1,0x3c)" (parenthesized_expression "(*Curl_ccalloc)" ( (pointer_expression "*Curl_ccalloc" * identifier) )) (argument_list "(1,0x3c)" ( number_literal , number_literal ))))) ;) (if_statement "if (pcVar10 == (curl_httppost *)0x0) goto LAB_0001e016;" if (parenthesized_expression "(pcVar10 == (curl_httppost *)0x0)" ( (binary_expression "pcVar10 == (curl_httppost *)0x0" identifier == (cast_expression "(curl_httppost *)0x0" ( (type_descriptor "curl_httppost *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0001e016;" goto statement_identifier ;)) (expression_statement "pcVar10->name = pcVar13;" (assignment_expression "pcVar10->name = pcVar13" (field_expression "pcVar10->name" identifier -> field_identifier) = identifier) ;) (expression_statement "sVar11 = 0;" (assignment_expression "sVar11 = 0" identifier = number_literal) ;) (if_statement "if ((pcVar13 != (char *)0x0) && (sVar11 = sVar9, sVar9 == 0)) {\n      sVar11 = strlen(pcVar13);\n    }" if (parenthesized_expression "((pcVar13 != (char *)0x0) && (sVar11 = sVar9, sVar9 == 0))" ( (binary_expression "(pcVar13 != (char *)0x0) && (sVar11 = sVar9, sVar9 == 0)" (parenthesized_expression "(pcVar13 != (char *)0x0)" ( (binary_expression "pcVar13 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(sVar11 = sVar9, sVar9 == 0)" ( (comma_expression "sVar11 = sVar9, sVar9 == 0" (assignment_expression "sVar11 = sVar9" identifier = identifier) , (binary_expression "sVar9 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n      sVar11 = strlen(pcVar13);\n    }" { (expression_statement "sVar11 = strlen(pcVar13);" (assignment_expression "sVar11 = strlen(pcVar13)" identifier = (call_expression "strlen(pcVar13)" identifier (argument_list "(pcVar13)" ( identifier )))) ;) })) (expression_statement "pcVar10->namelength = sVar11;" (assignment_expression "pcVar10->namelength = sVar11" (field_expression "pcVar10->namelength" identifier -> field_identifier) = identifier) ;) (expression_statement "pcVar10->contents = local_60;" (assignment_expression "pcVar10->contents = local_60" (field_expression "pcVar10->contents" identifier -> field_identifier) = identifier) ;) (expression_statement "*(size_t *)&pcVar10->contentlen = local_54;" (assignment_expression "*(size_t *)&pcVar10->contentlen = local_54" (pointer_expression "*(size_t *)&pcVar10->contentlen" * (cast_expression "(size_t *)&pcVar10->contentlen" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pcVar10->contentlen" & (field_expression "pcVar10->contentlen" identifier -> field_identifier)))) = identifier) ;) (expression_statement "*(int *)((int)&pcVar10->contentlen + 4) = local_50;" (assignment_expression "*(int *)((int)&pcVar10->contentlen + 4) = local_50" (pointer_expression "*(int *)((int)&pcVar10->contentlen + 4)" * (cast_expression "(int *)((int)&pcVar10->contentlen + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pcVar10->contentlen + 4)" ( (binary_expression "(int)&pcVar10->contentlen + 4" (cast_expression "(int)&pcVar10->contentlen" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pcVar10->contentlen" & (field_expression "pcVar10->contentlen" identifier -> field_identifier))) + number_literal) )))) = identifier) ;) (expression_statement "pcVar10->buffer = pcVar4;" (assignment_expression "pcVar10->buffer = pcVar4" (field_expression "pcVar10->buffer" identifier -> field_identifier) = identifier) ;) (expression_statement "pcVar10->bufferlength = iVar14;" (assignment_expression "pcVar10->bufferlength = iVar14" (field_expression "pcVar10->bufferlength" identifier -> field_identifier) = identifier) ;) (expression_statement "pcVar10->contenttype = pcVar3;" (assignment_expression "pcVar10->contenttype = pcVar3" (field_expression "pcVar10->contenttype" identifier -> field_identifier) = identifier) ;) (expression_statement "pcVar10->contentheader = pcVar2;" (assignment_expression "pcVar10->contentheader = pcVar2" (field_expression "pcVar10->contentheader" identifier -> field_identifier) = identifier) ;) (expression_statement "pcVar10->showfilename = pcVar16;" (assignment_expression "pcVar10->showfilename = pcVar16" (field_expression "pcVar10->showfilename" identifier -> field_identifier) = identifier) ;) (expression_statement "pcVar10->userp = pvVar1;" (assignment_expression "pcVar10->userp = pvVar1" (field_expression "pcVar10->userp" identifier -> field_identifier) = identifier) ;) (expression_statement "pcVar10->flags = uVar15 | 0x80;" (assignment_expression "pcVar10->flags = uVar15 | 0x80" (field_expression "pcVar10->flags" identifier -> field_identifier) = (binary_expression "uVar15 | 0x80" identifier | number_literal)) ;) (if_statement "if (local_5c == (curl_httppost *)0x0) {\n      pcVar12 = *last_post;\n      if (*last_post == (curl_httppost *)0x0) {\n        pcVar12 = (curl_httppost *)httppost;\n      }\n      pcVar12->next = pcVar10;\n      *last_post = pcVar10;\n    }\n    else {\n      pcVar10->more = local_5c->more;\n      local_5c->more = pcVar10;\n    }" if (parenthesized_expression "(local_5c == (curl_httppost *)0x0)" ( (binary_expression "local_5c == (curl_httppost *)0x0" identifier == (cast_expression "(curl_httppost *)0x0" ( (type_descriptor "curl_httppost *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pcVar12 = *last_post;\n      if (*last_post == (curl_httppost *)0x0) {\n        pcVar12 = (curl_httppost *)httppost;\n      }\n      pcVar12->next = pcVar10;\n      *last_post = pcVar10;\n    }" { (expression_statement "pcVar12 = *last_post;" (assignment_expression "pcVar12 = *last_post" identifier = (pointer_expression "*last_post" * identifier)) ;) (if_statement "if (*last_post == (curl_httppost *)0x0) {\n        pcVar12 = (curl_httppost *)httppost;\n      }" if (parenthesized_expression "(*last_post == (curl_httppost *)0x0)" ( (binary_expression "*last_post == (curl_httppost *)0x0" (pointer_expression "*last_post" * identifier) == (cast_expression "(curl_httppost *)0x0" ( (type_descriptor "curl_httppost *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pcVar12 = (curl_httppost *)httppost;\n      }" { (expression_statement "pcVar12 = (curl_httppost *)httppost;" (assignment_expression "pcVar12 = (curl_httppost *)httppost" identifier = (cast_expression "(curl_httppost *)httppost" ( (type_descriptor "curl_httppost *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) })) (expression_statement "pcVar12->next = pcVar10;" (assignment_expression "pcVar12->next = pcVar10" (field_expression "pcVar12->next" identifier -> field_identifier) = identifier) ;) (expression_statement "*last_post = pcVar10;" (assignment_expression "*last_post = pcVar10" (pointer_expression "*last_post" * identifier) = identifier) ;) }) (else_clause "else {\n      pcVar10->more = local_5c->more;\n      local_5c->more = pcVar10;\n    }" else (compound_statement "{\n      pcVar10->more = local_5c->more;\n      local_5c->more = pcVar10;\n    }" { (expression_statement "pcVar10->more = local_5c->more;" (assignment_expression "pcVar10->more = local_5c->more" (field_expression "pcVar10->more" identifier -> field_identifier) = (field_expression "local_5c->more" identifier -> field_identifier)) ;) (expression_statement "local_5c->more = pcVar10;" (assignment_expression "local_5c->more = pcVar10" (field_expression "local_5c->more" identifier -> field_identifier) = identifier) ;) }))) (expression_statement "piVar20 = piVar17 + 7;" (assignment_expression "piVar20 = piVar17 + 7" identifier = (binary_expression "piVar17 + 7" identifier + number_literal)) ;) (expression_statement "piVar17 = (int *)piVar17[0x10];" (assignment_expression "piVar17 = (int *)piVar17[0x10]" identifier = (cast_expression "(int *)piVar17[0x10]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar17[0x10]" identifier [ number_literal ]))) ;) (expression_statement "local_5c = pcVar10;" (assignment_expression "local_5c = pcVar10" identifier = identifier) ;) (if_statement "if ((char *)*piVar20 == (char *)0x0) {\n      if (piVar17 == (int *)0x0) break;\n      goto LAB_0001df4a;\n    }" if (parenthesized_expression "((char *)*piVar20 == (char *)0x0)" ( (binary_expression "(char *)*piVar20 == (char *)0x0" (cast_expression "(char *)*piVar20" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar20" * identifier)) == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      if (piVar17 == (int *)0x0) break;\n      goto LAB_0001df4a;\n    }" { (if_statement "if (piVar17 == (int *)0x0) break;" if (parenthesized_expression "(piVar17 == (int *)0x0)" ( (binary_expression "piVar17 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (goto_statement "goto LAB_0001df4a;" goto statement_identifier ;) })) })) (expression_statement "CVar19 = CURL_FORMADD_OK;" (assignment_expression "CVar19 = CURL_FORMADD_OK" identifier = identifier) ;) (expression_statement "p_Var7 = Curl_cfree;" (assignment_expression "p_Var7 = Curl_cfree" identifier = identifier) ;) (goto_statement "goto LAB_0001d97c;" goto statement_identifier ;) (while_statement "while (piVar17 = (int *)piVar17[0x10], piVar17 != (int *)0x0) {\nLAB_0001df70:\n    if ((char)piVar17[1] != '\0') {\n      (*p_Var7)((void *)*piVar17);\n      p_Var7 = Curl_cfree;\n      *piVar17 = 0;\n      *(undefined1 *)(piVar17 + 1) = 0;\n    }\n    if ((char)piVar17[4] != '\0') {\n      (*p_Var7)((void *)piVar17[3]);\n      p_Var7 = Curl_cfree;\n      piVar17[3] = 0;\n      *(undefined1 *)(piVar17 + 4) = 0;\n    }\n    if ((char)piVar17[8] != '\0') {\n      (*p_Var7)((void *)piVar17[7]);\n      p_Var7 = Curl_cfree;\n      piVar17[7] = 0;\n      *(undefined1 *)(piVar17 + 8) = 0;\n    }\n    if ((char)piVar17[0xd] != '\0') {\n      (*p_Var7)((void *)piVar17[0xc]);\n      p_Var7 = Curl_cfree;\n      piVar17[0xc] = 0;\n      *(undefined1 *)(piVar17 + 0xd) = 0;\n      piVar17 = (int *)piVar17[0x10];\n      if (piVar17 == (int *)0x0) break;\n      goto LAB_0001df70;\n    }\n  }" while (parenthesized_expression "(piVar17 = (int *)piVar17[0x10], piVar17 != (int *)0x0)" ( (comma_expression "piVar17 = (int *)piVar17[0x10], piVar17 != (int *)0x0" (assignment_expression "piVar17 = (int *)piVar17[0x10]" identifier = (cast_expression "(int *)piVar17[0x10]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar17[0x10]" identifier [ number_literal ]))) , (binary_expression "piVar17 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\nLAB_0001df70:\n    if ((char)piVar17[1] != '\0') {\n      (*p_Var7)((void *)*piVar17);\n      p_Var7 = Curl_cfree;\n      *piVar17 = 0;\n      *(undefined1 *)(piVar17 + 1) = 0;\n    }\n    if ((char)piVar17[4] != '\0') {\n      (*p_Var7)((void *)piVar17[3]);\n      p_Var7 = Curl_cfree;\n      piVar17[3] = 0;\n      *(undefined1 *)(piVar17 + 4) = 0;\n    }\n    if ((char)piVar17[8] != '\0') {\n      (*p_Var7)((void *)piVar17[7]);\n      p_Var7 = Curl_cfree;\n      piVar17[7] = 0;\n      *(undefined1 *)(piVar17 + 8) = 0;\n    }\n    if ((char)piVar17[0xd] != '\0') {\n      (*p_Var7)((void *)piVar17[0xc]);\n      p_Var7 = Curl_cfree;\n      piVar17[0xc] = 0;\n      *(undefined1 *)(piVar17 + 0xd) = 0;\n      piVar17 = (int *)piVar17[0x10];\n      if (piVar17 == (int *)0x0) break;\n      goto LAB_0001df70;\n    }\n  }" { (labeled_statement "LAB_0001df70:\n    if ((char)piVar17[1] != '\0') {\n      (*p_Var7)((void *)*piVar17);\n      p_Var7 = Curl_cfree;\n      *piVar17 = 0;\n      *(undefined1 *)(piVar17 + 1) = 0;\n    }" statement_identifier : (if_statement "if ((char)piVar17[1] != '\0') {\n      (*p_Var7)((void *)*piVar17);\n      p_Var7 = Curl_cfree;\n      *piVar17 = 0;\n      *(undefined1 *)(piVar17 + 1) = 0;\n    }" if (parenthesized_expression "((char)piVar17[1] != '\0')" ( (binary_expression "(char)piVar17[1] != '\0'" (cast_expression "(char)piVar17[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "piVar17[1]" identifier [ number_literal ])) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      (*p_Var7)((void *)*piVar17);\n      p_Var7 = Curl_cfree;\n      *piVar17 = 0;\n      *(undefined1 *)(piVar17 + 1) = 0;\n    }" { (expression_statement "(*p_Var7)((void *)*piVar17);" (call_expression "(*p_Var7)((void *)*piVar17)" (parenthesized_expression "(*p_Var7)" ( (pointer_expression "*p_Var7" * identifier) )) (argument_list "((void *)*piVar17)" ( (cast_expression "(void *)*piVar17" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar17" * identifier)) ))) ;) (expression_statement "p_Var7 = Curl_cfree;" (assignment_expression "p_Var7 = Curl_cfree" identifier = identifier) ;) (expression_statement "*piVar17 = 0;" (assignment_expression "*piVar17 = 0" (pointer_expression "*piVar17" * identifier) = number_literal) ;) (expression_statement "*(undefined1 *)(piVar17 + 1) = 0;" (assignment_expression "*(undefined1 *)(piVar17 + 1) = 0" (pointer_expression "*(undefined1 *)(piVar17 + 1)" * (cast_expression "(undefined1 *)(piVar17 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar17 + 1)" ( (binary_expression "piVar17 + 1" identifier + number_literal) )))) = number_literal) ;) }))) (if_statement "if ((char)piVar17[4] != '\0') {\n      (*p_Var7)((void *)piVar17[3]);\n      p_Var7 = Curl_cfree;\n      piVar17[3] = 0;\n      *(undefined1 *)(piVar17 + 4) = 0;\n    }" if (parenthesized_expression "((char)piVar17[4] != '\0')" ( (binary_expression "(char)piVar17[4] != '\0'" (cast_expression "(char)piVar17[4]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "piVar17[4]" identifier [ number_literal ])) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      (*p_Var7)((void *)piVar17[3]);\n      p_Var7 = Curl_cfree;\n      piVar17[3] = 0;\n      *(undefined1 *)(piVar17 + 4) = 0;\n    }" { (expression_statement "(*p_Var7)((void *)piVar17[3]);" (call_expression "(*p_Var7)((void *)piVar17[3])" (parenthesized_expression "(*p_Var7)" ( (pointer_expression "*p_Var7" * identifier) )) (argument_list "((void *)piVar17[3])" ( (cast_expression "(void *)piVar17[3]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar17[3]" identifier [ number_literal ])) ))) ;) (expression_statement "p_Var7 = Curl_cfree;" (assignment_expression "p_Var7 = Curl_cfree" identifier = identifier) ;) (expression_statement "piVar17[3] = 0;" (assignment_expression "piVar17[3] = 0" (subscript_expression "piVar17[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(piVar17 + 4) = 0;" (assignment_expression "*(undefined1 *)(piVar17 + 4) = 0" (pointer_expression "*(undefined1 *)(piVar17 + 4)" * (cast_expression "(undefined1 *)(piVar17 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar17 + 4)" ( (binary_expression "piVar17 + 4" identifier + number_literal) )))) = number_literal) ;) })) (if_statement "if ((char)piVar17[8] != '\0') {\n      (*p_Var7)((void *)piVar17[7]);\n      p_Var7 = Curl_cfree;\n      piVar17[7] = 0;\n      *(undefined1 *)(piVar17 + 8) = 0;\n    }" if (parenthesized_expression "((char)piVar17[8] != '\0')" ( (binary_expression "(char)piVar17[8] != '\0'" (cast_expression "(char)piVar17[8]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "piVar17[8]" identifier [ number_literal ])) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      (*p_Var7)((void *)piVar17[7]);\n      p_Var7 = Curl_cfree;\n      piVar17[7] = 0;\n      *(undefined1 *)(piVar17 + 8) = 0;\n    }" { (expression_statement "(*p_Var7)((void *)piVar17[7]);" (call_expression "(*p_Var7)((void *)piVar17[7])" (parenthesized_expression "(*p_Var7)" ( (pointer_expression "*p_Var7" * identifier) )) (argument_list "((void *)piVar17[7])" ( (cast_expression "(void *)piVar17[7]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar17[7]" identifier [ number_literal ])) ))) ;) (expression_statement "p_Var7 = Curl_cfree;" (assignment_expression "p_Var7 = Curl_cfree" identifier = identifier) ;) (expression_statement "piVar17[7] = 0;" (assignment_expression "piVar17[7] = 0" (subscript_expression "piVar17[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(piVar17 + 8) = 0;" (assignment_expression "*(undefined1 *)(piVar17 + 8) = 0" (pointer_expression "*(undefined1 *)(piVar17 + 8)" * (cast_expression "(undefined1 *)(piVar17 + 8)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar17 + 8)" ( (binary_expression "piVar17 + 8" identifier + number_literal) )))) = number_literal) ;) })) (if_statement "if ((char)piVar17[0xd] != '\0') {\n      (*p_Var7)((void *)piVar17[0xc]);\n      p_Var7 = Curl_cfree;\n      piVar17[0xc] = 0;\n      *(undefined1 *)(piVar17 + 0xd) = 0;\n      piVar17 = (int *)piVar17[0x10];\n      if (piVar17 == (int *)0x0) break;\n      goto LAB_0001df70;\n    }" if (parenthesized_expression "((char)piVar17[0xd] != '\0')" ( (binary_expression "(char)piVar17[0xd] != '\0'" (cast_expression "(char)piVar17[0xd]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "piVar17[0xd]" identifier [ number_literal ])) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      (*p_Var7)((void *)piVar17[0xc]);\n      p_Var7 = Curl_cfree;\n      piVar17[0xc] = 0;\n      *(undefined1 *)(piVar17 + 0xd) = 0;\n      piVar17 = (int *)piVar17[0x10];\n      if (piVar17 == (int *)0x0) break;\n      goto LAB_0001df70;\n    }" { (expression_statement "(*p_Var7)((void *)piVar17[0xc]);" (call_expression "(*p_Var7)((void *)piVar17[0xc])" (parenthesized_expression "(*p_Var7)" ( (pointer_expression "*p_Var7" * identifier) )) (argument_list "((void *)piVar17[0xc])" ( (cast_expression "(void *)piVar17[0xc]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar17[0xc]" identifier [ number_literal ])) ))) ;) (expression_statement "p_Var7 = Curl_cfree;" (assignment_expression "p_Var7 = Curl_cfree" identifier = identifier) ;) (expression_statement "piVar17[0xc] = 0;" (assignment_expression "piVar17[0xc] = 0" (subscript_expression "piVar17[0xc]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(piVar17 + 0xd) = 0;" (assignment_expression "*(undefined1 *)(piVar17 + 0xd) = 0" (pointer_expression "*(undefined1 *)(piVar17 + 0xd)" * (cast_expression "(undefined1 *)(piVar17 + 0xd)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar17 + 0xd)" ( (binary_expression "piVar17 + 0xd" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar17 = (int *)piVar17[0x10];" (assignment_expression "piVar17 = (int *)piVar17[0x10]" identifier = (cast_expression "(int *)piVar17[0x10]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar17[0x10]" identifier [ number_literal ]))) ;) (if_statement "if (piVar17 == (int *)0x0) break;" if (parenthesized_expression "(piVar17 == (int *)0x0)" ( (binary_expression "piVar17 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (goto_statement "goto LAB_0001df70;" goto statement_identifier ;) })) })) (labeled_statement "LAB_0001d97c:\n  do {\n    piVar17 = (int *)piVar6[0x10];\n    (*p_Var7)(piVar6);\n    p_Var7 = Curl_cfree;\n    piVar6 = piVar17;\n  } while (piVar17 != (int *)0x0);" statement_identifier : (do_statement "do {\n    piVar17 = (int *)piVar6[0x10];\n    (*p_Var7)(piVar6);\n    p_Var7 = Curl_cfree;\n    piVar6 = piVar17;\n  } while (piVar17 != (int *)0x0);" do (compound_statement "{\n    piVar17 = (int *)piVar6[0x10];\n    (*p_Var7)(piVar6);\n    p_Var7 = Curl_cfree;\n    piVar6 = piVar17;\n  }" { (expression_statement "piVar17 = (int *)piVar6[0x10];" (assignment_expression "piVar17 = (int *)piVar6[0x10]" identifier = (cast_expression "(int *)piVar6[0x10]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar6[0x10]" identifier [ number_literal ]))) ;) (expression_statement "(*p_Var7)(piVar6);" (call_expression "(*p_Var7)(piVar6)" (parenthesized_expression "(*p_Var7)" ( (pointer_expression "*p_Var7" * identifier) )) (argument_list "(piVar6)" ( identifier ))) ;) (expression_statement "p_Var7 = Curl_cfree;" (assignment_expression "p_Var7 = Curl_cfree" identifier = identifier) ;) (expression_statement "piVar6 = piVar17;" (assignment_expression "piVar6 = piVar17" identifier = identifier) ;) }) while (parenthesized_expression "(piVar17 != (int *)0x0)" ( (binary_expression "piVar17 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;)) (return_statement "return CVar19;" return identifier ;) })))
(translation_unit "undefined4 curl_formadd(int *param_1,int *param_2,uint param_3)\n\n{\n  byte *pbVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  int *piVar7;\n  undefined4 uVar8;\n  code *pcVar9;\n  size_t sVar10;\n  int iVar11;\n  size_t sVar12;\n  int *piVar13;\n  char *__s;\n  int iVar14;\n  uint uVar15;\n  char *pcVar16;\n  int unaff_EBP;\n  int *piVar17;\n  char *local_60;\n  int local_5c;\n  int local_54;\n  int local_50;\n  int local_28;\n  \n  FUN_0001ab8b();\n  piVar7 = (int *)(**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed))(1,0x44);\n  if (piVar7 == (int *)0x0) {\n    return 1;\n  }\n  if (param_3 == 0x11) {\n    local_28 = 0;\n    local_5c = 0;\n    piVar17 = piVar7;\nLAB_0001df4a:\n    do {\n      __s = (char *)*piVar17;\n      if ((((((__s == (char *)0x0) || (piVar17[3] == 0)) && (local_5c == 0)) ||\n           ((uVar15 = piVar17[9], piVar17[6] != 0 || piVar17[5] != 0 && ((uVar15 & 1) != 0)))) ||\n          (((uVar15 & 9) == 9 || ((piVar17[10] == 0 && ((uVar15 & 0x30) == 0x30)))))) ||\n         ((uVar15 & 10) == 10)) {\n        uVar8 = 5;\nLAB_0001df65:\n        pbVar1 = BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9;\n        pcVar9 = *(code **)pbVar1;\n        do {\n          if ((char)piVar17[1] != '\0') {\n            (*pcVar9)(*piVar17);\n            pcVar9 = *(code **)pbVar1;\n            *piVar17 = 0;\n            *(undefined1 *)(piVar17 + 1) = 0;\n          }\n          if ((char)piVar17[4] != '\0') {\n            (*pcVar9)(piVar17[3]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[3] = 0;\n            *(undefined1 *)(piVar17 + 4) = 0;\n          }\n          if ((char)piVar17[8] != '\0') {\n            (*pcVar9)(piVar17[7]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[7] = 0;\n            *(undefined1 *)(piVar17 + 8) = 0;\n          }\n          if ((char)piVar17[0xd] == '\0') {\n            piVar17 = (int *)piVar17[0x10];\n          }\n          else {\n            (*pcVar9)(piVar17[0xc]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[0xc] = 0;\n            *(undefined1 *)(piVar17 + 0xd) = 0;\n            piVar17 = (int *)piVar17[0x10];\n          }\n        } while (piVar17 != (int *)0x0);\n        goto LAB_0001d97c;\n      }\n      if (((uVar15 & 0x11) != 0) && (piVar17[7] == 0)) {\n        if ((uVar15 & 0x10) == 0) {\n          iVar14 = piVar17[3];\n        }\n        else {\n          iVar14 = piVar17[0xc];\n        }\n        iVar14 = FUN_0006e8e0(iVar14);\n        if ((iVar14 == 0) && (iVar14 = unaff_EBP + 0x65cc6, local_28 != 0)) {\n          iVar14 = local_28;\n        }\n        iVar14 = (**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f1))(iVar14);\n        piVar17[7] = iVar14;\n        if (iVar14 != 0) {\n          *(undefined1 *)(piVar17 + 8) = 1;\n          __s = (char *)*piVar17;\n          goto LAB_0001ddc4;\n        }\nLAB_0001e016:\n        uVar8 = 1;\n        goto LAB_0001df65;\n      }\nLAB_0001ddc4:\n      if (__s == (char *)0x0) {\n        uVar15 = piVar17[9];\n        if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e016;\n      }\n      else {\n        iVar14 = piVar17[2];\n        if (iVar14 == 0) {\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) {\n            sVar10 = strlen(__s);\n            iVar14 = sVar10 + 1;\nLAB_0001e0cf:\n            __s = (char *)FUN_00050160(__s,iVar14);\n            *piVar17 = (int)__s;\n            if (__s == (char *)0x0) goto LAB_0001e016;\n            *(undefined1 *)(piVar17 + 1) = 1;\n            uVar15 = piVar17[9];\n          }\n        }\n        else {\n          if (*__s == '\0') {\nLAB_0001e140:\n            uVar8 = 3;\n            goto LAB_0001df65;\n          }\n          pcVar16 = __s;\n          while (pcVar16 = pcVar16 + 1, __s + iVar14 != pcVar16) {\n            if (*pcVar16 == '\0') goto LAB_0001e140;\n          }\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e0cf;\n        }\n      }\n      local_60 = (char *)piVar17[3];\n      local_54 = piVar17[5];\n      local_50 = piVar17[6];\n      if (((uVar15 & 0x6b) == 0) && (local_60 != (char *)0x0)) {\n        if (local_54 == 0) {\n          sVar10 = strlen(local_60);\n          local_54 = sVar10 + 1;\n        }\n        local_60 = (char *)FUN_00050160(local_60,local_54);\n        piVar17[3] = (int)local_60;\n        if (local_60 == (char *)0x0) goto LAB_0001e016;\n        local_54 = piVar17[5];\n        uVar15 = piVar17[9];\n        *(undefined1 *)(piVar17 + 4) = 1;\n        __s = (char *)*piVar17;\n        local_50 = piVar17[6];\n      }\n      iVar14 = piVar17[0xe];\n      sVar10 = piVar17[2];\n      iVar2 = piVar17[0xc];\n      iVar3 = piVar17[0xf];\n      iVar4 = piVar17[7];\n      iVar5 = piVar17[0xb];\n      iVar6 = piVar17[10];\n      iVar11 = (**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed))(1,0x3c);\n      if (iVar11 == 0) goto LAB_0001e016;\n      *(char **)(iVar11 + 4) = __s;\n      sVar12 = 0;\n      if ((__s != (char *)0x0) && (sVar12 = sVar10, sVar10 == 0)) {\n        sVar12 = strlen(__s);\n      }\n      *(size_t *)(iVar11 + 8) = sVar12;\n      *(char **)(iVar11 + 0xc) = local_60;\n      *(int *)(iVar11 + 0x34) = local_54;\n      *(int *)(iVar11 + 0x38) = local_50;\n      *(int *)(iVar11 + 0x14) = iVar6;\n      *(int *)(iVar11 + 0x18) = iVar5;\n      *(int *)(iVar11 + 0x1c) = iVar4;\n      *(int *)(iVar11 + 0x20) = iVar3;\n      *(int *)(iVar11 + 0x2c) = iVar2;\n      *(int *)(iVar11 + 0x30) = iVar14;\n      *(uint *)(iVar11 + 0x28) = uVar15 | 0x80;\n      if (local_5c == 0) {\n        piVar13 = (int *)*param_2;\n        if ((int *)*param_2 == (int *)0x0) {\n          piVar13 = param_1;\n        }\n        *piVar13 = iVar11;\n        *param_2 = iVar11;\n      }\n      else {\n        *(undefined4 *)(iVar11 + 0x24) = *(undefined4 *)(local_5c + 0x24);\n        *(int *)(local_5c + 0x24) = iVar11;\n      }\n      piVar13 = piVar17 + 7;\n      piVar17 = (int *)piVar17[0x10];\n      local_5c = iVar11;\n      if (*piVar13 == 0) {\n        if (piVar17 == (int *)0x0) break;\n        goto LAB_0001df4a;\n      }\n      local_28 = *piVar13;\n    } while (piVar17 != (int *)0x0);\n    uVar8 = 0;\n    pcVar9 = *(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9);\n  }\n  else {\n    if (param_3 < 0x15) {\n                    \n                    \n      uVar8 = (*(code *)(*(int *)(unaff_EBP + 0x65cf6 + param_3 * 4) + unaff_EBP + 0x98fca))();\n      return uVar8;\n    }\n    pbVar1 = BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9;\n    pcVar9 = *(code **)pbVar1;\n    uVar8 = 4;\n    piVar17 = piVar7;\n    do {\n      while( true ) {\n        if ((char)piVar17[1] != '\0') {\n          (*pcVar9)(*piVar17);\n          pcVar9 = *(code **)pbVar1;\n          *piVar17 = 0;\n          *(undefined1 *)(piVar17 + 1) = 0;\n        }\n        if ((char)piVar17[4] != '\0') {\n          (*pcVar9)(piVar17[3]);\n          pcVar9 = *(code **)pbVar1;\n          piVar17[3] = 0;\n          *(undefined1 *)(piVar17 + 4) = 0;\n        }\n        if ((char)piVar17[8] != '\0') {\n          (*pcVar9)(piVar17[7]);\n          pcVar9 = *(code **)pbVar1;\n          piVar17[7] = 0;\n          *(undefined1 *)(piVar17 + 8) = 0;\n        }\n        if ((char)piVar17[0xd] == '\0') break;\n        (*pcVar9)(piVar17[0xc]);\n        pcVar9 = *(code **)pbVar1;\n        piVar17[0xc] = 0;\n        *(undefined1 *)(piVar17 + 0xd) = 0;\n        piVar17 = (int *)piVar17[0x10];\n        if (piVar17 == (int *)0x0) goto LAB_0001d97c;\n      }\n      piVar17 = (int *)piVar17[0x10];\n    } while (piVar17 != (int *)0x0);\n  }\nLAB_0001d97c:\n  while( true ) {\n    piVar17 = (int *)piVar7[0x10];\n    (*pcVar9)(piVar7);\n    if (piVar17 == (int *)0x0) break;\n    pcVar9 = *(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9);\n    piVar7 = piVar17;\n  }\n  return uVar8;\n}\n\n" (function_definition "undefined4 curl_formadd(int *param_1,int *param_2,uint param_3)\n\n{\n  byte *pbVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  int *piVar7;\n  undefined4 uVar8;\n  code *pcVar9;\n  size_t sVar10;\n  int iVar11;\n  size_t sVar12;\n  int *piVar13;\n  char *__s;\n  int iVar14;\n  uint uVar15;\n  char *pcVar16;\n  int unaff_EBP;\n  int *piVar17;\n  char *local_60;\n  int local_5c;\n  int local_54;\n  int local_50;\n  int local_28;\n  \n  FUN_0001ab8b();\n  piVar7 = (int *)(**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed))(1,0x44);\n  if (piVar7 == (int *)0x0) {\n    return 1;\n  }\n  if (param_3 == 0x11) {\n    local_28 = 0;\n    local_5c = 0;\n    piVar17 = piVar7;\nLAB_0001df4a:\n    do {\n      __s = (char *)*piVar17;\n      if ((((((__s == (char *)0x0) || (piVar17[3] == 0)) && (local_5c == 0)) ||\n           ((uVar15 = piVar17[9], piVar17[6] != 0 || piVar17[5] != 0 && ((uVar15 & 1) != 0)))) ||\n          (((uVar15 & 9) == 9 || ((piVar17[10] == 0 && ((uVar15 & 0x30) == 0x30)))))) ||\n         ((uVar15 & 10) == 10)) {\n        uVar8 = 5;\nLAB_0001df65:\n        pbVar1 = BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9;\n        pcVar9 = *(code **)pbVar1;\n        do {\n          if ((char)piVar17[1] != '\0') {\n            (*pcVar9)(*piVar17);\n            pcVar9 = *(code **)pbVar1;\n            *piVar17 = 0;\n            *(undefined1 *)(piVar17 + 1) = 0;\n          }\n          if ((char)piVar17[4] != '\0') {\n            (*pcVar9)(piVar17[3]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[3] = 0;\n            *(undefined1 *)(piVar17 + 4) = 0;\n          }\n          if ((char)piVar17[8] != '\0') {\n            (*pcVar9)(piVar17[7]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[7] = 0;\n            *(undefined1 *)(piVar17 + 8) = 0;\n          }\n          if ((char)piVar17[0xd] == '\0') {\n            piVar17 = (int *)piVar17[0x10];\n          }\n          else {\n            (*pcVar9)(piVar17[0xc]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[0xc] = 0;\n            *(undefined1 *)(piVar17 + 0xd) = 0;\n            piVar17 = (int *)piVar17[0x10];\n          }\n        } while (piVar17 != (int *)0x0);\n        goto LAB_0001d97c;\n      }\n      if (((uVar15 & 0x11) != 0) && (piVar17[7] == 0)) {\n        if ((uVar15 & 0x10) == 0) {\n          iVar14 = piVar17[3];\n        }\n        else {\n          iVar14 = piVar17[0xc];\n        }\n        iVar14 = FUN_0006e8e0(iVar14);\n        if ((iVar14 == 0) && (iVar14 = unaff_EBP + 0x65cc6, local_28 != 0)) {\n          iVar14 = local_28;\n        }\n        iVar14 = (**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f1))(iVar14);\n        piVar17[7] = iVar14;\n        if (iVar14 != 0) {\n          *(undefined1 *)(piVar17 + 8) = 1;\n          __s = (char *)*piVar17;\n          goto LAB_0001ddc4;\n        }\nLAB_0001e016:\n        uVar8 = 1;\n        goto LAB_0001df65;\n      }\nLAB_0001ddc4:\n      if (__s == (char *)0x0) {\n        uVar15 = piVar17[9];\n        if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e016;\n      }\n      else {\n        iVar14 = piVar17[2];\n        if (iVar14 == 0) {\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) {\n            sVar10 = strlen(__s);\n            iVar14 = sVar10 + 1;\nLAB_0001e0cf:\n            __s = (char *)FUN_00050160(__s,iVar14);\n            *piVar17 = (int)__s;\n            if (__s == (char *)0x0) goto LAB_0001e016;\n            *(undefined1 *)(piVar17 + 1) = 1;\n            uVar15 = piVar17[9];\n          }\n        }\n        else {\n          if (*__s == '\0') {\nLAB_0001e140:\n            uVar8 = 3;\n            goto LAB_0001df65;\n          }\n          pcVar16 = __s;\n          while (pcVar16 = pcVar16 + 1, __s + iVar14 != pcVar16) {\n            if (*pcVar16 == '\0') goto LAB_0001e140;\n          }\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e0cf;\n        }\n      }\n      local_60 = (char *)piVar17[3];\n      local_54 = piVar17[5];\n      local_50 = piVar17[6];\n      if (((uVar15 & 0x6b) == 0) && (local_60 != (char *)0x0)) {\n        if (local_54 == 0) {\n          sVar10 = strlen(local_60);\n          local_54 = sVar10 + 1;\n        }\n        local_60 = (char *)FUN_00050160(local_60,local_54);\n        piVar17[3] = (int)local_60;\n        if (local_60 == (char *)0x0) goto LAB_0001e016;\n        local_54 = piVar17[5];\n        uVar15 = piVar17[9];\n        *(undefined1 *)(piVar17 + 4) = 1;\n        __s = (char *)*piVar17;\n        local_50 = piVar17[6];\n      }\n      iVar14 = piVar17[0xe];\n      sVar10 = piVar17[2];\n      iVar2 = piVar17[0xc];\n      iVar3 = piVar17[0xf];\n      iVar4 = piVar17[7];\n      iVar5 = piVar17[0xb];\n      iVar6 = piVar17[10];\n      iVar11 = (**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed))(1,0x3c);\n      if (iVar11 == 0) goto LAB_0001e016;\n      *(char **)(iVar11 + 4) = __s;\n      sVar12 = 0;\n      if ((__s != (char *)0x0) && (sVar12 = sVar10, sVar10 == 0)) {\n        sVar12 = strlen(__s);\n      }\n      *(size_t *)(iVar11 + 8) = sVar12;\n      *(char **)(iVar11 + 0xc) = local_60;\n      *(int *)(iVar11 + 0x34) = local_54;\n      *(int *)(iVar11 + 0x38) = local_50;\n      *(int *)(iVar11 + 0x14) = iVar6;\n      *(int *)(iVar11 + 0x18) = iVar5;\n      *(int *)(iVar11 + 0x1c) = iVar4;\n      *(int *)(iVar11 + 0x20) = iVar3;\n      *(int *)(iVar11 + 0x2c) = iVar2;\n      *(int *)(iVar11 + 0x30) = iVar14;\n      *(uint *)(iVar11 + 0x28) = uVar15 | 0x80;\n      if (local_5c == 0) {\n        piVar13 = (int *)*param_2;\n        if ((int *)*param_2 == (int *)0x0) {\n          piVar13 = param_1;\n        }\n        *piVar13 = iVar11;\n        *param_2 = iVar11;\n      }\n      else {\n        *(undefined4 *)(iVar11 + 0x24) = *(undefined4 *)(local_5c + 0x24);\n        *(int *)(local_5c + 0x24) = iVar11;\n      }\n      piVar13 = piVar17 + 7;\n      piVar17 = (int *)piVar17[0x10];\n      local_5c = iVar11;\n      if (*piVar13 == 0) {\n        if (piVar17 == (int *)0x0) break;\n        goto LAB_0001df4a;\n      }\n      local_28 = *piVar13;\n    } while (piVar17 != (int *)0x0);\n    uVar8 = 0;\n    pcVar9 = *(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9);\n  }\n  else {\n    if (param_3 < 0x15) {\n                    \n                    \n      uVar8 = (*(code *)(*(int *)(unaff_EBP + 0x65cf6 + param_3 * 4) + unaff_EBP + 0x98fca))();\n      return uVar8;\n    }\n    pbVar1 = BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9;\n    pcVar9 = *(code **)pbVar1;\n    uVar8 = 4;\n    piVar17 = piVar7;\n    do {\n      while( true ) {\n        if ((char)piVar17[1] != '\0') {\n          (*pcVar9)(*piVar17);\n          pcVar9 = *(code **)pbVar1;\n          *piVar17 = 0;\n          *(undefined1 *)(piVar17 + 1) = 0;\n        }\n        if ((char)piVar17[4] != '\0') {\n          (*pcVar9)(piVar17[3]);\n          pcVar9 = *(code **)pbVar1;\n          piVar17[3] = 0;\n          *(undefined1 *)(piVar17 + 4) = 0;\n        }\n        if ((char)piVar17[8] != '\0') {\n          (*pcVar9)(piVar17[7]);\n          pcVar9 = *(code **)pbVar1;\n          piVar17[7] = 0;\n          *(undefined1 *)(piVar17 + 8) = 0;\n        }\n        if ((char)piVar17[0xd] == '\0') break;\n        (*pcVar9)(piVar17[0xc]);\n        pcVar9 = *(code **)pbVar1;\n        piVar17[0xc] = 0;\n        *(undefined1 *)(piVar17 + 0xd) = 0;\n        piVar17 = (int *)piVar17[0x10];\n        if (piVar17 == (int *)0x0) goto LAB_0001d97c;\n      }\n      piVar17 = (int *)piVar17[0x10];\n    } while (piVar17 != (int *)0x0);\n  }\nLAB_0001d97c:\n  while( true ) {\n    piVar17 = (int *)piVar7[0x10];\n    (*pcVar9)(piVar7);\n    if (piVar17 == (int *)0x0) break;\n    pcVar9 = *(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9);\n    piVar7 = piVar17;\n  }\n  return uVar8;\n}" type_identifier (function_declarator "curl_formadd(int *param_1,int *param_2,uint param_3)" identifier (parameter_list "(int *param_1,int *param_2,uint param_3)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "uint param_3" type_identifier identifier) ))) (compound_statement "{\n  byte *pbVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  int *piVar7;\n  undefined4 uVar8;\n  code *pcVar9;\n  size_t sVar10;\n  int iVar11;\n  size_t sVar12;\n  int *piVar13;\n  char *__s;\n  int iVar14;\n  uint uVar15;\n  char *pcVar16;\n  int unaff_EBP;\n  int *piVar17;\n  char *local_60;\n  int local_5c;\n  int local_54;\n  int local_50;\n  int local_28;\n  \n  FUN_0001ab8b();\n  piVar7 = (int *)(**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed))(1,0x44);\n  if (piVar7 == (int *)0x0) {\n    return 1;\n  }\n  if (param_3 == 0x11) {\n    local_28 = 0;\n    local_5c = 0;\n    piVar17 = piVar7;\nLAB_0001df4a:\n    do {\n      __s = (char *)*piVar17;\n      if ((((((__s == (char *)0x0) || (piVar17[3] == 0)) && (local_5c == 0)) ||\n           ((uVar15 = piVar17[9], piVar17[6] != 0 || piVar17[5] != 0 && ((uVar15 & 1) != 0)))) ||\n          (((uVar15 & 9) == 9 || ((piVar17[10] == 0 && ((uVar15 & 0x30) == 0x30)))))) ||\n         ((uVar15 & 10) == 10)) {\n        uVar8 = 5;\nLAB_0001df65:\n        pbVar1 = BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9;\n        pcVar9 = *(code **)pbVar1;\n        do {\n          if ((char)piVar17[1] != '\0') {\n            (*pcVar9)(*piVar17);\n            pcVar9 = *(code **)pbVar1;\n            *piVar17 = 0;\n            *(undefined1 *)(piVar17 + 1) = 0;\n          }\n          if ((char)piVar17[4] != '\0') {\n            (*pcVar9)(piVar17[3]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[3] = 0;\n            *(undefined1 *)(piVar17 + 4) = 0;\n          }\n          if ((char)piVar17[8] != '\0') {\n            (*pcVar9)(piVar17[7]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[7] = 0;\n            *(undefined1 *)(piVar17 + 8) = 0;\n          }\n          if ((char)piVar17[0xd] == '\0') {\n            piVar17 = (int *)piVar17[0x10];\n          }\n          else {\n            (*pcVar9)(piVar17[0xc]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[0xc] = 0;\n            *(undefined1 *)(piVar17 + 0xd) = 0;\n            piVar17 = (int *)piVar17[0x10];\n          }\n        } while (piVar17 != (int *)0x0);\n        goto LAB_0001d97c;\n      }\n      if (((uVar15 & 0x11) != 0) && (piVar17[7] == 0)) {\n        if ((uVar15 & 0x10) == 0) {\n          iVar14 = piVar17[3];\n        }\n        else {\n          iVar14 = piVar17[0xc];\n        }\n        iVar14 = FUN_0006e8e0(iVar14);\n        if ((iVar14 == 0) && (iVar14 = unaff_EBP + 0x65cc6, local_28 != 0)) {\n          iVar14 = local_28;\n        }\n        iVar14 = (**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f1))(iVar14);\n        piVar17[7] = iVar14;\n        if (iVar14 != 0) {\n          *(undefined1 *)(piVar17 + 8) = 1;\n          __s = (char *)*piVar17;\n          goto LAB_0001ddc4;\n        }\nLAB_0001e016:\n        uVar8 = 1;\n        goto LAB_0001df65;\n      }\nLAB_0001ddc4:\n      if (__s == (char *)0x0) {\n        uVar15 = piVar17[9];\n        if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e016;\n      }\n      else {\n        iVar14 = piVar17[2];\n        if (iVar14 == 0) {\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) {\n            sVar10 = strlen(__s);\n            iVar14 = sVar10 + 1;\nLAB_0001e0cf:\n            __s = (char *)FUN_00050160(__s,iVar14);\n            *piVar17 = (int)__s;\n            if (__s == (char *)0x0) goto LAB_0001e016;\n            *(undefined1 *)(piVar17 + 1) = 1;\n            uVar15 = piVar17[9];\n          }\n        }\n        else {\n          if (*__s == '\0') {\nLAB_0001e140:\n            uVar8 = 3;\n            goto LAB_0001df65;\n          }\n          pcVar16 = __s;\n          while (pcVar16 = pcVar16 + 1, __s + iVar14 != pcVar16) {\n            if (*pcVar16 == '\0') goto LAB_0001e140;\n          }\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e0cf;\n        }\n      }\n      local_60 = (char *)piVar17[3];\n      local_54 = piVar17[5];\n      local_50 = piVar17[6];\n      if (((uVar15 & 0x6b) == 0) && (local_60 != (char *)0x0)) {\n        if (local_54 == 0) {\n          sVar10 = strlen(local_60);\n          local_54 = sVar10 + 1;\n        }\n        local_60 = (char *)FUN_00050160(local_60,local_54);\n        piVar17[3] = (int)local_60;\n        if (local_60 == (char *)0x0) goto LAB_0001e016;\n        local_54 = piVar17[5];\n        uVar15 = piVar17[9];\n        *(undefined1 *)(piVar17 + 4) = 1;\n        __s = (char *)*piVar17;\n        local_50 = piVar17[6];\n      }\n      iVar14 = piVar17[0xe];\n      sVar10 = piVar17[2];\n      iVar2 = piVar17[0xc];\n      iVar3 = piVar17[0xf];\n      iVar4 = piVar17[7];\n      iVar5 = piVar17[0xb];\n      iVar6 = piVar17[10];\n      iVar11 = (**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed))(1,0x3c);\n      if (iVar11 == 0) goto LAB_0001e016;\n      *(char **)(iVar11 + 4) = __s;\n      sVar12 = 0;\n      if ((__s != (char *)0x0) && (sVar12 = sVar10, sVar10 == 0)) {\n        sVar12 = strlen(__s);\n      }\n      *(size_t *)(iVar11 + 8) = sVar12;\n      *(char **)(iVar11 + 0xc) = local_60;\n      *(int *)(iVar11 + 0x34) = local_54;\n      *(int *)(iVar11 + 0x38) = local_50;\n      *(int *)(iVar11 + 0x14) = iVar6;\n      *(int *)(iVar11 + 0x18) = iVar5;\n      *(int *)(iVar11 + 0x1c) = iVar4;\n      *(int *)(iVar11 + 0x20) = iVar3;\n      *(int *)(iVar11 + 0x2c) = iVar2;\n      *(int *)(iVar11 + 0x30) = iVar14;\n      *(uint *)(iVar11 + 0x28) = uVar15 | 0x80;\n      if (local_5c == 0) {\n        piVar13 = (int *)*param_2;\n        if ((int *)*param_2 == (int *)0x0) {\n          piVar13 = param_1;\n        }\n        *piVar13 = iVar11;\n        *param_2 = iVar11;\n      }\n      else {\n        *(undefined4 *)(iVar11 + 0x24) = *(undefined4 *)(local_5c + 0x24);\n        *(int *)(local_5c + 0x24) = iVar11;\n      }\n      piVar13 = piVar17 + 7;\n      piVar17 = (int *)piVar17[0x10];\n      local_5c = iVar11;\n      if (*piVar13 == 0) {\n        if (piVar17 == (int *)0x0) break;\n        goto LAB_0001df4a;\n      }\n      local_28 = *piVar13;\n    } while (piVar17 != (int *)0x0);\n    uVar8 = 0;\n    pcVar9 = *(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9);\n  }\n  else {\n    if (param_3 < 0x15) {\n                    \n                    \n      uVar8 = (*(code *)(*(int *)(unaff_EBP + 0x65cf6 + param_3 * 4) + unaff_EBP + 0x98fca))();\n      return uVar8;\n    }\n    pbVar1 = BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9;\n    pcVar9 = *(code **)pbVar1;\n    uVar8 = 4;\n    piVar17 = piVar7;\n    do {\n      while( true ) {\n        if ((char)piVar17[1] != '\0') {\n          (*pcVar9)(*piVar17);\n          pcVar9 = *(code **)pbVar1;\n          *piVar17 = 0;\n          *(undefined1 *)(piVar17 + 1) = 0;\n        }\n        if ((char)piVar17[4] != '\0') {\n          (*pcVar9)(piVar17[3]);\n          pcVar9 = *(code **)pbVar1;\n          piVar17[3] = 0;\n          *(undefined1 *)(piVar17 + 4) = 0;\n        }\n        if ((char)piVar17[8] != '\0') {\n          (*pcVar9)(piVar17[7]);\n          pcVar9 = *(code **)pbVar1;\n          piVar17[7] = 0;\n          *(undefined1 *)(piVar17 + 8) = 0;\n        }\n        if ((char)piVar17[0xd] == '\0') break;\n        (*pcVar9)(piVar17[0xc]);\n        pcVar9 = *(code **)pbVar1;\n        piVar17[0xc] = 0;\n        *(undefined1 *)(piVar17 + 0xd) = 0;\n        piVar17 = (int *)piVar17[0x10];\n        if (piVar17 == (int *)0x0) goto LAB_0001d97c;\n      }\n      piVar17 = (int *)piVar17[0x10];\n    } while (piVar17 != (int *)0x0);\n  }\nLAB_0001d97c:\n  while( true ) {\n    piVar17 = (int *)piVar7[0x10];\n    (*pcVar9)(piVar7);\n    if (piVar17 == (int *)0x0) break;\n    pcVar9 = *(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9);\n    piVar7 = piVar17;\n  }\n  return uVar8;\n}" { (declaration "byte *pbVar1;" type_identifier (pointer_declarator "*pbVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int *piVar7;" primitive_type (pointer_declarator "*piVar7" * identifier) ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "code *pcVar9;" type_identifier (pointer_declarator "*pcVar9" * identifier) ;) (declaration "size_t sVar10;" primitive_type identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "size_t sVar12;" primitive_type identifier ;) (declaration "int *piVar13;" primitive_type (pointer_declarator "*piVar13" * identifier) ;) (declaration "char *__s;" primitive_type (pointer_declarator "*__s" * identifier) ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "char *pcVar16;" primitive_type (pointer_declarator "*pcVar16" * identifier) ;) (declaration "int unaff_EBP;" primitive_type identifier ;) (declaration "int *piVar17;" primitive_type (pointer_declarator "*piVar17" * identifier) ;) (declaration "char *local_60;" primitive_type (pointer_declarator "*local_60" * identifier) ;) (declaration "int local_5c;" primitive_type identifier ;) (declaration "int local_54;" primitive_type identifier ;) (declaration "int local_50;" primitive_type identifier ;) (declaration "int local_28;" primitive_type identifier ;) (expression_statement "FUN_0001ab8b();" (call_expression "FUN_0001ab8b()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar7 = (int *)(**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed))(1,0x44);" (assignment_expression "piVar7 = (int *)(**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed))(1,0x44)" identifier = (cast_expression "(int *)(**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed))(1,0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed))(1,0x44)" (parenthesized_expression "(**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed))" ( (pointer_expression "**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed)" * (pointer_expression "*(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed)" * (cast_expression "(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed)" ( (binary_expression "BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed" (binary_expression "BYTE_ARRAY_0009905d + unaff_EBP" identifier + identifier) + number_literal) ))))) )) (argument_list "(1,0x44)" ( number_literal , number_literal ))))) ;) (if_statement "if (piVar7 == (int *)0x0) {\n    return 1;\n  }" if (parenthesized_expression "(piVar7 == (int *)0x0)" ( (binary_expression "piVar7 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    return 1;\n  }" { (return_statement "return 1;" return number_literal ;) })) (if_statement "if (param_3 == 0x11) {\n    local_28 = 0;\n    local_5c = 0;\n    piVar17 = piVar7;\nLAB_0001df4a:\n    do {\n      __s = (char *)*piVar17;\n      if ((((((__s == (char *)0x0) || (piVar17[3] == 0)) && (local_5c == 0)) ||\n           ((uVar15 = piVar17[9], piVar17[6] != 0 || piVar17[5] != 0 && ((uVar15 & 1) != 0)))) ||\n          (((uVar15 & 9) == 9 || ((piVar17[10] == 0 && ((uVar15 & 0x30) == 0x30)))))) ||\n         ((uVar15 & 10) == 10)) {\n        uVar8 = 5;\nLAB_0001df65:\n        pbVar1 = BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9;\n        pcVar9 = *(code **)pbVar1;\n        do {\n          if ((char)piVar17[1] != '\0') {\n            (*pcVar9)(*piVar17);\n            pcVar9 = *(code **)pbVar1;\n            *piVar17 = 0;\n            *(undefined1 *)(piVar17 + 1) = 0;\n          }\n          if ((char)piVar17[4] != '\0') {\n            (*pcVar9)(piVar17[3]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[3] = 0;\n            *(undefined1 *)(piVar17 + 4) = 0;\n          }\n          if ((char)piVar17[8] != '\0') {\n            (*pcVar9)(piVar17[7]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[7] = 0;\n            *(undefined1 *)(piVar17 + 8) = 0;\n          }\n          if ((char)piVar17[0xd] == '\0') {\n            piVar17 = (int *)piVar17[0x10];\n          }\n          else {\n            (*pcVar9)(piVar17[0xc]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[0xc] = 0;\n            *(undefined1 *)(piVar17 + 0xd) = 0;\n            piVar17 = (int *)piVar17[0x10];\n          }\n        } while (piVar17 != (int *)0x0);\n        goto LAB_0001d97c;\n      }\n      if (((uVar15 & 0x11) != 0) && (piVar17[7] == 0)) {\n        if ((uVar15 & 0x10) == 0) {\n          iVar14 = piVar17[3];\n        }\n        else {\n          iVar14 = piVar17[0xc];\n        }\n        iVar14 = FUN_0006e8e0(iVar14);\n        if ((iVar14 == 0) && (iVar14 = unaff_EBP + 0x65cc6, local_28 != 0)) {\n          iVar14 = local_28;\n        }\n        iVar14 = (**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f1))(iVar14);\n        piVar17[7] = iVar14;\n        if (iVar14 != 0) {\n          *(undefined1 *)(piVar17 + 8) = 1;\n          __s = (char *)*piVar17;\n          goto LAB_0001ddc4;\n        }\nLAB_0001e016:\n        uVar8 = 1;\n        goto LAB_0001df65;\n      }\nLAB_0001ddc4:\n      if (__s == (char *)0x0) {\n        uVar15 = piVar17[9];\n        if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e016;\n      }\n      else {\n        iVar14 = piVar17[2];\n        if (iVar14 == 0) {\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) {\n            sVar10 = strlen(__s);\n            iVar14 = sVar10 + 1;\nLAB_0001e0cf:\n            __s = (char *)FUN_00050160(__s,iVar14);\n            *piVar17 = (int)__s;\n            if (__s == (char *)0x0) goto LAB_0001e016;\n            *(undefined1 *)(piVar17 + 1) = 1;\n            uVar15 = piVar17[9];\n          }\n        }\n        else {\n          if (*__s == '\0') {\nLAB_0001e140:\n            uVar8 = 3;\n            goto LAB_0001df65;\n          }\n          pcVar16 = __s;\n          while (pcVar16 = pcVar16 + 1, __s + iVar14 != pcVar16) {\n            if (*pcVar16 == '\0') goto LAB_0001e140;\n          }\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e0cf;\n        }\n      }\n      local_60 = (char *)piVar17[3];\n      local_54 = piVar17[5];\n      local_50 = piVar17[6];\n      if (((uVar15 & 0x6b) == 0) && (local_60 != (char *)0x0)) {\n        if (local_54 == 0) {\n          sVar10 = strlen(local_60);\n          local_54 = sVar10 + 1;\n        }\n        local_60 = (char *)FUN_00050160(local_60,local_54);\n        piVar17[3] = (int)local_60;\n        if (local_60 == (char *)0x0) goto LAB_0001e016;\n        local_54 = piVar17[5];\n        uVar15 = piVar17[9];\n        *(undefined1 *)(piVar17 + 4) = 1;\n        __s = (char *)*piVar17;\n        local_50 = piVar17[6];\n      }\n      iVar14 = piVar17[0xe];\n      sVar10 = piVar17[2];\n      iVar2 = piVar17[0xc];\n      iVar3 = piVar17[0xf];\n      iVar4 = piVar17[7];\n      iVar5 = piVar17[0xb];\n      iVar6 = piVar17[10];\n      iVar11 = (**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed))(1,0x3c);\n      if (iVar11 == 0) goto LAB_0001e016;\n      *(char **)(iVar11 + 4) = __s;\n      sVar12 = 0;\n      if ((__s != (char *)0x0) && (sVar12 = sVar10, sVar10 == 0)) {\n        sVar12 = strlen(__s);\n      }\n      *(size_t *)(iVar11 + 8) = sVar12;\n      *(char **)(iVar11 + 0xc) = local_60;\n      *(int *)(iVar11 + 0x34) = local_54;\n      *(int *)(iVar11 + 0x38) = local_50;\n      *(int *)(iVar11 + 0x14) = iVar6;\n      *(int *)(iVar11 + 0x18) = iVar5;\n      *(int *)(iVar11 + 0x1c) = iVar4;\n      *(int *)(iVar11 + 0x20) = iVar3;\n      *(int *)(iVar11 + 0x2c) = iVar2;\n      *(int *)(iVar11 + 0x30) = iVar14;\n      *(uint *)(iVar11 + 0x28) = uVar15 | 0x80;\n      if (local_5c == 0) {\n        piVar13 = (int *)*param_2;\n        if ((int *)*param_2 == (int *)0x0) {\n          piVar13 = param_1;\n        }\n        *piVar13 = iVar11;\n        *param_2 = iVar11;\n      }\n      else {\n        *(undefined4 *)(iVar11 + 0x24) = *(undefined4 *)(local_5c + 0x24);\n        *(int *)(local_5c + 0x24) = iVar11;\n      }\n      piVar13 = piVar17 + 7;\n      piVar17 = (int *)piVar17[0x10];\n      local_5c = iVar11;\n      if (*piVar13 == 0) {\n        if (piVar17 == (int *)0x0) break;\n        goto LAB_0001df4a;\n      }\n      local_28 = *piVar13;\n    } while (piVar17 != (int *)0x0);\n    uVar8 = 0;\n    pcVar9 = *(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9);\n  }\n  else {\n    if (param_3 < 0x15) {\n                    \n                    \n      uVar8 = (*(code *)(*(int *)(unaff_EBP + 0x65cf6 + param_3 * 4) + unaff_EBP + 0x98fca))();\n      return uVar8;\n    }\n    pbVar1 = BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9;\n    pcVar9 = *(code **)pbVar1;\n    uVar8 = 4;\n    piVar17 = piVar7;\n    do {\n      while( true ) {\n        if ((char)piVar17[1] != '\0') {\n          (*pcVar9)(*piVar17);\n          pcVar9 = *(code **)pbVar1;\n          *piVar17 = 0;\n          *(undefined1 *)(piVar17 + 1) = 0;\n        }\n        if ((char)piVar17[4] != '\0') {\n          (*pcVar9)(piVar17[3]);\n          pcVar9 = *(code **)pbVar1;\n          piVar17[3] = 0;\n          *(undefined1 *)(piVar17 + 4) = 0;\n        }\n        if ((char)piVar17[8] != '\0') {\n          (*pcVar9)(piVar17[7]);\n          pcVar9 = *(code **)pbVar1;\n          piVar17[7] = 0;\n          *(undefined1 *)(piVar17 + 8) = 0;\n        }\n        if ((char)piVar17[0xd] == '\0') break;\n        (*pcVar9)(piVar17[0xc]);\n        pcVar9 = *(code **)pbVar1;\n        piVar17[0xc] = 0;\n        *(undefined1 *)(piVar17 + 0xd) = 0;\n        piVar17 = (int *)piVar17[0x10];\n        if (piVar17 == (int *)0x0) goto LAB_0001d97c;\n      }\n      piVar17 = (int *)piVar17[0x10];\n    } while (piVar17 != (int *)0x0);\n  }" if (parenthesized_expression "(param_3 == 0x11)" ( (binary_expression "param_3 == 0x11" identifier == number_literal) )) (compound_statement "{\n    local_28 = 0;\n    local_5c = 0;\n    piVar17 = piVar7;\nLAB_0001df4a:\n    do {\n      __s = (char *)*piVar17;\n      if ((((((__s == (char *)0x0) || (piVar17[3] == 0)) && (local_5c == 0)) ||\n           ((uVar15 = piVar17[9], piVar17[6] != 0 || piVar17[5] != 0 && ((uVar15 & 1) != 0)))) ||\n          (((uVar15 & 9) == 9 || ((piVar17[10] == 0 && ((uVar15 & 0x30) == 0x30)))))) ||\n         ((uVar15 & 10) == 10)) {\n        uVar8 = 5;\nLAB_0001df65:\n        pbVar1 = BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9;\n        pcVar9 = *(code **)pbVar1;\n        do {\n          if ((char)piVar17[1] != '\0') {\n            (*pcVar9)(*piVar17);\n            pcVar9 = *(code **)pbVar1;\n            *piVar17 = 0;\n            *(undefined1 *)(piVar17 + 1) = 0;\n          }\n          if ((char)piVar17[4] != '\0') {\n            (*pcVar9)(piVar17[3]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[3] = 0;\n            *(undefined1 *)(piVar17 + 4) = 0;\n          }\n          if ((char)piVar17[8] != '\0') {\n            (*pcVar9)(piVar17[7]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[7] = 0;\n            *(undefined1 *)(piVar17 + 8) = 0;\n          }\n          if ((char)piVar17[0xd] == '\0') {\n            piVar17 = (int *)piVar17[0x10];\n          }\n          else {\n            (*pcVar9)(piVar17[0xc]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[0xc] = 0;\n            *(undefined1 *)(piVar17 + 0xd) = 0;\n            piVar17 = (int *)piVar17[0x10];\n          }\n        } while (piVar17 != (int *)0x0);\n        goto LAB_0001d97c;\n      }\n      if (((uVar15 & 0x11) != 0) && (piVar17[7] == 0)) {\n        if ((uVar15 & 0x10) == 0) {\n          iVar14 = piVar17[3];\n        }\n        else {\n          iVar14 = piVar17[0xc];\n        }\n        iVar14 = FUN_0006e8e0(iVar14);\n        if ((iVar14 == 0) && (iVar14 = unaff_EBP + 0x65cc6, local_28 != 0)) {\n          iVar14 = local_28;\n        }\n        iVar14 = (**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f1))(iVar14);\n        piVar17[7] = iVar14;\n        if (iVar14 != 0) {\n          *(undefined1 *)(piVar17 + 8) = 1;\n          __s = (char *)*piVar17;\n          goto LAB_0001ddc4;\n        }\nLAB_0001e016:\n        uVar8 = 1;\n        goto LAB_0001df65;\n      }\nLAB_0001ddc4:\n      if (__s == (char *)0x0) {\n        uVar15 = piVar17[9];\n        if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e016;\n      }\n      else {\n        iVar14 = piVar17[2];\n        if (iVar14 == 0) {\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) {\n            sVar10 = strlen(__s);\n            iVar14 = sVar10 + 1;\nLAB_0001e0cf:\n            __s = (char *)FUN_00050160(__s,iVar14);\n            *piVar17 = (int)__s;\n            if (__s == (char *)0x0) goto LAB_0001e016;\n            *(undefined1 *)(piVar17 + 1) = 1;\n            uVar15 = piVar17[9];\n          }\n        }\n        else {\n          if (*__s == '\0') {\nLAB_0001e140:\n            uVar8 = 3;\n            goto LAB_0001df65;\n          }\n          pcVar16 = __s;\n          while (pcVar16 = pcVar16 + 1, __s + iVar14 != pcVar16) {\n            if (*pcVar16 == '\0') goto LAB_0001e140;\n          }\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e0cf;\n        }\n      }\n      local_60 = (char *)piVar17[3];\n      local_54 = piVar17[5];\n      local_50 = piVar17[6];\n      if (((uVar15 & 0x6b) == 0) && (local_60 != (char *)0x0)) {\n        if (local_54 == 0) {\n          sVar10 = strlen(local_60);\n          local_54 = sVar10 + 1;\n        }\n        local_60 = (char *)FUN_00050160(local_60,local_54);\n        piVar17[3] = (int)local_60;\n        if (local_60 == (char *)0x0) goto LAB_0001e016;\n        local_54 = piVar17[5];\n        uVar15 = piVar17[9];\n        *(undefined1 *)(piVar17 + 4) = 1;\n        __s = (char *)*piVar17;\n        local_50 = piVar17[6];\n      }\n      iVar14 = piVar17[0xe];\n      sVar10 = piVar17[2];\n      iVar2 = piVar17[0xc];\n      iVar3 = piVar17[0xf];\n      iVar4 = piVar17[7];\n      iVar5 = piVar17[0xb];\n      iVar6 = piVar17[10];\n      iVar11 = (**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed))(1,0x3c);\n      if (iVar11 == 0) goto LAB_0001e016;\n      *(char **)(iVar11 + 4) = __s;\n      sVar12 = 0;\n      if ((__s != (char *)0x0) && (sVar12 = sVar10, sVar10 == 0)) {\n        sVar12 = strlen(__s);\n      }\n      *(size_t *)(iVar11 + 8) = sVar12;\n      *(char **)(iVar11 + 0xc) = local_60;\n      *(int *)(iVar11 + 0x34) = local_54;\n      *(int *)(iVar11 + 0x38) = local_50;\n      *(int *)(iVar11 + 0x14) = iVar6;\n      *(int *)(iVar11 + 0x18) = iVar5;\n      *(int *)(iVar11 + 0x1c) = iVar4;\n      *(int *)(iVar11 + 0x20) = iVar3;\n      *(int *)(iVar11 + 0x2c) = iVar2;\n      *(int *)(iVar11 + 0x30) = iVar14;\n      *(uint *)(iVar11 + 0x28) = uVar15 | 0x80;\n      if (local_5c == 0) {\n        piVar13 = (int *)*param_2;\n        if ((int *)*param_2 == (int *)0x0) {\n          piVar13 = param_1;\n        }\n        *piVar13 = iVar11;\n        *param_2 = iVar11;\n      }\n      else {\n        *(undefined4 *)(iVar11 + 0x24) = *(undefined4 *)(local_5c + 0x24);\n        *(int *)(local_5c + 0x24) = iVar11;\n      }\n      piVar13 = piVar17 + 7;\n      piVar17 = (int *)piVar17[0x10];\n      local_5c = iVar11;\n      if (*piVar13 == 0) {\n        if (piVar17 == (int *)0x0) break;\n        goto LAB_0001df4a;\n      }\n      local_28 = *piVar13;\n    } while (piVar17 != (int *)0x0);\n    uVar8 = 0;\n    pcVar9 = *(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9);\n  }" { (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" identifier = number_literal) ;) (expression_statement "local_5c = 0;" (assignment_expression "local_5c = 0" identifier = number_literal) ;) (expression_statement "piVar17 = piVar7;" (assignment_expression "piVar17 = piVar7" identifier = identifier) ;) (labeled_statement "LAB_0001df4a:\n    do {\n      __s = (char *)*piVar17;\n      if ((((((__s == (char *)0x0) || (piVar17[3] == 0)) && (local_5c == 0)) ||\n           ((uVar15 = piVar17[9], piVar17[6] != 0 || piVar17[5] != 0 && ((uVar15 & 1) != 0)))) ||\n          (((uVar15 & 9) == 9 || ((piVar17[10] == 0 && ((uVar15 & 0x30) == 0x30)))))) ||\n         ((uVar15 & 10) == 10)) {\n        uVar8 = 5;\nLAB_0001df65:\n        pbVar1 = BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9;\n        pcVar9 = *(code **)pbVar1;\n        do {\n          if ((char)piVar17[1] != '\0') {\n            (*pcVar9)(*piVar17);\n            pcVar9 = *(code **)pbVar1;\n            *piVar17 = 0;\n            *(undefined1 *)(piVar17 + 1) = 0;\n          }\n          if ((char)piVar17[4] != '\0') {\n            (*pcVar9)(piVar17[3]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[3] = 0;\n            *(undefined1 *)(piVar17 + 4) = 0;\n          }\n          if ((char)piVar17[8] != '\0') {\n            (*pcVar9)(piVar17[7]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[7] = 0;\n            *(undefined1 *)(piVar17 + 8) = 0;\n          }\n          if ((char)piVar17[0xd] == '\0') {\n            piVar17 = (int *)piVar17[0x10];\n          }\n          else {\n            (*pcVar9)(piVar17[0xc]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[0xc] = 0;\n            *(undefined1 *)(piVar17 + 0xd) = 0;\n            piVar17 = (int *)piVar17[0x10];\n          }\n        } while (piVar17 != (int *)0x0);\n        goto LAB_0001d97c;\n      }\n      if (((uVar15 & 0x11) != 0) && (piVar17[7] == 0)) {\n        if ((uVar15 & 0x10) == 0) {\n          iVar14 = piVar17[3];\n        }\n        else {\n          iVar14 = piVar17[0xc];\n        }\n        iVar14 = FUN_0006e8e0(iVar14);\n        if ((iVar14 == 0) && (iVar14 = unaff_EBP + 0x65cc6, local_28 != 0)) {\n          iVar14 = local_28;\n        }\n        iVar14 = (**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f1))(iVar14);\n        piVar17[7] = iVar14;\n        if (iVar14 != 0) {\n          *(undefined1 *)(piVar17 + 8) = 1;\n          __s = (char *)*piVar17;\n          goto LAB_0001ddc4;\n        }\nLAB_0001e016:\n        uVar8 = 1;\n        goto LAB_0001df65;\n      }\nLAB_0001ddc4:\n      if (__s == (char *)0x0) {\n        uVar15 = piVar17[9];\n        if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e016;\n      }\n      else {\n        iVar14 = piVar17[2];\n        if (iVar14 == 0) {\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) {\n            sVar10 = strlen(__s);\n            iVar14 = sVar10 + 1;\nLAB_0001e0cf:\n            __s = (char *)FUN_00050160(__s,iVar14);\n            *piVar17 = (int)__s;\n            if (__s == (char *)0x0) goto LAB_0001e016;\n            *(undefined1 *)(piVar17 + 1) = 1;\n            uVar15 = piVar17[9];\n          }\n        }\n        else {\n          if (*__s == '\0') {\nLAB_0001e140:\n            uVar8 = 3;\n            goto LAB_0001df65;\n          }\n          pcVar16 = __s;\n          while (pcVar16 = pcVar16 + 1, __s + iVar14 != pcVar16) {\n            if (*pcVar16 == '\0') goto LAB_0001e140;\n          }\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e0cf;\n        }\n      }\n      local_60 = (char *)piVar17[3];\n      local_54 = piVar17[5];\n      local_50 = piVar17[6];\n      if (((uVar15 & 0x6b) == 0) && (local_60 != (char *)0x0)) {\n        if (local_54 == 0) {\n          sVar10 = strlen(local_60);\n          local_54 = sVar10 + 1;\n        }\n        local_60 = (char *)FUN_00050160(local_60,local_54);\n        piVar17[3] = (int)local_60;\n        if (local_60 == (char *)0x0) goto LAB_0001e016;\n        local_54 = piVar17[5];\n        uVar15 = piVar17[9];\n        *(undefined1 *)(piVar17 + 4) = 1;\n        __s = (char *)*piVar17;\n        local_50 = piVar17[6];\n      }\n      iVar14 = piVar17[0xe];\n      sVar10 = piVar17[2];\n      iVar2 = piVar17[0xc];\n      iVar3 = piVar17[0xf];\n      iVar4 = piVar17[7];\n      iVar5 = piVar17[0xb];\n      iVar6 = piVar17[10];\n      iVar11 = (**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed))(1,0x3c);\n      if (iVar11 == 0) goto LAB_0001e016;\n      *(char **)(iVar11 + 4) = __s;\n      sVar12 = 0;\n      if ((__s != (char *)0x0) && (sVar12 = sVar10, sVar10 == 0)) {\n        sVar12 = strlen(__s);\n      }\n      *(size_t *)(iVar11 + 8) = sVar12;\n      *(char **)(iVar11 + 0xc) = local_60;\n      *(int *)(iVar11 + 0x34) = local_54;\n      *(int *)(iVar11 + 0x38) = local_50;\n      *(int *)(iVar11 + 0x14) = iVar6;\n      *(int *)(iVar11 + 0x18) = iVar5;\n      *(int *)(iVar11 + 0x1c) = iVar4;\n      *(int *)(iVar11 + 0x20) = iVar3;\n      *(int *)(iVar11 + 0x2c) = iVar2;\n      *(int *)(iVar11 + 0x30) = iVar14;\n      *(uint *)(iVar11 + 0x28) = uVar15 | 0x80;\n      if (local_5c == 0) {\n        piVar13 = (int *)*param_2;\n        if ((int *)*param_2 == (int *)0x0) {\n          piVar13 = param_1;\n        }\n        *piVar13 = iVar11;\n        *param_2 = iVar11;\n      }\n      else {\n        *(undefined4 *)(iVar11 + 0x24) = *(undefined4 *)(local_5c + 0x24);\n        *(int *)(local_5c + 0x24) = iVar11;\n      }\n      piVar13 = piVar17 + 7;\n      piVar17 = (int *)piVar17[0x10];\n      local_5c = iVar11;\n      if (*piVar13 == 0) {\n        if (piVar17 == (int *)0x0) break;\n        goto LAB_0001df4a;\n      }\n      local_28 = *piVar13;\n    } while (piVar17 != (int *)0x0);" statement_identifier : (do_statement "do {\n      __s = (char *)*piVar17;\n      if ((((((__s == (char *)0x0) || (piVar17[3] == 0)) && (local_5c == 0)) ||\n           ((uVar15 = piVar17[9], piVar17[6] != 0 || piVar17[5] != 0 && ((uVar15 & 1) != 0)))) ||\n          (((uVar15 & 9) == 9 || ((piVar17[10] == 0 && ((uVar15 & 0x30) == 0x30)))))) ||\n         ((uVar15 & 10) == 10)) {\n        uVar8 = 5;\nLAB_0001df65:\n        pbVar1 = BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9;\n        pcVar9 = *(code **)pbVar1;\n        do {\n          if ((char)piVar17[1] != '\0') {\n            (*pcVar9)(*piVar17);\n            pcVar9 = *(code **)pbVar1;\n            *piVar17 = 0;\n            *(undefined1 *)(piVar17 + 1) = 0;\n          }\n          if ((char)piVar17[4] != '\0') {\n            (*pcVar9)(piVar17[3]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[3] = 0;\n            *(undefined1 *)(piVar17 + 4) = 0;\n          }\n          if ((char)piVar17[8] != '\0') {\n            (*pcVar9)(piVar17[7]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[7] = 0;\n            *(undefined1 *)(piVar17 + 8) = 0;\n          }\n          if ((char)piVar17[0xd] == '\0') {\n            piVar17 = (int *)piVar17[0x10];\n          }\n          else {\n            (*pcVar9)(piVar17[0xc]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[0xc] = 0;\n            *(undefined1 *)(piVar17 + 0xd) = 0;\n            piVar17 = (int *)piVar17[0x10];\n          }\n        } while (piVar17 != (int *)0x0);\n        goto LAB_0001d97c;\n      }\n      if (((uVar15 & 0x11) != 0) && (piVar17[7] == 0)) {\n        if ((uVar15 & 0x10) == 0) {\n          iVar14 = piVar17[3];\n        }\n        else {\n          iVar14 = piVar17[0xc];\n        }\n        iVar14 = FUN_0006e8e0(iVar14);\n        if ((iVar14 == 0) && (iVar14 = unaff_EBP + 0x65cc6, local_28 != 0)) {\n          iVar14 = local_28;\n        }\n        iVar14 = (**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f1))(iVar14);\n        piVar17[7] = iVar14;\n        if (iVar14 != 0) {\n          *(undefined1 *)(piVar17 + 8) = 1;\n          __s = (char *)*piVar17;\n          goto LAB_0001ddc4;\n        }\nLAB_0001e016:\n        uVar8 = 1;\n        goto LAB_0001df65;\n      }\nLAB_0001ddc4:\n      if (__s == (char *)0x0) {\n        uVar15 = piVar17[9];\n        if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e016;\n      }\n      else {\n        iVar14 = piVar17[2];\n        if (iVar14 == 0) {\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) {\n            sVar10 = strlen(__s);\n            iVar14 = sVar10 + 1;\nLAB_0001e0cf:\n            __s = (char *)FUN_00050160(__s,iVar14);\n            *piVar17 = (int)__s;\n            if (__s == (char *)0x0) goto LAB_0001e016;\n            *(undefined1 *)(piVar17 + 1) = 1;\n            uVar15 = piVar17[9];\n          }\n        }\n        else {\n          if (*__s == '\0') {\nLAB_0001e140:\n            uVar8 = 3;\n            goto LAB_0001df65;\n          }\n          pcVar16 = __s;\n          while (pcVar16 = pcVar16 + 1, __s + iVar14 != pcVar16) {\n            if (*pcVar16 == '\0') goto LAB_0001e140;\n          }\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e0cf;\n        }\n      }\n      local_60 = (char *)piVar17[3];\n      local_54 = piVar17[5];\n      local_50 = piVar17[6];\n      if (((uVar15 & 0x6b) == 0) && (local_60 != (char *)0x0)) {\n        if (local_54 == 0) {\n          sVar10 = strlen(local_60);\n          local_54 = sVar10 + 1;\n        }\n        local_60 = (char *)FUN_00050160(local_60,local_54);\n        piVar17[3] = (int)local_60;\n        if (local_60 == (char *)0x0) goto LAB_0001e016;\n        local_54 = piVar17[5];\n        uVar15 = piVar17[9];\n        *(undefined1 *)(piVar17 + 4) = 1;\n        __s = (char *)*piVar17;\n        local_50 = piVar17[6];\n      }\n      iVar14 = piVar17[0xe];\n      sVar10 = piVar17[2];\n      iVar2 = piVar17[0xc];\n      iVar3 = piVar17[0xf];\n      iVar4 = piVar17[7];\n      iVar5 = piVar17[0xb];\n      iVar6 = piVar17[10];\n      iVar11 = (**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed))(1,0x3c);\n      if (iVar11 == 0) goto LAB_0001e016;\n      *(char **)(iVar11 + 4) = __s;\n      sVar12 = 0;\n      if ((__s != (char *)0x0) && (sVar12 = sVar10, sVar10 == 0)) {\n        sVar12 = strlen(__s);\n      }\n      *(size_t *)(iVar11 + 8) = sVar12;\n      *(char **)(iVar11 + 0xc) = local_60;\n      *(int *)(iVar11 + 0x34) = local_54;\n      *(int *)(iVar11 + 0x38) = local_50;\n      *(int *)(iVar11 + 0x14) = iVar6;\n      *(int *)(iVar11 + 0x18) = iVar5;\n      *(int *)(iVar11 + 0x1c) = iVar4;\n      *(int *)(iVar11 + 0x20) = iVar3;\n      *(int *)(iVar11 + 0x2c) = iVar2;\n      *(int *)(iVar11 + 0x30) = iVar14;\n      *(uint *)(iVar11 + 0x28) = uVar15 | 0x80;\n      if (local_5c == 0) {\n        piVar13 = (int *)*param_2;\n        if ((int *)*param_2 == (int *)0x0) {\n          piVar13 = param_1;\n        }\n        *piVar13 = iVar11;\n        *param_2 = iVar11;\n      }\n      else {\n        *(undefined4 *)(iVar11 + 0x24) = *(undefined4 *)(local_5c + 0x24);\n        *(int *)(local_5c + 0x24) = iVar11;\n      }\n      piVar13 = piVar17 + 7;\n      piVar17 = (int *)piVar17[0x10];\n      local_5c = iVar11;\n      if (*piVar13 == 0) {\n        if (piVar17 == (int *)0x0) break;\n        goto LAB_0001df4a;\n      }\n      local_28 = *piVar13;\n    } while (piVar17 != (int *)0x0);" do (compound_statement "{\n      __s = (char *)*piVar17;\n      if ((((((__s == (char *)0x0) || (piVar17[3] == 0)) && (local_5c == 0)) ||\n           ((uVar15 = piVar17[9], piVar17[6] != 0 || piVar17[5] != 0 && ((uVar15 & 1) != 0)))) ||\n          (((uVar15 & 9) == 9 || ((piVar17[10] == 0 && ((uVar15 & 0x30) == 0x30)))))) ||\n         ((uVar15 & 10) == 10)) {\n        uVar8 = 5;\nLAB_0001df65:\n        pbVar1 = BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9;\n        pcVar9 = *(code **)pbVar1;\n        do {\n          if ((char)piVar17[1] != '\0') {\n            (*pcVar9)(*piVar17);\n            pcVar9 = *(code **)pbVar1;\n            *piVar17 = 0;\n            *(undefined1 *)(piVar17 + 1) = 0;\n          }\n          if ((char)piVar17[4] != '\0') {\n            (*pcVar9)(piVar17[3]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[3] = 0;\n            *(undefined1 *)(piVar17 + 4) = 0;\n          }\n          if ((char)piVar17[8] != '\0') {\n            (*pcVar9)(piVar17[7]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[7] = 0;\n            *(undefined1 *)(piVar17 + 8) = 0;\n          }\n          if ((char)piVar17[0xd] == '\0') {\n            piVar17 = (int *)piVar17[0x10];\n          }\n          else {\n            (*pcVar9)(piVar17[0xc]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[0xc] = 0;\n            *(undefined1 *)(piVar17 + 0xd) = 0;\n            piVar17 = (int *)piVar17[0x10];\n          }\n        } while (piVar17 != (int *)0x0);\n        goto LAB_0001d97c;\n      }\n      if (((uVar15 & 0x11) != 0) && (piVar17[7] == 0)) {\n        if ((uVar15 & 0x10) == 0) {\n          iVar14 = piVar17[3];\n        }\n        else {\n          iVar14 = piVar17[0xc];\n        }\n        iVar14 = FUN_0006e8e0(iVar14);\n        if ((iVar14 == 0) && (iVar14 = unaff_EBP + 0x65cc6, local_28 != 0)) {\n          iVar14 = local_28;\n        }\n        iVar14 = (**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f1))(iVar14);\n        piVar17[7] = iVar14;\n        if (iVar14 != 0) {\n          *(undefined1 *)(piVar17 + 8) = 1;\n          __s = (char *)*piVar17;\n          goto LAB_0001ddc4;\n        }\nLAB_0001e016:\n        uVar8 = 1;\n        goto LAB_0001df65;\n      }\nLAB_0001ddc4:\n      if (__s == (char *)0x0) {\n        uVar15 = piVar17[9];\n        if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e016;\n      }\n      else {\n        iVar14 = piVar17[2];\n        if (iVar14 == 0) {\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) {\n            sVar10 = strlen(__s);\n            iVar14 = sVar10 + 1;\nLAB_0001e0cf:\n            __s = (char *)FUN_00050160(__s,iVar14);\n            *piVar17 = (int)__s;\n            if (__s == (char *)0x0) goto LAB_0001e016;\n            *(undefined1 *)(piVar17 + 1) = 1;\n            uVar15 = piVar17[9];\n          }\n        }\n        else {\n          if (*__s == '\0') {\nLAB_0001e140:\n            uVar8 = 3;\n            goto LAB_0001df65;\n          }\n          pcVar16 = __s;\n          while (pcVar16 = pcVar16 + 1, __s + iVar14 != pcVar16) {\n            if (*pcVar16 == '\0') goto LAB_0001e140;\n          }\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e0cf;\n        }\n      }\n      local_60 = (char *)piVar17[3];\n      local_54 = piVar17[5];\n      local_50 = piVar17[6];\n      if (((uVar15 & 0x6b) == 0) && (local_60 != (char *)0x0)) {\n        if (local_54 == 0) {\n          sVar10 = strlen(local_60);\n          local_54 = sVar10 + 1;\n        }\n        local_60 = (char *)FUN_00050160(local_60,local_54);\n        piVar17[3] = (int)local_60;\n        if (local_60 == (char *)0x0) goto LAB_0001e016;\n        local_54 = piVar17[5];\n        uVar15 = piVar17[9];\n        *(undefined1 *)(piVar17 + 4) = 1;\n        __s = (char *)*piVar17;\n        local_50 = piVar17[6];\n      }\n      iVar14 = piVar17[0xe];\n      sVar10 = piVar17[2];\n      iVar2 = piVar17[0xc];\n      iVar3 = piVar17[0xf];\n      iVar4 = piVar17[7];\n      iVar5 = piVar17[0xb];\n      iVar6 = piVar17[10];\n      iVar11 = (**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed))(1,0x3c);\n      if (iVar11 == 0) goto LAB_0001e016;\n      *(char **)(iVar11 + 4) = __s;\n      sVar12 = 0;\n      if ((__s != (char *)0x0) && (sVar12 = sVar10, sVar10 == 0)) {\n        sVar12 = strlen(__s);\n      }\n      *(size_t *)(iVar11 + 8) = sVar12;\n      *(char **)(iVar11 + 0xc) = local_60;\n      *(int *)(iVar11 + 0x34) = local_54;\n      *(int *)(iVar11 + 0x38) = local_50;\n      *(int *)(iVar11 + 0x14) = iVar6;\n      *(int *)(iVar11 + 0x18) = iVar5;\n      *(int *)(iVar11 + 0x1c) = iVar4;\n      *(int *)(iVar11 + 0x20) = iVar3;\n      *(int *)(iVar11 + 0x2c) = iVar2;\n      *(int *)(iVar11 + 0x30) = iVar14;\n      *(uint *)(iVar11 + 0x28) = uVar15 | 0x80;\n      if (local_5c == 0) {\n        piVar13 = (int *)*param_2;\n        if ((int *)*param_2 == (int *)0x0) {\n          piVar13 = param_1;\n        }\n        *piVar13 = iVar11;\n        *param_2 = iVar11;\n      }\n      else {\n        *(undefined4 *)(iVar11 + 0x24) = *(undefined4 *)(local_5c + 0x24);\n        *(int *)(local_5c + 0x24) = iVar11;\n      }\n      piVar13 = piVar17 + 7;\n      piVar17 = (int *)piVar17[0x10];\n      local_5c = iVar11;\n      if (*piVar13 == 0) {\n        if (piVar17 == (int *)0x0) break;\n        goto LAB_0001df4a;\n      }\n      local_28 = *piVar13;\n    }" { (expression_statement "__s = (char *)*piVar17;" (assignment_expression "__s = (char *)*piVar17" identifier = (cast_expression "(char *)*piVar17" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar17" * identifier))) ;) (if_statement "if ((((((__s == (char *)0x0) || (piVar17[3] == 0)) && (local_5c == 0)) ||\n           ((uVar15 = piVar17[9], piVar17[6] != 0 || piVar17[5] != 0 && ((uVar15 & 1) != 0)))) ||\n          (((uVar15 & 9) == 9 || ((piVar17[10] == 0 && ((uVar15 & 0x30) == 0x30)))))) ||\n         ((uVar15 & 10) == 10)) {\n        uVar8 = 5;\nLAB_0001df65:\n        pbVar1 = BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9;\n        pcVar9 = *(code **)pbVar1;\n        do {\n          if ((char)piVar17[1] != '\0') {\n            (*pcVar9)(*piVar17);\n            pcVar9 = *(code **)pbVar1;\n            *piVar17 = 0;\n            *(undefined1 *)(piVar17 + 1) = 0;\n          }\n          if ((char)piVar17[4] != '\0') {\n            (*pcVar9)(piVar17[3]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[3] = 0;\n            *(undefined1 *)(piVar17 + 4) = 0;\n          }\n          if ((char)piVar17[8] != '\0') {\n            (*pcVar9)(piVar17[7]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[7] = 0;\n            *(undefined1 *)(piVar17 + 8) = 0;\n          }\n          if ((char)piVar17[0xd] == '\0') {\n            piVar17 = (int *)piVar17[0x10];\n          }\n          else {\n            (*pcVar9)(piVar17[0xc]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[0xc] = 0;\n            *(undefined1 *)(piVar17 + 0xd) = 0;\n            piVar17 = (int *)piVar17[0x10];\n          }\n        } while (piVar17 != (int *)0x0);\n        goto LAB_0001d97c;\n      }" if (parenthesized_expression "((((((__s == (char *)0x0) || (piVar17[3] == 0)) && (local_5c == 0)) ||\n           ((uVar15 = piVar17[9], piVar17[6] != 0 || piVar17[5] != 0 && ((uVar15 & 1) != 0)))) ||\n          (((uVar15 & 9) == 9 || ((piVar17[10] == 0 && ((uVar15 & 0x30) == 0x30)))))) ||\n         ((uVar15 & 10) == 10))" ( (binary_expression "(((((__s == (char *)0x0) || (piVar17[3] == 0)) && (local_5c == 0)) ||\n           ((uVar15 = piVar17[9], piVar17[6] != 0 || piVar17[5] != 0 && ((uVar15 & 1) != 0)))) ||\n          (((uVar15 & 9) == 9 || ((piVar17[10] == 0 && ((uVar15 & 0x30) == 0x30)))))) ||\n         ((uVar15 & 10) == 10)" (parenthesized_expression "(((((__s == (char *)0x0) || (piVar17[3] == 0)) && (local_5c == 0)) ||\n           ((uVar15 = piVar17[9], piVar17[6] != 0 || piVar17[5] != 0 && ((uVar15 & 1) != 0)))) ||\n          (((uVar15 & 9) == 9 || ((piVar17[10] == 0 && ((uVar15 & 0x30) == 0x30))))))" ( (binary_expression "((((__s == (char *)0x0) || (piVar17[3] == 0)) && (local_5c == 0)) ||\n           ((uVar15 = piVar17[9], piVar17[6] != 0 || piVar17[5] != 0 && ((uVar15 & 1) != 0)))) ||\n          (((uVar15 & 9) == 9 || ((piVar17[10] == 0 && ((uVar15 & 0x30) == 0x30)))))" (parenthesized_expression "((((__s == (char *)0x0) || (piVar17[3] == 0)) && (local_5c == 0)) ||\n           ((uVar15 = piVar17[9], piVar17[6] != 0 || piVar17[5] != 0 && ((uVar15 & 1) != 0))))" ( (binary_expression "(((__s == (char *)0x0) || (piVar17[3] == 0)) && (local_5c == 0)) ||\n           ((uVar15 = piVar17[9], piVar17[6] != 0 || piVar17[5] != 0 && ((uVar15 & 1) != 0)))" (parenthesized_expression "(((__s == (char *)0x0) || (piVar17[3] == 0)) && (local_5c == 0))" ( (binary_expression "((__s == (char *)0x0) || (piVar17[3] == 0)) && (local_5c == 0)" (parenthesized_expression "((__s == (char *)0x0) || (piVar17[3] == 0))" ( (binary_expression "(__s == (char *)0x0) || (piVar17[3] == 0)" (parenthesized_expression "(__s == (char *)0x0)" ( (binary_expression "__s == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(piVar17[3] == 0)" ( (binary_expression "piVar17[3] == 0" (subscript_expression "piVar17[3]" identifier [ number_literal ]) == number_literal) ))) )) && (parenthesized_expression "(local_5c == 0)" ( (binary_expression "local_5c == 0" identifier == number_literal) ))) )) || (parenthesized_expression "((uVar15 = piVar17[9], piVar17[6] != 0 || piVar17[5] != 0 && ((uVar15 & 1) != 0)))" ( (parenthesized_expression "(uVar15 = piVar17[9], piVar17[6] != 0 || piVar17[5] != 0 && ((uVar15 & 1) != 0))" ( (comma_expression "uVar15 = piVar17[9], piVar17[6] != 0 || piVar17[5] != 0 && ((uVar15 & 1) != 0)" (assignment_expression "uVar15 = piVar17[9]" identifier = (subscript_expression "piVar17[9]" identifier [ number_literal ])) , (binary_expression "piVar17[6] != 0 || piVar17[5] != 0 && ((uVar15 & 1) != 0)" (binary_expression "piVar17[6] != 0" (subscript_expression "piVar17[6]" identifier [ number_literal ]) != number_literal) || (binary_expression "piVar17[5] != 0 && ((uVar15 & 1) != 0)" (binary_expression "piVar17[5] != 0" (subscript_expression "piVar17[5]" identifier [ number_literal ]) != number_literal) && (parenthesized_expression "((uVar15 & 1) != 0)" ( (binary_expression "(uVar15 & 1) != 0" (parenthesized_expression "(uVar15 & 1)" ( (binary_expression "uVar15 & 1" identifier & number_literal) )) != number_literal) ))))) )) ))) )) || (parenthesized_expression "(((uVar15 & 9) == 9 || ((piVar17[10] == 0 && ((uVar15 & 0x30) == 0x30)))))" ( (parenthesized_expression "((uVar15 & 9) == 9 || ((piVar17[10] == 0 && ((uVar15 & 0x30) == 0x30))))" ( (binary_expression "(uVar15 & 9) == 9 || ((piVar17[10] == 0 && ((uVar15 & 0x30) == 0x30)))" (binary_expression "(uVar15 & 9) == 9" (parenthesized_expression "(uVar15 & 9)" ( (binary_expression "uVar15 & 9" identifier & number_literal) )) == number_literal) || (parenthesized_expression "((piVar17[10] == 0 && ((uVar15 & 0x30) == 0x30)))" ( (parenthesized_expression "(piVar17[10] == 0 && ((uVar15 & 0x30) == 0x30))" ( (binary_expression "piVar17[10] == 0 && ((uVar15 & 0x30) == 0x30)" (binary_expression "piVar17[10] == 0" (subscript_expression "piVar17[10]" identifier [ number_literal ]) == number_literal) && (parenthesized_expression "((uVar15 & 0x30) == 0x30)" ( (binary_expression "(uVar15 & 0x30) == 0x30" (parenthesized_expression "(uVar15 & 0x30)" ( (binary_expression "uVar15 & 0x30" identifier & number_literal) )) == number_literal) ))) )) ))) )) ))) )) || (parenthesized_expression "((uVar15 & 10) == 10)" ( (binary_expression "(uVar15 & 10) == 10" (parenthesized_expression "(uVar15 & 10)" ( (binary_expression "uVar15 & 10" identifier & number_literal) )) == number_literal) ))) )) (compound_statement "{\n        uVar8 = 5;\nLAB_0001df65:\n        pbVar1 = BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9;\n        pcVar9 = *(code **)pbVar1;\n        do {\n          if ((char)piVar17[1] != '\0') {\n            (*pcVar9)(*piVar17);\n            pcVar9 = *(code **)pbVar1;\n            *piVar17 = 0;\n            *(undefined1 *)(piVar17 + 1) = 0;\n          }\n          if ((char)piVar17[4] != '\0') {\n            (*pcVar9)(piVar17[3]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[3] = 0;\n            *(undefined1 *)(piVar17 + 4) = 0;\n          }\n          if ((char)piVar17[8] != '\0') {\n            (*pcVar9)(piVar17[7]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[7] = 0;\n            *(undefined1 *)(piVar17 + 8) = 0;\n          }\n          if ((char)piVar17[0xd] == '\0') {\n            piVar17 = (int *)piVar17[0x10];\n          }\n          else {\n            (*pcVar9)(piVar17[0xc]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[0xc] = 0;\n            *(undefined1 *)(piVar17 + 0xd) = 0;\n            piVar17 = (int *)piVar17[0x10];\n          }\n        } while (piVar17 != (int *)0x0);\n        goto LAB_0001d97c;\n      }" { (expression_statement "uVar8 = 5;" (assignment_expression "uVar8 = 5" identifier = number_literal) ;) (labeled_statement "LAB_0001df65:\n        pbVar1 = BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9;" statement_identifier : (expression_statement "pbVar1 = BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9;" (assignment_expression "pbVar1 = BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9" identifier = (binary_expression "BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9" (binary_expression "BYTE_ARRAY_0009905d + unaff_EBP" identifier + identifier) + number_literal)) ;)) (expression_statement "pcVar9 = *(code **)pbVar1;" (assignment_expression "pcVar9 = *(code **)pbVar1" identifier = (pointer_expression "*(code **)pbVar1" * (cast_expression "(code **)pbVar1" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (do_statement "do {\n          if ((char)piVar17[1] != '\0') {\n            (*pcVar9)(*piVar17);\n            pcVar9 = *(code **)pbVar1;\n            *piVar17 = 0;\n            *(undefined1 *)(piVar17 + 1) = 0;\n          }\n          if ((char)piVar17[4] != '\0') {\n            (*pcVar9)(piVar17[3]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[3] = 0;\n            *(undefined1 *)(piVar17 + 4) = 0;\n          }\n          if ((char)piVar17[8] != '\0') {\n            (*pcVar9)(piVar17[7]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[7] = 0;\n            *(undefined1 *)(piVar17 + 8) = 0;\n          }\n          if ((char)piVar17[0xd] == '\0') {\n            piVar17 = (int *)piVar17[0x10];\n          }\n          else {\n            (*pcVar9)(piVar17[0xc]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[0xc] = 0;\n            *(undefined1 *)(piVar17 + 0xd) = 0;\n            piVar17 = (int *)piVar17[0x10];\n          }\n        } while (piVar17 != (int *)0x0);" do (compound_statement "{\n          if ((char)piVar17[1] != '\0') {\n            (*pcVar9)(*piVar17);\n            pcVar9 = *(code **)pbVar1;\n            *piVar17 = 0;\n            *(undefined1 *)(piVar17 + 1) = 0;\n          }\n          if ((char)piVar17[4] != '\0') {\n            (*pcVar9)(piVar17[3]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[3] = 0;\n            *(undefined1 *)(piVar17 + 4) = 0;\n          }\n          if ((char)piVar17[8] != '\0') {\n            (*pcVar9)(piVar17[7]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[7] = 0;\n            *(undefined1 *)(piVar17 + 8) = 0;\n          }\n          if ((char)piVar17[0xd] == '\0') {\n            piVar17 = (int *)piVar17[0x10];\n          }\n          else {\n            (*pcVar9)(piVar17[0xc]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[0xc] = 0;\n            *(undefined1 *)(piVar17 + 0xd) = 0;\n            piVar17 = (int *)piVar17[0x10];\n          }\n        }" { (if_statement "if ((char)piVar17[1] != '\0') {\n            (*pcVar9)(*piVar17);\n            pcVar9 = *(code **)pbVar1;\n            *piVar17 = 0;\n            *(undefined1 *)(piVar17 + 1) = 0;\n          }" if (parenthesized_expression "((char)piVar17[1] != '\0')" ( (binary_expression "(char)piVar17[1] != '\0'" (cast_expression "(char)piVar17[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "piVar17[1]" identifier [ number_literal ])) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            (*pcVar9)(*piVar17);\n            pcVar9 = *(code **)pbVar1;\n            *piVar17 = 0;\n            *(undefined1 *)(piVar17 + 1) = 0;\n          }" { (expression_statement "(*pcVar9)(*piVar17);" (call_expression "(*pcVar9)(*piVar17)" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "(*piVar17)" ( (pointer_expression "*piVar17" * identifier) ))) ;) (expression_statement "pcVar9 = *(code **)pbVar1;" (assignment_expression "pcVar9 = *(code **)pbVar1" identifier = (pointer_expression "*(code **)pbVar1" * (cast_expression "(code **)pbVar1" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "*piVar17 = 0;" (assignment_expression "*piVar17 = 0" (pointer_expression "*piVar17" * identifier) = number_literal) ;) (expression_statement "*(undefined1 *)(piVar17 + 1) = 0;" (assignment_expression "*(undefined1 *)(piVar17 + 1) = 0" (pointer_expression "*(undefined1 *)(piVar17 + 1)" * (cast_expression "(undefined1 *)(piVar17 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar17 + 1)" ( (binary_expression "piVar17 + 1" identifier + number_literal) )))) = number_literal) ;) })) (if_statement "if ((char)piVar17[4] != '\0') {\n            (*pcVar9)(piVar17[3]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[3] = 0;\n            *(undefined1 *)(piVar17 + 4) = 0;\n          }" if (parenthesized_expression "((char)piVar17[4] != '\0')" ( (binary_expression "(char)piVar17[4] != '\0'" (cast_expression "(char)piVar17[4]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "piVar17[4]" identifier [ number_literal ])) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            (*pcVar9)(piVar17[3]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[3] = 0;\n            *(undefined1 *)(piVar17 + 4) = 0;\n          }" { (expression_statement "(*pcVar9)(piVar17[3]);" (call_expression "(*pcVar9)(piVar17[3])" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "(piVar17[3])" ( (subscript_expression "piVar17[3]" identifier [ number_literal ]) ))) ;) (expression_statement "pcVar9 = *(code **)pbVar1;" (assignment_expression "pcVar9 = *(code **)pbVar1" identifier = (pointer_expression "*(code **)pbVar1" * (cast_expression "(code **)pbVar1" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "piVar17[3] = 0;" (assignment_expression "piVar17[3] = 0" (subscript_expression "piVar17[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(piVar17 + 4) = 0;" (assignment_expression "*(undefined1 *)(piVar17 + 4) = 0" (pointer_expression "*(undefined1 *)(piVar17 + 4)" * (cast_expression "(undefined1 *)(piVar17 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar17 + 4)" ( (binary_expression "piVar17 + 4" identifier + number_literal) )))) = number_literal) ;) })) (if_statement "if ((char)piVar17[8] != '\0') {\n            (*pcVar9)(piVar17[7]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[7] = 0;\n            *(undefined1 *)(piVar17 + 8) = 0;\n          }" if (parenthesized_expression "((char)piVar17[8] != '\0')" ( (binary_expression "(char)piVar17[8] != '\0'" (cast_expression "(char)piVar17[8]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "piVar17[8]" identifier [ number_literal ])) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            (*pcVar9)(piVar17[7]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[7] = 0;\n            *(undefined1 *)(piVar17 + 8) = 0;\n          }" { (expression_statement "(*pcVar9)(piVar17[7]);" (call_expression "(*pcVar9)(piVar17[7])" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "(piVar17[7])" ( (subscript_expression "piVar17[7]" identifier [ number_literal ]) ))) ;) (expression_statement "pcVar9 = *(code **)pbVar1;" (assignment_expression "pcVar9 = *(code **)pbVar1" identifier = (pointer_expression "*(code **)pbVar1" * (cast_expression "(code **)pbVar1" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "piVar17[7] = 0;" (assignment_expression "piVar17[7] = 0" (subscript_expression "piVar17[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(piVar17 + 8) = 0;" (assignment_expression "*(undefined1 *)(piVar17 + 8) = 0" (pointer_expression "*(undefined1 *)(piVar17 + 8)" * (cast_expression "(undefined1 *)(piVar17 + 8)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar17 + 8)" ( (binary_expression "piVar17 + 8" identifier + number_literal) )))) = number_literal) ;) })) (if_statement "if ((char)piVar17[0xd] == '\0') {\n            piVar17 = (int *)piVar17[0x10];\n          }\n          else {\n            (*pcVar9)(piVar17[0xc]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[0xc] = 0;\n            *(undefined1 *)(piVar17 + 0xd) = 0;\n            piVar17 = (int *)piVar17[0x10];\n          }" if (parenthesized_expression "((char)piVar17[0xd] == '\0')" ( (binary_expression "(char)piVar17[0xd] == '\0'" (cast_expression "(char)piVar17[0xd]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "piVar17[0xd]" identifier [ number_literal ])) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            piVar17 = (int *)piVar17[0x10];\n          }" { (expression_statement "piVar17 = (int *)piVar17[0x10];" (assignment_expression "piVar17 = (int *)piVar17[0x10]" identifier = (cast_expression "(int *)piVar17[0x10]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar17[0x10]" identifier [ number_literal ]))) ;) }) (else_clause "else {\n            (*pcVar9)(piVar17[0xc]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[0xc] = 0;\n            *(undefined1 *)(piVar17 + 0xd) = 0;\n            piVar17 = (int *)piVar17[0x10];\n          }" else (compound_statement "{\n            (*pcVar9)(piVar17[0xc]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[0xc] = 0;\n            *(undefined1 *)(piVar17 + 0xd) = 0;\n            piVar17 = (int *)piVar17[0x10];\n          }" { (expression_statement "(*pcVar9)(piVar17[0xc]);" (call_expression "(*pcVar9)(piVar17[0xc])" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "(piVar17[0xc])" ( (subscript_expression "piVar17[0xc]" identifier [ number_literal ]) ))) ;) (expression_statement "pcVar9 = *(code **)pbVar1;" (assignment_expression "pcVar9 = *(code **)pbVar1" identifier = (pointer_expression "*(code **)pbVar1" * (cast_expression "(code **)pbVar1" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "piVar17[0xc] = 0;" (assignment_expression "piVar17[0xc] = 0" (subscript_expression "piVar17[0xc]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(piVar17 + 0xd) = 0;" (assignment_expression "*(undefined1 *)(piVar17 + 0xd) = 0" (pointer_expression "*(undefined1 *)(piVar17 + 0xd)" * (cast_expression "(undefined1 *)(piVar17 + 0xd)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar17 + 0xd)" ( (binary_expression "piVar17 + 0xd" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar17 = (int *)piVar17[0x10];" (assignment_expression "piVar17 = (int *)piVar17[0x10]" identifier = (cast_expression "(int *)piVar17[0x10]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar17[0x10]" identifier [ number_literal ]))) ;) }))) }) while (parenthesized_expression "(piVar17 != (int *)0x0)" ( (binary_expression "piVar17 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (goto_statement "goto LAB_0001d97c;" goto statement_identifier ;) })) (if_statement "if (((uVar15 & 0x11) != 0) && (piVar17[7] == 0)) {\n        if ((uVar15 & 0x10) == 0) {\n          iVar14 = piVar17[3];\n        }\n        else {\n          iVar14 = piVar17[0xc];\n        }\n        iVar14 = FUN_0006e8e0(iVar14);\n        if ((iVar14 == 0) && (iVar14 = unaff_EBP + 0x65cc6, local_28 != 0)) {\n          iVar14 = local_28;\n        }\n        iVar14 = (**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f1))(iVar14);\n        piVar17[7] = iVar14;\n        if (iVar14 != 0) {\n          *(undefined1 *)(piVar17 + 8) = 1;\n          __s = (char *)*piVar17;\n          goto LAB_0001ddc4;\n        }\nLAB_0001e016:\n        uVar8 = 1;\n        goto LAB_0001df65;\n      }" if (parenthesized_expression "(((uVar15 & 0x11) != 0) && (piVar17[7] == 0))" ( (binary_expression "((uVar15 & 0x11) != 0) && (piVar17[7] == 0)" (parenthesized_expression "((uVar15 & 0x11) != 0)" ( (binary_expression "(uVar15 & 0x11) != 0" (parenthesized_expression "(uVar15 & 0x11)" ( (binary_expression "uVar15 & 0x11" identifier & number_literal) )) != number_literal) )) && (parenthesized_expression "(piVar17[7] == 0)" ( (binary_expression "piVar17[7] == 0" (subscript_expression "piVar17[7]" identifier [ number_literal ]) == number_literal) ))) )) (compound_statement "{\n        if ((uVar15 & 0x10) == 0) {\n          iVar14 = piVar17[3];\n        }\n        else {\n          iVar14 = piVar17[0xc];\n        }\n        iVar14 = FUN_0006e8e0(iVar14);\n        if ((iVar14 == 0) && (iVar14 = unaff_EBP + 0x65cc6, local_28 != 0)) {\n          iVar14 = local_28;\n        }\n        iVar14 = (**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f1))(iVar14);\n        piVar17[7] = iVar14;\n        if (iVar14 != 0) {\n          *(undefined1 *)(piVar17 + 8) = 1;\n          __s = (char *)*piVar17;\n          goto LAB_0001ddc4;\n        }\nLAB_0001e016:\n        uVar8 = 1;\n        goto LAB_0001df65;\n      }" { (if_statement "if ((uVar15 & 0x10) == 0) {\n          iVar14 = piVar17[3];\n        }\n        else {\n          iVar14 = piVar17[0xc];\n        }" if (parenthesized_expression "((uVar15 & 0x10) == 0)" ( (binary_expression "(uVar15 & 0x10) == 0" (parenthesized_expression "(uVar15 & 0x10)" ( (binary_expression "uVar15 & 0x10" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n          iVar14 = piVar17[3];\n        }" { (expression_statement "iVar14 = piVar17[3];" (assignment_expression "iVar14 = piVar17[3]" identifier = (subscript_expression "piVar17[3]" identifier [ number_literal ])) ;) }) (else_clause "else {\n          iVar14 = piVar17[0xc];\n        }" else (compound_statement "{\n          iVar14 = piVar17[0xc];\n        }" { (expression_statement "iVar14 = piVar17[0xc];" (assignment_expression "iVar14 = piVar17[0xc]" identifier = (subscript_expression "piVar17[0xc]" identifier [ number_literal ])) ;) }))) (expression_statement "iVar14 = FUN_0006e8e0(iVar14);" (assignment_expression "iVar14 = FUN_0006e8e0(iVar14)" identifier = (call_expression "FUN_0006e8e0(iVar14)" identifier (argument_list "(iVar14)" ( identifier )))) ;) (if_statement "if ((iVar14 == 0) && (iVar14 = unaff_EBP + 0x65cc6, local_28 != 0)) {\n          iVar14 = local_28;\n        }" if (parenthesized_expression "((iVar14 == 0) && (iVar14 = unaff_EBP + 0x65cc6, local_28 != 0))" ( (binary_expression "(iVar14 == 0) && (iVar14 = unaff_EBP + 0x65cc6, local_28 != 0)" (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) && (parenthesized_expression "(iVar14 = unaff_EBP + 0x65cc6, local_28 != 0)" ( (comma_expression "iVar14 = unaff_EBP + 0x65cc6, local_28 != 0" (assignment_expression "iVar14 = unaff_EBP + 0x65cc6" identifier = (binary_expression "unaff_EBP + 0x65cc6" identifier + number_literal)) , (binary_expression "local_28 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n          iVar14 = local_28;\n        }" { (expression_statement "iVar14 = local_28;" (assignment_expression "iVar14 = local_28" identifier = identifier) ;) })) (expression_statement "iVar14 = (**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f1))(iVar14);" (assignment_expression "iVar14 = (**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f1))(iVar14)" identifier = (call_expression "(**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f1))(iVar14)" (parenthesized_expression "(**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f1))" ( (pointer_expression "**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f1)" * (pointer_expression "*(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f1)" * (cast_expression "(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f1)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f1)" ( (binary_expression "BYTE_ARRAY_0009905d + unaff_EBP + 0x7f1" (binary_expression "BYTE_ARRAY_0009905d + unaff_EBP" identifier + identifier) + number_literal) ))))) )) (argument_list "(iVar14)" ( identifier )))) ;) (expression_statement "piVar17[7] = iVar14;" (assignment_expression "piVar17[7] = iVar14" (subscript_expression "piVar17[7]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar14 != 0) {\n          *(undefined1 *)(piVar17 + 8) = 1;\n          __s = (char *)*piVar17;\n          goto LAB_0001ddc4;\n        }" if (parenthesized_expression "(iVar14 != 0)" ( (binary_expression "iVar14 != 0" identifier != number_literal) )) (compound_statement "{\n          *(undefined1 *)(piVar17 + 8) = 1;\n          __s = (char *)*piVar17;\n          goto LAB_0001ddc4;\n        }" { (expression_statement "*(undefined1 *)(piVar17 + 8) = 1;" (assignment_expression "*(undefined1 *)(piVar17 + 8) = 1" (pointer_expression "*(undefined1 *)(piVar17 + 8)" * (cast_expression "(undefined1 *)(piVar17 + 8)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar17 + 8)" ( (binary_expression "piVar17 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "__s = (char *)*piVar17;" (assignment_expression "__s = (char *)*piVar17" identifier = (cast_expression "(char *)*piVar17" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar17" * identifier))) ;) (goto_statement "goto LAB_0001ddc4;" goto statement_identifier ;) })) (labeled_statement "LAB_0001e016:\n        uVar8 = 1;" statement_identifier : (expression_statement "uVar8 = 1;" (assignment_expression "uVar8 = 1" identifier = number_literal) ;)) (goto_statement "goto LAB_0001df65;" goto statement_identifier ;) })) (labeled_statement "LAB_0001ddc4:\n      if (__s == (char *)0x0) {\n        uVar15 = piVar17[9];\n        if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e016;\n      }\n      else {\n        iVar14 = piVar17[2];\n        if (iVar14 == 0) {\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) {\n            sVar10 = strlen(__s);\n            iVar14 = sVar10 + 1;\nLAB_0001e0cf:\n            __s = (char *)FUN_00050160(__s,iVar14);\n            *piVar17 = (int)__s;\n            if (__s == (char *)0x0) goto LAB_0001e016;\n            *(undefined1 *)(piVar17 + 1) = 1;\n            uVar15 = piVar17[9];\n          }\n        }\n        else {\n          if (*__s == '\0') {\nLAB_0001e140:\n            uVar8 = 3;\n            goto LAB_0001df65;\n          }\n          pcVar16 = __s;\n          while (pcVar16 = pcVar16 + 1, __s + iVar14 != pcVar16) {\n            if (*pcVar16 == '\0') goto LAB_0001e140;\n          }\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e0cf;\n        }\n      }" statement_identifier : (if_statement "if (__s == (char *)0x0) {\n        uVar15 = piVar17[9];\n        if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e016;\n      }\n      else {\n        iVar14 = piVar17[2];\n        if (iVar14 == 0) {\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) {\n            sVar10 = strlen(__s);\n            iVar14 = sVar10 + 1;\nLAB_0001e0cf:\n            __s = (char *)FUN_00050160(__s,iVar14);\n            *piVar17 = (int)__s;\n            if (__s == (char *)0x0) goto LAB_0001e016;\n            *(undefined1 *)(piVar17 + 1) = 1;\n            uVar15 = piVar17[9];\n          }\n        }\n        else {\n          if (*__s == '\0') {\nLAB_0001e140:\n            uVar8 = 3;\n            goto LAB_0001df65;\n          }\n          pcVar16 = __s;\n          while (pcVar16 = pcVar16 + 1, __s + iVar14 != pcVar16) {\n            if (*pcVar16 == '\0') goto LAB_0001e140;\n          }\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e0cf;\n        }\n      }" if (parenthesized_expression "(__s == (char *)0x0)" ( (binary_expression "__s == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        uVar15 = piVar17[9];\n        if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e016;\n      }" { (expression_statement "uVar15 = piVar17[9];" (assignment_expression "uVar15 = piVar17[9]" identifier = (subscript_expression "piVar17[9]" identifier [ number_literal ])) ;) (if_statement "if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e016;" if (parenthesized_expression "(((uVar15 & 4) == 0) && (piVar7 == piVar17))" ( (binary_expression "((uVar15 & 4) == 0) && (piVar7 == piVar17)" (parenthesized_expression "((uVar15 & 4) == 0)" ( (binary_expression "(uVar15 & 4) == 0" (parenthesized_expression "(uVar15 & 4)" ( (binary_expression "uVar15 & 4" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "(piVar7 == piVar17)" ( (binary_expression "piVar7 == piVar17" identifier == identifier) ))) )) (goto_statement "goto LAB_0001e016;" goto statement_identifier ;)) }) (else_clause "else {\n        iVar14 = piVar17[2];\n        if (iVar14 == 0) {\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) {\n            sVar10 = strlen(__s);\n            iVar14 = sVar10 + 1;\nLAB_0001e0cf:\n            __s = (char *)FUN_00050160(__s,iVar14);\n            *piVar17 = (int)__s;\n            if (__s == (char *)0x0) goto LAB_0001e016;\n            *(undefined1 *)(piVar17 + 1) = 1;\n            uVar15 = piVar17[9];\n          }\n        }\n        else {\n          if (*__s == '\0') {\nLAB_0001e140:\n            uVar8 = 3;\n            goto LAB_0001df65;\n          }\n          pcVar16 = __s;\n          while (pcVar16 = pcVar16 + 1, __s + iVar14 != pcVar16) {\n            if (*pcVar16 == '\0') goto LAB_0001e140;\n          }\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e0cf;\n        }\n      }" else (compound_statement "{\n        iVar14 = piVar17[2];\n        if (iVar14 == 0) {\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) {\n            sVar10 = strlen(__s);\n            iVar14 = sVar10 + 1;\nLAB_0001e0cf:\n            __s = (char *)FUN_00050160(__s,iVar14);\n            *piVar17 = (int)__s;\n            if (__s == (char *)0x0) goto LAB_0001e016;\n            *(undefined1 *)(piVar17 + 1) = 1;\n            uVar15 = piVar17[9];\n          }\n        }\n        else {\n          if (*__s == '\0') {\nLAB_0001e140:\n            uVar8 = 3;\n            goto LAB_0001df65;\n          }\n          pcVar16 = __s;\n          while (pcVar16 = pcVar16 + 1, __s + iVar14 != pcVar16) {\n            if (*pcVar16 == '\0') goto LAB_0001e140;\n          }\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e0cf;\n        }\n      }" { (expression_statement "iVar14 = piVar17[2];" (assignment_expression "iVar14 = piVar17[2]" identifier = (subscript_expression "piVar17[2]" identifier [ number_literal ])) ;) (if_statement "if (iVar14 == 0) {\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) {\n            sVar10 = strlen(__s);\n            iVar14 = sVar10 + 1;\nLAB_0001e0cf:\n            __s = (char *)FUN_00050160(__s,iVar14);\n            *piVar17 = (int)__s;\n            if (__s == (char *)0x0) goto LAB_0001e016;\n            *(undefined1 *)(piVar17 + 1) = 1;\n            uVar15 = piVar17[9];\n          }\n        }\n        else {\n          if (*__s == '\0') {\nLAB_0001e140:\n            uVar8 = 3;\n            goto LAB_0001df65;\n          }\n          pcVar16 = __s;\n          while (pcVar16 = pcVar16 + 1, __s + iVar14 != pcVar16) {\n            if (*pcVar16 == '\0') goto LAB_0001e140;\n          }\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e0cf;\n        }" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (compound_statement "{\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) {\n            sVar10 = strlen(__s);\n            iVar14 = sVar10 + 1;\nLAB_0001e0cf:\n            __s = (char *)FUN_00050160(__s,iVar14);\n            *piVar17 = (int)__s;\n            if (__s == (char *)0x0) goto LAB_0001e016;\n            *(undefined1 *)(piVar17 + 1) = 1;\n            uVar15 = piVar17[9];\n          }\n        }" { (expression_statement "uVar15 = piVar17[9];" (assignment_expression "uVar15 = piVar17[9]" identifier = (subscript_expression "piVar17[9]" identifier [ number_literal ])) ;) (if_statement "if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) {\n            sVar10 = strlen(__s);\n            iVar14 = sVar10 + 1;\nLAB_0001e0cf:\n            __s = (char *)FUN_00050160(__s,iVar14);\n            *piVar17 = (int)__s;\n            if (__s == (char *)0x0) goto LAB_0001e016;\n            *(undefined1 *)(piVar17 + 1) = 1;\n            uVar15 = piVar17[9];\n          }" if (parenthesized_expression "(((uVar15 & 4) == 0) && (piVar7 == piVar17))" ( (binary_expression "((uVar15 & 4) == 0) && (piVar7 == piVar17)" (parenthesized_expression "((uVar15 & 4) == 0)" ( (binary_expression "(uVar15 & 4) == 0" (parenthesized_expression "(uVar15 & 4)" ( (binary_expression "uVar15 & 4" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "(piVar7 == piVar17)" ( (binary_expression "piVar7 == piVar17" identifier == identifier) ))) )) (compound_statement "{\n            sVar10 = strlen(__s);\n            iVar14 = sVar10 + 1;\nLAB_0001e0cf:\n            __s = (char *)FUN_00050160(__s,iVar14);\n            *piVar17 = (int)__s;\n            if (__s == (char *)0x0) goto LAB_0001e016;\n            *(undefined1 *)(piVar17 + 1) = 1;\n            uVar15 = piVar17[9];\n          }" { (expression_statement "sVar10 = strlen(__s);" (assignment_expression "sVar10 = strlen(__s)" identifier = (call_expression "strlen(__s)" identifier (argument_list "(__s)" ( identifier )))) ;) (expression_statement "iVar14 = sVar10 + 1;" (assignment_expression "iVar14 = sVar10 + 1" identifier = (binary_expression "sVar10 + 1" identifier + number_literal)) ;) (labeled_statement "LAB_0001e0cf:\n            __s = (char *)FUN_00050160(__s,iVar14);" statement_identifier : (expression_statement "__s = (char *)FUN_00050160(__s,iVar14);" (assignment_expression "__s = (char *)FUN_00050160(__s,iVar14)" identifier = (cast_expression "(char *)FUN_00050160(__s,iVar14)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00050160(__s,iVar14)" identifier (argument_list "(__s,iVar14)" ( identifier , identifier ))))) ;)) (expression_statement "*piVar17 = (int)__s;" (assignment_expression "*piVar17 = (int)__s" (pointer_expression "*piVar17" * identifier) = (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (__s == (char *)0x0) goto LAB_0001e016;" if (parenthesized_expression "(__s == (char *)0x0)" ( (binary_expression "__s == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0001e016;" goto statement_identifier ;)) (expression_statement "*(undefined1 *)(piVar17 + 1) = 1;" (assignment_expression "*(undefined1 *)(piVar17 + 1) = 1" (pointer_expression "*(undefined1 *)(piVar17 + 1)" * (cast_expression "(undefined1 *)(piVar17 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar17 + 1)" ( (binary_expression "piVar17 + 1" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar15 = piVar17[9];" (assignment_expression "uVar15 = piVar17[9]" identifier = (subscript_expression "piVar17[9]" identifier [ number_literal ])) ;) })) }) (else_clause "else {\n          if (*__s == '\0') {\nLAB_0001e140:\n            uVar8 = 3;\n            goto LAB_0001df65;\n          }\n          pcVar16 = __s;\n          while (pcVar16 = pcVar16 + 1, __s + iVar14 != pcVar16) {\n            if (*pcVar16 == '\0') goto LAB_0001e140;\n          }\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e0cf;\n        }" else (compound_statement "{\n          if (*__s == '\0') {\nLAB_0001e140:\n            uVar8 = 3;\n            goto LAB_0001df65;\n          }\n          pcVar16 = __s;\n          while (pcVar16 = pcVar16 + 1, __s + iVar14 != pcVar16) {\n            if (*pcVar16 == '\0') goto LAB_0001e140;\n          }\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e0cf;\n        }" { (if_statement "if (*__s == '\0') {\nLAB_0001e140:\n            uVar8 = 3;\n            goto LAB_0001df65;\n          }" if (parenthesized_expression "(*__s == '\0')" ( (binary_expression "*__s == '\0'" (pointer_expression "*__s" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0001e140:\n            uVar8 = 3;\n            goto LAB_0001df65;\n          }" { (labeled_statement "LAB_0001e140:\n            uVar8 = 3;" statement_identifier : (expression_statement "uVar8 = 3;" (assignment_expression "uVar8 = 3" identifier = number_literal) ;)) (goto_statement "goto LAB_0001df65;" goto statement_identifier ;) })) (expression_statement "pcVar16 = __s;" (assignment_expression "pcVar16 = __s" identifier = identifier) ;) (while_statement "while (pcVar16 = pcVar16 + 1, __s + iVar14 != pcVar16) {\n            if (*pcVar16 == '\0') goto LAB_0001e140;\n          }" while (parenthesized_expression "(pcVar16 = pcVar16 + 1, __s + iVar14 != pcVar16)" ( (comma_expression "pcVar16 = pcVar16 + 1, __s + iVar14 != pcVar16" (assignment_expression "pcVar16 = pcVar16 + 1" identifier = (binary_expression "pcVar16 + 1" identifier + number_literal)) , (binary_expression "__s + iVar14 != pcVar16" (binary_expression "__s + iVar14" identifier + identifier) != identifier)) )) (compound_statement "{\n            if (*pcVar16 == '\0') goto LAB_0001e140;\n          }" { (if_statement "if (*pcVar16 == '\0') goto LAB_0001e140;" if (parenthesized_expression "(*pcVar16 == '\0')" ( (binary_expression "*pcVar16 == '\0'" (pointer_expression "*pcVar16" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0001e140;" goto statement_identifier ;)) })) (expression_statement "uVar15 = piVar17[9];" (assignment_expression "uVar15 = piVar17[9]" identifier = (subscript_expression "piVar17[9]" identifier [ number_literal ])) ;) (if_statement "if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e0cf;" if (parenthesized_expression "(((uVar15 & 4) == 0) && (piVar7 == piVar17))" ( (binary_expression "((uVar15 & 4) == 0) && (piVar7 == piVar17)" (parenthesized_expression "((uVar15 & 4) == 0)" ( (binary_expression "(uVar15 & 4) == 0" (parenthesized_expression "(uVar15 & 4)" ( (binary_expression "uVar15 & 4" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "(piVar7 == piVar17)" ( (binary_expression "piVar7 == piVar17" identifier == identifier) ))) )) (goto_statement "goto LAB_0001e0cf;" goto statement_identifier ;)) }))) })))) (expression_statement "local_60 = (char *)piVar17[3];" (assignment_expression "local_60 = (char *)piVar17[3]" identifier = (cast_expression "(char *)piVar17[3]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar17[3]" identifier [ number_literal ]))) ;) (expression_statement "local_54 = piVar17[5];" (assignment_expression "local_54 = piVar17[5]" identifier = (subscript_expression "piVar17[5]" identifier [ number_literal ])) ;) (expression_statement "local_50 = piVar17[6];" (assignment_expression "local_50 = piVar17[6]" identifier = (subscript_expression "piVar17[6]" identifier [ number_literal ])) ;) (if_statement "if (((uVar15 & 0x6b) == 0) && (local_60 != (char *)0x0)) {\n        if (local_54 == 0) {\n          sVar10 = strlen(local_60);\n          local_54 = sVar10 + 1;\n        }\n        local_60 = (char *)FUN_00050160(local_60,local_54);\n        piVar17[3] = (int)local_60;\n        if (local_60 == (char *)0x0) goto LAB_0001e016;\n        local_54 = piVar17[5];\n        uVar15 = piVar17[9];\n        *(undefined1 *)(piVar17 + 4) = 1;\n        __s = (char *)*piVar17;\n        local_50 = piVar17[6];\n      }" if (parenthesized_expression "(((uVar15 & 0x6b) == 0) && (local_60 != (char *)0x0))" ( (binary_expression "((uVar15 & 0x6b) == 0) && (local_60 != (char *)0x0)" (parenthesized_expression "((uVar15 & 0x6b) == 0)" ( (binary_expression "(uVar15 & 0x6b) == 0" (parenthesized_expression "(uVar15 & 0x6b)" ( (binary_expression "uVar15 & 0x6b" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "(local_60 != (char *)0x0)" ( (binary_expression "local_60 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n        if (local_54 == 0) {\n          sVar10 = strlen(local_60);\n          local_54 = sVar10 + 1;\n        }\n        local_60 = (char *)FUN_00050160(local_60,local_54);\n        piVar17[3] = (int)local_60;\n        if (local_60 == (char *)0x0) goto LAB_0001e016;\n        local_54 = piVar17[5];\n        uVar15 = piVar17[9];\n        *(undefined1 *)(piVar17 + 4) = 1;\n        __s = (char *)*piVar17;\n        local_50 = piVar17[6];\n      }" { (if_statement "if (local_54 == 0) {\n          sVar10 = strlen(local_60);\n          local_54 = sVar10 + 1;\n        }" if (parenthesized_expression "(local_54 == 0)" ( (binary_expression "local_54 == 0" identifier == number_literal) )) (compound_statement "{\n          sVar10 = strlen(local_60);\n          local_54 = sVar10 + 1;\n        }" { (expression_statement "sVar10 = strlen(local_60);" (assignment_expression "sVar10 = strlen(local_60)" identifier = (call_expression "strlen(local_60)" identifier (argument_list "(local_60)" ( identifier )))) ;) (expression_statement "local_54 = sVar10 + 1;" (assignment_expression "local_54 = sVar10 + 1" identifier = (binary_expression "sVar10 + 1" identifier + number_literal)) ;) })) (expression_statement "local_60 = (char *)FUN_00050160(local_60,local_54);" (assignment_expression "local_60 = (char *)FUN_00050160(local_60,local_54)" identifier = (cast_expression "(char *)FUN_00050160(local_60,local_54)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00050160(local_60,local_54)" identifier (argument_list "(local_60,local_54)" ( identifier , identifier ))))) ;) (expression_statement "piVar17[3] = (int)local_60;" (assignment_expression "piVar17[3] = (int)local_60" (subscript_expression "piVar17[3]" identifier [ number_literal ]) = (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (local_60 == (char *)0x0) goto LAB_0001e016;" if (parenthesized_expression "(local_60 == (char *)0x0)" ( (binary_expression "local_60 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0001e016;" goto statement_identifier ;)) (expression_statement "local_54 = piVar17[5];" (assignment_expression "local_54 = piVar17[5]" identifier = (subscript_expression "piVar17[5]" identifier [ number_literal ])) ;) (expression_statement "uVar15 = piVar17[9];" (assignment_expression "uVar15 = piVar17[9]" identifier = (subscript_expression "piVar17[9]" identifier [ number_literal ])) ;) (expression_statement "*(undefined1 *)(piVar17 + 4) = 1;" (assignment_expression "*(undefined1 *)(piVar17 + 4) = 1" (pointer_expression "*(undefined1 *)(piVar17 + 4)" * (cast_expression "(undefined1 *)(piVar17 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar17 + 4)" ( (binary_expression "piVar17 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "__s = (char *)*piVar17;" (assignment_expression "__s = (char *)*piVar17" identifier = (cast_expression "(char *)*piVar17" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar17" * identifier))) ;) (expression_statement "local_50 = piVar17[6];" (assignment_expression "local_50 = piVar17[6]" identifier = (subscript_expression "piVar17[6]" identifier [ number_literal ])) ;) })) (expression_statement "iVar14 = piVar17[0xe];" (assignment_expression "iVar14 = piVar17[0xe]" identifier = (subscript_expression "piVar17[0xe]" identifier [ number_literal ])) ;) (expression_statement "sVar10 = piVar17[2];" (assignment_expression "sVar10 = piVar17[2]" identifier = (subscript_expression "piVar17[2]" identifier [ number_literal ])) ;) (expression_statement "iVar2 = piVar17[0xc];" (assignment_expression "iVar2 = piVar17[0xc]" identifier = (subscript_expression "piVar17[0xc]" identifier [ number_literal ])) ;) (expression_statement "iVar3 = piVar17[0xf];" (assignment_expression "iVar3 = piVar17[0xf]" identifier = (subscript_expression "piVar17[0xf]" identifier [ number_literal ])) ;) (expression_statement "iVar4 = piVar17[7];" (assignment_expression "iVar4 = piVar17[7]" identifier = (subscript_expression "piVar17[7]" identifier [ number_literal ])) ;) (expression_statement "iVar5 = piVar17[0xb];" (assignment_expression "iVar5 = piVar17[0xb]" identifier = (subscript_expression "piVar17[0xb]" identifier [ number_literal ])) ;) (expression_statement "iVar6 = piVar17[10];" (assignment_expression "iVar6 = piVar17[10]" identifier = (subscript_expression "piVar17[10]" identifier [ number_literal ])) ;) (expression_statement "iVar11 = (**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed))(1,0x3c);" (assignment_expression "iVar11 = (**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed))(1,0x3c)" identifier = (call_expression "(**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed))(1,0x3c)" (parenthesized_expression "(**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed))" ( (pointer_expression "**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed)" * (pointer_expression "*(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed)" * (cast_expression "(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed)" ( (binary_expression "BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed" (binary_expression "BYTE_ARRAY_0009905d + unaff_EBP" identifier + identifier) + number_literal) ))))) )) (argument_list "(1,0x3c)" ( number_literal , number_literal )))) ;) (if_statement "if (iVar11 == 0) goto LAB_0001e016;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001e016;" goto statement_identifier ;)) (expression_statement "*(char **)(iVar11 + 4) = __s;" (assignment_expression "*(char **)(iVar11 + 4) = __s" (pointer_expression "*(char **)(iVar11 + 4)" * (cast_expression "(char **)(iVar11 + 4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar11 + 4)" ( (binary_expression "iVar11 + 4" identifier + number_literal) )))) = identifier) ;) (expression_statement "sVar12 = 0;" (assignment_expression "sVar12 = 0" identifier = number_literal) ;) (if_statement "if ((__s != (char *)0x0) && (sVar12 = sVar10, sVar10 == 0)) {\n        sVar12 = strlen(__s);\n      }" if (parenthesized_expression "((__s != (char *)0x0) && (sVar12 = sVar10, sVar10 == 0))" ( (binary_expression "(__s != (char *)0x0) && (sVar12 = sVar10, sVar10 == 0)" (parenthesized_expression "(__s != (char *)0x0)" ( (binary_expression "__s != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(sVar12 = sVar10, sVar10 == 0)" ( (comma_expression "sVar12 = sVar10, sVar10 == 0" (assignment_expression "sVar12 = sVar10" identifier = identifier) , (binary_expression "sVar10 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n        sVar12 = strlen(__s);\n      }" { (expression_statement "sVar12 = strlen(__s);" (assignment_expression "sVar12 = strlen(__s)" identifier = (call_expression "strlen(__s)" identifier (argument_list "(__s)" ( identifier )))) ;) })) (expression_statement "*(size_t *)(iVar11 + 8) = sVar12;" (assignment_expression "*(size_t *)(iVar11 + 8) = sVar12" (pointer_expression "*(size_t *)(iVar11 + 8)" * (cast_expression "(size_t *)(iVar11 + 8)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 8)" ( (binary_expression "iVar11 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char **)(iVar11 + 0xc) = local_60;" (assignment_expression "*(char **)(iVar11 + 0xc) = local_60" (pointer_expression "*(char **)(iVar11 + 0xc)" * (cast_expression "(char **)(iVar11 + 0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar11 + 0xc)" ( (binary_expression "iVar11 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar11 + 0x34) = local_54;" (assignment_expression "*(int *)(iVar11 + 0x34) = local_54" (pointer_expression "*(int *)(iVar11 + 0x34)" * (cast_expression "(int *)(iVar11 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x34)" ( (binary_expression "iVar11 + 0x34" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar11 + 0x38) = local_50;" (assignment_expression "*(int *)(iVar11 + 0x38) = local_50" (pointer_expression "*(int *)(iVar11 + 0x38)" * (cast_expression "(int *)(iVar11 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x38)" ( (binary_expression "iVar11 + 0x38" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar11 + 0x14) = iVar6;" (assignment_expression "*(int *)(iVar11 + 0x14) = iVar6" (pointer_expression "*(int *)(iVar11 + 0x14)" * (cast_expression "(int *)(iVar11 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x14)" ( (binary_expression "iVar11 + 0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar11 + 0x18) = iVar5;" (assignment_expression "*(int *)(iVar11 + 0x18) = iVar5" (pointer_expression "*(int *)(iVar11 + 0x18)" * (cast_expression "(int *)(iVar11 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x18)" ( (binary_expression "iVar11 + 0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar11 + 0x1c) = iVar4;" (assignment_expression "*(int *)(iVar11 + 0x1c) = iVar4" (pointer_expression "*(int *)(iVar11 + 0x1c)" * (cast_expression "(int *)(iVar11 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x1c)" ( (binary_expression "iVar11 + 0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar11 + 0x20) = iVar3;" (assignment_expression "*(int *)(iVar11 + 0x20) = iVar3" (pointer_expression "*(int *)(iVar11 + 0x20)" * (cast_expression "(int *)(iVar11 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x20)" ( (binary_expression "iVar11 + 0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar11 + 0x2c) = iVar2;" (assignment_expression "*(int *)(iVar11 + 0x2c) = iVar2" (pointer_expression "*(int *)(iVar11 + 0x2c)" * (cast_expression "(int *)(iVar11 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x2c)" ( (binary_expression "iVar11 + 0x2c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar11 + 0x30) = iVar14;" (assignment_expression "*(int *)(iVar11 + 0x30) = iVar14" (pointer_expression "*(int *)(iVar11 + 0x30)" * (cast_expression "(int *)(iVar11 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x30)" ( (binary_expression "iVar11 + 0x30" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(iVar11 + 0x28) = uVar15 | 0x80;" (assignment_expression "*(uint *)(iVar11 + 0x28) = uVar15 | 0x80" (pointer_expression "*(uint *)(iVar11 + 0x28)" * (cast_expression "(uint *)(iVar11 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x28)" ( (binary_expression "iVar11 + 0x28" identifier + number_literal) )))) = (binary_expression "uVar15 | 0x80" identifier | number_literal)) ;) (if_statement "if (local_5c == 0) {\n        piVar13 = (int *)*param_2;\n        if ((int *)*param_2 == (int *)0x0) {\n          piVar13 = param_1;\n        }\n        *piVar13 = iVar11;\n        *param_2 = iVar11;\n      }\n      else {\n        *(undefined4 *)(iVar11 + 0x24) = *(undefined4 *)(local_5c + 0x24);\n        *(int *)(local_5c + 0x24) = iVar11;\n      }" if (parenthesized_expression "(local_5c == 0)" ( (binary_expression "local_5c == 0" identifier == number_literal) )) (compound_statement "{\n        piVar13 = (int *)*param_2;\n        if ((int *)*param_2 == (int *)0x0) {\n          piVar13 = param_1;\n        }\n        *piVar13 = iVar11;\n        *param_2 = iVar11;\n      }" { (expression_statement "piVar13 = (int *)*param_2;" (assignment_expression "piVar13 = (int *)*param_2" identifier = (cast_expression "(int *)*param_2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_2" * identifier))) ;) (if_statement "if ((int *)*param_2 == (int *)0x0) {\n          piVar13 = param_1;\n        }" if (parenthesized_expression "((int *)*param_2 == (int *)0x0)" ( (binary_expression "(int *)*param_2 == (int *)0x0" (cast_expression "(int *)*param_2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_2" * identifier)) == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          piVar13 = param_1;\n        }" { (expression_statement "piVar13 = param_1;" (assignment_expression "piVar13 = param_1" identifier = identifier) ;) })) (expression_statement "*piVar13 = iVar11;" (assignment_expression "*piVar13 = iVar11" (pointer_expression "*piVar13" * identifier) = identifier) ;) (expression_statement "*param_2 = iVar11;" (assignment_expression "*param_2 = iVar11" (pointer_expression "*param_2" * identifier) = identifier) ;) }) (else_clause "else {\n        *(undefined4 *)(iVar11 + 0x24) = *(undefined4 *)(local_5c + 0x24);\n        *(int *)(local_5c + 0x24) = iVar11;\n      }" else (compound_statement "{\n        *(undefined4 *)(iVar11 + 0x24) = *(undefined4 *)(local_5c + 0x24);\n        *(int *)(local_5c + 0x24) = iVar11;\n      }" { (expression_statement "*(undefined4 *)(iVar11 + 0x24) = *(undefined4 *)(local_5c + 0x24);" (assignment_expression "*(undefined4 *)(iVar11 + 0x24) = *(undefined4 *)(local_5c + 0x24)" (pointer_expression "*(undefined4 *)(iVar11 + 0x24)" * (cast_expression "(undefined4 *)(iVar11 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x24)" ( (binary_expression "iVar11 + 0x24" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(local_5c + 0x24)" * (cast_expression "(undefined4 *)(local_5c + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_5c + 0x24)" ( (binary_expression "local_5c + 0x24" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(local_5c + 0x24) = iVar11;" (assignment_expression "*(int *)(local_5c + 0x24) = iVar11" (pointer_expression "*(int *)(local_5c + 0x24)" * (cast_expression "(int *)(local_5c + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_5c + 0x24)" ( (binary_expression "local_5c + 0x24" identifier + number_literal) )))) = identifier) ;) }))) (expression_statement "piVar13 = piVar17 + 7;" (assignment_expression "piVar13 = piVar17 + 7" identifier = (binary_expression "piVar17 + 7" identifier + number_literal)) ;) (expression_statement "piVar17 = (int *)piVar17[0x10];" (assignment_expression "piVar17 = (int *)piVar17[0x10]" identifier = (cast_expression "(int *)piVar17[0x10]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar17[0x10]" identifier [ number_literal ]))) ;) (expression_statement "local_5c = iVar11;" (assignment_expression "local_5c = iVar11" identifier = identifier) ;) (if_statement "if (*piVar13 == 0) {\n        if (piVar17 == (int *)0x0) break;\n        goto LAB_0001df4a;\n      }" if (parenthesized_expression "(*piVar13 == 0)" ( (binary_expression "*piVar13 == 0" (pointer_expression "*piVar13" * identifier) == number_literal) )) (compound_statement "{\n        if (piVar17 == (int *)0x0) break;\n        goto LAB_0001df4a;\n      }" { (if_statement "if (piVar17 == (int *)0x0) break;" if (parenthesized_expression "(piVar17 == (int *)0x0)" ( (binary_expression "piVar17 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (goto_statement "goto LAB_0001df4a;" goto statement_identifier ;) })) (expression_statement "local_28 = *piVar13;" (assignment_expression "local_28 = *piVar13" identifier = (pointer_expression "*piVar13" * identifier)) ;) }) while (parenthesized_expression "(piVar17 != (int *)0x0)" ( (binary_expression "piVar17 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;)) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) (expression_statement "pcVar9 = *(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9);" (assignment_expression "pcVar9 = *(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9)" identifier = (pointer_expression "*(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9)" * (cast_expression "(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9)" ( (binary_expression "BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9" (binary_expression "BYTE_ARRAY_0009905d + unaff_EBP" identifier + identifier) + number_literal) ))))) ;) }) (else_clause "else {\n    if (param_3 < 0x15) {\n                    \n                    \n      uVar8 = (*(code *)(*(int *)(unaff_EBP + 0x65cf6 + param_3 * 4) + unaff_EBP + 0x98fca))();\n      return uVar8;\n    }\n    pbVar1 = BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9;\n    pcVar9 = *(code **)pbVar1;\n    uVar8 = 4;\n    piVar17 = piVar7;\n    do {\n      while( true ) {\n        if ((char)piVar17[1] != '\0') {\n          (*pcVar9)(*piVar17);\n          pcVar9 = *(code **)pbVar1;\n          *piVar17 = 0;\n          *(undefined1 *)(piVar17 + 1) = 0;\n        }\n        if ((char)piVar17[4] != '\0') {\n          (*pcVar9)(piVar17[3]);\n          pcVar9 = *(code **)pbVar1;\n          piVar17[3] = 0;\n          *(undefined1 *)(piVar17 + 4) = 0;\n        }\n        if ((char)piVar17[8] != '\0') {\n          (*pcVar9)(piVar17[7]);\n          pcVar9 = *(code **)pbVar1;\n          piVar17[7] = 0;\n          *(undefined1 *)(piVar17 + 8) = 0;\n        }\n        if ((char)piVar17[0xd] == '\0') break;\n        (*pcVar9)(piVar17[0xc]);\n        pcVar9 = *(code **)pbVar1;\n        piVar17[0xc] = 0;\n        *(undefined1 *)(piVar17 + 0xd) = 0;\n        piVar17 = (int *)piVar17[0x10];\n        if (piVar17 == (int *)0x0) goto LAB_0001d97c;\n      }\n      piVar17 = (int *)piVar17[0x10];\n    } while (piVar17 != (int *)0x0);\n  }" else (compound_statement "{\n    if (param_3 < 0x15) {\n                    \n                    \n      uVar8 = (*(code *)(*(int *)(unaff_EBP + 0x65cf6 + param_3 * 4) + unaff_EBP + 0x98fca))();\n      return uVar8;\n    }\n    pbVar1 = BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9;\n    pcVar9 = *(code **)pbVar1;\n    uVar8 = 4;\n    piVar17 = piVar7;\n    do {\n      while( true ) {\n        if ((char)piVar17[1] != '\0') {\n          (*pcVar9)(*piVar17);\n          pcVar9 = *(code **)pbVar1;\n          *piVar17 = 0;\n          *(undefined1 *)(piVar17 + 1) = 0;\n        }\n        if ((char)piVar17[4] != '\0') {\n          (*pcVar9)(piVar17[3]);\n          pcVar9 = *(code **)pbVar1;\n          piVar17[3] = 0;\n          *(undefined1 *)(piVar17 + 4) = 0;\n        }\n        if ((char)piVar17[8] != '\0') {\n          (*pcVar9)(piVar17[7]);\n          pcVar9 = *(code **)pbVar1;\n          piVar17[7] = 0;\n          *(undefined1 *)(piVar17 + 8) = 0;\n        }\n        if ((char)piVar17[0xd] == '\0') break;\n        (*pcVar9)(piVar17[0xc]);\n        pcVar9 = *(code **)pbVar1;\n        piVar17[0xc] = 0;\n        *(undefined1 *)(piVar17 + 0xd) = 0;\n        piVar17 = (int *)piVar17[0x10];\n        if (piVar17 == (int *)0x0) goto LAB_0001d97c;\n      }\n      piVar17 = (int *)piVar17[0x10];\n    } while (piVar17 != (int *)0x0);\n  }" { (if_statement "if (param_3 < 0x15) {\n                    \n                    \n      uVar8 = (*(code *)(*(int *)(unaff_EBP + 0x65cf6 + param_3 * 4) + unaff_EBP + 0x98fca))();\n      return uVar8;\n    }" if (parenthesized_expression "(param_3 < 0x15)" ( (binary_expression "param_3 < 0x15" identifier < number_literal) )) (compound_statement "{\n                    \n                    \n      uVar8 = (*(code *)(*(int *)(unaff_EBP + 0x65cf6 + param_3 * 4) + unaff_EBP + 0x98fca))();\n      return uVar8;\n    }" { (expression_statement "uVar8 = (*(code *)(*(int *)(unaff_EBP + 0x65cf6 + param_3 * 4) + unaff_EBP + 0x98fca))();" (assignment_expression "uVar8 = (*(code *)(*(int *)(unaff_EBP + 0x65cf6 + param_3 * 4) + unaff_EBP + 0x98fca))()" identifier = (call_expression "(*(code *)(*(int *)(unaff_EBP + 0x65cf6 + param_3 * 4) + unaff_EBP + 0x98fca))()" (parenthesized_expression "(*(code *)(*(int *)(unaff_EBP + 0x65cf6 + param_3 * 4) + unaff_EBP + 0x98fca))" ( (pointer_expression "*(code *)(*(int *)(unaff_EBP + 0x65cf6 + param_3 * 4) + unaff_EBP + 0x98fca)" * (cast_expression "(code *)(*(int *)(unaff_EBP + 0x65cf6 + param_3 * 4) + unaff_EBP + 0x98fca)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(unaff_EBP + 0x65cf6 + param_3 * 4) + unaff_EBP + 0x98fca)" ( (binary_expression "*(int *)(unaff_EBP + 0x65cf6 + param_3 * 4) + unaff_EBP + 0x98fca" (binary_expression "*(int *)(unaff_EBP + 0x65cf6 + param_3 * 4) + unaff_EBP" (pointer_expression "*(int *)(unaff_EBP + 0x65cf6 + param_3 * 4)" * (cast_expression "(int *)(unaff_EBP + 0x65cf6 + param_3 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x65cf6 + param_3 * 4)" ( (binary_expression "unaff_EBP + 0x65cf6 + param_3 * 4" (binary_expression "unaff_EBP + 0x65cf6" identifier + number_literal) + (binary_expression "param_3 * 4" identifier * number_literal)) )))) + identifier) + number_literal) )))) )) (argument_list "()" ( )))) ;) (return_statement "return uVar8;" return identifier ;) })) (expression_statement "pbVar1 = BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9;" (assignment_expression "pbVar1 = BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9" identifier = (binary_expression "BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9" (binary_expression "BYTE_ARRAY_0009905d + unaff_EBP" identifier + identifier) + number_literal)) ;) (expression_statement "pcVar9 = *(code **)pbVar1;" (assignment_expression "pcVar9 = *(code **)pbVar1" identifier = (pointer_expression "*(code **)pbVar1" * (cast_expression "(code **)pbVar1" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "uVar8 = 4;" (assignment_expression "uVar8 = 4" identifier = number_literal) ;) (expression_statement "piVar17 = piVar7;" (assignment_expression "piVar17 = piVar7" identifier = identifier) ;) (do_statement "do {\n      while( true ) {\n        if ((char)piVar17[1] != '\0') {\n          (*pcVar9)(*piVar17);\n          pcVar9 = *(code **)pbVar1;\n          *piVar17 = 0;\n          *(undefined1 *)(piVar17 + 1) = 0;\n        }\n        if ((char)piVar17[4] != '\0') {\n          (*pcVar9)(piVar17[3]);\n          pcVar9 = *(code **)pbVar1;\n          piVar17[3] = 0;\n          *(undefined1 *)(piVar17 + 4) = 0;\n        }\n        if ((char)piVar17[8] != '\0') {\n          (*pcVar9)(piVar17[7]);\n          pcVar9 = *(code **)pbVar1;\n          piVar17[7] = 0;\n          *(undefined1 *)(piVar17 + 8) = 0;\n        }\n        if ((char)piVar17[0xd] == '\0') break;\n        (*pcVar9)(piVar17[0xc]);\n        pcVar9 = *(code **)pbVar1;\n        piVar17[0xc] = 0;\n        *(undefined1 *)(piVar17 + 0xd) = 0;\n        piVar17 = (int *)piVar17[0x10];\n        if (piVar17 == (int *)0x0) goto LAB_0001d97c;\n      }\n      piVar17 = (int *)piVar17[0x10];\n    } while (piVar17 != (int *)0x0);" do (compound_statement "{\n      while( true ) {\n        if ((char)piVar17[1] != '\0') {\n          (*pcVar9)(*piVar17);\n          pcVar9 = *(code **)pbVar1;\n          *piVar17 = 0;\n          *(undefined1 *)(piVar17 + 1) = 0;\n        }\n        if ((char)piVar17[4] != '\0') {\n          (*pcVar9)(piVar17[3]);\n          pcVar9 = *(code **)pbVar1;\n          piVar17[3] = 0;\n          *(undefined1 *)(piVar17 + 4) = 0;\n        }\n        if ((char)piVar17[8] != '\0') {\n          (*pcVar9)(piVar17[7]);\n          pcVar9 = *(code **)pbVar1;\n          piVar17[7] = 0;\n          *(undefined1 *)(piVar17 + 8) = 0;\n        }\n        if ((char)piVar17[0xd] == '\0') break;\n        (*pcVar9)(piVar17[0xc]);\n        pcVar9 = *(code **)pbVar1;\n        piVar17[0xc] = 0;\n        *(undefined1 *)(piVar17 + 0xd) = 0;\n        piVar17 = (int *)piVar17[0x10];\n        if (piVar17 == (int *)0x0) goto LAB_0001d97c;\n      }\n      piVar17 = (int *)piVar17[0x10];\n    }" { (while_statement "while( true ) {\n        if ((char)piVar17[1] != '\0') {\n          (*pcVar9)(*piVar17);\n          pcVar9 = *(code **)pbVar1;\n          *piVar17 = 0;\n          *(undefined1 *)(piVar17 + 1) = 0;\n        }\n        if ((char)piVar17[4] != '\0') {\n          (*pcVar9)(piVar17[3]);\n          pcVar9 = *(code **)pbVar1;\n          piVar17[3] = 0;\n          *(undefined1 *)(piVar17 + 4) = 0;\n        }\n        if ((char)piVar17[8] != '\0') {\n          (*pcVar9)(piVar17[7]);\n          pcVar9 = *(code **)pbVar1;\n          piVar17[7] = 0;\n          *(undefined1 *)(piVar17 + 8) = 0;\n        }\n        if ((char)piVar17[0xd] == '\0') break;\n        (*pcVar9)(piVar17[0xc]);\n        pcVar9 = *(code **)pbVar1;\n        piVar17[0xc] = 0;\n        *(undefined1 *)(piVar17 + 0xd) = 0;\n        piVar17 = (int *)piVar17[0x10];\n        if (piVar17 == (int *)0x0) goto LAB_0001d97c;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        if ((char)piVar17[1] != '\0') {\n          (*pcVar9)(*piVar17);\n          pcVar9 = *(code **)pbVar1;\n          *piVar17 = 0;\n          *(undefined1 *)(piVar17 + 1) = 0;\n        }\n        if ((char)piVar17[4] != '\0') {\n          (*pcVar9)(piVar17[3]);\n          pcVar9 = *(code **)pbVar1;\n          piVar17[3] = 0;\n          *(undefined1 *)(piVar17 + 4) = 0;\n        }\n        if ((char)piVar17[8] != '\0') {\n          (*pcVar9)(piVar17[7]);\n          pcVar9 = *(code **)pbVar1;\n          piVar17[7] = 0;\n          *(undefined1 *)(piVar17 + 8) = 0;\n        }\n        if ((char)piVar17[0xd] == '\0') break;\n        (*pcVar9)(piVar17[0xc]);\n        pcVar9 = *(code **)pbVar1;\n        piVar17[0xc] = 0;\n        *(undefined1 *)(piVar17 + 0xd) = 0;\n        piVar17 = (int *)piVar17[0x10];\n        if (piVar17 == (int *)0x0) goto LAB_0001d97c;\n      }" { (if_statement "if ((char)piVar17[1] != '\0') {\n          (*pcVar9)(*piVar17);\n          pcVar9 = *(code **)pbVar1;\n          *piVar17 = 0;\n          *(undefined1 *)(piVar17 + 1) = 0;\n        }" if (parenthesized_expression "((char)piVar17[1] != '\0')" ( (binary_expression "(char)piVar17[1] != '\0'" (cast_expression "(char)piVar17[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "piVar17[1]" identifier [ number_literal ])) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          (*pcVar9)(*piVar17);\n          pcVar9 = *(code **)pbVar1;\n          *piVar17 = 0;\n          *(undefined1 *)(piVar17 + 1) = 0;\n        }" { (expression_statement "(*pcVar9)(*piVar17);" (call_expression "(*pcVar9)(*piVar17)" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "(*piVar17)" ( (pointer_expression "*piVar17" * identifier) ))) ;) (expression_statement "pcVar9 = *(code **)pbVar1;" (assignment_expression "pcVar9 = *(code **)pbVar1" identifier = (pointer_expression "*(code **)pbVar1" * (cast_expression "(code **)pbVar1" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "*piVar17 = 0;" (assignment_expression "*piVar17 = 0" (pointer_expression "*piVar17" * identifier) = number_literal) ;) (expression_statement "*(undefined1 *)(piVar17 + 1) = 0;" (assignment_expression "*(undefined1 *)(piVar17 + 1) = 0" (pointer_expression "*(undefined1 *)(piVar17 + 1)" * (cast_expression "(undefined1 *)(piVar17 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar17 + 1)" ( (binary_expression "piVar17 + 1" identifier + number_literal) )))) = number_literal) ;) })) (if_statement "if ((char)piVar17[4] != '\0') {\n          (*pcVar9)(piVar17[3]);\n          pcVar9 = *(code **)pbVar1;\n          piVar17[3] = 0;\n          *(undefined1 *)(piVar17 + 4) = 0;\n        }" if (parenthesized_expression "((char)piVar17[4] != '\0')" ( (binary_expression "(char)piVar17[4] != '\0'" (cast_expression "(char)piVar17[4]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "piVar17[4]" identifier [ number_literal ])) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          (*pcVar9)(piVar17[3]);\n          pcVar9 = *(code **)pbVar1;\n          piVar17[3] = 0;\n          *(undefined1 *)(piVar17 + 4) = 0;\n        }" { (expression_statement "(*pcVar9)(piVar17[3]);" (call_expression "(*pcVar9)(piVar17[3])" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "(piVar17[3])" ( (subscript_expression "piVar17[3]" identifier [ number_literal ]) ))) ;) (expression_statement "pcVar9 = *(code **)pbVar1;" (assignment_expression "pcVar9 = *(code **)pbVar1" identifier = (pointer_expression "*(code **)pbVar1" * (cast_expression "(code **)pbVar1" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "piVar17[3] = 0;" (assignment_expression "piVar17[3] = 0" (subscript_expression "piVar17[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(piVar17 + 4) = 0;" (assignment_expression "*(undefined1 *)(piVar17 + 4) = 0" (pointer_expression "*(undefined1 *)(piVar17 + 4)" * (cast_expression "(undefined1 *)(piVar17 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar17 + 4)" ( (binary_expression "piVar17 + 4" identifier + number_literal) )))) = number_literal) ;) })) (if_statement "if ((char)piVar17[8] != '\0') {\n          (*pcVar9)(piVar17[7]);\n          pcVar9 = *(code **)pbVar1;\n          piVar17[7] = 0;\n          *(undefined1 *)(piVar17 + 8) = 0;\n        }" if (parenthesized_expression "((char)piVar17[8] != '\0')" ( (binary_expression "(char)piVar17[8] != '\0'" (cast_expression "(char)piVar17[8]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "piVar17[8]" identifier [ number_literal ])) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          (*pcVar9)(piVar17[7]);\n          pcVar9 = *(code **)pbVar1;\n          piVar17[7] = 0;\n          *(undefined1 *)(piVar17 + 8) = 0;\n        }" { (expression_statement "(*pcVar9)(piVar17[7]);" (call_expression "(*pcVar9)(piVar17[7])" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "(piVar17[7])" ( (subscript_expression "piVar17[7]" identifier [ number_literal ]) ))) ;) (expression_statement "pcVar9 = *(code **)pbVar1;" (assignment_expression "pcVar9 = *(code **)pbVar1" identifier = (pointer_expression "*(code **)pbVar1" * (cast_expression "(code **)pbVar1" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "piVar17[7] = 0;" (assignment_expression "piVar17[7] = 0" (subscript_expression "piVar17[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(piVar17 + 8) = 0;" (assignment_expression "*(undefined1 *)(piVar17 + 8) = 0" (pointer_expression "*(undefined1 *)(piVar17 + 8)" * (cast_expression "(undefined1 *)(piVar17 + 8)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar17 + 8)" ( (binary_expression "piVar17 + 8" identifier + number_literal) )))) = number_literal) ;) })) (if_statement "if ((char)piVar17[0xd] == '\0') break;" if (parenthesized_expression "((char)piVar17[0xd] == '\0')" ( (binary_expression "(char)piVar17[0xd] == '\0'" (cast_expression "(char)piVar17[0xd]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "piVar17[0xd]" identifier [ number_literal ])) == (char_literal "'\0'" ' escape_sequence ')) )) (break_statement "break;" break ;)) (expression_statement "(*pcVar9)(piVar17[0xc]);" (call_expression "(*pcVar9)(piVar17[0xc])" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "(piVar17[0xc])" ( (subscript_expression "piVar17[0xc]" identifier [ number_literal ]) ))) ;) (expression_statement "pcVar9 = *(code **)pbVar1;" (assignment_expression "pcVar9 = *(code **)pbVar1" identifier = (pointer_expression "*(code **)pbVar1" * (cast_expression "(code **)pbVar1" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "piVar17[0xc] = 0;" (assignment_expression "piVar17[0xc] = 0" (subscript_expression "piVar17[0xc]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(piVar17 + 0xd) = 0;" (assignment_expression "*(undefined1 *)(piVar17 + 0xd) = 0" (pointer_expression "*(undefined1 *)(piVar17 + 0xd)" * (cast_expression "(undefined1 *)(piVar17 + 0xd)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar17 + 0xd)" ( (binary_expression "piVar17 + 0xd" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar17 = (int *)piVar17[0x10];" (assignment_expression "piVar17 = (int *)piVar17[0x10]" identifier = (cast_expression "(int *)piVar17[0x10]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar17[0x10]" identifier [ number_literal ]))) ;) (if_statement "if (piVar17 == (int *)0x0) goto LAB_0001d97c;" if (parenthesized_expression "(piVar17 == (int *)0x0)" ( (binary_expression "piVar17 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0001d97c;" goto statement_identifier ;)) })) (expression_statement "piVar17 = (int *)piVar17[0x10];" (assignment_expression "piVar17 = (int *)piVar17[0x10]" identifier = (cast_expression "(int *)piVar17[0x10]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar17[0x10]" identifier [ number_literal ]))) ;) }) while (parenthesized_expression "(piVar17 != (int *)0x0)" ( (binary_expression "piVar17 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) }))) (labeled_statement "LAB_0001d97c:\n  while( true ) {\n    piVar17 = (int *)piVar7[0x10];\n    (*pcVar9)(piVar7);\n    if (piVar17 == (int *)0x0) break;\n    pcVar9 = *(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9);\n    piVar7 = piVar17;\n  }" statement_identifier : (while_statement "while( true ) {\n    piVar17 = (int *)piVar7[0x10];\n    (*pcVar9)(piVar7);\n    if (piVar17 == (int *)0x0) break;\n    pcVar9 = *(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9);\n    piVar7 = piVar17;\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    piVar17 = (int *)piVar7[0x10];\n    (*pcVar9)(piVar7);\n    if (piVar17 == (int *)0x0) break;\n    pcVar9 = *(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9);\n    piVar7 = piVar17;\n  }" { (expression_statement "piVar17 = (int *)piVar7[0x10];" (assignment_expression "piVar17 = (int *)piVar7[0x10]" identifier = (cast_expression "(int *)piVar7[0x10]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar7[0x10]" identifier [ number_literal ]))) ;) (expression_statement "(*pcVar9)(piVar7);" (call_expression "(*pcVar9)(piVar7)" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "(piVar7)" ( identifier ))) ;) (if_statement "if (piVar17 == (int *)0x0) break;" if (parenthesized_expression "(piVar17 == (int *)0x0)" ( (binary_expression "piVar17 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "pcVar9 = *(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9);" (assignment_expression "pcVar9 = *(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9)" identifier = (pointer_expression "*(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9)" * (cast_expression "(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9)" ( (binary_expression "BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9" (binary_expression "BYTE_ARRAY_0009905d + unaff_EBP" identifier + identifier) + number_literal) ))))) ;) (expression_statement "piVar7 = piVar17;" (assignment_expression "piVar7 = piVar17" identifier = identifier) ;) }))) (return_statement "return uVar8;" return identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) ))))) )) (argument_list ( LIT , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (return_statement return LIT ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) || (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) ))) )) && (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) , (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) || (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) ))))) )) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) ))) )) ))) )) ))) )) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + IDENT) + LIT)) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression * IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) }))) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT + LIT)) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) && (parenthesized_expression ( (binary_expression IDENT == IDENT) ))) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) && (parenthesized_expression ( (binary_expression IDENT == IDENT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT ))))) ;)) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' escape_sequence ')) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT + LIT)) , (binary_expression (binary_expression IDENT + IDENT) != IDENT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) && (parenthesized_expression ( (binary_expression IDENT == IDENT) ))) )) (goto_statement goto statement_identifier ;)) }))) })))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) && (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) ))))) )) (argument_list ( LIT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT | LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (break_statement break ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) ))))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (binary_expression IDENT * LIT)) )))) + IDENT) + LIT) )))) )) (argument_list ( )))) ;) (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + IDENT) + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression * IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) == (char_literal ' escape_sequence ')) )) (break_statement break ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) ;) }))) (labeled_statement statement_identifier : (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (return_statement return IDENT ;) })))
(function_definition "undefined4 curl_formadd(int *param_1,int *param_2,uint param_3)\n\n{\n  byte *pbVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  int *piVar7;\n  undefined4 uVar8;\n  code *pcVar9;\n  size_t sVar10;\n  int iVar11;\n  size_t sVar12;\n  int *piVar13;\n  char *__s;\n  int iVar14;\n  uint uVar15;\n  char *pcVar16;\n  int unaff_EBP;\n  int *piVar17;\n  char *local_60;\n  int local_5c;\n  int local_54;\n  int local_50;\n  int local_28;\n  \n  FUN_0001ab8b();\n  piVar7 = (int *)(**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed))(1,0x44);\n  if (piVar7 == (int *)0x0) {\n    return 1;\n  }\n  if (param_3 == 0x11) {\n    local_28 = 0;\n    local_5c = 0;\n    piVar17 = piVar7;\nLAB_0001df4a:\n    do {\n      __s = (char *)*piVar17;\n      if ((((((__s == (char *)0x0) || (piVar17[3] == 0)) && (local_5c == 0)) ||\n           ((uVar15 = piVar17[9], piVar17[6] != 0 || piVar17[5] != 0 && ((uVar15 & 1) != 0)))) ||\n          (((uVar15 & 9) == 9 || ((piVar17[10] == 0 && ((uVar15 & 0x30) == 0x30)))))) ||\n         ((uVar15 & 10) == 10)) {\n        uVar8 = 5;\nLAB_0001df65:\n        pbVar1 = BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9;\n        pcVar9 = *(code **)pbVar1;\n        do {\n          if ((char)piVar17[1] != '\0') {\n            (*pcVar9)(*piVar17);\n            pcVar9 = *(code **)pbVar1;\n            *piVar17 = 0;\n            *(undefined1 *)(piVar17 + 1) = 0;\n          }\n          if ((char)piVar17[4] != '\0') {\n            (*pcVar9)(piVar17[3]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[3] = 0;\n            *(undefined1 *)(piVar17 + 4) = 0;\n          }\n          if ((char)piVar17[8] != '\0') {\n            (*pcVar9)(piVar17[7]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[7] = 0;\n            *(undefined1 *)(piVar17 + 8) = 0;\n          }\n          if ((char)piVar17[0xd] == '\0') {\n            piVar17 = (int *)piVar17[0x10];\n          }\n          else {\n            (*pcVar9)(piVar17[0xc]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[0xc] = 0;\n            *(undefined1 *)(piVar17 + 0xd) = 0;\n            piVar17 = (int *)piVar17[0x10];\n          }\n        } while (piVar17 != (int *)0x0);\n        goto LAB_0001d97c;\n      }\n      if (((uVar15 & 0x11) != 0) && (piVar17[7] == 0)) {\n        if ((uVar15 & 0x10) == 0) {\n          iVar14 = piVar17[3];\n        }\n        else {\n          iVar14 = piVar17[0xc];\n        }\n        iVar14 = FUN_0006e8e0(iVar14);\n        if ((iVar14 == 0) && (iVar14 = unaff_EBP + 0x65cc6, local_28 != 0)) {\n          iVar14 = local_28;\n        }\n        iVar14 = (**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f1))(iVar14);\n        piVar17[7] = iVar14;\n        if (iVar14 != 0) {\n          *(undefined1 *)(piVar17 + 8) = 1;\n          __s = (char *)*piVar17;\n          goto LAB_0001ddc4;\n        }\nLAB_0001e016:\n        uVar8 = 1;\n        goto LAB_0001df65;\n      }\nLAB_0001ddc4:\n      if (__s == (char *)0x0) {\n        uVar15 = piVar17[9];\n        if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e016;\n      }\n      else {\n        iVar14 = piVar17[2];\n        if (iVar14 == 0) {\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) {\n            sVar10 = strlen(__s);\n            iVar14 = sVar10 + 1;\nLAB_0001e0cf:\n            __s = (char *)FUN_00050160(__s,iVar14);\n            *piVar17 = (int)__s;\n            if (__s == (char *)0x0) goto LAB_0001e016;\n            *(undefined1 *)(piVar17 + 1) = 1;\n            uVar15 = piVar17[9];\n          }\n        }\n        else {\n          if (*__s == '\0') {\nLAB_0001e140:\n            uVar8 = 3;\n            goto LAB_0001df65;\n          }\n          pcVar16 = __s;\n          while (pcVar16 = pcVar16 + 1, __s + iVar14 != pcVar16) {\n            if (*pcVar16 == '\0') goto LAB_0001e140;\n          }\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e0cf;\n        }\n      }\n      local_60 = (char *)piVar17[3];\n      local_54 = piVar17[5];\n      local_50 = piVar17[6];\n      if (((uVar15 & 0x6b) == 0) && (local_60 != (char *)0x0)) {\n        if (local_54 == 0) {\n          sVar10 = strlen(local_60);\n          local_54 = sVar10 + 1;\n        }\n        local_60 = (char *)FUN_00050160(local_60,local_54);\n        piVar17[3] = (int)local_60;\n        if (local_60 == (char *)0x0) goto LAB_0001e016;\n        local_54 = piVar17[5];\n        uVar15 = piVar17[9];\n        *(undefined1 *)(piVar17 + 4) = 1;\n        __s = (char *)*piVar17;\n        local_50 = piVar17[6];\n      }\n      iVar14 = piVar17[0xe];\n      sVar10 = piVar17[2];\n      iVar2 = piVar17[0xc];\n      iVar3 = piVar17[0xf];\n      iVar4 = piVar17[7];\n      iVar5 = piVar17[0xb];\n      iVar6 = piVar17[10];\n      iVar11 = (**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed))(1,0x3c);\n      if (iVar11 == 0) goto LAB_0001e016;\n      *(char **)(iVar11 + 4) = __s;\n      sVar12 = 0;\n      if ((__s != (char *)0x0) && (sVar12 = sVar10, sVar10 == 0)) {\n        sVar12 = strlen(__s);\n      }\n      *(size_t *)(iVar11 + 8) = sVar12;\n      *(char **)(iVar11 + 0xc) = local_60;\n      *(int *)(iVar11 + 0x34) = local_54;\n      *(int *)(iVar11 + 0x38) = local_50;\n      *(int *)(iVar11 + 0x14) = iVar6;\n      *(int *)(iVar11 + 0x18) = iVar5;\n      *(int *)(iVar11 + 0x1c) = iVar4;\n      *(int *)(iVar11 + 0x20) = iVar3;\n      *(int *)(iVar11 + 0x2c) = iVar2;\n      *(int *)(iVar11 + 0x30) = iVar14;\n      *(uint *)(iVar11 + 0x28) = uVar15 | 0x80;\n      if (local_5c == 0) {\n        piVar13 = (int *)*param_2;\n        if ((int *)*param_2 == (int *)0x0) {\n          piVar13 = param_1;\n        }\n        *piVar13 = iVar11;\n        *param_2 = iVar11;\n      }\n      else {\n        *(undefined4 *)(iVar11 + 0x24) = *(undefined4 *)(local_5c + 0x24);\n        *(int *)(local_5c + 0x24) = iVar11;\n      }\n      piVar13 = piVar17 + 7;\n      piVar17 = (int *)piVar17[0x10];\n      local_5c = iVar11;\n      if (*piVar13 == 0) {\n        if (piVar17 == (int *)0x0) break;\n        goto LAB_0001df4a;\n      }\n      local_28 = *piVar13;\n    } while (piVar17 != (int *)0x0);\n    uVar8 = 0;\n    pcVar9 = *(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9);\n  }\n  else {\n    if (param_3 < 0x15) {\n                    \n                    \n      uVar8 = (*(code *)(*(int *)(unaff_EBP + 0x65cf6 + param_3 * 4) + unaff_EBP + 0x98fca))();\n      return uVar8;\n    }\n    pbVar1 = BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9;\n    pcVar9 = *(code **)pbVar1;\n    uVar8 = 4;\n    piVar17 = piVar7;\n    do {\n      while( true ) {\n        if ((char)piVar17[1] != '\0') {\n          (*pcVar9)(*piVar17);\n          pcVar9 = *(code **)pbVar1;\n          *piVar17 = 0;\n          *(undefined1 *)(piVar17 + 1) = 0;\n        }\n        if ((char)piVar17[4] != '\0') {\n          (*pcVar9)(piVar17[3]);\n          pcVar9 = *(code **)pbVar1;\n          piVar17[3] = 0;\n          *(undefined1 *)(piVar17 + 4) = 0;\n        }\n        if ((char)piVar17[8] != '\0') {\n          (*pcVar9)(piVar17[7]);\n          pcVar9 = *(code **)pbVar1;\n          piVar17[7] = 0;\n          *(undefined1 *)(piVar17 + 8) = 0;\n        }\n        if ((char)piVar17[0xd] == '\0') break;\n        (*pcVar9)(piVar17[0xc]);\n        pcVar9 = *(code **)pbVar1;\n        piVar17[0xc] = 0;\n        *(undefined1 *)(piVar17 + 0xd) = 0;\n        piVar17 = (int *)piVar17[0x10];\n        if (piVar17 == (int *)0x0) goto LAB_0001d97c;\n      }\n      piVar17 = (int *)piVar17[0x10];\n    } while (piVar17 != (int *)0x0);\n  }\nLAB_0001d97c:\n  while( true ) {\n    piVar17 = (int *)piVar7[0x10];\n    (*pcVar9)(piVar7);\n    if (piVar17 == (int *)0x0) break;\n    pcVar9 = *(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9);\n    piVar7 = piVar17;\n  }\n  return uVar8;\n}" (type_identifier "undefined4") (function_declarator "curl_formadd(int *param_1,int *param_2,uint param_3)" (identifier "curl_formadd") (parameter_list "(int *param_1,int *param_2,uint param_3)" (( "(") (parameter_declaration "int *param_1" (primitive_type "int") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "int *param_2" (primitive_type "int") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "uint param_3" (type_identifier "uint") (identifier "param_3")) () ")"))) (compound_statement "{\n  byte *pbVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  int *piVar7;\n  undefined4 uVar8;\n  code *pcVar9;\n  size_t sVar10;\n  int iVar11;\n  size_t sVar12;\n  int *piVar13;\n  char *__s;\n  int iVar14;\n  uint uVar15;\n  char *pcVar16;\n  int unaff_EBP;\n  int *piVar17;\n  char *local_60;\n  int local_5c;\n  int local_54;\n  int local_50;\n  int local_28;\n  \n  FUN_0001ab8b();\n  piVar7 = (int *)(**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed))(1,0x44);\n  if (piVar7 == (int *)0x0) {\n    return 1;\n  }\n  if (param_3 == 0x11) {\n    local_28 = 0;\n    local_5c = 0;\n    piVar17 = piVar7;\nLAB_0001df4a:\n    do {\n      __s = (char *)*piVar17;\n      if ((((((__s == (char *)0x0) || (piVar17[3] == 0)) && (local_5c == 0)) ||\n           ((uVar15 = piVar17[9], piVar17[6] != 0 || piVar17[5] != 0 && ((uVar15 & 1) != 0)))) ||\n          (((uVar15 & 9) == 9 || ((piVar17[10] == 0 && ((uVar15 & 0x30) == 0x30)))))) ||\n         ((uVar15 & 10) == 10)) {\n        uVar8 = 5;\nLAB_0001df65:\n        pbVar1 = BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9;\n        pcVar9 = *(code **)pbVar1;\n        do {\n          if ((char)piVar17[1] != '\0') {\n            (*pcVar9)(*piVar17);\n            pcVar9 = *(code **)pbVar1;\n            *piVar17 = 0;\n            *(undefined1 *)(piVar17 + 1) = 0;\n          }\n          if ((char)piVar17[4] != '\0') {\n            (*pcVar9)(piVar17[3]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[3] = 0;\n            *(undefined1 *)(piVar17 + 4) = 0;\n          }\n          if ((char)piVar17[8] != '\0') {\n            (*pcVar9)(piVar17[7]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[7] = 0;\n            *(undefined1 *)(piVar17 + 8) = 0;\n          }\n          if ((char)piVar17[0xd] == '\0') {\n            piVar17 = (int *)piVar17[0x10];\n          }\n          else {\n            (*pcVar9)(piVar17[0xc]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[0xc] = 0;\n            *(undefined1 *)(piVar17 + 0xd) = 0;\n            piVar17 = (int *)piVar17[0x10];\n          }\n        } while (piVar17 != (int *)0x0);\n        goto LAB_0001d97c;\n      }\n      if (((uVar15 & 0x11) != 0) && (piVar17[7] == 0)) {\n        if ((uVar15 & 0x10) == 0) {\n          iVar14 = piVar17[3];\n        }\n        else {\n          iVar14 = piVar17[0xc];\n        }\n        iVar14 = FUN_0006e8e0(iVar14);\n        if ((iVar14 == 0) && (iVar14 = unaff_EBP + 0x65cc6, local_28 != 0)) {\n          iVar14 = local_28;\n        }\n        iVar14 = (**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f1))(iVar14);\n        piVar17[7] = iVar14;\n        if (iVar14 != 0) {\n          *(undefined1 *)(piVar17 + 8) = 1;\n          __s = (char *)*piVar17;\n          goto LAB_0001ddc4;\n        }\nLAB_0001e016:\n        uVar8 = 1;\n        goto LAB_0001df65;\n      }\nLAB_0001ddc4:\n      if (__s == (char *)0x0) {\n        uVar15 = piVar17[9];\n        if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e016;\n      }\n      else {\n        iVar14 = piVar17[2];\n        if (iVar14 == 0) {\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) {\n            sVar10 = strlen(__s);\n            iVar14 = sVar10 + 1;\nLAB_0001e0cf:\n            __s = (char *)FUN_00050160(__s,iVar14);\n            *piVar17 = (int)__s;\n            if (__s == (char *)0x0) goto LAB_0001e016;\n            *(undefined1 *)(piVar17 + 1) = 1;\n            uVar15 = piVar17[9];\n          }\n        }\n        else {\n          if (*__s == '\0') {\nLAB_0001e140:\n            uVar8 = 3;\n            goto LAB_0001df65;\n          }\n          pcVar16 = __s;\n          while (pcVar16 = pcVar16 + 1, __s + iVar14 != pcVar16) {\n            if (*pcVar16 == '\0') goto LAB_0001e140;\n          }\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e0cf;\n        }\n      }\n      local_60 = (char *)piVar17[3];\n      local_54 = piVar17[5];\n      local_50 = piVar17[6];\n      if (((uVar15 & 0x6b) == 0) && (local_60 != (char *)0x0)) {\n        if (local_54 == 0) {\n          sVar10 = strlen(local_60);\n          local_54 = sVar10 + 1;\n        }\n        local_60 = (char *)FUN_00050160(local_60,local_54);\n        piVar17[3] = (int)local_60;\n        if (local_60 == (char *)0x0) goto LAB_0001e016;\n        local_54 = piVar17[5];\n        uVar15 = piVar17[9];\n        *(undefined1 *)(piVar17 + 4) = 1;\n        __s = (char *)*piVar17;\n        local_50 = piVar17[6];\n      }\n      iVar14 = piVar17[0xe];\n      sVar10 = piVar17[2];\n      iVar2 = piVar17[0xc];\n      iVar3 = piVar17[0xf];\n      iVar4 = piVar17[7];\n      iVar5 = piVar17[0xb];\n      iVar6 = piVar17[10];\n      iVar11 = (**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed))(1,0x3c);\n      if (iVar11 == 0) goto LAB_0001e016;\n      *(char **)(iVar11 + 4) = __s;\n      sVar12 = 0;\n      if ((__s != (char *)0x0) && (sVar12 = sVar10, sVar10 == 0)) {\n        sVar12 = strlen(__s);\n      }\n      *(size_t *)(iVar11 + 8) = sVar12;\n      *(char **)(iVar11 + 0xc) = local_60;\n      *(int *)(iVar11 + 0x34) = local_54;\n      *(int *)(iVar11 + 0x38) = local_50;\n      *(int *)(iVar11 + 0x14) = iVar6;\n      *(int *)(iVar11 + 0x18) = iVar5;\n      *(int *)(iVar11 + 0x1c) = iVar4;\n      *(int *)(iVar11 + 0x20) = iVar3;\n      *(int *)(iVar11 + 0x2c) = iVar2;\n      *(int *)(iVar11 + 0x30) = iVar14;\n      *(uint *)(iVar11 + 0x28) = uVar15 | 0x80;\n      if (local_5c == 0) {\n        piVar13 = (int *)*param_2;\n        if ((int *)*param_2 == (int *)0x0) {\n          piVar13 = param_1;\n        }\n        *piVar13 = iVar11;\n        *param_2 = iVar11;\n      }\n      else {\n        *(undefined4 *)(iVar11 + 0x24) = *(undefined4 *)(local_5c + 0x24);\n        *(int *)(local_5c + 0x24) = iVar11;\n      }\n      piVar13 = piVar17 + 7;\n      piVar17 = (int *)piVar17[0x10];\n      local_5c = iVar11;\n      if (*piVar13 == 0) {\n        if (piVar17 == (int *)0x0) break;\n        goto LAB_0001df4a;\n      }\n      local_28 = *piVar13;\n    } while (piVar17 != (int *)0x0);\n    uVar8 = 0;\n    pcVar9 = *(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9);\n  }\n  else {\n    if (param_3 < 0x15) {\n                    \n                    \n      uVar8 = (*(code *)(*(int *)(unaff_EBP + 0x65cf6 + param_3 * 4) + unaff_EBP + 0x98fca))();\n      return uVar8;\n    }\n    pbVar1 = BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9;\n    pcVar9 = *(code **)pbVar1;\n    uVar8 = 4;\n    piVar17 = piVar7;\n    do {\n      while( true ) {\n        if ((char)piVar17[1] != '\0') {\n          (*pcVar9)(*piVar17);\n          pcVar9 = *(code **)pbVar1;\n          *piVar17 = 0;\n          *(undefined1 *)(piVar17 + 1) = 0;\n        }\n        if ((char)piVar17[4] != '\0') {\n          (*pcVar9)(piVar17[3]);\n          pcVar9 = *(code **)pbVar1;\n          piVar17[3] = 0;\n          *(undefined1 *)(piVar17 + 4) = 0;\n        }\n        if ((char)piVar17[8] != '\0') {\n          (*pcVar9)(piVar17[7]);\n          pcVar9 = *(code **)pbVar1;\n          piVar17[7] = 0;\n          *(undefined1 *)(piVar17 + 8) = 0;\n        }\n        if ((char)piVar17[0xd] == '\0') break;\n        (*pcVar9)(piVar17[0xc]);\n        pcVar9 = *(code **)pbVar1;\n        piVar17[0xc] = 0;\n        *(undefined1 *)(piVar17 + 0xd) = 0;\n        piVar17 = (int *)piVar17[0x10];\n        if (piVar17 == (int *)0x0) goto LAB_0001d97c;\n      }\n      piVar17 = (int *)piVar17[0x10];\n    } while (piVar17 != (int *)0x0);\n  }\nLAB_0001d97c:\n  while( true ) {\n    piVar17 = (int *)piVar7[0x10];\n    (*pcVar9)(piVar7);\n    if (piVar17 == (int *)0x0) break;\n    pcVar9 = *(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9);\n    piVar7 = piVar17;\n  }\n  return uVar8;\n}" ({ "{") (declaration "byte *pbVar1;" (type_identifier "byte") (pointer_declarator "*pbVar1" (* "*") (identifier "pbVar1")) (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "int *piVar7;" (primitive_type "int") (pointer_declarator "*piVar7" (* "*") (identifier "piVar7")) (; ";")) (declaration "undefined4 uVar8;" (type_identifier "undefined4") (identifier "uVar8") (; ";")) (declaration "code *pcVar9;" (type_identifier "code") (pointer_declarator "*pcVar9" (* "*") (identifier "pcVar9")) (; ";")) (declaration "size_t sVar10;" (primitive_type "size_t") (identifier "sVar10") (; ";")) (declaration "int iVar11;" (primitive_type "int") (identifier "iVar11") (; ";")) (declaration "size_t sVar12;" (primitive_type "size_t") (identifier "sVar12") (; ";")) (declaration "int *piVar13;" (primitive_type "int") (pointer_declarator "*piVar13" (* "*") (identifier "piVar13")) (; ";")) (declaration "char *__s;" (primitive_type "char") (pointer_declarator "*__s" (* "*") (identifier "__s")) (; ";")) (declaration "int iVar14;" (primitive_type "int") (identifier "iVar14") (; ";")) (declaration "uint uVar15;" (type_identifier "uint") (identifier "uVar15") (; ";")) (declaration "char *pcVar16;" (primitive_type "char") (pointer_declarator "*pcVar16" (* "*") (identifier "pcVar16")) (; ";")) (declaration "int unaff_EBP;" (primitive_type "int") (identifier "unaff_EBP") (; ";")) (declaration "int *piVar17;" (primitive_type "int") (pointer_declarator "*piVar17" (* "*") (identifier "piVar17")) (; ";")) (declaration "char *local_60;" (primitive_type "char") (pointer_declarator "*local_60" (* "*") (identifier "local_60")) (; ";")) (declaration "int local_5c;" (primitive_type "int") (identifier "local_5c") (; ";")) (declaration "int local_54;" (primitive_type "int") (identifier "local_54") (; ";")) (declaration "int local_50;" (primitive_type "int") (identifier "local_50") (; ";")) (declaration "int local_28;" (primitive_type "int") (identifier "local_28") (; ";")) (expression_statement "FUN_0001ab8b();" (call_expression "FUN_0001ab8b()" (identifier "FUN_0001ab8b") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piVar7 = (int *)(**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed))(1,0x44);" (assignment_expression "piVar7 = (int *)(**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed))(1,0x44)" (identifier "piVar7") (= "=") (cast_expression "(int *)(**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed))(1,0x44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed))(1,0x44)" (parenthesized_expression "(**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed))" (( "(") (pointer_expression "**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed)" (* "*") (pointer_expression "*(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed)" (* "*") (cast_expression "(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed)" (( "(") (binary_expression "BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed" (binary_expression "BYTE_ARRAY_0009905d + unaff_EBP" (identifier "BYTE_ARRAY_0009905d") (+ "+") (identifier "unaff_EBP")) (+ "+") (number_literal "0x7ed")) () ")"))))) () ")")) (argument_list "(1,0x44)" (( "(") (number_literal "1") (, ",") (number_literal "0x44") () ")"))))) (; ";")) (if_statement "if (piVar7 == (int *)0x0) {\n    return 1;\n  }" (if "if") (parenthesized_expression "(piVar7 == (int *)0x0)" (( "(") (binary_expression "piVar7 == (int *)0x0" (identifier "piVar7") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    return 1;\n  }" ({ "{") (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (if_statement "if (param_3 == 0x11) {\n    local_28 = 0;\n    local_5c = 0;\n    piVar17 = piVar7;\nLAB_0001df4a:\n    do {\n      __s = (char *)*piVar17;\n      if ((((((__s == (char *)0x0) || (piVar17[3] == 0)) && (local_5c == 0)) ||\n           ((uVar15 = piVar17[9], piVar17[6] != 0 || piVar17[5] != 0 && ((uVar15 & 1) != 0)))) ||\n          (((uVar15 & 9) == 9 || ((piVar17[10] == 0 && ((uVar15 & 0x30) == 0x30)))))) ||\n         ((uVar15 & 10) == 10)) {\n        uVar8 = 5;\nLAB_0001df65:\n        pbVar1 = BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9;\n        pcVar9 = *(code **)pbVar1;\n        do {\n          if ((char)piVar17[1] != '\0') {\n            (*pcVar9)(*piVar17);\n            pcVar9 = *(code **)pbVar1;\n            *piVar17 = 0;\n            *(undefined1 *)(piVar17 + 1) = 0;\n          }\n          if ((char)piVar17[4] != '\0') {\n            (*pcVar9)(piVar17[3]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[3] = 0;\n            *(undefined1 *)(piVar17 + 4) = 0;\n          }\n          if ((char)piVar17[8] != '\0') {\n            (*pcVar9)(piVar17[7]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[7] = 0;\n            *(undefined1 *)(piVar17 + 8) = 0;\n          }\n          if ((char)piVar17[0xd] == '\0') {\n            piVar17 = (int *)piVar17[0x10];\n          }\n          else {\n            (*pcVar9)(piVar17[0xc]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[0xc] = 0;\n            *(undefined1 *)(piVar17 + 0xd) = 0;\n            piVar17 = (int *)piVar17[0x10];\n          }\n        } while (piVar17 != (int *)0x0);\n        goto LAB_0001d97c;\n      }\n      if (((uVar15 & 0x11) != 0) && (piVar17[7] == 0)) {\n        if ((uVar15 & 0x10) == 0) {\n          iVar14 = piVar17[3];\n        }\n        else {\n          iVar14 = piVar17[0xc];\n        }\n        iVar14 = FUN_0006e8e0(iVar14);\n        if ((iVar14 == 0) && (iVar14 = unaff_EBP + 0x65cc6, local_28 != 0)) {\n          iVar14 = local_28;\n        }\n        iVar14 = (**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f1))(iVar14);\n        piVar17[7] = iVar14;\n        if (iVar14 != 0) {\n          *(undefined1 *)(piVar17 + 8) = 1;\n          __s = (char *)*piVar17;\n          goto LAB_0001ddc4;\n        }\nLAB_0001e016:\n        uVar8 = 1;\n        goto LAB_0001df65;\n      }\nLAB_0001ddc4:\n      if (__s == (char *)0x0) {\n        uVar15 = piVar17[9];\n        if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e016;\n      }\n      else {\n        iVar14 = piVar17[2];\n        if (iVar14 == 0) {\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) {\n            sVar10 = strlen(__s);\n            iVar14 = sVar10 + 1;\nLAB_0001e0cf:\n            __s = (char *)FUN_00050160(__s,iVar14);\n            *piVar17 = (int)__s;\n            if (__s == (char *)0x0) goto LAB_0001e016;\n            *(undefined1 *)(piVar17 + 1) = 1;\n            uVar15 = piVar17[9];\n          }\n        }\n        else {\n          if (*__s == '\0') {\nLAB_0001e140:\n            uVar8 = 3;\n            goto LAB_0001df65;\n          }\n          pcVar16 = __s;\n          while (pcVar16 = pcVar16 + 1, __s + iVar14 != pcVar16) {\n            if (*pcVar16 == '\0') goto LAB_0001e140;\n          }\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e0cf;\n        }\n      }\n      local_60 = (char *)piVar17[3];\n      local_54 = piVar17[5];\n      local_50 = piVar17[6];\n      if (((uVar15 & 0x6b) == 0) && (local_60 != (char *)0x0)) {\n        if (local_54 == 0) {\n          sVar10 = strlen(local_60);\n          local_54 = sVar10 + 1;\n        }\n        local_60 = (char *)FUN_00050160(local_60,local_54);\n        piVar17[3] = (int)local_60;\n        if (local_60 == (char *)0x0) goto LAB_0001e016;\n        local_54 = piVar17[5];\n        uVar15 = piVar17[9];\n        *(undefined1 *)(piVar17 + 4) = 1;\n        __s = (char *)*piVar17;\n        local_50 = piVar17[6];\n      }\n      iVar14 = piVar17[0xe];\n      sVar10 = piVar17[2];\n      iVar2 = piVar17[0xc];\n      iVar3 = piVar17[0xf];\n      iVar4 = piVar17[7];\n      iVar5 = piVar17[0xb];\n      iVar6 = piVar17[10];\n      iVar11 = (**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed))(1,0x3c);\n      if (iVar11 == 0) goto LAB_0001e016;\n      *(char **)(iVar11 + 4) = __s;\n      sVar12 = 0;\n      if ((__s != (char *)0x0) && (sVar12 = sVar10, sVar10 == 0)) {\n        sVar12 = strlen(__s);\n      }\n      *(size_t *)(iVar11 + 8) = sVar12;\n      *(char **)(iVar11 + 0xc) = local_60;\n      *(int *)(iVar11 + 0x34) = local_54;\n      *(int *)(iVar11 + 0x38) = local_50;\n      *(int *)(iVar11 + 0x14) = iVar6;\n      *(int *)(iVar11 + 0x18) = iVar5;\n      *(int *)(iVar11 + 0x1c) = iVar4;\n      *(int *)(iVar11 + 0x20) = iVar3;\n      *(int *)(iVar11 + 0x2c) = iVar2;\n      *(int *)(iVar11 + 0x30) = iVar14;\n      *(uint *)(iVar11 + 0x28) = uVar15 | 0x80;\n      if (local_5c == 0) {\n        piVar13 = (int *)*param_2;\n        if ((int *)*param_2 == (int *)0x0) {\n          piVar13 = param_1;\n        }\n        *piVar13 = iVar11;\n        *param_2 = iVar11;\n      }\n      else {\n        *(undefined4 *)(iVar11 + 0x24) = *(undefined4 *)(local_5c + 0x24);\n        *(int *)(local_5c + 0x24) = iVar11;\n      }\n      piVar13 = piVar17 + 7;\n      piVar17 = (int *)piVar17[0x10];\n      local_5c = iVar11;\n      if (*piVar13 == 0) {\n        if (piVar17 == (int *)0x0) break;\n        goto LAB_0001df4a;\n      }\n      local_28 = *piVar13;\n    } while (piVar17 != (int *)0x0);\n    uVar8 = 0;\n    pcVar9 = *(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9);\n  }\n  else {\n    if (param_3 < 0x15) {\n                    \n                    \n      uVar8 = (*(code *)(*(int *)(unaff_EBP + 0x65cf6 + param_3 * 4) + unaff_EBP + 0x98fca))();\n      return uVar8;\n    }\n    pbVar1 = BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9;\n    pcVar9 = *(code **)pbVar1;\n    uVar8 = 4;\n    piVar17 = piVar7;\n    do {\n      while( true ) {\n        if ((char)piVar17[1] != '\0') {\n          (*pcVar9)(*piVar17);\n          pcVar9 = *(code **)pbVar1;\n          *piVar17 = 0;\n          *(undefined1 *)(piVar17 + 1) = 0;\n        }\n        if ((char)piVar17[4] != '\0') {\n          (*pcVar9)(piVar17[3]);\n          pcVar9 = *(code **)pbVar1;\n          piVar17[3] = 0;\n          *(undefined1 *)(piVar17 + 4) = 0;\n        }\n        if ((char)piVar17[8] != '\0') {\n          (*pcVar9)(piVar17[7]);\n          pcVar9 = *(code **)pbVar1;\n          piVar17[7] = 0;\n          *(undefined1 *)(piVar17 + 8) = 0;\n        }\n        if ((char)piVar17[0xd] == '\0') break;\n        (*pcVar9)(piVar17[0xc]);\n        pcVar9 = *(code **)pbVar1;\n        piVar17[0xc] = 0;\n        *(undefined1 *)(piVar17 + 0xd) = 0;\n        piVar17 = (int *)piVar17[0x10];\n        if (piVar17 == (int *)0x0) goto LAB_0001d97c;\n      }\n      piVar17 = (int *)piVar17[0x10];\n    } while (piVar17 != (int *)0x0);\n  }" (if "if") (parenthesized_expression "(param_3 == 0x11)" (( "(") (binary_expression "param_3 == 0x11" (identifier "param_3") (== "==") (number_literal "0x11")) () ")")) (compound_statement "{\n    local_28 = 0;\n    local_5c = 0;\n    piVar17 = piVar7;\nLAB_0001df4a:\n    do {\n      __s = (char *)*piVar17;\n      if ((((((__s == (char *)0x0) || (piVar17[3] == 0)) && (local_5c == 0)) ||\n           ((uVar15 = piVar17[9], piVar17[6] != 0 || piVar17[5] != 0 && ((uVar15 & 1) != 0)))) ||\n          (((uVar15 & 9) == 9 || ((piVar17[10] == 0 && ((uVar15 & 0x30) == 0x30)))))) ||\n         ((uVar15 & 10) == 10)) {\n        uVar8 = 5;\nLAB_0001df65:\n        pbVar1 = BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9;\n        pcVar9 = *(code **)pbVar1;\n        do {\n          if ((char)piVar17[1] != '\0') {\n            (*pcVar9)(*piVar17);\n            pcVar9 = *(code **)pbVar1;\n            *piVar17 = 0;\n            *(undefined1 *)(piVar17 + 1) = 0;\n          }\n          if ((char)piVar17[4] != '\0') {\n            (*pcVar9)(piVar17[3]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[3] = 0;\n            *(undefined1 *)(piVar17 + 4) = 0;\n          }\n          if ((char)piVar17[8] != '\0') {\n            (*pcVar9)(piVar17[7]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[7] = 0;\n            *(undefined1 *)(piVar17 + 8) = 0;\n          }\n          if ((char)piVar17[0xd] == '\0') {\n            piVar17 = (int *)piVar17[0x10];\n          }\n          else {\n            (*pcVar9)(piVar17[0xc]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[0xc] = 0;\n            *(undefined1 *)(piVar17 + 0xd) = 0;\n            piVar17 = (int *)piVar17[0x10];\n          }\n        } while (piVar17 != (int *)0x0);\n        goto LAB_0001d97c;\n      }\n      if (((uVar15 & 0x11) != 0) && (piVar17[7] == 0)) {\n        if ((uVar15 & 0x10) == 0) {\n          iVar14 = piVar17[3];\n        }\n        else {\n          iVar14 = piVar17[0xc];\n        }\n        iVar14 = FUN_0006e8e0(iVar14);\n        if ((iVar14 == 0) && (iVar14 = unaff_EBP + 0x65cc6, local_28 != 0)) {\n          iVar14 = local_28;\n        }\n        iVar14 = (**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f1))(iVar14);\n        piVar17[7] = iVar14;\n        if (iVar14 != 0) {\n          *(undefined1 *)(piVar17 + 8) = 1;\n          __s = (char *)*piVar17;\n          goto LAB_0001ddc4;\n        }\nLAB_0001e016:\n        uVar8 = 1;\n        goto LAB_0001df65;\n      }\nLAB_0001ddc4:\n      if (__s == (char *)0x0) {\n        uVar15 = piVar17[9];\n        if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e016;\n      }\n      else {\n        iVar14 = piVar17[2];\n        if (iVar14 == 0) {\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) {\n            sVar10 = strlen(__s);\n            iVar14 = sVar10 + 1;\nLAB_0001e0cf:\n            __s = (char *)FUN_00050160(__s,iVar14);\n            *piVar17 = (int)__s;\n            if (__s == (char *)0x0) goto LAB_0001e016;\n            *(undefined1 *)(piVar17 + 1) = 1;\n            uVar15 = piVar17[9];\n          }\n        }\n        else {\n          if (*__s == '\0') {\nLAB_0001e140:\n            uVar8 = 3;\n            goto LAB_0001df65;\n          }\n          pcVar16 = __s;\n          while (pcVar16 = pcVar16 + 1, __s + iVar14 != pcVar16) {\n            if (*pcVar16 == '\0') goto LAB_0001e140;\n          }\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e0cf;\n        }\n      }\n      local_60 = (char *)piVar17[3];\n      local_54 = piVar17[5];\n      local_50 = piVar17[6];\n      if (((uVar15 & 0x6b) == 0) && (local_60 != (char *)0x0)) {\n        if (local_54 == 0) {\n          sVar10 = strlen(local_60);\n          local_54 = sVar10 + 1;\n        }\n        local_60 = (char *)FUN_00050160(local_60,local_54);\n        piVar17[3] = (int)local_60;\n        if (local_60 == (char *)0x0) goto LAB_0001e016;\n        local_54 = piVar17[5];\n        uVar15 = piVar17[9];\n        *(undefined1 *)(piVar17 + 4) = 1;\n        __s = (char *)*piVar17;\n        local_50 = piVar17[6];\n      }\n      iVar14 = piVar17[0xe];\n      sVar10 = piVar17[2];\n      iVar2 = piVar17[0xc];\n      iVar3 = piVar17[0xf];\n      iVar4 = piVar17[7];\n      iVar5 = piVar17[0xb];\n      iVar6 = piVar17[10];\n      iVar11 = (**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed))(1,0x3c);\n      if (iVar11 == 0) goto LAB_0001e016;\n      *(char **)(iVar11 + 4) = __s;\n      sVar12 = 0;\n      if ((__s != (char *)0x0) && (sVar12 = sVar10, sVar10 == 0)) {\n        sVar12 = strlen(__s);\n      }\n      *(size_t *)(iVar11 + 8) = sVar12;\n      *(char **)(iVar11 + 0xc) = local_60;\n      *(int *)(iVar11 + 0x34) = local_54;\n      *(int *)(iVar11 + 0x38) = local_50;\n      *(int *)(iVar11 + 0x14) = iVar6;\n      *(int *)(iVar11 + 0x18) = iVar5;\n      *(int *)(iVar11 + 0x1c) = iVar4;\n      *(int *)(iVar11 + 0x20) = iVar3;\n      *(int *)(iVar11 + 0x2c) = iVar2;\n      *(int *)(iVar11 + 0x30) = iVar14;\n      *(uint *)(iVar11 + 0x28) = uVar15 | 0x80;\n      if (local_5c == 0) {\n        piVar13 = (int *)*param_2;\n        if ((int *)*param_2 == (int *)0x0) {\n          piVar13 = param_1;\n        }\n        *piVar13 = iVar11;\n        *param_2 = iVar11;\n      }\n      else {\n        *(undefined4 *)(iVar11 + 0x24) = *(undefined4 *)(local_5c + 0x24);\n        *(int *)(local_5c + 0x24) = iVar11;\n      }\n      piVar13 = piVar17 + 7;\n      piVar17 = (int *)piVar17[0x10];\n      local_5c = iVar11;\n      if (*piVar13 == 0) {\n        if (piVar17 == (int *)0x0) break;\n        goto LAB_0001df4a;\n      }\n      local_28 = *piVar13;\n    } while (piVar17 != (int *)0x0);\n    uVar8 = 0;\n    pcVar9 = *(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9);\n  }" ({ "{") (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" (identifier "local_28") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_5c = 0;" (assignment_expression "local_5c = 0" (identifier "local_5c") (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar17 = piVar7;" (assignment_expression "piVar17 = piVar7" (identifier "piVar17") (= "=") (identifier "piVar7")) (; ";")) (labeled_statement "LAB_0001df4a:\n    do {\n      __s = (char *)*piVar17;\n      if ((((((__s == (char *)0x0) || (piVar17[3] == 0)) && (local_5c == 0)) ||\n           ((uVar15 = piVar17[9], piVar17[6] != 0 || piVar17[5] != 0 && ((uVar15 & 1) != 0)))) ||\n          (((uVar15 & 9) == 9 || ((piVar17[10] == 0 && ((uVar15 & 0x30) == 0x30)))))) ||\n         ((uVar15 & 10) == 10)) {\n        uVar8 = 5;\nLAB_0001df65:\n        pbVar1 = BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9;\n        pcVar9 = *(code **)pbVar1;\n        do {\n          if ((char)piVar17[1] != '\0') {\n            (*pcVar9)(*piVar17);\n            pcVar9 = *(code **)pbVar1;\n            *piVar17 = 0;\n            *(undefined1 *)(piVar17 + 1) = 0;\n          }\n          if ((char)piVar17[4] != '\0') {\n            (*pcVar9)(piVar17[3]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[3] = 0;\n            *(undefined1 *)(piVar17 + 4) = 0;\n          }\n          if ((char)piVar17[8] != '\0') {\n            (*pcVar9)(piVar17[7]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[7] = 0;\n            *(undefined1 *)(piVar17 + 8) = 0;\n          }\n          if ((char)piVar17[0xd] == '\0') {\n            piVar17 = (int *)piVar17[0x10];\n          }\n          else {\n            (*pcVar9)(piVar17[0xc]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[0xc] = 0;\n            *(undefined1 *)(piVar17 + 0xd) = 0;\n            piVar17 = (int *)piVar17[0x10];\n          }\n        } while (piVar17 != (int *)0x0);\n        goto LAB_0001d97c;\n      }\n      if (((uVar15 & 0x11) != 0) && (piVar17[7] == 0)) {\n        if ((uVar15 & 0x10) == 0) {\n          iVar14 = piVar17[3];\n        }\n        else {\n          iVar14 = piVar17[0xc];\n        }\n        iVar14 = FUN_0006e8e0(iVar14);\n        if ((iVar14 == 0) && (iVar14 = unaff_EBP + 0x65cc6, local_28 != 0)) {\n          iVar14 = local_28;\n        }\n        iVar14 = (**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f1))(iVar14);\n        piVar17[7] = iVar14;\n        if (iVar14 != 0) {\n          *(undefined1 *)(piVar17 + 8) = 1;\n          __s = (char *)*piVar17;\n          goto LAB_0001ddc4;\n        }\nLAB_0001e016:\n        uVar8 = 1;\n        goto LAB_0001df65;\n      }\nLAB_0001ddc4:\n      if (__s == (char *)0x0) {\n        uVar15 = piVar17[9];\n        if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e016;\n      }\n      else {\n        iVar14 = piVar17[2];\n        if (iVar14 == 0) {\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) {\n            sVar10 = strlen(__s);\n            iVar14 = sVar10 + 1;\nLAB_0001e0cf:\n            __s = (char *)FUN_00050160(__s,iVar14);\n            *piVar17 = (int)__s;\n            if (__s == (char *)0x0) goto LAB_0001e016;\n            *(undefined1 *)(piVar17 + 1) = 1;\n            uVar15 = piVar17[9];\n          }\n        }\n        else {\n          if (*__s == '\0') {\nLAB_0001e140:\n            uVar8 = 3;\n            goto LAB_0001df65;\n          }\n          pcVar16 = __s;\n          while (pcVar16 = pcVar16 + 1, __s + iVar14 != pcVar16) {\n            if (*pcVar16 == '\0') goto LAB_0001e140;\n          }\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e0cf;\n        }\n      }\n      local_60 = (char *)piVar17[3];\n      local_54 = piVar17[5];\n      local_50 = piVar17[6];\n      if (((uVar15 & 0x6b) == 0) && (local_60 != (char *)0x0)) {\n        if (local_54 == 0) {\n          sVar10 = strlen(local_60);\n          local_54 = sVar10 + 1;\n        }\n        local_60 = (char *)FUN_00050160(local_60,local_54);\n        piVar17[3] = (int)local_60;\n        if (local_60 == (char *)0x0) goto LAB_0001e016;\n        local_54 = piVar17[5];\n        uVar15 = piVar17[9];\n        *(undefined1 *)(piVar17 + 4) = 1;\n        __s = (char *)*piVar17;\n        local_50 = piVar17[6];\n      }\n      iVar14 = piVar17[0xe];\n      sVar10 = piVar17[2];\n      iVar2 = piVar17[0xc];\n      iVar3 = piVar17[0xf];\n      iVar4 = piVar17[7];\n      iVar5 = piVar17[0xb];\n      iVar6 = piVar17[10];\n      iVar11 = (**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed))(1,0x3c);\n      if (iVar11 == 0) goto LAB_0001e016;\n      *(char **)(iVar11 + 4) = __s;\n      sVar12 = 0;\n      if ((__s != (char *)0x0) && (sVar12 = sVar10, sVar10 == 0)) {\n        sVar12 = strlen(__s);\n      }\n      *(size_t *)(iVar11 + 8) = sVar12;\n      *(char **)(iVar11 + 0xc) = local_60;\n      *(int *)(iVar11 + 0x34) = local_54;\n      *(int *)(iVar11 + 0x38) = local_50;\n      *(int *)(iVar11 + 0x14) = iVar6;\n      *(int *)(iVar11 + 0x18) = iVar5;\n      *(int *)(iVar11 + 0x1c) = iVar4;\n      *(int *)(iVar11 + 0x20) = iVar3;\n      *(int *)(iVar11 + 0x2c) = iVar2;\n      *(int *)(iVar11 + 0x30) = iVar14;\n      *(uint *)(iVar11 + 0x28) = uVar15 | 0x80;\n      if (local_5c == 0) {\n        piVar13 = (int *)*param_2;\n        if ((int *)*param_2 == (int *)0x0) {\n          piVar13 = param_1;\n        }\n        *piVar13 = iVar11;\n        *param_2 = iVar11;\n      }\n      else {\n        *(undefined4 *)(iVar11 + 0x24) = *(undefined4 *)(local_5c + 0x24);\n        *(int *)(local_5c + 0x24) = iVar11;\n      }\n      piVar13 = piVar17 + 7;\n      piVar17 = (int *)piVar17[0x10];\n      local_5c = iVar11;\n      if (*piVar13 == 0) {\n        if (piVar17 == (int *)0x0) break;\n        goto LAB_0001df4a;\n      }\n      local_28 = *piVar13;\n    } while (piVar17 != (int *)0x0);" (statement_identifier "LAB_0001df4a") (: ":") (do_statement "do {\n      __s = (char *)*piVar17;\n      if ((((((__s == (char *)0x0) || (piVar17[3] == 0)) && (local_5c == 0)) ||\n           ((uVar15 = piVar17[9], piVar17[6] != 0 || piVar17[5] != 0 && ((uVar15 & 1) != 0)))) ||\n          (((uVar15 & 9) == 9 || ((piVar17[10] == 0 && ((uVar15 & 0x30) == 0x30)))))) ||\n         ((uVar15 & 10) == 10)) {\n        uVar8 = 5;\nLAB_0001df65:\n        pbVar1 = BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9;\n        pcVar9 = *(code **)pbVar1;\n        do {\n          if ((char)piVar17[1] != '\0') {\n            (*pcVar9)(*piVar17);\n            pcVar9 = *(code **)pbVar1;\n            *piVar17 = 0;\n            *(undefined1 *)(piVar17 + 1) = 0;\n          }\n          if ((char)piVar17[4] != '\0') {\n            (*pcVar9)(piVar17[3]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[3] = 0;\n            *(undefined1 *)(piVar17 + 4) = 0;\n          }\n          if ((char)piVar17[8] != '\0') {\n            (*pcVar9)(piVar17[7]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[7] = 0;\n            *(undefined1 *)(piVar17 + 8) = 0;\n          }\n          if ((char)piVar17[0xd] == '\0') {\n            piVar17 = (int *)piVar17[0x10];\n          }\n          else {\n            (*pcVar9)(piVar17[0xc]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[0xc] = 0;\n            *(undefined1 *)(piVar17 + 0xd) = 0;\n            piVar17 = (int *)piVar17[0x10];\n          }\n        } while (piVar17 != (int *)0x0);\n        goto LAB_0001d97c;\n      }\n      if (((uVar15 & 0x11) != 0) && (piVar17[7] == 0)) {\n        if ((uVar15 & 0x10) == 0) {\n          iVar14 = piVar17[3];\n        }\n        else {\n          iVar14 = piVar17[0xc];\n        }\n        iVar14 = FUN_0006e8e0(iVar14);\n        if ((iVar14 == 0) && (iVar14 = unaff_EBP + 0x65cc6, local_28 != 0)) {\n          iVar14 = local_28;\n        }\n        iVar14 = (**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f1))(iVar14);\n        piVar17[7] = iVar14;\n        if (iVar14 != 0) {\n          *(undefined1 *)(piVar17 + 8) = 1;\n          __s = (char *)*piVar17;\n          goto LAB_0001ddc4;\n        }\nLAB_0001e016:\n        uVar8 = 1;\n        goto LAB_0001df65;\n      }\nLAB_0001ddc4:\n      if (__s == (char *)0x0) {\n        uVar15 = piVar17[9];\n        if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e016;\n      }\n      else {\n        iVar14 = piVar17[2];\n        if (iVar14 == 0) {\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) {\n            sVar10 = strlen(__s);\n            iVar14 = sVar10 + 1;\nLAB_0001e0cf:\n            __s = (char *)FUN_00050160(__s,iVar14);\n            *piVar17 = (int)__s;\n            if (__s == (char *)0x0) goto LAB_0001e016;\n            *(undefined1 *)(piVar17 + 1) = 1;\n            uVar15 = piVar17[9];\n          }\n        }\n        else {\n          if (*__s == '\0') {\nLAB_0001e140:\n            uVar8 = 3;\n            goto LAB_0001df65;\n          }\n          pcVar16 = __s;\n          while (pcVar16 = pcVar16 + 1, __s + iVar14 != pcVar16) {\n            if (*pcVar16 == '\0') goto LAB_0001e140;\n          }\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e0cf;\n        }\n      }\n      local_60 = (char *)piVar17[3];\n      local_54 = piVar17[5];\n      local_50 = piVar17[6];\n      if (((uVar15 & 0x6b) == 0) && (local_60 != (char *)0x0)) {\n        if (local_54 == 0) {\n          sVar10 = strlen(local_60);\n          local_54 = sVar10 + 1;\n        }\n        local_60 = (char *)FUN_00050160(local_60,local_54);\n        piVar17[3] = (int)local_60;\n        if (local_60 == (char *)0x0) goto LAB_0001e016;\n        local_54 = piVar17[5];\n        uVar15 = piVar17[9];\n        *(undefined1 *)(piVar17 + 4) = 1;\n        __s = (char *)*piVar17;\n        local_50 = piVar17[6];\n      }\n      iVar14 = piVar17[0xe];\n      sVar10 = piVar17[2];\n      iVar2 = piVar17[0xc];\n      iVar3 = piVar17[0xf];\n      iVar4 = piVar17[7];\n      iVar5 = piVar17[0xb];\n      iVar6 = piVar17[10];\n      iVar11 = (**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed))(1,0x3c);\n      if (iVar11 == 0) goto LAB_0001e016;\n      *(char **)(iVar11 + 4) = __s;\n      sVar12 = 0;\n      if ((__s != (char *)0x0) && (sVar12 = sVar10, sVar10 == 0)) {\n        sVar12 = strlen(__s);\n      }\n      *(size_t *)(iVar11 + 8) = sVar12;\n      *(char **)(iVar11 + 0xc) = local_60;\n      *(int *)(iVar11 + 0x34) = local_54;\n      *(int *)(iVar11 + 0x38) = local_50;\n      *(int *)(iVar11 + 0x14) = iVar6;\n      *(int *)(iVar11 + 0x18) = iVar5;\n      *(int *)(iVar11 + 0x1c) = iVar4;\n      *(int *)(iVar11 + 0x20) = iVar3;\n      *(int *)(iVar11 + 0x2c) = iVar2;\n      *(int *)(iVar11 + 0x30) = iVar14;\n      *(uint *)(iVar11 + 0x28) = uVar15 | 0x80;\n      if (local_5c == 0) {\n        piVar13 = (int *)*param_2;\n        if ((int *)*param_2 == (int *)0x0) {\n          piVar13 = param_1;\n        }\n        *piVar13 = iVar11;\n        *param_2 = iVar11;\n      }\n      else {\n        *(undefined4 *)(iVar11 + 0x24) = *(undefined4 *)(local_5c + 0x24);\n        *(int *)(local_5c + 0x24) = iVar11;\n      }\n      piVar13 = piVar17 + 7;\n      piVar17 = (int *)piVar17[0x10];\n      local_5c = iVar11;\n      if (*piVar13 == 0) {\n        if (piVar17 == (int *)0x0) break;\n        goto LAB_0001df4a;\n      }\n      local_28 = *piVar13;\n    } while (piVar17 != (int *)0x0);" (do "do") (compound_statement "{\n      __s = (char *)*piVar17;\n      if ((((((__s == (char *)0x0) || (piVar17[3] == 0)) && (local_5c == 0)) ||\n           ((uVar15 = piVar17[9], piVar17[6] != 0 || piVar17[5] != 0 && ((uVar15 & 1) != 0)))) ||\n          (((uVar15 & 9) == 9 || ((piVar17[10] == 0 && ((uVar15 & 0x30) == 0x30)))))) ||\n         ((uVar15 & 10) == 10)) {\n        uVar8 = 5;\nLAB_0001df65:\n        pbVar1 = BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9;\n        pcVar9 = *(code **)pbVar1;\n        do {\n          if ((char)piVar17[1] != '\0') {\n            (*pcVar9)(*piVar17);\n            pcVar9 = *(code **)pbVar1;\n            *piVar17 = 0;\n            *(undefined1 *)(piVar17 + 1) = 0;\n          }\n          if ((char)piVar17[4] != '\0') {\n            (*pcVar9)(piVar17[3]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[3] = 0;\n            *(undefined1 *)(piVar17 + 4) = 0;\n          }\n          if ((char)piVar17[8] != '\0') {\n            (*pcVar9)(piVar17[7]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[7] = 0;\n            *(undefined1 *)(piVar17 + 8) = 0;\n          }\n          if ((char)piVar17[0xd] == '\0') {\n            piVar17 = (int *)piVar17[0x10];\n          }\n          else {\n            (*pcVar9)(piVar17[0xc]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[0xc] = 0;\n            *(undefined1 *)(piVar17 + 0xd) = 0;\n            piVar17 = (int *)piVar17[0x10];\n          }\n        } while (piVar17 != (int *)0x0);\n        goto LAB_0001d97c;\n      }\n      if (((uVar15 & 0x11) != 0) && (piVar17[7] == 0)) {\n        if ((uVar15 & 0x10) == 0) {\n          iVar14 = piVar17[3];\n        }\n        else {\n          iVar14 = piVar17[0xc];\n        }\n        iVar14 = FUN_0006e8e0(iVar14);\n        if ((iVar14 == 0) && (iVar14 = unaff_EBP + 0x65cc6, local_28 != 0)) {\n          iVar14 = local_28;\n        }\n        iVar14 = (**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f1))(iVar14);\n        piVar17[7] = iVar14;\n        if (iVar14 != 0) {\n          *(undefined1 *)(piVar17 + 8) = 1;\n          __s = (char *)*piVar17;\n          goto LAB_0001ddc4;\n        }\nLAB_0001e016:\n        uVar8 = 1;\n        goto LAB_0001df65;\n      }\nLAB_0001ddc4:\n      if (__s == (char *)0x0) {\n        uVar15 = piVar17[9];\n        if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e016;\n      }\n      else {\n        iVar14 = piVar17[2];\n        if (iVar14 == 0) {\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) {\n            sVar10 = strlen(__s);\n            iVar14 = sVar10 + 1;\nLAB_0001e0cf:\n            __s = (char *)FUN_00050160(__s,iVar14);\n            *piVar17 = (int)__s;\n            if (__s == (char *)0x0) goto LAB_0001e016;\n            *(undefined1 *)(piVar17 + 1) = 1;\n            uVar15 = piVar17[9];\n          }\n        }\n        else {\n          if (*__s == '\0') {\nLAB_0001e140:\n            uVar8 = 3;\n            goto LAB_0001df65;\n          }\n          pcVar16 = __s;\n          while (pcVar16 = pcVar16 + 1, __s + iVar14 != pcVar16) {\n            if (*pcVar16 == '\0') goto LAB_0001e140;\n          }\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e0cf;\n        }\n      }\n      local_60 = (char *)piVar17[3];\n      local_54 = piVar17[5];\n      local_50 = piVar17[6];\n      if (((uVar15 & 0x6b) == 0) && (local_60 != (char *)0x0)) {\n        if (local_54 == 0) {\n          sVar10 = strlen(local_60);\n          local_54 = sVar10 + 1;\n        }\n        local_60 = (char *)FUN_00050160(local_60,local_54);\n        piVar17[3] = (int)local_60;\n        if (local_60 == (char *)0x0) goto LAB_0001e016;\n        local_54 = piVar17[5];\n        uVar15 = piVar17[9];\n        *(undefined1 *)(piVar17 + 4) = 1;\n        __s = (char *)*piVar17;\n        local_50 = piVar17[6];\n      }\n      iVar14 = piVar17[0xe];\n      sVar10 = piVar17[2];\n      iVar2 = piVar17[0xc];\n      iVar3 = piVar17[0xf];\n      iVar4 = piVar17[7];\n      iVar5 = piVar17[0xb];\n      iVar6 = piVar17[10];\n      iVar11 = (**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed))(1,0x3c);\n      if (iVar11 == 0) goto LAB_0001e016;\n      *(char **)(iVar11 + 4) = __s;\n      sVar12 = 0;\n      if ((__s != (char *)0x0) && (sVar12 = sVar10, sVar10 == 0)) {\n        sVar12 = strlen(__s);\n      }\n      *(size_t *)(iVar11 + 8) = sVar12;\n      *(char **)(iVar11 + 0xc) = local_60;\n      *(int *)(iVar11 + 0x34) = local_54;\n      *(int *)(iVar11 + 0x38) = local_50;\n      *(int *)(iVar11 + 0x14) = iVar6;\n      *(int *)(iVar11 + 0x18) = iVar5;\n      *(int *)(iVar11 + 0x1c) = iVar4;\n      *(int *)(iVar11 + 0x20) = iVar3;\n      *(int *)(iVar11 + 0x2c) = iVar2;\n      *(int *)(iVar11 + 0x30) = iVar14;\n      *(uint *)(iVar11 + 0x28) = uVar15 | 0x80;\n      if (local_5c == 0) {\n        piVar13 = (int *)*param_2;\n        if ((int *)*param_2 == (int *)0x0) {\n          piVar13 = param_1;\n        }\n        *piVar13 = iVar11;\n        *param_2 = iVar11;\n      }\n      else {\n        *(undefined4 *)(iVar11 + 0x24) = *(undefined4 *)(local_5c + 0x24);\n        *(int *)(local_5c + 0x24) = iVar11;\n      }\n      piVar13 = piVar17 + 7;\n      piVar17 = (int *)piVar17[0x10];\n      local_5c = iVar11;\n      if (*piVar13 == 0) {\n        if (piVar17 == (int *)0x0) break;\n        goto LAB_0001df4a;\n      }\n      local_28 = *piVar13;\n    }" ({ "{") (expression_statement "__s = (char *)*piVar17;" (assignment_expression "__s = (char *)*piVar17" (identifier "__s") (= "=") (cast_expression "(char *)*piVar17" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar17" (* "*") (identifier "piVar17")))) (; ";")) (if_statement "if ((((((__s == (char *)0x0) || (piVar17[3] == 0)) && (local_5c == 0)) ||\n           ((uVar15 = piVar17[9], piVar17[6] != 0 || piVar17[5] != 0 && ((uVar15 & 1) != 0)))) ||\n          (((uVar15 & 9) == 9 || ((piVar17[10] == 0 && ((uVar15 & 0x30) == 0x30)))))) ||\n         ((uVar15 & 10) == 10)) {\n        uVar8 = 5;\nLAB_0001df65:\n        pbVar1 = BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9;\n        pcVar9 = *(code **)pbVar1;\n        do {\n          if ((char)piVar17[1] != '\0') {\n            (*pcVar9)(*piVar17);\n            pcVar9 = *(code **)pbVar1;\n            *piVar17 = 0;\n            *(undefined1 *)(piVar17 + 1) = 0;\n          }\n          if ((char)piVar17[4] != '\0') {\n            (*pcVar9)(piVar17[3]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[3] = 0;\n            *(undefined1 *)(piVar17 + 4) = 0;\n          }\n          if ((char)piVar17[8] != '\0') {\n            (*pcVar9)(piVar17[7]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[7] = 0;\n            *(undefined1 *)(piVar17 + 8) = 0;\n          }\n          if ((char)piVar17[0xd] == '\0') {\n            piVar17 = (int *)piVar17[0x10];\n          }\n          else {\n            (*pcVar9)(piVar17[0xc]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[0xc] = 0;\n            *(undefined1 *)(piVar17 + 0xd) = 0;\n            piVar17 = (int *)piVar17[0x10];\n          }\n        } while (piVar17 != (int *)0x0);\n        goto LAB_0001d97c;\n      }" (if "if") (parenthesized_expression "((((((__s == (char *)0x0) || (piVar17[3] == 0)) && (local_5c == 0)) ||\n           ((uVar15 = piVar17[9], piVar17[6] != 0 || piVar17[5] != 0 && ((uVar15 & 1) != 0)))) ||\n          (((uVar15 & 9) == 9 || ((piVar17[10] == 0 && ((uVar15 & 0x30) == 0x30)))))) ||\n         ((uVar15 & 10) == 10))" (( "(") (binary_expression "(((((__s == (char *)0x0) || (piVar17[3] == 0)) && (local_5c == 0)) ||\n           ((uVar15 = piVar17[9], piVar17[6] != 0 || piVar17[5] != 0 && ((uVar15 & 1) != 0)))) ||\n          (((uVar15 & 9) == 9 || ((piVar17[10] == 0 && ((uVar15 & 0x30) == 0x30)))))) ||\n         ((uVar15 & 10) == 10)" (parenthesized_expression "(((((__s == (char *)0x0) || (piVar17[3] == 0)) && (local_5c == 0)) ||\n           ((uVar15 = piVar17[9], piVar17[6] != 0 || piVar17[5] != 0 && ((uVar15 & 1) != 0)))) ||\n          (((uVar15 & 9) == 9 || ((piVar17[10] == 0 && ((uVar15 & 0x30) == 0x30))))))" (( "(") (binary_expression "((((__s == (char *)0x0) || (piVar17[3] == 0)) && (local_5c == 0)) ||\n           ((uVar15 = piVar17[9], piVar17[6] != 0 || piVar17[5] != 0 && ((uVar15 & 1) != 0)))) ||\n          (((uVar15 & 9) == 9 || ((piVar17[10] == 0 && ((uVar15 & 0x30) == 0x30)))))" (parenthesized_expression "((((__s == (char *)0x0) || (piVar17[3] == 0)) && (local_5c == 0)) ||\n           ((uVar15 = piVar17[9], piVar17[6] != 0 || piVar17[5] != 0 && ((uVar15 & 1) != 0))))" (( "(") (binary_expression "(((__s == (char *)0x0) || (piVar17[3] == 0)) && (local_5c == 0)) ||\n           ((uVar15 = piVar17[9], piVar17[6] != 0 || piVar17[5] != 0 && ((uVar15 & 1) != 0)))" (parenthesized_expression "(((__s == (char *)0x0) || (piVar17[3] == 0)) && (local_5c == 0))" (( "(") (binary_expression "((__s == (char *)0x0) || (piVar17[3] == 0)) && (local_5c == 0)" (parenthesized_expression "((__s == (char *)0x0) || (piVar17[3] == 0))" (( "(") (binary_expression "(__s == (char *)0x0) || (piVar17[3] == 0)" (parenthesized_expression "(__s == (char *)0x0)" (( "(") (binary_expression "__s == (char *)0x0" (identifier "__s") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(piVar17[3] == 0)" (( "(") (binary_expression "piVar17[3] == 0" (subscript_expression "piVar17[3]" (identifier "piVar17") ([ "[") (number_literal "3") (] "]")) (== "==") (number_literal "0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(local_5c == 0)" (( "(") (binary_expression "local_5c == 0" (identifier "local_5c") (== "==") (number_literal "0")) () ")"))) () ")")) (|| "||") (parenthesized_expression "((uVar15 = piVar17[9], piVar17[6] != 0 || piVar17[5] != 0 && ((uVar15 & 1) != 0)))" (( "(") (parenthesized_expression "(uVar15 = piVar17[9], piVar17[6] != 0 || piVar17[5] != 0 && ((uVar15 & 1) != 0))" (( "(") (comma_expression "uVar15 = piVar17[9], piVar17[6] != 0 || piVar17[5] != 0 && ((uVar15 & 1) != 0)" (assignment_expression "uVar15 = piVar17[9]" (identifier "uVar15") (= "=") (subscript_expression "piVar17[9]" (identifier "piVar17") ([ "[") (number_literal "9") (] "]"))) (, ",") (binary_expression "piVar17[6] != 0 || piVar17[5] != 0 && ((uVar15 & 1) != 0)" (binary_expression "piVar17[6] != 0" (subscript_expression "piVar17[6]" (identifier "piVar17") ([ "[") (number_literal "6") (] "]")) (!= "!=") (number_literal "0")) (|| "||") (binary_expression "piVar17[5] != 0 && ((uVar15 & 1) != 0)" (binary_expression "piVar17[5] != 0" (subscript_expression "piVar17[5]" (identifier "piVar17") ([ "[") (number_literal "5") (] "]")) (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "((uVar15 & 1) != 0)" (( "(") (binary_expression "(uVar15 & 1) != 0" (parenthesized_expression "(uVar15 & 1)" (( "(") (binary_expression "uVar15 & 1" (identifier "uVar15") (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")"))))) () ")")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(((uVar15 & 9) == 9 || ((piVar17[10] == 0 && ((uVar15 & 0x30) == 0x30)))))" (( "(") (parenthesized_expression "((uVar15 & 9) == 9 || ((piVar17[10] == 0 && ((uVar15 & 0x30) == 0x30))))" (( "(") (binary_expression "(uVar15 & 9) == 9 || ((piVar17[10] == 0 && ((uVar15 & 0x30) == 0x30)))" (binary_expression "(uVar15 & 9) == 9" (parenthesized_expression "(uVar15 & 9)" (( "(") (binary_expression "uVar15 & 9" (identifier "uVar15") (& "&") (number_literal "9")) () ")")) (== "==") (number_literal "9")) (|| "||") (parenthesized_expression "((piVar17[10] == 0 && ((uVar15 & 0x30) == 0x30)))" (( "(") (parenthesized_expression "(piVar17[10] == 0 && ((uVar15 & 0x30) == 0x30))" (( "(") (binary_expression "piVar17[10] == 0 && ((uVar15 & 0x30) == 0x30)" (binary_expression "piVar17[10] == 0" (subscript_expression "piVar17[10]" (identifier "piVar17") ([ "[") (number_literal "10") (] "]")) (== "==") (number_literal "0")) (&& "&&") (parenthesized_expression "((uVar15 & 0x30) == 0x30)" (( "(") (binary_expression "(uVar15 & 0x30) == 0x30" (parenthesized_expression "(uVar15 & 0x30)" (( "(") (binary_expression "uVar15 & 0x30" (identifier "uVar15") (& "&") (number_literal "0x30")) () ")")) (== "==") (number_literal "0x30")) () ")"))) () ")")) () ")"))) () ")")) () ")"))) () ")")) (|| "||") (parenthesized_expression "((uVar15 & 10) == 10)" (( "(") (binary_expression "(uVar15 & 10) == 10" (parenthesized_expression "(uVar15 & 10)" (( "(") (binary_expression "uVar15 & 10" (identifier "uVar15") (& "&") (number_literal "10")) () ")")) (== "==") (number_literal "10")) () ")"))) () ")")) (compound_statement "{\n        uVar8 = 5;\nLAB_0001df65:\n        pbVar1 = BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9;\n        pcVar9 = *(code **)pbVar1;\n        do {\n          if ((char)piVar17[1] != '\0') {\n            (*pcVar9)(*piVar17);\n            pcVar9 = *(code **)pbVar1;\n            *piVar17 = 0;\n            *(undefined1 *)(piVar17 + 1) = 0;\n          }\n          if ((char)piVar17[4] != '\0') {\n            (*pcVar9)(piVar17[3]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[3] = 0;\n            *(undefined1 *)(piVar17 + 4) = 0;\n          }\n          if ((char)piVar17[8] != '\0') {\n            (*pcVar9)(piVar17[7]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[7] = 0;\n            *(undefined1 *)(piVar17 + 8) = 0;\n          }\n          if ((char)piVar17[0xd] == '\0') {\n            piVar17 = (int *)piVar17[0x10];\n          }\n          else {\n            (*pcVar9)(piVar17[0xc]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[0xc] = 0;\n            *(undefined1 *)(piVar17 + 0xd) = 0;\n            piVar17 = (int *)piVar17[0x10];\n          }\n        } while (piVar17 != (int *)0x0);\n        goto LAB_0001d97c;\n      }" ({ "{") (expression_statement "uVar8 = 5;" (assignment_expression "uVar8 = 5" (identifier "uVar8") (= "=") (number_literal "5")) (; ";")) (labeled_statement "LAB_0001df65:\n        pbVar1 = BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9;" (statement_identifier "LAB_0001df65") (: ":") (expression_statement "pbVar1 = BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9;" (assignment_expression "pbVar1 = BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9" (identifier "pbVar1") (= "=") (binary_expression "BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9" (binary_expression "BYTE_ARRAY_0009905d + unaff_EBP" (identifier "BYTE_ARRAY_0009905d") (+ "+") (identifier "unaff_EBP")) (+ "+") (number_literal "0x7f9"))) (; ";"))) (expression_statement "pcVar9 = *(code **)pbVar1;" (assignment_expression "pcVar9 = *(code **)pbVar1" (identifier "pcVar9") (= "=") (pointer_expression "*(code **)pbVar1" (* "*") (cast_expression "(code **)pbVar1" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "pbVar1")))) (; ";")) (do_statement "do {\n          if ((char)piVar17[1] != '\0') {\n            (*pcVar9)(*piVar17);\n            pcVar9 = *(code **)pbVar1;\n            *piVar17 = 0;\n            *(undefined1 *)(piVar17 + 1) = 0;\n          }\n          if ((char)piVar17[4] != '\0') {\n            (*pcVar9)(piVar17[3]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[3] = 0;\n            *(undefined1 *)(piVar17 + 4) = 0;\n          }\n          if ((char)piVar17[8] != '\0') {\n            (*pcVar9)(piVar17[7]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[7] = 0;\n            *(undefined1 *)(piVar17 + 8) = 0;\n          }\n          if ((char)piVar17[0xd] == '\0') {\n            piVar17 = (int *)piVar17[0x10];\n          }\n          else {\n            (*pcVar9)(piVar17[0xc]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[0xc] = 0;\n            *(undefined1 *)(piVar17 + 0xd) = 0;\n            piVar17 = (int *)piVar17[0x10];\n          }\n        } while (piVar17 != (int *)0x0);" (do "do") (compound_statement "{\n          if ((char)piVar17[1] != '\0') {\n            (*pcVar9)(*piVar17);\n            pcVar9 = *(code **)pbVar1;\n            *piVar17 = 0;\n            *(undefined1 *)(piVar17 + 1) = 0;\n          }\n          if ((char)piVar17[4] != '\0') {\n            (*pcVar9)(piVar17[3]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[3] = 0;\n            *(undefined1 *)(piVar17 + 4) = 0;\n          }\n          if ((char)piVar17[8] != '\0') {\n            (*pcVar9)(piVar17[7]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[7] = 0;\n            *(undefined1 *)(piVar17 + 8) = 0;\n          }\n          if ((char)piVar17[0xd] == '\0') {\n            piVar17 = (int *)piVar17[0x10];\n          }\n          else {\n            (*pcVar9)(piVar17[0xc]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[0xc] = 0;\n            *(undefined1 *)(piVar17 + 0xd) = 0;\n            piVar17 = (int *)piVar17[0x10];\n          }\n        }" ({ "{") (if_statement "if ((char)piVar17[1] != '\0') {\n            (*pcVar9)(*piVar17);\n            pcVar9 = *(code **)pbVar1;\n            *piVar17 = 0;\n            *(undefined1 *)(piVar17 + 1) = 0;\n          }" (if "if") (parenthesized_expression "((char)piVar17[1] != '\0')" (( "(") (binary_expression "(char)piVar17[1] != '\0'" (cast_expression "(char)piVar17[1]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "piVar17[1]" (identifier "piVar17") ([ "[") (number_literal "1") (] "]"))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n            (*pcVar9)(*piVar17);\n            pcVar9 = *(code **)pbVar1;\n            *piVar17 = 0;\n            *(undefined1 *)(piVar17 + 1) = 0;\n          }" ({ "{") (expression_statement "(*pcVar9)(*piVar17);" (call_expression "(*pcVar9)(*piVar17)" (parenthesized_expression "(*pcVar9)" (( "(") (pointer_expression "*pcVar9" (* "*") (identifier "pcVar9")) () ")")) (argument_list "(*piVar17)" (( "(") (pointer_expression "*piVar17" (* "*") (identifier "piVar17")) () ")"))) (; ";")) (expression_statement "pcVar9 = *(code **)pbVar1;" (assignment_expression "pcVar9 = *(code **)pbVar1" (identifier "pcVar9") (= "=") (pointer_expression "*(code **)pbVar1" (* "*") (cast_expression "(code **)pbVar1" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "pbVar1")))) (; ";")) (expression_statement "*piVar17 = 0;" (assignment_expression "*piVar17 = 0" (pointer_expression "*piVar17" (* "*") (identifier "piVar17")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)(piVar17 + 1) = 0;" (assignment_expression "*(undefined1 *)(piVar17 + 1) = 0" (pointer_expression "*(undefined1 *)(piVar17 + 1)" (* "*") (cast_expression "(undefined1 *)(piVar17 + 1)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar17 + 1)" (( "(") (binary_expression "piVar17 + 1" (identifier "piVar17") (+ "+") (number_literal "1")) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}"))) (if_statement "if ((char)piVar17[4] != '\0') {\n            (*pcVar9)(piVar17[3]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[3] = 0;\n            *(undefined1 *)(piVar17 + 4) = 0;\n          }" (if "if") (parenthesized_expression "((char)piVar17[4] != '\0')" (( "(") (binary_expression "(char)piVar17[4] != '\0'" (cast_expression "(char)piVar17[4]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "piVar17[4]" (identifier "piVar17") ([ "[") (number_literal "4") (] "]"))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n            (*pcVar9)(piVar17[3]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[3] = 0;\n            *(undefined1 *)(piVar17 + 4) = 0;\n          }" ({ "{") (expression_statement "(*pcVar9)(piVar17[3]);" (call_expression "(*pcVar9)(piVar17[3])" (parenthesized_expression "(*pcVar9)" (( "(") (pointer_expression "*pcVar9" (* "*") (identifier "pcVar9")) () ")")) (argument_list "(piVar17[3])" (( "(") (subscript_expression "piVar17[3]" (identifier "piVar17") ([ "[") (number_literal "3") (] "]")) () ")"))) (; ";")) (expression_statement "pcVar9 = *(code **)pbVar1;" (assignment_expression "pcVar9 = *(code **)pbVar1" (identifier "pcVar9") (= "=") (pointer_expression "*(code **)pbVar1" (* "*") (cast_expression "(code **)pbVar1" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "pbVar1")))) (; ";")) (expression_statement "piVar17[3] = 0;" (assignment_expression "piVar17[3] = 0" (subscript_expression "piVar17[3]" (identifier "piVar17") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)(piVar17 + 4) = 0;" (assignment_expression "*(undefined1 *)(piVar17 + 4) = 0" (pointer_expression "*(undefined1 *)(piVar17 + 4)" (* "*") (cast_expression "(undefined1 *)(piVar17 + 4)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar17 + 4)" (( "(") (binary_expression "piVar17 + 4" (identifier "piVar17") (+ "+") (number_literal "4")) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}"))) (if_statement "if ((char)piVar17[8] != '\0') {\n            (*pcVar9)(piVar17[7]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[7] = 0;\n            *(undefined1 *)(piVar17 + 8) = 0;\n          }" (if "if") (parenthesized_expression "((char)piVar17[8] != '\0')" (( "(") (binary_expression "(char)piVar17[8] != '\0'" (cast_expression "(char)piVar17[8]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "piVar17[8]" (identifier "piVar17") ([ "[") (number_literal "8") (] "]"))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n            (*pcVar9)(piVar17[7]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[7] = 0;\n            *(undefined1 *)(piVar17 + 8) = 0;\n          }" ({ "{") (expression_statement "(*pcVar9)(piVar17[7]);" (call_expression "(*pcVar9)(piVar17[7])" (parenthesized_expression "(*pcVar9)" (( "(") (pointer_expression "*pcVar9" (* "*") (identifier "pcVar9")) () ")")) (argument_list "(piVar17[7])" (( "(") (subscript_expression "piVar17[7]" (identifier "piVar17") ([ "[") (number_literal "7") (] "]")) () ")"))) (; ";")) (expression_statement "pcVar9 = *(code **)pbVar1;" (assignment_expression "pcVar9 = *(code **)pbVar1" (identifier "pcVar9") (= "=") (pointer_expression "*(code **)pbVar1" (* "*") (cast_expression "(code **)pbVar1" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "pbVar1")))) (; ";")) (expression_statement "piVar17[7] = 0;" (assignment_expression "piVar17[7] = 0" (subscript_expression "piVar17[7]" (identifier "piVar17") ([ "[") (number_literal "7") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)(piVar17 + 8) = 0;" (assignment_expression "*(undefined1 *)(piVar17 + 8) = 0" (pointer_expression "*(undefined1 *)(piVar17 + 8)" (* "*") (cast_expression "(undefined1 *)(piVar17 + 8)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar17 + 8)" (( "(") (binary_expression "piVar17 + 8" (identifier "piVar17") (+ "+") (number_literal "8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}"))) (if_statement "if ((char)piVar17[0xd] == '\0') {\n            piVar17 = (int *)piVar17[0x10];\n          }\n          else {\n            (*pcVar9)(piVar17[0xc]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[0xc] = 0;\n            *(undefined1 *)(piVar17 + 0xd) = 0;\n            piVar17 = (int *)piVar17[0x10];\n          }" (if "if") (parenthesized_expression "((char)piVar17[0xd] == '\0')" (( "(") (binary_expression "(char)piVar17[0xd] == '\0'" (cast_expression "(char)piVar17[0xd]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "piVar17[0xd]" (identifier "piVar17") ([ "[") (number_literal "0xd") (] "]"))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n            piVar17 = (int *)piVar17[0x10];\n          }" ({ "{") (expression_statement "piVar17 = (int *)piVar17[0x10];" (assignment_expression "piVar17 = (int *)piVar17[0x10]" (identifier "piVar17") (= "=") (cast_expression "(int *)piVar17[0x10]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar17[0x10]" (identifier "piVar17") ([ "[") (number_literal "0x10") (] "]")))) (; ";")) (} "}")) (else_clause "else {\n            (*pcVar9)(piVar17[0xc]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[0xc] = 0;\n            *(undefined1 *)(piVar17 + 0xd) = 0;\n            piVar17 = (int *)piVar17[0x10];\n          }" (else "else") (compound_statement "{\n            (*pcVar9)(piVar17[0xc]);\n            pcVar9 = *(code **)pbVar1;\n            piVar17[0xc] = 0;\n            *(undefined1 *)(piVar17 + 0xd) = 0;\n            piVar17 = (int *)piVar17[0x10];\n          }" ({ "{") (expression_statement "(*pcVar9)(piVar17[0xc]);" (call_expression "(*pcVar9)(piVar17[0xc])" (parenthesized_expression "(*pcVar9)" (( "(") (pointer_expression "*pcVar9" (* "*") (identifier "pcVar9")) () ")")) (argument_list "(piVar17[0xc])" (( "(") (subscript_expression "piVar17[0xc]" (identifier "piVar17") ([ "[") (number_literal "0xc") (] "]")) () ")"))) (; ";")) (expression_statement "pcVar9 = *(code **)pbVar1;" (assignment_expression "pcVar9 = *(code **)pbVar1" (identifier "pcVar9") (= "=") (pointer_expression "*(code **)pbVar1" (* "*") (cast_expression "(code **)pbVar1" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "pbVar1")))) (; ";")) (expression_statement "piVar17[0xc] = 0;" (assignment_expression "piVar17[0xc] = 0" (subscript_expression "piVar17[0xc]" (identifier "piVar17") ([ "[") (number_literal "0xc") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)(piVar17 + 0xd) = 0;" (assignment_expression "*(undefined1 *)(piVar17 + 0xd) = 0" (pointer_expression "*(undefined1 *)(piVar17 + 0xd)" (* "*") (cast_expression "(undefined1 *)(piVar17 + 0xd)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar17 + 0xd)" (( "(") (binary_expression "piVar17 + 0xd" (identifier "piVar17") (+ "+") (number_literal "0xd")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar17 = (int *)piVar17[0x10];" (assignment_expression "piVar17 = (int *)piVar17[0x10]" (identifier "piVar17") (= "=") (cast_expression "(int *)piVar17[0x10]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar17[0x10]" (identifier "piVar17") ([ "[") (number_literal "0x10") (] "]")))) (; ";")) (} "}")))) (} "}")) (while "while") (parenthesized_expression "(piVar17 != (int *)0x0)" (( "(") (binary_expression "piVar17 != (int *)0x0" (identifier "piVar17") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (goto_statement "goto LAB_0001d97c;" (goto "goto") (statement_identifier "LAB_0001d97c") (; ";")) (} "}"))) (if_statement "if (((uVar15 & 0x11) != 0) && (piVar17[7] == 0)) {\n        if ((uVar15 & 0x10) == 0) {\n          iVar14 = piVar17[3];\n        }\n        else {\n          iVar14 = piVar17[0xc];\n        }\n        iVar14 = FUN_0006e8e0(iVar14);\n        if ((iVar14 == 0) && (iVar14 = unaff_EBP + 0x65cc6, local_28 != 0)) {\n          iVar14 = local_28;\n        }\n        iVar14 = (**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f1))(iVar14);\n        piVar17[7] = iVar14;\n        if (iVar14 != 0) {\n          *(undefined1 *)(piVar17 + 8) = 1;\n          __s = (char *)*piVar17;\n          goto LAB_0001ddc4;\n        }\nLAB_0001e016:\n        uVar8 = 1;\n        goto LAB_0001df65;\n      }" (if "if") (parenthesized_expression "(((uVar15 & 0x11) != 0) && (piVar17[7] == 0))" (( "(") (binary_expression "((uVar15 & 0x11) != 0) && (piVar17[7] == 0)" (parenthesized_expression "((uVar15 & 0x11) != 0)" (( "(") (binary_expression "(uVar15 & 0x11) != 0" (parenthesized_expression "(uVar15 & 0x11)" (( "(") (binary_expression "uVar15 & 0x11" (identifier "uVar15") (& "&") (number_literal "0x11")) () ")")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(piVar17[7] == 0)" (( "(") (binary_expression "piVar17[7] == 0" (subscript_expression "piVar17[7]" (identifier "piVar17") ([ "[") (number_literal "7") (] "]")) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n        if ((uVar15 & 0x10) == 0) {\n          iVar14 = piVar17[3];\n        }\n        else {\n          iVar14 = piVar17[0xc];\n        }\n        iVar14 = FUN_0006e8e0(iVar14);\n        if ((iVar14 == 0) && (iVar14 = unaff_EBP + 0x65cc6, local_28 != 0)) {\n          iVar14 = local_28;\n        }\n        iVar14 = (**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f1))(iVar14);\n        piVar17[7] = iVar14;\n        if (iVar14 != 0) {\n          *(undefined1 *)(piVar17 + 8) = 1;\n          __s = (char *)*piVar17;\n          goto LAB_0001ddc4;\n        }\nLAB_0001e016:\n        uVar8 = 1;\n        goto LAB_0001df65;\n      }" ({ "{") (if_statement "if ((uVar15 & 0x10) == 0) {\n          iVar14 = piVar17[3];\n        }\n        else {\n          iVar14 = piVar17[0xc];\n        }" (if "if") (parenthesized_expression "((uVar15 & 0x10) == 0)" (( "(") (binary_expression "(uVar15 & 0x10) == 0" (parenthesized_expression "(uVar15 & 0x10)" (( "(") (binary_expression "uVar15 & 0x10" (identifier "uVar15") (& "&") (number_literal "0x10")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          iVar14 = piVar17[3];\n        }" ({ "{") (expression_statement "iVar14 = piVar17[3];" (assignment_expression "iVar14 = piVar17[3]" (identifier "iVar14") (= "=") (subscript_expression "piVar17[3]" (identifier "piVar17") ([ "[") (number_literal "3") (] "]"))) (; ";")) (} "}")) (else_clause "else {\n          iVar14 = piVar17[0xc];\n        }" (else "else") (compound_statement "{\n          iVar14 = piVar17[0xc];\n        }" ({ "{") (expression_statement "iVar14 = piVar17[0xc];" (assignment_expression "iVar14 = piVar17[0xc]" (identifier "iVar14") (= "=") (subscript_expression "piVar17[0xc]" (identifier "piVar17") ([ "[") (number_literal "0xc") (] "]"))) (; ";")) (} "}")))) (expression_statement "iVar14 = FUN_0006e8e0(iVar14);" (assignment_expression "iVar14 = FUN_0006e8e0(iVar14)" (identifier "iVar14") (= "=") (call_expression "FUN_0006e8e0(iVar14)" (identifier "FUN_0006e8e0") (argument_list "(iVar14)" (( "(") (identifier "iVar14") () ")")))) (; ";")) (if_statement "if ((iVar14 == 0) && (iVar14 = unaff_EBP + 0x65cc6, local_28 != 0)) {\n          iVar14 = local_28;\n        }" (if "if") (parenthesized_expression "((iVar14 == 0) && (iVar14 = unaff_EBP + 0x65cc6, local_28 != 0))" (( "(") (binary_expression "(iVar14 == 0) && (iVar14 = unaff_EBP + 0x65cc6, local_28 != 0)" (parenthesized_expression "(iVar14 == 0)" (( "(") (binary_expression "iVar14 == 0" (identifier "iVar14") (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar14 = unaff_EBP + 0x65cc6, local_28 != 0)" (( "(") (comma_expression "iVar14 = unaff_EBP + 0x65cc6, local_28 != 0" (assignment_expression "iVar14 = unaff_EBP + 0x65cc6" (identifier "iVar14") (= "=") (binary_expression "unaff_EBP + 0x65cc6" (identifier "unaff_EBP") (+ "+") (number_literal "0x65cc6"))) (, ",") (binary_expression "local_28 != 0" (identifier "local_28") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n          iVar14 = local_28;\n        }" ({ "{") (expression_statement "iVar14 = local_28;" (assignment_expression "iVar14 = local_28" (identifier "iVar14") (= "=") (identifier "local_28")) (; ";")) (} "}"))) (expression_statement "iVar14 = (**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f1))(iVar14);" (assignment_expression "iVar14 = (**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f1))(iVar14)" (identifier "iVar14") (= "=") (call_expression "(**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f1))(iVar14)" (parenthesized_expression "(**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f1))" (( "(") (pointer_expression "**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f1)" (* "*") (pointer_expression "*(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f1)" (* "*") (cast_expression "(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f1)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f1)" (( "(") (binary_expression "BYTE_ARRAY_0009905d + unaff_EBP + 0x7f1" (binary_expression "BYTE_ARRAY_0009905d + unaff_EBP" (identifier "BYTE_ARRAY_0009905d") (+ "+") (identifier "unaff_EBP")) (+ "+") (number_literal "0x7f1")) () ")"))))) () ")")) (argument_list "(iVar14)" (( "(") (identifier "iVar14") () ")")))) (; ";")) (expression_statement "piVar17[7] = iVar14;" (assignment_expression "piVar17[7] = iVar14" (subscript_expression "piVar17[7]" (identifier "piVar17") ([ "[") (number_literal "7") (] "]")) (= "=") (identifier "iVar14")) (; ";")) (if_statement "if (iVar14 != 0) {\n          *(undefined1 *)(piVar17 + 8) = 1;\n          __s = (char *)*piVar17;\n          goto LAB_0001ddc4;\n        }" (if "if") (parenthesized_expression "(iVar14 != 0)" (( "(") (binary_expression "iVar14 != 0" (identifier "iVar14") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          *(undefined1 *)(piVar17 + 8) = 1;\n          __s = (char *)*piVar17;\n          goto LAB_0001ddc4;\n        }" ({ "{") (expression_statement "*(undefined1 *)(piVar17 + 8) = 1;" (assignment_expression "*(undefined1 *)(piVar17 + 8) = 1" (pointer_expression "*(undefined1 *)(piVar17 + 8)" (* "*") (cast_expression "(undefined1 *)(piVar17 + 8)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar17 + 8)" (( "(") (binary_expression "piVar17 + 8" (identifier "piVar17") (+ "+") (number_literal "8")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "__s = (char *)*piVar17;" (assignment_expression "__s = (char *)*piVar17" (identifier "__s") (= "=") (cast_expression "(char *)*piVar17" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar17" (* "*") (identifier "piVar17")))) (; ";")) (goto_statement "goto LAB_0001ddc4;" (goto "goto") (statement_identifier "LAB_0001ddc4") (; ";")) (} "}"))) (labeled_statement "LAB_0001e016:\n        uVar8 = 1;" (statement_identifier "LAB_0001e016") (: ":") (expression_statement "uVar8 = 1;" (assignment_expression "uVar8 = 1" (identifier "uVar8") (= "=") (number_literal "1")) (; ";"))) (goto_statement "goto LAB_0001df65;" (goto "goto") (statement_identifier "LAB_0001df65") (; ";")) (} "}"))) (labeled_statement "LAB_0001ddc4:\n      if (__s == (char *)0x0) {\n        uVar15 = piVar17[9];\n        if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e016;\n      }\n      else {\n        iVar14 = piVar17[2];\n        if (iVar14 == 0) {\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) {\n            sVar10 = strlen(__s);\n            iVar14 = sVar10 + 1;\nLAB_0001e0cf:\n            __s = (char *)FUN_00050160(__s,iVar14);\n            *piVar17 = (int)__s;\n            if (__s == (char *)0x0) goto LAB_0001e016;\n            *(undefined1 *)(piVar17 + 1) = 1;\n            uVar15 = piVar17[9];\n          }\n        }\n        else {\n          if (*__s == '\0') {\nLAB_0001e140:\n            uVar8 = 3;\n            goto LAB_0001df65;\n          }\n          pcVar16 = __s;\n          while (pcVar16 = pcVar16 + 1, __s + iVar14 != pcVar16) {\n            if (*pcVar16 == '\0') goto LAB_0001e140;\n          }\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e0cf;\n        }\n      }" (statement_identifier "LAB_0001ddc4") (: ":") (if_statement "if (__s == (char *)0x0) {\n        uVar15 = piVar17[9];\n        if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e016;\n      }\n      else {\n        iVar14 = piVar17[2];\n        if (iVar14 == 0) {\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) {\n            sVar10 = strlen(__s);\n            iVar14 = sVar10 + 1;\nLAB_0001e0cf:\n            __s = (char *)FUN_00050160(__s,iVar14);\n            *piVar17 = (int)__s;\n            if (__s == (char *)0x0) goto LAB_0001e016;\n            *(undefined1 *)(piVar17 + 1) = 1;\n            uVar15 = piVar17[9];\n          }\n        }\n        else {\n          if (*__s == '\0') {\nLAB_0001e140:\n            uVar8 = 3;\n            goto LAB_0001df65;\n          }\n          pcVar16 = __s;\n          while (pcVar16 = pcVar16 + 1, __s + iVar14 != pcVar16) {\n            if (*pcVar16 == '\0') goto LAB_0001e140;\n          }\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e0cf;\n        }\n      }" (if "if") (parenthesized_expression "(__s == (char *)0x0)" (( "(") (binary_expression "__s == (char *)0x0" (identifier "__s") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        uVar15 = piVar17[9];\n        if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e016;\n      }" ({ "{") (expression_statement "uVar15 = piVar17[9];" (assignment_expression "uVar15 = piVar17[9]" (identifier "uVar15") (= "=") (subscript_expression "piVar17[9]" (identifier "piVar17") ([ "[") (number_literal "9") (] "]"))) (; ";")) (if_statement "if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e016;" (if "if") (parenthesized_expression "(((uVar15 & 4) == 0) && (piVar7 == piVar17))" (( "(") (binary_expression "((uVar15 & 4) == 0) && (piVar7 == piVar17)" (parenthesized_expression "((uVar15 & 4) == 0)" (( "(") (binary_expression "(uVar15 & 4) == 0" (parenthesized_expression "(uVar15 & 4)" (( "(") (binary_expression "uVar15 & 4" (identifier "uVar15") (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(piVar7 == piVar17)" (( "(") (binary_expression "piVar7 == piVar17" (identifier "piVar7") (== "==") (identifier "piVar17")) () ")"))) () ")")) (goto_statement "goto LAB_0001e016;" (goto "goto") (statement_identifier "LAB_0001e016") (; ";"))) (} "}")) (else_clause "else {\n        iVar14 = piVar17[2];\n        if (iVar14 == 0) {\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) {\n            sVar10 = strlen(__s);\n            iVar14 = sVar10 + 1;\nLAB_0001e0cf:\n            __s = (char *)FUN_00050160(__s,iVar14);\n            *piVar17 = (int)__s;\n            if (__s == (char *)0x0) goto LAB_0001e016;\n            *(undefined1 *)(piVar17 + 1) = 1;\n            uVar15 = piVar17[9];\n          }\n        }\n        else {\n          if (*__s == '\0') {\nLAB_0001e140:\n            uVar8 = 3;\n            goto LAB_0001df65;\n          }\n          pcVar16 = __s;\n          while (pcVar16 = pcVar16 + 1, __s + iVar14 != pcVar16) {\n            if (*pcVar16 == '\0') goto LAB_0001e140;\n          }\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e0cf;\n        }\n      }" (else "else") (compound_statement "{\n        iVar14 = piVar17[2];\n        if (iVar14 == 0) {\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) {\n            sVar10 = strlen(__s);\n            iVar14 = sVar10 + 1;\nLAB_0001e0cf:\n            __s = (char *)FUN_00050160(__s,iVar14);\n            *piVar17 = (int)__s;\n            if (__s == (char *)0x0) goto LAB_0001e016;\n            *(undefined1 *)(piVar17 + 1) = 1;\n            uVar15 = piVar17[9];\n          }\n        }\n        else {\n          if (*__s == '\0') {\nLAB_0001e140:\n            uVar8 = 3;\n            goto LAB_0001df65;\n          }\n          pcVar16 = __s;\n          while (pcVar16 = pcVar16 + 1, __s + iVar14 != pcVar16) {\n            if (*pcVar16 == '\0') goto LAB_0001e140;\n          }\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e0cf;\n        }\n      }" ({ "{") (expression_statement "iVar14 = piVar17[2];" (assignment_expression "iVar14 = piVar17[2]" (identifier "iVar14") (= "=") (subscript_expression "piVar17[2]" (identifier "piVar17") ([ "[") (number_literal "2") (] "]"))) (; ";")) (if_statement "if (iVar14 == 0) {\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) {\n            sVar10 = strlen(__s);\n            iVar14 = sVar10 + 1;\nLAB_0001e0cf:\n            __s = (char *)FUN_00050160(__s,iVar14);\n            *piVar17 = (int)__s;\n            if (__s == (char *)0x0) goto LAB_0001e016;\n            *(undefined1 *)(piVar17 + 1) = 1;\n            uVar15 = piVar17[9];\n          }\n        }\n        else {\n          if (*__s == '\0') {\nLAB_0001e140:\n            uVar8 = 3;\n            goto LAB_0001df65;\n          }\n          pcVar16 = __s;\n          while (pcVar16 = pcVar16 + 1, __s + iVar14 != pcVar16) {\n            if (*pcVar16 == '\0') goto LAB_0001e140;\n          }\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e0cf;\n        }" (if "if") (parenthesized_expression "(iVar14 == 0)" (( "(") (binary_expression "iVar14 == 0" (identifier "iVar14") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) {\n            sVar10 = strlen(__s);\n            iVar14 = sVar10 + 1;\nLAB_0001e0cf:\n            __s = (char *)FUN_00050160(__s,iVar14);\n            *piVar17 = (int)__s;\n            if (__s == (char *)0x0) goto LAB_0001e016;\n            *(undefined1 *)(piVar17 + 1) = 1;\n            uVar15 = piVar17[9];\n          }\n        }" ({ "{") (expression_statement "uVar15 = piVar17[9];" (assignment_expression "uVar15 = piVar17[9]" (identifier "uVar15") (= "=") (subscript_expression "piVar17[9]" (identifier "piVar17") ([ "[") (number_literal "9") (] "]"))) (; ";")) (if_statement "if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) {\n            sVar10 = strlen(__s);\n            iVar14 = sVar10 + 1;\nLAB_0001e0cf:\n            __s = (char *)FUN_00050160(__s,iVar14);\n            *piVar17 = (int)__s;\n            if (__s == (char *)0x0) goto LAB_0001e016;\n            *(undefined1 *)(piVar17 + 1) = 1;\n            uVar15 = piVar17[9];\n          }" (if "if") (parenthesized_expression "(((uVar15 & 4) == 0) && (piVar7 == piVar17))" (( "(") (binary_expression "((uVar15 & 4) == 0) && (piVar7 == piVar17)" (parenthesized_expression "((uVar15 & 4) == 0)" (( "(") (binary_expression "(uVar15 & 4) == 0" (parenthesized_expression "(uVar15 & 4)" (( "(") (binary_expression "uVar15 & 4" (identifier "uVar15") (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(piVar7 == piVar17)" (( "(") (binary_expression "piVar7 == piVar17" (identifier "piVar7") (== "==") (identifier "piVar17")) () ")"))) () ")")) (compound_statement "{\n            sVar10 = strlen(__s);\n            iVar14 = sVar10 + 1;\nLAB_0001e0cf:\n            __s = (char *)FUN_00050160(__s,iVar14);\n            *piVar17 = (int)__s;\n            if (__s == (char *)0x0) goto LAB_0001e016;\n            *(undefined1 *)(piVar17 + 1) = 1;\n            uVar15 = piVar17[9];\n          }" ({ "{") (expression_statement "sVar10 = strlen(__s);" (assignment_expression "sVar10 = strlen(__s)" (identifier "sVar10") (= "=") (call_expression "strlen(__s)" (identifier "strlen") (argument_list "(__s)" (( "(") (identifier "__s") () ")")))) (; ";")) (expression_statement "iVar14 = sVar10 + 1;" (assignment_expression "iVar14 = sVar10 + 1" (identifier "iVar14") (= "=") (binary_expression "sVar10 + 1" (identifier "sVar10") (+ "+") (number_literal "1"))) (; ";")) (labeled_statement "LAB_0001e0cf:\n            __s = (char *)FUN_00050160(__s,iVar14);" (statement_identifier "LAB_0001e0cf") (: ":") (expression_statement "__s = (char *)FUN_00050160(__s,iVar14);" (assignment_expression "__s = (char *)FUN_00050160(__s,iVar14)" (identifier "__s") (= "=") (cast_expression "(char *)FUN_00050160(__s,iVar14)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00050160(__s,iVar14)" (identifier "FUN_00050160") (argument_list "(__s,iVar14)" (( "(") (identifier "__s") (, ",") (identifier "iVar14") () ")"))))) (; ";"))) (expression_statement "*piVar17 = (int)__s;" (assignment_expression "*piVar17 = (int)__s" (pointer_expression "*piVar17" (* "*") (identifier "piVar17")) (= "=") (cast_expression "(int)__s" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__s"))) (; ";")) (if_statement "if (__s == (char *)0x0) goto LAB_0001e016;" (if "if") (parenthesized_expression "(__s == (char *)0x0)" (( "(") (binary_expression "__s == (char *)0x0" (identifier "__s") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0001e016;" (goto "goto") (statement_identifier "LAB_0001e016") (; ";"))) (expression_statement "*(undefined1 *)(piVar17 + 1) = 1;" (assignment_expression "*(undefined1 *)(piVar17 + 1) = 1" (pointer_expression "*(undefined1 *)(piVar17 + 1)" (* "*") (cast_expression "(undefined1 *)(piVar17 + 1)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar17 + 1)" (( "(") (binary_expression "piVar17 + 1" (identifier "piVar17") (+ "+") (number_literal "1")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "uVar15 = piVar17[9];" (assignment_expression "uVar15 = piVar17[9]" (identifier "uVar15") (= "=") (subscript_expression "piVar17[9]" (identifier "piVar17") ([ "[") (number_literal "9") (] "]"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n          if (*__s == '\0') {\nLAB_0001e140:\n            uVar8 = 3;\n            goto LAB_0001df65;\n          }\n          pcVar16 = __s;\n          while (pcVar16 = pcVar16 + 1, __s + iVar14 != pcVar16) {\n            if (*pcVar16 == '\0') goto LAB_0001e140;\n          }\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e0cf;\n        }" (else "else") (compound_statement "{\n          if (*__s == '\0') {\nLAB_0001e140:\n            uVar8 = 3;\n            goto LAB_0001df65;\n          }\n          pcVar16 = __s;\n          while (pcVar16 = pcVar16 + 1, __s + iVar14 != pcVar16) {\n            if (*pcVar16 == '\0') goto LAB_0001e140;\n          }\n          uVar15 = piVar17[9];\n          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e0cf;\n        }" ({ "{") (if_statement "if (*__s == '\0') {\nLAB_0001e140:\n            uVar8 = 3;\n            goto LAB_0001df65;\n          }" (if "if") (parenthesized_expression "(*__s == '\0')" (( "(") (binary_expression "*__s == '\0'" (pointer_expression "*__s" (* "*") (identifier "__s")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\nLAB_0001e140:\n            uVar8 = 3;\n            goto LAB_0001df65;\n          }" ({ "{") (labeled_statement "LAB_0001e140:\n            uVar8 = 3;" (statement_identifier "LAB_0001e140") (: ":") (expression_statement "uVar8 = 3;" (assignment_expression "uVar8 = 3" (identifier "uVar8") (= "=") (number_literal "3")) (; ";"))) (goto_statement "goto LAB_0001df65;" (goto "goto") (statement_identifier "LAB_0001df65") (; ";")) (} "}"))) (expression_statement "pcVar16 = __s;" (assignment_expression "pcVar16 = __s" (identifier "pcVar16") (= "=") (identifier "__s")) (; ";")) (while_statement "while (pcVar16 = pcVar16 + 1, __s + iVar14 != pcVar16) {\n            if (*pcVar16 == '\0') goto LAB_0001e140;\n          }" (while "while") (parenthesized_expression "(pcVar16 = pcVar16 + 1, __s + iVar14 != pcVar16)" (( "(") (comma_expression "pcVar16 = pcVar16 + 1, __s + iVar14 != pcVar16" (assignment_expression "pcVar16 = pcVar16 + 1" (identifier "pcVar16") (= "=") (binary_expression "pcVar16 + 1" (identifier "pcVar16") (+ "+") (number_literal "1"))) (, ",") (binary_expression "__s + iVar14 != pcVar16" (binary_expression "__s + iVar14" (identifier "__s") (+ "+") (identifier "iVar14")) (!= "!=") (identifier "pcVar16"))) () ")")) (compound_statement "{\n            if (*pcVar16 == '\0') goto LAB_0001e140;\n          }" ({ "{") (if_statement "if (*pcVar16 == '\0') goto LAB_0001e140;" (if "if") (parenthesized_expression "(*pcVar16 == '\0')" (( "(") (binary_expression "*pcVar16 == '\0'" (pointer_expression "*pcVar16" (* "*") (identifier "pcVar16")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_0001e140;" (goto "goto") (statement_identifier "LAB_0001e140") (; ";"))) (} "}"))) (expression_statement "uVar15 = piVar17[9];" (assignment_expression "uVar15 = piVar17[9]" (identifier "uVar15") (= "=") (subscript_expression "piVar17[9]" (identifier "piVar17") ([ "[") (number_literal "9") (] "]"))) (; ";")) (if_statement "if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e0cf;" (if "if") (parenthesized_expression "(((uVar15 & 4) == 0) && (piVar7 == piVar17))" (( "(") (binary_expression "((uVar15 & 4) == 0) && (piVar7 == piVar17)" (parenthesized_expression "((uVar15 & 4) == 0)" (( "(") (binary_expression "(uVar15 & 4) == 0" (parenthesized_expression "(uVar15 & 4)" (( "(") (binary_expression "uVar15 & 4" (identifier "uVar15") (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(piVar7 == piVar17)" (( "(") (binary_expression "piVar7 == piVar17" (identifier "piVar7") (== "==") (identifier "piVar17")) () ")"))) () ")")) (goto_statement "goto LAB_0001e0cf;" (goto "goto") (statement_identifier "LAB_0001e0cf") (; ";"))) (} "}")))) (} "}"))))) (expression_statement "local_60 = (char *)piVar17[3];" (assignment_expression "local_60 = (char *)piVar17[3]" (identifier "local_60") (= "=") (cast_expression "(char *)piVar17[3]" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar17[3]" (identifier "piVar17") ([ "[") (number_literal "3") (] "]")))) (; ";")) (expression_statement "local_54 = piVar17[5];" (assignment_expression "local_54 = piVar17[5]" (identifier "local_54") (= "=") (subscript_expression "piVar17[5]" (identifier "piVar17") ([ "[") (number_literal "5") (] "]"))) (; ";")) (expression_statement "local_50 = piVar17[6];" (assignment_expression "local_50 = piVar17[6]" (identifier "local_50") (= "=") (subscript_expression "piVar17[6]" (identifier "piVar17") ([ "[") (number_literal "6") (] "]"))) (; ";")) (if_statement "if (((uVar15 & 0x6b) == 0) && (local_60 != (char *)0x0)) {\n        if (local_54 == 0) {\n          sVar10 = strlen(local_60);\n          local_54 = sVar10 + 1;\n        }\n        local_60 = (char *)FUN_00050160(local_60,local_54);\n        piVar17[3] = (int)local_60;\n        if (local_60 == (char *)0x0) goto LAB_0001e016;\n        local_54 = piVar17[5];\n        uVar15 = piVar17[9];\n        *(undefined1 *)(piVar17 + 4) = 1;\n        __s = (char *)*piVar17;\n        local_50 = piVar17[6];\n      }" (if "if") (parenthesized_expression "(((uVar15 & 0x6b) == 0) && (local_60 != (char *)0x0))" (( "(") (binary_expression "((uVar15 & 0x6b) == 0) && (local_60 != (char *)0x0)" (parenthesized_expression "((uVar15 & 0x6b) == 0)" (( "(") (binary_expression "(uVar15 & 0x6b) == 0" (parenthesized_expression "(uVar15 & 0x6b)" (( "(") (binary_expression "uVar15 & 0x6b" (identifier "uVar15") (& "&") (number_literal "0x6b")) () ")")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(local_60 != (char *)0x0)" (( "(") (binary_expression "local_60 != (char *)0x0" (identifier "local_60") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")"))) () ")")) (compound_statement "{\n        if (local_54 == 0) {\n          sVar10 = strlen(local_60);\n          local_54 = sVar10 + 1;\n        }\n        local_60 = (char *)FUN_00050160(local_60,local_54);\n        piVar17[3] = (int)local_60;\n        if (local_60 == (char *)0x0) goto LAB_0001e016;\n        local_54 = piVar17[5];\n        uVar15 = piVar17[9];\n        *(undefined1 *)(piVar17 + 4) = 1;\n        __s = (char *)*piVar17;\n        local_50 = piVar17[6];\n      }" ({ "{") (if_statement "if (local_54 == 0) {\n          sVar10 = strlen(local_60);\n          local_54 = sVar10 + 1;\n        }" (if "if") (parenthesized_expression "(local_54 == 0)" (( "(") (binary_expression "local_54 == 0" (identifier "local_54") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          sVar10 = strlen(local_60);\n          local_54 = sVar10 + 1;\n        }" ({ "{") (expression_statement "sVar10 = strlen(local_60);" (assignment_expression "sVar10 = strlen(local_60)" (identifier "sVar10") (= "=") (call_expression "strlen(local_60)" (identifier "strlen") (argument_list "(local_60)" (( "(") (identifier "local_60") () ")")))) (; ";")) (expression_statement "local_54 = sVar10 + 1;" (assignment_expression "local_54 = sVar10 + 1" (identifier "local_54") (= "=") (binary_expression "sVar10 + 1" (identifier "sVar10") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "local_60 = (char *)FUN_00050160(local_60,local_54);" (assignment_expression "local_60 = (char *)FUN_00050160(local_60,local_54)" (identifier "local_60") (= "=") (cast_expression "(char *)FUN_00050160(local_60,local_54)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00050160(local_60,local_54)" (identifier "FUN_00050160") (argument_list "(local_60,local_54)" (( "(") (identifier "local_60") (, ",") (identifier "local_54") () ")"))))) (; ";")) (expression_statement "piVar17[3] = (int)local_60;" (assignment_expression "piVar17[3] = (int)local_60" (subscript_expression "piVar17[3]" (identifier "piVar17") ([ "[") (number_literal "3") (] "]")) (= "=") (cast_expression "(int)local_60" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_60"))) (; ";")) (if_statement "if (local_60 == (char *)0x0) goto LAB_0001e016;" (if "if") (parenthesized_expression "(local_60 == (char *)0x0)" (( "(") (binary_expression "local_60 == (char *)0x0" (identifier "local_60") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0001e016;" (goto "goto") (statement_identifier "LAB_0001e016") (; ";"))) (expression_statement "local_54 = piVar17[5];" (assignment_expression "local_54 = piVar17[5]" (identifier "local_54") (= "=") (subscript_expression "piVar17[5]" (identifier "piVar17") ([ "[") (number_literal "5") (] "]"))) (; ";")) (expression_statement "uVar15 = piVar17[9];" (assignment_expression "uVar15 = piVar17[9]" (identifier "uVar15") (= "=") (subscript_expression "piVar17[9]" (identifier "piVar17") ([ "[") (number_literal "9") (] "]"))) (; ";")) (expression_statement "*(undefined1 *)(piVar17 + 4) = 1;" (assignment_expression "*(undefined1 *)(piVar17 + 4) = 1" (pointer_expression "*(undefined1 *)(piVar17 + 4)" (* "*") (cast_expression "(undefined1 *)(piVar17 + 4)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar17 + 4)" (( "(") (binary_expression "piVar17 + 4" (identifier "piVar17") (+ "+") (number_literal "4")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "__s = (char *)*piVar17;" (assignment_expression "__s = (char *)*piVar17" (identifier "__s") (= "=") (cast_expression "(char *)*piVar17" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar17" (* "*") (identifier "piVar17")))) (; ";")) (expression_statement "local_50 = piVar17[6];" (assignment_expression "local_50 = piVar17[6]" (identifier "local_50") (= "=") (subscript_expression "piVar17[6]" (identifier "piVar17") ([ "[") (number_literal "6") (] "]"))) (; ";")) (} "}"))) (expression_statement "iVar14 = piVar17[0xe];" (assignment_expression "iVar14 = piVar17[0xe]" (identifier "iVar14") (= "=") (subscript_expression "piVar17[0xe]" (identifier "piVar17") ([ "[") (number_literal "0xe") (] "]"))) (; ";")) (expression_statement "sVar10 = piVar17[2];" (assignment_expression "sVar10 = piVar17[2]" (identifier "sVar10") (= "=") (subscript_expression "piVar17[2]" (identifier "piVar17") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "iVar2 = piVar17[0xc];" (assignment_expression "iVar2 = piVar17[0xc]" (identifier "iVar2") (= "=") (subscript_expression "piVar17[0xc]" (identifier "piVar17") ([ "[") (number_literal "0xc") (] "]"))) (; ";")) (expression_statement "iVar3 = piVar17[0xf];" (assignment_expression "iVar3 = piVar17[0xf]" (identifier "iVar3") (= "=") (subscript_expression "piVar17[0xf]" (identifier "piVar17") ([ "[") (number_literal "0xf") (] "]"))) (; ";")) (expression_statement "iVar4 = piVar17[7];" (assignment_expression "iVar4 = piVar17[7]" (identifier "iVar4") (= "=") (subscript_expression "piVar17[7]" (identifier "piVar17") ([ "[") (number_literal "7") (] "]"))) (; ";")) (expression_statement "iVar5 = piVar17[0xb];" (assignment_expression "iVar5 = piVar17[0xb]" (identifier "iVar5") (= "=") (subscript_expression "piVar17[0xb]" (identifier "piVar17") ([ "[") (number_literal "0xb") (] "]"))) (; ";")) (expression_statement "iVar6 = piVar17[10];" (assignment_expression "iVar6 = piVar17[10]" (identifier "iVar6") (= "=") (subscript_expression "piVar17[10]" (identifier "piVar17") ([ "[") (number_literal "10") (] "]"))) (; ";")) (expression_statement "iVar11 = (**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed))(1,0x3c);" (assignment_expression "iVar11 = (**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed))(1,0x3c)" (identifier "iVar11") (= "=") (call_expression "(**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed))(1,0x3c)" (parenthesized_expression "(**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed))" (( "(") (pointer_expression "**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed)" (* "*") (pointer_expression "*(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed)" (* "*") (cast_expression "(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed)" (( "(") (binary_expression "BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed" (binary_expression "BYTE_ARRAY_0009905d + unaff_EBP" (identifier "BYTE_ARRAY_0009905d") (+ "+") (identifier "unaff_EBP")) (+ "+") (number_literal "0x7ed")) () ")"))))) () ")")) (argument_list "(1,0x3c)" (( "(") (number_literal "1") (, ",") (number_literal "0x3c") () ")")))) (; ";")) (if_statement "if (iVar11 == 0) goto LAB_0001e016;" (if "if") (parenthesized_expression "(iVar11 == 0)" (( "(") (binary_expression "iVar11 == 0" (identifier "iVar11") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001e016;" (goto "goto") (statement_identifier "LAB_0001e016") (; ";"))) (expression_statement "*(char **)(iVar11 + 4) = __s;" (assignment_expression "*(char **)(iVar11 + 4) = __s" (pointer_expression "*(char **)(iVar11 + 4)" (* "*") (cast_expression "(char **)(iVar11 + 4)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar11 + 4)" (( "(") (binary_expression "iVar11 + 4" (identifier "iVar11") (+ "+") (number_literal "4")) () ")")))) (= "=") (identifier "__s")) (; ";")) (expression_statement "sVar12 = 0;" (assignment_expression "sVar12 = 0" (identifier "sVar12") (= "=") (number_literal "0")) (; ";")) (if_statement "if ((__s != (char *)0x0) && (sVar12 = sVar10, sVar10 == 0)) {\n        sVar12 = strlen(__s);\n      }" (if "if") (parenthesized_expression "((__s != (char *)0x0) && (sVar12 = sVar10, sVar10 == 0))" (( "(") (binary_expression "(__s != (char *)0x0) && (sVar12 = sVar10, sVar10 == 0)" (parenthesized_expression "(__s != (char *)0x0)" (( "(") (binary_expression "__s != (char *)0x0" (identifier "__s") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(sVar12 = sVar10, sVar10 == 0)" (( "(") (comma_expression "sVar12 = sVar10, sVar10 == 0" (assignment_expression "sVar12 = sVar10" (identifier "sVar12") (= "=") (identifier "sVar10")) (, ",") (binary_expression "sVar10 == 0" (identifier "sVar10") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n        sVar12 = strlen(__s);\n      }" ({ "{") (expression_statement "sVar12 = strlen(__s);" (assignment_expression "sVar12 = strlen(__s)" (identifier "sVar12") (= "=") (call_expression "strlen(__s)" (identifier "strlen") (argument_list "(__s)" (( "(") (identifier "__s") () ")")))) (; ";")) (} "}"))) (expression_statement "*(size_t *)(iVar11 + 8) = sVar12;" (assignment_expression "*(size_t *)(iVar11 + 8) = sVar12" (pointer_expression "*(size_t *)(iVar11 + 8)" (* "*") (cast_expression "(size_t *)(iVar11 + 8)" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 8)" (( "(") (binary_expression "iVar11 + 8" (identifier "iVar11") (+ "+") (number_literal "8")) () ")")))) (= "=") (identifier "sVar12")) (; ";")) (expression_statement "*(char **)(iVar11 + 0xc) = local_60;" (assignment_expression "*(char **)(iVar11 + 0xc) = local_60" (pointer_expression "*(char **)(iVar11 + 0xc)" (* "*") (cast_expression "(char **)(iVar11 + 0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar11 + 0xc)" (( "(") (binary_expression "iVar11 + 0xc" (identifier "iVar11") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (identifier "local_60")) (; ";")) (expression_statement "*(int *)(iVar11 + 0x34) = local_54;" (assignment_expression "*(int *)(iVar11 + 0x34) = local_54" (pointer_expression "*(int *)(iVar11 + 0x34)" (* "*") (cast_expression "(int *)(iVar11 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x34)" (( "(") (binary_expression "iVar11 + 0x34" (identifier "iVar11") (+ "+") (number_literal "0x34")) () ")")))) (= "=") (identifier "local_54")) (; ";")) (expression_statement "*(int *)(iVar11 + 0x38) = local_50;" (assignment_expression "*(int *)(iVar11 + 0x38) = local_50" (pointer_expression "*(int *)(iVar11 + 0x38)" (* "*") (cast_expression "(int *)(iVar11 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x38)" (( "(") (binary_expression "iVar11 + 0x38" (identifier "iVar11") (+ "+") (number_literal "0x38")) () ")")))) (= "=") (identifier "local_50")) (; ";")) (expression_statement "*(int *)(iVar11 + 0x14) = iVar6;" (assignment_expression "*(int *)(iVar11 + 0x14) = iVar6" (pointer_expression "*(int *)(iVar11 + 0x14)" (* "*") (cast_expression "(int *)(iVar11 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x14)" (( "(") (binary_expression "iVar11 + 0x14" (identifier "iVar11") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (identifier "iVar6")) (; ";")) (expression_statement "*(int *)(iVar11 + 0x18) = iVar5;" (assignment_expression "*(int *)(iVar11 + 0x18) = iVar5" (pointer_expression "*(int *)(iVar11 + 0x18)" (* "*") (cast_expression "(int *)(iVar11 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x18)" (( "(") (binary_expression "iVar11 + 0x18" (identifier "iVar11") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (identifier "iVar5")) (; ";")) (expression_statement "*(int *)(iVar11 + 0x1c) = iVar4;" (assignment_expression "*(int *)(iVar11 + 0x1c) = iVar4" (pointer_expression "*(int *)(iVar11 + 0x1c)" (* "*") (cast_expression "(int *)(iVar11 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x1c)" (( "(") (binary_expression "iVar11 + 0x1c" (identifier "iVar11") (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (identifier "iVar4")) (; ";")) (expression_statement "*(int *)(iVar11 + 0x20) = iVar3;" (assignment_expression "*(int *)(iVar11 + 0x20) = iVar3" (pointer_expression "*(int *)(iVar11 + 0x20)" (* "*") (cast_expression "(int *)(iVar11 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x20)" (( "(") (binary_expression "iVar11 + 0x20" (identifier "iVar11") (+ "+") (number_literal "0x20")) () ")")))) (= "=") (identifier "iVar3")) (; ";")) (expression_statement "*(int *)(iVar11 + 0x2c) = iVar2;" (assignment_expression "*(int *)(iVar11 + 0x2c) = iVar2" (pointer_expression "*(int *)(iVar11 + 0x2c)" (* "*") (cast_expression "(int *)(iVar11 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x2c)" (( "(") (binary_expression "iVar11 + 0x2c" (identifier "iVar11") (+ "+") (number_literal "0x2c")) () ")")))) (= "=") (identifier "iVar2")) (; ";")) (expression_statement "*(int *)(iVar11 + 0x30) = iVar14;" (assignment_expression "*(int *)(iVar11 + 0x30) = iVar14" (pointer_expression "*(int *)(iVar11 + 0x30)" (* "*") (cast_expression "(int *)(iVar11 + 0x30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x30)" (( "(") (binary_expression "iVar11 + 0x30" (identifier "iVar11") (+ "+") (number_literal "0x30")) () ")")))) (= "=") (identifier "iVar14")) (; ";")) (expression_statement "*(uint *)(iVar11 + 0x28) = uVar15 | 0x80;" (assignment_expression "*(uint *)(iVar11 + 0x28) = uVar15 | 0x80" (pointer_expression "*(uint *)(iVar11 + 0x28)" (* "*") (cast_expression "(uint *)(iVar11 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x28)" (( "(") (binary_expression "iVar11 + 0x28" (identifier "iVar11") (+ "+") (number_literal "0x28")) () ")")))) (= "=") (binary_expression "uVar15 | 0x80" (identifier "uVar15") (| "|") (number_literal "0x80"))) (; ";")) (if_statement "if (local_5c == 0) {\n        piVar13 = (int *)*param_2;\n        if ((int *)*param_2 == (int *)0x0) {\n          piVar13 = param_1;\n        }\n        *piVar13 = iVar11;\n        *param_2 = iVar11;\n      }\n      else {\n        *(undefined4 *)(iVar11 + 0x24) = *(undefined4 *)(local_5c + 0x24);\n        *(int *)(local_5c + 0x24) = iVar11;\n      }" (if "if") (parenthesized_expression "(local_5c == 0)" (( "(") (binary_expression "local_5c == 0" (identifier "local_5c") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        piVar13 = (int *)*param_2;\n        if ((int *)*param_2 == (int *)0x0) {\n          piVar13 = param_1;\n        }\n        *piVar13 = iVar11;\n        *param_2 = iVar11;\n      }" ({ "{") (expression_statement "piVar13 = (int *)*param_2;" (assignment_expression "piVar13 = (int *)*param_2" (identifier "piVar13") (= "=") (cast_expression "(int *)*param_2" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*param_2" (* "*") (identifier "param_2")))) (; ";")) (if_statement "if ((int *)*param_2 == (int *)0x0) {\n          piVar13 = param_1;\n        }" (if "if") (parenthesized_expression "((int *)*param_2 == (int *)0x0)" (( "(") (binary_expression "(int *)*param_2 == (int *)0x0" (cast_expression "(int *)*param_2" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          piVar13 = param_1;\n        }" ({ "{") (expression_statement "piVar13 = param_1;" (assignment_expression "piVar13 = param_1" (identifier "piVar13") (= "=") (identifier "param_1")) (; ";")) (} "}"))) (expression_statement "*piVar13 = iVar11;" (assignment_expression "*piVar13 = iVar11" (pointer_expression "*piVar13" (* "*") (identifier "piVar13")) (= "=") (identifier "iVar11")) (; ";")) (expression_statement "*param_2 = iVar11;" (assignment_expression "*param_2 = iVar11" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (= "=") (identifier "iVar11")) (; ";")) (} "}")) (else_clause "else {\n        *(undefined4 *)(iVar11 + 0x24) = *(undefined4 *)(local_5c + 0x24);\n        *(int *)(local_5c + 0x24) = iVar11;\n      }" (else "else") (compound_statement "{\n        *(undefined4 *)(iVar11 + 0x24) = *(undefined4 *)(local_5c + 0x24);\n        *(int *)(local_5c + 0x24) = iVar11;\n      }" ({ "{") (expression_statement "*(undefined4 *)(iVar11 + 0x24) = *(undefined4 *)(local_5c + 0x24);" (assignment_expression "*(undefined4 *)(iVar11 + 0x24) = *(undefined4 *)(local_5c + 0x24)" (pointer_expression "*(undefined4 *)(iVar11 + 0x24)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x24)" (( "(") (binary_expression "iVar11 + 0x24" (identifier "iVar11") (+ "+") (number_literal "0x24")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(local_5c + 0x24)" (* "*") (cast_expression "(undefined4 *)(local_5c + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_5c + 0x24)" (( "(") (binary_expression "local_5c + 0x24" (identifier "local_5c") (+ "+") (number_literal "0x24")) () ")"))))) (; ";")) (expression_statement "*(int *)(local_5c + 0x24) = iVar11;" (assignment_expression "*(int *)(local_5c + 0x24) = iVar11" (pointer_expression "*(int *)(local_5c + 0x24)" (* "*") (cast_expression "(int *)(local_5c + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_5c + 0x24)" (( "(") (binary_expression "local_5c + 0x24" (identifier "local_5c") (+ "+") (number_literal "0x24")) () ")")))) (= "=") (identifier "iVar11")) (; ";")) (} "}")))) (expression_statement "piVar13 = piVar17 + 7;" (assignment_expression "piVar13 = piVar17 + 7" (identifier "piVar13") (= "=") (binary_expression "piVar17 + 7" (identifier "piVar17") (+ "+") (number_literal "7"))) (; ";")) (expression_statement "piVar17 = (int *)piVar17[0x10];" (assignment_expression "piVar17 = (int *)piVar17[0x10]" (identifier "piVar17") (= "=") (cast_expression "(int *)piVar17[0x10]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar17[0x10]" (identifier "piVar17") ([ "[") (number_literal "0x10") (] "]")))) (; ";")) (expression_statement "local_5c = iVar11;" (assignment_expression "local_5c = iVar11" (identifier "local_5c") (= "=") (identifier "iVar11")) (; ";")) (if_statement "if (*piVar13 == 0) {\n        if (piVar17 == (int *)0x0) break;\n        goto LAB_0001df4a;\n      }" (if "if") (parenthesized_expression "(*piVar13 == 0)" (( "(") (binary_expression "*piVar13 == 0" (pointer_expression "*piVar13" (* "*") (identifier "piVar13")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        if (piVar17 == (int *)0x0) break;\n        goto LAB_0001df4a;\n      }" ({ "{") (if_statement "if (piVar17 == (int *)0x0) break;" (if "if") (parenthesized_expression "(piVar17 == (int *)0x0)" (( "(") (binary_expression "piVar17 == (int *)0x0" (identifier "piVar17") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (goto_statement "goto LAB_0001df4a;" (goto "goto") (statement_identifier "LAB_0001df4a") (; ";")) (} "}"))) (expression_statement "local_28 = *piVar13;" (assignment_expression "local_28 = *piVar13" (identifier "local_28") (= "=") (pointer_expression "*piVar13" (* "*") (identifier "piVar13"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(piVar17 != (int *)0x0)" (( "(") (binary_expression "piVar17 != (int *)0x0" (identifier "piVar17") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (; ";"))) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" (identifier "uVar8") (= "=") (number_literal "0")) (; ";")) (expression_statement "pcVar9 = *(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9);" (assignment_expression "pcVar9 = *(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9)" (identifier "pcVar9") (= "=") (pointer_expression "*(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9)" (* "*") (cast_expression "(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9)" (( "(") (binary_expression "BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9" (binary_expression "BYTE_ARRAY_0009905d + unaff_EBP" (identifier "BYTE_ARRAY_0009905d") (+ "+") (identifier "unaff_EBP")) (+ "+") (number_literal "0x7f9")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n    if (param_3 < 0x15) {\n                    \n                    \n      uVar8 = (*(code *)(*(int *)(unaff_EBP + 0x65cf6 + param_3 * 4) + unaff_EBP + 0x98fca))();\n      return uVar8;\n    }\n    pbVar1 = BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9;\n    pcVar9 = *(code **)pbVar1;\n    uVar8 = 4;\n    piVar17 = piVar7;\n    do {\n      while( true ) {\n        if ((char)piVar17[1] != '\0') {\n          (*pcVar9)(*piVar17);\n          pcVar9 = *(code **)pbVar1;\n          *piVar17 = 0;\n          *(undefined1 *)(piVar17 + 1) = 0;\n        }\n        if ((char)piVar17[4] != '\0') {\n          (*pcVar9)(piVar17[3]);\n          pcVar9 = *(code **)pbVar1;\n          piVar17[3] = 0;\n          *(undefined1 *)(piVar17 + 4) = 0;\n        }\n        if ((char)piVar17[8] != '\0') {\n          (*pcVar9)(piVar17[7]);\n          pcVar9 = *(code **)pbVar1;\n          piVar17[7] = 0;\n          *(undefined1 *)(piVar17 + 8) = 0;\n        }\n        if ((char)piVar17[0xd] == '\0') break;\n        (*pcVar9)(piVar17[0xc]);\n        pcVar9 = *(code **)pbVar1;\n        piVar17[0xc] = 0;\n        *(undefined1 *)(piVar17 + 0xd) = 0;\n        piVar17 = (int *)piVar17[0x10];\n        if (piVar17 == (int *)0x0) goto LAB_0001d97c;\n      }\n      piVar17 = (int *)piVar17[0x10];\n    } while (piVar17 != (int *)0x0);\n  }" (else "else") (compound_statement "{\n    if (param_3 < 0x15) {\n                    \n                    \n      uVar8 = (*(code *)(*(int *)(unaff_EBP + 0x65cf6 + param_3 * 4) + unaff_EBP + 0x98fca))();\n      return uVar8;\n    }\n    pbVar1 = BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9;\n    pcVar9 = *(code **)pbVar1;\n    uVar8 = 4;\n    piVar17 = piVar7;\n    do {\n      while( true ) {\n        if ((char)piVar17[1] != '\0') {\n          (*pcVar9)(*piVar17);\n          pcVar9 = *(code **)pbVar1;\n          *piVar17 = 0;\n          *(undefined1 *)(piVar17 + 1) = 0;\n        }\n        if ((char)piVar17[4] != '\0') {\n          (*pcVar9)(piVar17[3]);\n          pcVar9 = *(code **)pbVar1;\n          piVar17[3] = 0;\n          *(undefined1 *)(piVar17 + 4) = 0;\n        }\n        if ((char)piVar17[8] != '\0') {\n          (*pcVar9)(piVar17[7]);\n          pcVar9 = *(code **)pbVar1;\n          piVar17[7] = 0;\n          *(undefined1 *)(piVar17 + 8) = 0;\n        }\n        if ((char)piVar17[0xd] == '\0') break;\n        (*pcVar9)(piVar17[0xc]);\n        pcVar9 = *(code **)pbVar1;\n        piVar17[0xc] = 0;\n        *(undefined1 *)(piVar17 + 0xd) = 0;\n        piVar17 = (int *)piVar17[0x10];\n        if (piVar17 == (int *)0x0) goto LAB_0001d97c;\n      }\n      piVar17 = (int *)piVar17[0x10];\n    } while (piVar17 != (int *)0x0);\n  }" ({ "{") (if_statement "if (param_3 < 0x15) {\n                    \n                    \n      uVar8 = (*(code *)(*(int *)(unaff_EBP + 0x65cf6 + param_3 * 4) + unaff_EBP + 0x98fca))();\n      return uVar8;\n    }" (if "if") (parenthesized_expression "(param_3 < 0x15)" (( "(") (binary_expression "param_3 < 0x15" (identifier "param_3") (< "<") (number_literal "0x15")) () ")")) (compound_statement "{\n                    \n                    \n      uVar8 = (*(code *)(*(int *)(unaff_EBP + 0x65cf6 + param_3 * 4) + unaff_EBP + 0x98fca))();\n      return uVar8;\n    }" ({ "{") (expression_statement "uVar8 = (*(code *)(*(int *)(unaff_EBP + 0x65cf6 + param_3 * 4) + unaff_EBP + 0x98fca))();" (assignment_expression "uVar8 = (*(code *)(*(int *)(unaff_EBP + 0x65cf6 + param_3 * 4) + unaff_EBP + 0x98fca))()" (identifier "uVar8") (= "=") (call_expression "(*(code *)(*(int *)(unaff_EBP + 0x65cf6 + param_3 * 4) + unaff_EBP + 0x98fca))()" (parenthesized_expression "(*(code *)(*(int *)(unaff_EBP + 0x65cf6 + param_3 * 4) + unaff_EBP + 0x98fca))" (( "(") (pointer_expression "*(code *)(*(int *)(unaff_EBP + 0x65cf6 + param_3 * 4) + unaff_EBP + 0x98fca)" (* "*") (cast_expression "(code *)(*(int *)(unaff_EBP + 0x65cf6 + param_3 * 4) + unaff_EBP + 0x98fca)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(unaff_EBP + 0x65cf6 + param_3 * 4) + unaff_EBP + 0x98fca)" (( "(") (binary_expression "*(int *)(unaff_EBP + 0x65cf6 + param_3 * 4) + unaff_EBP + 0x98fca" (binary_expression "*(int *)(unaff_EBP + 0x65cf6 + param_3 * 4) + unaff_EBP" (pointer_expression "*(int *)(unaff_EBP + 0x65cf6 + param_3 * 4)" (* "*") (cast_expression "(int *)(unaff_EBP + 0x65cf6 + param_3 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x65cf6 + param_3 * 4)" (( "(") (binary_expression "unaff_EBP + 0x65cf6 + param_3 * 4" (binary_expression "unaff_EBP + 0x65cf6" (identifier "unaff_EBP") (+ "+") (number_literal "0x65cf6")) (+ "+") (binary_expression "param_3 * 4" (identifier "param_3") (* "*") (number_literal "4"))) () ")")))) (+ "+") (identifier "unaff_EBP")) (+ "+") (number_literal "0x98fca")) () ")")))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (return_statement "return uVar8;" (return "return") (identifier "uVar8") (; ";")) (} "}"))) (expression_statement "pbVar1 = BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9;" (assignment_expression "pbVar1 = BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9" (identifier "pbVar1") (= "=") (binary_expression "BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9" (binary_expression "BYTE_ARRAY_0009905d + unaff_EBP" (identifier "BYTE_ARRAY_0009905d") (+ "+") (identifier "unaff_EBP")) (+ "+") (number_literal "0x7f9"))) (; ";")) (expression_statement "pcVar9 = *(code **)pbVar1;" (assignment_expression "pcVar9 = *(code **)pbVar1" (identifier "pcVar9") (= "=") (pointer_expression "*(code **)pbVar1" (* "*") (cast_expression "(code **)pbVar1" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "pbVar1")))) (; ";")) (expression_statement "uVar8 = 4;" (assignment_expression "uVar8 = 4" (identifier "uVar8") (= "=") (number_literal "4")) (; ";")) (expression_statement "piVar17 = piVar7;" (assignment_expression "piVar17 = piVar7" (identifier "piVar17") (= "=") (identifier "piVar7")) (; ";")) (do_statement "do {\n      while( true ) {\n        if ((char)piVar17[1] != '\0') {\n          (*pcVar9)(*piVar17);\n          pcVar9 = *(code **)pbVar1;\n          *piVar17 = 0;\n          *(undefined1 *)(piVar17 + 1) = 0;\n        }\n        if ((char)piVar17[4] != '\0') {\n          (*pcVar9)(piVar17[3]);\n          pcVar9 = *(code **)pbVar1;\n          piVar17[3] = 0;\n          *(undefined1 *)(piVar17 + 4) = 0;\n        }\n        if ((char)piVar17[8] != '\0') {\n          (*pcVar9)(piVar17[7]);\n          pcVar9 = *(code **)pbVar1;\n          piVar17[7] = 0;\n          *(undefined1 *)(piVar17 + 8) = 0;\n        }\n        if ((char)piVar17[0xd] == '\0') break;\n        (*pcVar9)(piVar17[0xc]);\n        pcVar9 = *(code **)pbVar1;\n        piVar17[0xc] = 0;\n        *(undefined1 *)(piVar17 + 0xd) = 0;\n        piVar17 = (int *)piVar17[0x10];\n        if (piVar17 == (int *)0x0) goto LAB_0001d97c;\n      }\n      piVar17 = (int *)piVar17[0x10];\n    } while (piVar17 != (int *)0x0);" (do "do") (compound_statement "{\n      while( true ) {\n        if ((char)piVar17[1] != '\0') {\n          (*pcVar9)(*piVar17);\n          pcVar9 = *(code **)pbVar1;\n          *piVar17 = 0;\n          *(undefined1 *)(piVar17 + 1) = 0;\n        }\n        if ((char)piVar17[4] != '\0') {\n          (*pcVar9)(piVar17[3]);\n          pcVar9 = *(code **)pbVar1;\n          piVar17[3] = 0;\n          *(undefined1 *)(piVar17 + 4) = 0;\n        }\n        if ((char)piVar17[8] != '\0') {\n          (*pcVar9)(piVar17[7]);\n          pcVar9 = *(code **)pbVar1;\n          piVar17[7] = 0;\n          *(undefined1 *)(piVar17 + 8) = 0;\n        }\n        if ((char)piVar17[0xd] == '\0') break;\n        (*pcVar9)(piVar17[0xc]);\n        pcVar9 = *(code **)pbVar1;\n        piVar17[0xc] = 0;\n        *(undefined1 *)(piVar17 + 0xd) = 0;\n        piVar17 = (int *)piVar17[0x10];\n        if (piVar17 == (int *)0x0) goto LAB_0001d97c;\n      }\n      piVar17 = (int *)piVar17[0x10];\n    }" ({ "{") (while_statement "while( true ) {\n        if ((char)piVar17[1] != '\0') {\n          (*pcVar9)(*piVar17);\n          pcVar9 = *(code **)pbVar1;\n          *piVar17 = 0;\n          *(undefined1 *)(piVar17 + 1) = 0;\n        }\n        if ((char)piVar17[4] != '\0') {\n          (*pcVar9)(piVar17[3]);\n          pcVar9 = *(code **)pbVar1;\n          piVar17[3] = 0;\n          *(undefined1 *)(piVar17 + 4) = 0;\n        }\n        if ((char)piVar17[8] != '\0') {\n          (*pcVar9)(piVar17[7]);\n          pcVar9 = *(code **)pbVar1;\n          piVar17[7] = 0;\n          *(undefined1 *)(piVar17 + 8) = 0;\n        }\n        if ((char)piVar17[0xd] == '\0') break;\n        (*pcVar9)(piVar17[0xc]);\n        pcVar9 = *(code **)pbVar1;\n        piVar17[0xc] = 0;\n        *(undefined1 *)(piVar17 + 0xd) = 0;\n        piVar17 = (int *)piVar17[0x10];\n        if (piVar17 == (int *)0x0) goto LAB_0001d97c;\n      }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n        if ((char)piVar17[1] != '\0') {\n          (*pcVar9)(*piVar17);\n          pcVar9 = *(code **)pbVar1;\n          *piVar17 = 0;\n          *(undefined1 *)(piVar17 + 1) = 0;\n        }\n        if ((char)piVar17[4] != '\0') {\n          (*pcVar9)(piVar17[3]);\n          pcVar9 = *(code **)pbVar1;\n          piVar17[3] = 0;\n          *(undefined1 *)(piVar17 + 4) = 0;\n        }\n        if ((char)piVar17[8] != '\0') {\n          (*pcVar9)(piVar17[7]);\n          pcVar9 = *(code **)pbVar1;\n          piVar17[7] = 0;\n          *(undefined1 *)(piVar17 + 8) = 0;\n        }\n        if ((char)piVar17[0xd] == '\0') break;\n        (*pcVar9)(piVar17[0xc]);\n        pcVar9 = *(code **)pbVar1;\n        piVar17[0xc] = 0;\n        *(undefined1 *)(piVar17 + 0xd) = 0;\n        piVar17 = (int *)piVar17[0x10];\n        if (piVar17 == (int *)0x0) goto LAB_0001d97c;\n      }" ({ "{") (if_statement "if ((char)piVar17[1] != '\0') {\n          (*pcVar9)(*piVar17);\n          pcVar9 = *(code **)pbVar1;\n          *piVar17 = 0;\n          *(undefined1 *)(piVar17 + 1) = 0;\n        }" (if "if") (parenthesized_expression "((char)piVar17[1] != '\0')" (( "(") (binary_expression "(char)piVar17[1] != '\0'" (cast_expression "(char)piVar17[1]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "piVar17[1]" (identifier "piVar17") ([ "[") (number_literal "1") (] "]"))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          (*pcVar9)(*piVar17);\n          pcVar9 = *(code **)pbVar1;\n          *piVar17 = 0;\n          *(undefined1 *)(piVar17 + 1) = 0;\n        }" ({ "{") (expression_statement "(*pcVar9)(*piVar17);" (call_expression "(*pcVar9)(*piVar17)" (parenthesized_expression "(*pcVar9)" (( "(") (pointer_expression "*pcVar9" (* "*") (identifier "pcVar9")) () ")")) (argument_list "(*piVar17)" (( "(") (pointer_expression "*piVar17" (* "*") (identifier "piVar17")) () ")"))) (; ";")) (expression_statement "pcVar9 = *(code **)pbVar1;" (assignment_expression "pcVar9 = *(code **)pbVar1" (identifier "pcVar9") (= "=") (pointer_expression "*(code **)pbVar1" (* "*") (cast_expression "(code **)pbVar1" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "pbVar1")))) (; ";")) (expression_statement "*piVar17 = 0;" (assignment_expression "*piVar17 = 0" (pointer_expression "*piVar17" (* "*") (identifier "piVar17")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)(piVar17 + 1) = 0;" (assignment_expression "*(undefined1 *)(piVar17 + 1) = 0" (pointer_expression "*(undefined1 *)(piVar17 + 1)" (* "*") (cast_expression "(undefined1 *)(piVar17 + 1)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar17 + 1)" (( "(") (binary_expression "piVar17 + 1" (identifier "piVar17") (+ "+") (number_literal "1")) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}"))) (if_statement "if ((char)piVar17[4] != '\0') {\n          (*pcVar9)(piVar17[3]);\n          pcVar9 = *(code **)pbVar1;\n          piVar17[3] = 0;\n          *(undefined1 *)(piVar17 + 4) = 0;\n        }" (if "if") (parenthesized_expression "((char)piVar17[4] != '\0')" (( "(") (binary_expression "(char)piVar17[4] != '\0'" (cast_expression "(char)piVar17[4]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "piVar17[4]" (identifier "piVar17") ([ "[") (number_literal "4") (] "]"))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          (*pcVar9)(piVar17[3]);\n          pcVar9 = *(code **)pbVar1;\n          piVar17[3] = 0;\n          *(undefined1 *)(piVar17 + 4) = 0;\n        }" ({ "{") (expression_statement "(*pcVar9)(piVar17[3]);" (call_expression "(*pcVar9)(piVar17[3])" (parenthesized_expression "(*pcVar9)" (( "(") (pointer_expression "*pcVar9" (* "*") (identifier "pcVar9")) () ")")) (argument_list "(piVar17[3])" (( "(") (subscript_expression "piVar17[3]" (identifier "piVar17") ([ "[") (number_literal "3") (] "]")) () ")"))) (; ";")) (expression_statement "pcVar9 = *(code **)pbVar1;" (assignment_expression "pcVar9 = *(code **)pbVar1" (identifier "pcVar9") (= "=") (pointer_expression "*(code **)pbVar1" (* "*") (cast_expression "(code **)pbVar1" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "pbVar1")))) (; ";")) (expression_statement "piVar17[3] = 0;" (assignment_expression "piVar17[3] = 0" (subscript_expression "piVar17[3]" (identifier "piVar17") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)(piVar17 + 4) = 0;" (assignment_expression "*(undefined1 *)(piVar17 + 4) = 0" (pointer_expression "*(undefined1 *)(piVar17 + 4)" (* "*") (cast_expression "(undefined1 *)(piVar17 + 4)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar17 + 4)" (( "(") (binary_expression "piVar17 + 4" (identifier "piVar17") (+ "+") (number_literal "4")) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}"))) (if_statement "if ((char)piVar17[8] != '\0') {\n          (*pcVar9)(piVar17[7]);\n          pcVar9 = *(code **)pbVar1;\n          piVar17[7] = 0;\n          *(undefined1 *)(piVar17 + 8) = 0;\n        }" (if "if") (parenthesized_expression "((char)piVar17[8] != '\0')" (( "(") (binary_expression "(char)piVar17[8] != '\0'" (cast_expression "(char)piVar17[8]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "piVar17[8]" (identifier "piVar17") ([ "[") (number_literal "8") (] "]"))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          (*pcVar9)(piVar17[7]);\n          pcVar9 = *(code **)pbVar1;\n          piVar17[7] = 0;\n          *(undefined1 *)(piVar17 + 8) = 0;\n        }" ({ "{") (expression_statement "(*pcVar9)(piVar17[7]);" (call_expression "(*pcVar9)(piVar17[7])" (parenthesized_expression "(*pcVar9)" (( "(") (pointer_expression "*pcVar9" (* "*") (identifier "pcVar9")) () ")")) (argument_list "(piVar17[7])" (( "(") (subscript_expression "piVar17[7]" (identifier "piVar17") ([ "[") (number_literal "7") (] "]")) () ")"))) (; ";")) (expression_statement "pcVar9 = *(code **)pbVar1;" (assignment_expression "pcVar9 = *(code **)pbVar1" (identifier "pcVar9") (= "=") (pointer_expression "*(code **)pbVar1" (* "*") (cast_expression "(code **)pbVar1" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "pbVar1")))) (; ";")) (expression_statement "piVar17[7] = 0;" (assignment_expression "piVar17[7] = 0" (subscript_expression "piVar17[7]" (identifier "piVar17") ([ "[") (number_literal "7") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)(piVar17 + 8) = 0;" (assignment_expression "*(undefined1 *)(piVar17 + 8) = 0" (pointer_expression "*(undefined1 *)(piVar17 + 8)" (* "*") (cast_expression "(undefined1 *)(piVar17 + 8)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar17 + 8)" (( "(") (binary_expression "piVar17 + 8" (identifier "piVar17") (+ "+") (number_literal "8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}"))) (if_statement "if ((char)piVar17[0xd] == '\0') break;" (if "if") (parenthesized_expression "((char)piVar17[0xd] == '\0')" (( "(") (binary_expression "(char)piVar17[0xd] == '\0'" (cast_expression "(char)piVar17[0xd]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "piVar17[0xd]" (identifier "piVar17") ([ "[") (number_literal "0xd") (] "]"))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "(*pcVar9)(piVar17[0xc]);" (call_expression "(*pcVar9)(piVar17[0xc])" (parenthesized_expression "(*pcVar9)" (( "(") (pointer_expression "*pcVar9" (* "*") (identifier "pcVar9")) () ")")) (argument_list "(piVar17[0xc])" (( "(") (subscript_expression "piVar17[0xc]" (identifier "piVar17") ([ "[") (number_literal "0xc") (] "]")) () ")"))) (; ";")) (expression_statement "pcVar9 = *(code **)pbVar1;" (assignment_expression "pcVar9 = *(code **)pbVar1" (identifier "pcVar9") (= "=") (pointer_expression "*(code **)pbVar1" (* "*") (cast_expression "(code **)pbVar1" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "pbVar1")))) (; ";")) (expression_statement "piVar17[0xc] = 0;" (assignment_expression "piVar17[0xc] = 0" (subscript_expression "piVar17[0xc]" (identifier "piVar17") ([ "[") (number_literal "0xc") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)(piVar17 + 0xd) = 0;" (assignment_expression "*(undefined1 *)(piVar17 + 0xd) = 0" (pointer_expression "*(undefined1 *)(piVar17 + 0xd)" (* "*") (cast_expression "(undefined1 *)(piVar17 + 0xd)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar17 + 0xd)" (( "(") (binary_expression "piVar17 + 0xd" (identifier "piVar17") (+ "+") (number_literal "0xd")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar17 = (int *)piVar17[0x10];" (assignment_expression "piVar17 = (int *)piVar17[0x10]" (identifier "piVar17") (= "=") (cast_expression "(int *)piVar17[0x10]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar17[0x10]" (identifier "piVar17") ([ "[") (number_literal "0x10") (] "]")))) (; ";")) (if_statement "if (piVar17 == (int *)0x0) goto LAB_0001d97c;" (if "if") (parenthesized_expression "(piVar17 == (int *)0x0)" (( "(") (binary_expression "piVar17 == (int *)0x0" (identifier "piVar17") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0001d97c;" (goto "goto") (statement_identifier "LAB_0001d97c") (; ";"))) (} "}"))) (expression_statement "piVar17 = (int *)piVar17[0x10];" (assignment_expression "piVar17 = (int *)piVar17[0x10]" (identifier "piVar17") (= "=") (cast_expression "(int *)piVar17[0x10]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar17[0x10]" (identifier "piVar17") ([ "[") (number_literal "0x10") (] "]")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(piVar17 != (int *)0x0)" (( "(") (binary_expression "piVar17 != (int *)0x0" (identifier "piVar17") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (} "}")))) (labeled_statement "LAB_0001d97c:\n  while( true ) {\n    piVar17 = (int *)piVar7[0x10];\n    (*pcVar9)(piVar7);\n    if (piVar17 == (int *)0x0) break;\n    pcVar9 = *(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9);\n    piVar7 = piVar17;\n  }" (statement_identifier "LAB_0001d97c") (: ":") (while_statement "while( true ) {\n    piVar17 = (int *)piVar7[0x10];\n    (*pcVar9)(piVar7);\n    if (piVar17 == (int *)0x0) break;\n    pcVar9 = *(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9);\n    piVar7 = piVar17;\n  }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n    piVar17 = (int *)piVar7[0x10];\n    (*pcVar9)(piVar7);\n    if (piVar17 == (int *)0x0) break;\n    pcVar9 = *(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9);\n    piVar7 = piVar17;\n  }" ({ "{") (expression_statement "piVar17 = (int *)piVar7[0x10];" (assignment_expression "piVar17 = (int *)piVar7[0x10]" (identifier "piVar17") (= "=") (cast_expression "(int *)piVar7[0x10]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar7[0x10]" (identifier "piVar7") ([ "[") (number_literal "0x10") (] "]")))) (; ";")) (expression_statement "(*pcVar9)(piVar7);" (call_expression "(*pcVar9)(piVar7)" (parenthesized_expression "(*pcVar9)" (( "(") (pointer_expression "*pcVar9" (* "*") (identifier "pcVar9")) () ")")) (argument_list "(piVar7)" (( "(") (identifier "piVar7") () ")"))) (; ";")) (if_statement "if (piVar17 == (int *)0x0) break;" (if "if") (parenthesized_expression "(piVar17 == (int *)0x0)" (( "(") (binary_expression "piVar17 == (int *)0x0" (identifier "piVar17") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "pcVar9 = *(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9);" (assignment_expression "pcVar9 = *(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9)" (identifier "pcVar9") (= "=") (pointer_expression "*(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9)" (* "*") (cast_expression "(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9)" (( "(") (binary_expression "BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9" (binary_expression "BYTE_ARRAY_0009905d + unaff_EBP" (identifier "BYTE_ARRAY_0009905d") (+ "+") (identifier "unaff_EBP")) (+ "+") (number_literal "0x7f9")) () ")"))))) (; ";")) (expression_statement "piVar7 = piVar17;" (assignment_expression "piVar7 = piVar17" (identifier "piVar7") (= "=") (identifier "piVar17")) (; ";")) (} "}")))) (return_statement "return uVar8;" (return "return") (identifier "uVar8") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bp replaced with injection: get_pc_thunk.bp */
/* WARNING: Unknown calling convention */

type_1 function_1(type_2 **httppost,type_2 **last_post,...)

{
  void *pvVar1;
  type_3 *pcVar2;
  char *pcVar3;
  char *pcVar4;
  bool bVar5;
  int *var_1;
  type_4 p_Var7;
  int *var_8;
  size_t var_16;
  type_2 *var_21;
  size_t sVar11;
  type_2 *pcVar12;
  char *var_5;
  size_t var_14;
  int var_3;
  type_5 var_11;
  char *var_18;
  int *var_4;
  int *var_6;
  type_1 CVar19;
  int *var_2;
  int *var_9;
  char *var_19;
  type_2 *var_10;
  size_t var_20;
  int local_50;
  char *var_7;
  char *var_13;
  
  var_4 = (int *)&stack0x0000000c;
  var_1 = (int *)(*Curl_ccalloc)(1,0x44);
  if (var_1 == (int *)0x0) {
    return CURL_FORMADD_MEMORY;
  }
  bVar5 = false;
  var_2 = (int *)0x0;
  var_19 = (char *)0x0;
  var_6 = var_1;
LAB_0001d880:
  while ((var_2 != (int *)0x0 && (bVar5))) {
    var_19 = (char *)var_2[1];
    var_3 = *var_2;
    var_2 = var_2 + 2;
    if (var_3 != 0x11) goto LAB_0001d8a5;
    bVar5 = false;
  }
  var_3 = *var_4;
  var_4 = var_4 + 1;
  if (var_3 == 0x11) {
    var_13 = (char *)0x0;
    var_10 = (type_2 *)0x0;
    var_4 = var_1;
    goto LAB_0001df4a;
  }
LAB_0001d8a5:
  p_Var7 = Curl_cfree;
  var_5 = var_19;
  var_9 = var_1;
  switch(var_3) {
  default:
    CVar19 = CURL_FORMADD_UNKNOWN_OPTION;
    goto LAB_0001d8e8;
  case 1:
    goto _L25;
  case 2:
    var_6[9] = var_6[9] | 4;
_L25:
    if (*var_6 == 0) {
      if (!bVar5) {
        var_5 = (char *)*var_4;
        var_4 = var_4 + 1;
      }
      if (var_5 == (char *)0x0) goto LAB_0001dd00;
      *var_6 = (int)var_5;
      goto LAB_0001d880;
    }
    break;
  case 3:
    if (var_6[2] == 0) {
      if (!bVar5) {
        var_5 = (char *)*var_4;
        var_4 = var_4 + 1;
      }
      var_6[2] = (int)var_5;
      goto LAB_0001d880;
    }
    break;
  case 4:
    goto _L22;
  case 5:
    var_6[9] = var_6[9] | 8;
_L22:
    if (var_6[3] == 0) {
      if (!bVar5) {
        var_5 = (char *)*var_4;
        var_4 = var_4 + 1;
      }
      if (var_5 == (char *)0x0) goto LAB_0001dd00;
LAB_0001dd31:
      var_6[3] = (int)var_5;
      goto LAB_0001d880;
    }
    break;
  case 6:
    if (!bVar5) {
      var_5 = (char *)*var_4;
      var_4 = var_4 + 1;
    }
    var_6[5] = (int)var_5;
    var_6[6] = 0;
    goto LAB_0001d880;
  case 7:
    if ((*(type_6 *)(var_6 + 9) & 10) == 0) {
      if (!bVar5) {
        var_5 = (char *)*var_4;
        var_4 = var_4 + 1;
      }
      if (var_5 == (char *)0x0) goto LAB_0001dd00;
      var_5 = (*Curl_cstrdup)(var_5);
      var_6[3] = (int)var_5;
      if (var_5 == (char *)0x0) goto LAB_0001dd10;
      var_6[9] = var_6[9] | 2;
      *(type_7 *)(var_6 + 4) = 1;
      goto LAB_0001d880;
    }
    break;
  case 8:
    if (bVar5) {
      CVar19 = CURL_FORMADD_ILLEGAL_ARRAY;
      goto LAB_0001d8e8;
    }
    var_2 = (int *)*var_4;
    if (var_2 == (int *)0x0) goto LAB_0001dd00;
    var_4 = var_4 + 1;
    bVar5 = true;
    goto LAB_0001d880;
  case 10:
    if (!bVar5) {
      var_5 = (char *)*var_4;
      var_4 = var_4 + 1;
    }
    if (var_6[3] != 0) {
      if ((*(type_6 *)(var_6 + 9) & 1) == 0) break;
      if (var_5 != (char *)0x0) {
        var_7 = (*Curl_cstrdup)(var_5);
        if (var_7 == (char *)0x0) goto LAB_0001dd10;
        var_8 = (int *)(*Curl_ccalloc)(1,0x44);
        if (var_8 == (int *)0x0) {
LAB_0001e234:
          CVar19 = CURL_FORMADD_MEMORY;
          (*Curl_cfree)(var_7);
          p_Var7 = Curl_cfree;
          goto LAB_0001d8e8;
        }
        var_8[3] = (int)var_7;
        var_3 = var_6[0x10];
        var_8[9] = 1;
        var_8[0x10] = var_3;
        var_6[0x10] = (int)var_8;
        *(type_7 *)(var_8 + 4) = 1;
        var_6 = var_8;
        goto LAB_0001d880;
      }
LAB_0001dd00:
      CVar19 = CURL_FORMADD_NULL;
      p_Var7 = Curl_cfree;
LAB_0001d8e8:
      do {
        if ((char)var_9[1] != '\0') {
          (*p_Var7)((void *)*var_9);
          p_Var7 = Curl_cfree;
          *var_9 = 0;
          *(type_7 *)(var_9 + 1) = 0;
        }
        if ((char)var_9[4] != '\0') {
          (*p_Var7)((void *)var_9[3]);
          p_Var7 = Curl_cfree;
          var_9[3] = 0;
          *(type_7 *)(var_9 + 4) = 0;
        }
        if ((char)var_9[8] != '\0') {
          (*p_Var7)((void *)var_9[7]);
          p_Var7 = Curl_cfree;
          var_9[7] = 0;
          *(type_7 *)(var_9 + 8) = 0;
        }
        if ((char)var_9[0xd] == '\0') {
          var_4 = var_9 + 0x10;
          var_9 = (int *)*var_4;
          if ((int *)*var_4 == (int *)0x0) break;
          goto LAB_0001d8e8;
        }
        (*p_Var7)((void *)var_9[0xc]);
        p_Var7 = Curl_cfree;
        var_9[0xc] = 0;
        *(type_7 *)(var_9 + 0xd) = 0;
        var_4 = var_9 + 0x10;
        var_9 = (int *)*var_4;
      } while ((int *)*var_4 != (int *)0x0);
      goto LAB_0001d97c;
    }
    if (var_5 == (char *)0x0) goto LAB_0001dd00;
    var_5 = (*Curl_cstrdup)(var_5);
    var_6[3] = (int)var_5;
    if (var_5 != (char *)0x0) {
      var_6[9] = var_6[9] | 1;
      *(type_7 *)(var_6 + 4) = 1;
      goto LAB_0001d880;
    }
    goto LAB_0001dd10;
  case 0xb:
  case 0x10:
    if (!bVar5) {
      var_5 = (char *)*var_4;
      var_4 = var_4 + 1;
    }
    if (var_6[0xc] == 0) {
      var_5 = (*Curl_cstrdup)(var_5);
      var_6[0xc] = (int)var_5;
      if (var_5 == (char *)0x0) goto LAB_0001dd10;
      *(type_7 *)(var_6 + 0xd) = 1;
      goto LAB_0001d880;
    }
    break;
  case 0xc:
    var_6[9] = var_6[9] | 0x30;
    if (var_6[10] != 0) break;
    if (!bVar5) {
      var_5 = (char *)*var_4;
      var_4 = var_4 + 1;
    }
    if (var_5 != (char *)0x0) {
      var_6[10] = (int)var_5;
      goto LAB_0001dd31;
    }
    goto LAB_0001dd00;
  case 0xd:
    if (var_6[0xb] == 0) {
      if (!bVar5) {
        var_5 = (char *)*var_4;
        var_4 = var_4 + 1;
      }
      var_6[0xb] = (int)var_5;
      goto LAB_0001d880;
    }
    break;
  case 0xe:
    if (!bVar5) {
      var_5 = (char *)*var_4;
      var_4 = var_4 + 1;
    }
    if (var_6[7] == 0) {
      if (var_5 == (char *)0x0) goto LAB_0001dd00;
      var_5 = (*Curl_cstrdup)(var_5);
      var_6[7] = (int)var_5;
      if (var_5 != (char *)0x0) {
        *(type_7 *)(var_6 + 8) = 1;
        goto LAB_0001d880;
      }
    }
    else {
      if ((*(type_6 *)(var_6 + 9) & 1) == 0) break;
      if (var_5 == (char *)0x0) goto LAB_0001dd00;
      var_7 = (*Curl_cstrdup)(var_5);
      if (var_7 != (char *)0x0) {
        var_8 = (int *)(*Curl_ccalloc)(1,0x44);
        if (var_8 == (int *)0x0) goto LAB_0001e234;
        var_8[7] = (int)var_7;
        var_3 = var_6[0x10];
        var_8[9] = 1;
        var_8[0x10] = var_3;
        var_6[0x10] = (int)var_8;
        *(type_7 *)(var_8 + 8) = 1;
        var_6 = var_8;
        goto LAB_0001d880;
      }
    }
LAB_0001dd10:
    CVar19 = CURL_FORMADD_MEMORY;
    p_Var7 = Curl_cfree;
    goto LAB_0001d8e8;
  case 0xf:
    if (!bVar5) {
      var_5 = (char *)*var_4;
      var_4 = var_4 + 1;
    }
    if (var_6[0xf] == 0) {
      var_6[0xf] = (int)var_5;
      goto LAB_0001d880;
    }
    break;
  case 0x13:
    var_6[9] = var_6[9] | 0x40;
    if (var_6[0xe] == 0) {
      if (!bVar5) {
        var_5 = (char *)*var_4;
        var_4 = var_4 + 1;
      }
      if (var_5 == (char *)0x0) goto LAB_0001dd00;
      var_6[0xe] = (int)var_5;
      var_6[3] = (int)var_5;
      goto LAB_0001d880;
    }
    break;
  case 0x14:
    var_6[9] = var_6[9] | 0x80;
    if (bVar5) {
      var_3 = 0;
    }
    else {
      var_5 = (char *)*var_4;
      var_3 = var_4[1];
      var_4 = var_4 + 2;
    }
    var_6[5] = (int)var_5;
    var_6[6] = var_3;
    goto LAB_0001d880;
  }
  CVar19 = CURL_FORMADD_OPTION_TWICE;
  p_Var7 = Curl_cfree;
  goto LAB_0001d8e8;
  while (var_13 = (char *)*var_2, var_4 != (int *)0x0) {
LAB_0001df4a:
    var_5 = (char *)*var_4;
    if ((((((var_5 == (char *)0x0) || (var_4[3] == 0)) && (var_10 == (type_2 *)0x0)) ||
         ((var_11 = var_4[9], var_4[6] != 0 || var_4[5] != 0 && ((var_11 & 1) != 0)))) ||
        (((var_11 & 9) == 9 || ((var_4[10] == 0 && ((var_11 & 0x30) == 0x30)))))) ||
       ((var_11 & 10) == 10)) {
      CVar19 = CURL_FORMADD_INCOMPLETE;
      p_Var7 = Curl_cfree;
      goto LAB_0001df70;
    }
    if (((var_11 & 0x11) != 0) && (var_4[7] == 0)) {
      if ((var_11 & 0x10) == 0) {
        var_5 = (char *)var_4[3];
      }
      else {
        var_5 = (char *)var_4[0xc];
      }
      var_5 = var_12(var_5);
      if ((var_5 == (char *)0x0) &&
         (var_5 = "application/octet-stream", var_13 != (char *)0x0)) {
        var_5 = var_13;
      }
      var_5 = (*Curl_cstrdup)(var_5);
      var_4[7] = (int)var_5;
      if (var_5 != (char *)0x0) {
        *(type_7 *)(var_4 + 8) = 1;
        var_5 = (char *)*var_4;
        goto LAB_0001ddc4;
      }
LAB_0001e016:
      CVar19 = CURL_FORMADD_MEMORY;
      p_Var7 = Curl_cfree;
      goto LAB_0001df70;
    }
LAB_0001ddc4:
    if (var_5 == (char *)0x0) {
      var_11 = var_4[9];
      if (((var_11 & 4) == 0) && (var_1 == var_4)) goto LAB_0001e016;
    }
    else {
      var_14 = var_4[2];
      if (var_14 == 0) {
        var_11 = var_4[9];
        if (((var_11 & 4) == 0) && (var_1 == var_4)) {
          var_16 = var_15(var_5);
          var_14 = var_16 + 1;
LAB_0001e0cf:
          var_5 = (char *)var_17(var_5,var_14);
          *var_4 = (int)var_5;
          if (var_5 == (char *)0x0) goto LAB_0001e016;
          *(type_7 *)(var_4 + 1) = 1;
          var_11 = var_4[9];
        }
      }
      else {
        if (*var_5 == '\0') {
LAB_0001e140:
          CVar19 = CURL_FORMADD_NULL;
          p_Var7 = Curl_cfree;
          goto LAB_0001df70;
        }
        var_18 = var_5;
        while (var_18 = var_18 + 1, var_5 + var_14 != var_18) {
          if (*var_18 == '\0') goto LAB_0001e140;
        }
        var_11 = var_4[9];
        if (((var_11 & 4) == 0) && (var_1 == var_4)) goto LAB_0001e0cf;
      }
    }
    var_19 = (char *)var_4[3];
    var_20 = var_4[5];
    local_50 = var_4[6];
    if (((var_11 & 0x6b) == 0) && (var_19 != (char *)0x0)) {
      if (var_20 == 0) {
        var_16 = var_15(var_19);
        var_20 = var_16 + 1;
      }
      var_19 = (char *)var_17(var_19,var_20);
      var_4[3] = (int)var_19;
      if (var_19 == (char *)0x0) goto LAB_0001e016;
      var_20 = var_4[5];
      var_11 = var_4[9];
      *(type_7 *)(var_4 + 4) = 1;
      var_5 = (char *)*var_4;
      local_50 = var_4[6];
    }
    pvVar1 = (void *)var_4[0xe];
    var_16 = var_4[2];
    var_18 = (char *)var_4[0xc];
    pcVar2 = (type_3 *)var_4[0xf];
    pcVar3 = (char *)var_4[7];
    var_3 = var_4[0xb];
    pcVar4 = (char *)var_4[10];
    var_21 = (type_2 *)(*Curl_ccalloc)(1,0x3c);
    if (var_21 == (type_2 *)0x0) goto LAB_0001e016;
    var_21->name = var_5;
    sVar11 = 0;
    if ((var_5 != (char *)0x0) && (sVar11 = var_16, var_16 == 0)) {
      sVar11 = var_15(var_5);
    }
    var_21->namelength = sVar11;
    var_21->contents = var_19;
    *(size_t *)&var_21->contentlen = var_20;
    *(int *)((int)&var_21->contentlen + 4) = local_50;
    var_21->buffer = pcVar4;
    var_21->bufferlength = var_3;
    var_21->contenttype = pcVar3;
    var_21->contentheader = pcVar2;
    var_21->showfilename = var_18;
    var_21->userp = pvVar1;
    var_21->flags = var_11 | 0x80;
    if (var_10 == (type_2 *)0x0) {
      pcVar12 = *last_post;
      if (*last_post == (type_2 *)0x0) {
        pcVar12 = (type_2 *)httppost;
      }
      pcVar12->next = var_21;
      *last_post = var_21;
    }
    else {
      var_21->more = var_10->more;
      var_10->more = var_21;
    }
    var_2 = var_4 + 7;
    var_4 = (int *)var_4[0x10];
    var_10 = var_21;
    if ((char *)*var_2 == (char *)0x0) {
      if (var_4 == (int *)0x0) break;
      goto LAB_0001df4a;
    }
  }
  CVar19 = CURL_FORMADD_OK;
  p_Var7 = Curl_cfree;
  goto LAB_0001d97c;
  while (var_4 = (int *)var_4[0x10], var_4 != (int *)0x0) {
LAB_0001df70:
    if ((char)var_4[1] != '\0') {
      (*p_Var7)((void *)*var_4);
      p_Var7 = Curl_cfree;
      *var_4 = 0;
      *(type_7 *)(var_4 + 1) = 0;
    }
    if ((char)var_4[4] != '\0') {
      (*p_Var7)((void *)var_4[3]);
      p_Var7 = Curl_cfree;
      var_4[3] = 0;
      *(type_7 *)(var_4 + 4) = 0;
    }
    if ((char)var_4[8] != '\0') {
      (*p_Var7)((void *)var_4[7]);
      p_Var7 = Curl_cfree;
      var_4[7] = 0;
      *(type_7 *)(var_4 + 8) = 0;
    }
    if ((char)var_4[0xd] != '\0') {
      (*p_Var7)((void *)var_4[0xc]);
      p_Var7 = Curl_cfree;
      var_4[0xc] = 0;
      *(type_7 *)(var_4 + 0xd) = 0;
      var_4 = (int *)var_4[0x10];
      if (var_4 == (int *)0x0) break;
      goto LAB_0001df70;
    }
  }
LAB_0001d97c:
  do {
    var_4 = (int *)var_1[0x10];
    (*p_Var7)(var_1);
    p_Var7 = Curl_cfree;
    var_1 = var_4;
  } while (var_4 != (int *)0x0);
  return CVar19;
}


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

/* WARNING: Removing unreachable block (ram,0x0001d890) */
/* WARNING: Removing unreachable block (ram,0x0001da00) */
/* WARNING: Removing unreachable block (ram,0x0001d888) */

undefined4 MASKED(int *param_1,int *param_2,uint param_3)

{
  byte *pbVar1;
  int iVar2;
  int iVar3;
  int iVar4;
  int iVar5;
  int iVar6;
  int *piVar7;
  undefined4 uVar8;
  code *pcVar9;
  size_t sVar10;
  int iVar11;
  size_t sVar12;
  int *piVar13;
  char *__s;
  int iVar14;
  uint uVar15;
  char *pcVar16;
  int unaff_EBP;
  int *piVar17;
  char *local_60;
  int local_5c;
  int local_54;
  int local_50;
  int local_28;
  
  FUN_0001ab8b();
  piVar7 = (int *)(**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed))(1,0x44);
  if (piVar7 == (int *)0x0) {
    return 1;
  }
  if (param_3 == 0x11) {
    local_28 = 0;
    local_5c = 0;
    piVar17 = piVar7;
LAB_0001df4a:
    do {
      __s = (char *)*piVar17;
      if ((((((__s == (char *)0x0) || (piVar17[3] == 0)) && (local_5c == 0)) ||
           ((uVar15 = piVar17[9], piVar17[6] != 0 || piVar17[5] != 0 && ((uVar15 & 1) != 0)))) ||
          (((uVar15 & 9) == 9 || ((piVar17[10] == 0 && ((uVar15 & 0x30) == 0x30)))))) ||
         ((uVar15 & 10) == 10)) {
        uVar8 = 5;
LAB_0001df65:
        pbVar1 = BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9;
        pcVar9 = *(code **)pbVar1;
        do {
          if ((char)piVar17[1] != '\0') {
            (*pcVar9)(*piVar17);
            pcVar9 = *(code **)pbVar1;
            *piVar17 = 0;
            *(undefined1 *)(piVar17 + 1) = 0;
          }
          if ((char)piVar17[4] != '\0') {
            (*pcVar9)(piVar17[3]);
            pcVar9 = *(code **)pbVar1;
            piVar17[3] = 0;
            *(undefined1 *)(piVar17 + 4) = 0;
          }
          if ((char)piVar17[8] != '\0') {
            (*pcVar9)(piVar17[7]);
            pcVar9 = *(code **)pbVar1;
            piVar17[7] = 0;
            *(undefined1 *)(piVar17 + 8) = 0;
          }
          if ((char)piVar17[0xd] == '\0') {
            piVar17 = (int *)piVar17[0x10];
          }
          else {
            (*pcVar9)(piVar17[0xc]);
            pcVar9 = *(code **)pbVar1;
            piVar17[0xc] = 0;
            *(undefined1 *)(piVar17 + 0xd) = 0;
            piVar17 = (int *)piVar17[0x10];
          }
        } while (piVar17 != (int *)0x0);
        goto LAB_0001d97c;
      }
      if (((uVar15 & 0x11) != 0) && (piVar17[7] == 0)) {
        if ((uVar15 & 0x10) == 0) {
          iVar14 = piVar17[3];
        }
        else {
          iVar14 = piVar17[0xc];
        }
        iVar14 = FUN_0006e8e0(iVar14);
        if ((iVar14 == 0) && (iVar14 = unaff_EBP + 0x65cc6, local_28 != 0)) {
          iVar14 = local_28;
        }
        iVar14 = (**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f1))(iVar14);
        piVar17[7] = iVar14;
        if (iVar14 != 0) {
          *(undefined1 *)(piVar17 + 8) = 1;
          __s = (char *)*piVar17;
          goto LAB_0001ddc4;
        }
LAB_0001e016:
        uVar8 = 1;
        goto LAB_0001df65;
      }
LAB_0001ddc4:
      if (__s == (char *)0x0) {
        uVar15 = piVar17[9];
        if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e016;
      }
      else {
        iVar14 = piVar17[2];
        if (iVar14 == 0) {
          uVar15 = piVar17[9];
          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) {
            sVar10 = strlen(__s);
            iVar14 = sVar10 + 1;
LAB_0001e0cf:
            __s = (char *)FUN_00050160(__s,iVar14);
            *piVar17 = (int)__s;
            if (__s == (char *)0x0) goto LAB_0001e016;
            *(undefined1 *)(piVar17 + 1) = 1;
            uVar15 = piVar17[9];
          }
        }
        else {
          if (*__s == '\0') {
LAB_0001e140:
            uVar8 = 3;
            goto LAB_0001df65;
          }
          pcVar16 = __s;
          while (pcVar16 = pcVar16 + 1, __s + iVar14 != pcVar16) {
            if (*pcVar16 == '\0') goto LAB_0001e140;
          }
          uVar15 = piVar17[9];
          if (((uVar15 & 4) == 0) && (piVar7 == piVar17)) goto LAB_0001e0cf;
        }
      }
      local_60 = (char *)piVar17[3];
      local_54 = piVar17[5];
      local_50 = piVar17[6];
      if (((uVar15 & 0x6b) == 0) && (local_60 != (char *)0x0)) {
        if (local_54 == 0) {
          sVar10 = strlen(local_60);
          local_54 = sVar10 + 1;
        }
        local_60 = (char *)FUN_00050160(local_60,local_54);
        piVar17[3] = (int)local_60;
        if (local_60 == (char *)0x0) goto LAB_0001e016;
        local_54 = piVar17[5];
        uVar15 = piVar17[9];
        *(undefined1 *)(piVar17 + 4) = 1;
        __s = (char *)*piVar17;
        local_50 = piVar17[6];
      }
      iVar14 = piVar17[0xe];
      sVar10 = piVar17[2];
      iVar2 = piVar17[0xc];
      iVar3 = piVar17[0xf];
      iVar4 = piVar17[7];
      iVar5 = piVar17[0xb];
      iVar6 = piVar17[10];
      iVar11 = (**(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7ed))(1,0x3c);
      if (iVar11 == 0) goto LAB_0001e016;
      *(char **)(iVar11 + 4) = __s;
      sVar12 = 0;
      if ((__s != (char *)0x0) && (sVar12 = sVar10, sVar10 == 0)) {
        sVar12 = strlen(__s);
      }
      *(size_t *)(iVar11 + 8) = sVar12;
      *(char **)(iVar11 + 0xc) = local_60;
      *(int *)(iVar11 + 0x34) = local_54;
      *(int *)(iVar11 + 0x38) = local_50;
      *(int *)(iVar11 + 0x14) = iVar6;
      *(int *)(iVar11 + 0x18) = iVar5;
      *(int *)(iVar11 + 0x1c) = iVar4;
      *(int *)(iVar11 + 0x20) = iVar3;
      *(int *)(iVar11 + 0x2c) = iVar2;
      *(int *)(iVar11 + 0x30) = iVar14;
      *(uint *)(iVar11 + 0x28) = uVar15 | 0x80;
      if (local_5c == 0) {
        piVar13 = (int *)*param_2;
        if ((int *)*param_2 == (int *)0x0) {
          piVar13 = param_1;
        }
        *piVar13 = iVar11;
        *param_2 = iVar11;
      }
      else {
        *(undefined4 *)(iVar11 + 0x24) = *(undefined4 *)(local_5c + 0x24);
        *(int *)(local_5c + 0x24) = iVar11;
      }
      piVar13 = piVar17 + 7;
      piVar17 = (int *)piVar17[0x10];
      local_5c = iVar11;
      if (*piVar13 == 0) {
        if (piVar17 == (int *)0x0) break;
        goto LAB_0001df4a;
      }
      local_28 = *piVar13;
    } while (piVar17 != (int *)0x0);
    uVar8 = 0;
    pcVar9 = *(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9);
  }
  else {
    if (param_3 < 0x15) {
                    /* WARNING: Could not recover jumptable at 0x0001d8b7. Too many branches */
                    /* WARNING: Treating indirect jump as call */
      uVar8 = (*(code *)(*(int *)(unaff_EBP + 0x65cf6 + param_3 * 4) + unaff_EBP + 0x98fca))();
      return uVar8;
    }
    pbVar1 = BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9;
    pcVar9 = *(code **)pbVar1;
    uVar8 = 4;
    piVar17 = piVar7;
    do {
      while( true ) {
        if ((char)piVar17[1] != '\0') {
          (*pcVar9)(*piVar17);
          pcVar9 = *(code **)pbVar1;
          *piVar17 = 0;
          *(undefined1 *)(piVar17 + 1) = 0;
        }
        if ((char)piVar17[4] != '\0') {
          (*pcVar9)(piVar17[3]);
          pcVar9 = *(code **)pbVar1;
          piVar17[3] = 0;
          *(undefined1 *)(piVar17 + 4) = 0;
        }
        if ((char)piVar17[8] != '\0') {
          (*pcVar9)(piVar17[7]);
          pcVar9 = *(code **)pbVar1;
          piVar17[7] = 0;
          *(undefined1 *)(piVar17 + 8) = 0;
        }
        if ((char)piVar17[0xd] == '\0') break;
        (*pcVar9)(piVar17[0xc]);
        pcVar9 = *(code **)pbVar1;
        piVar17[0xc] = 0;
        *(undefined1 *)(piVar17 + 0xd) = 0;
        piVar17 = (int *)piVar17[0x10];
        if (piVar17 == (int *)0x0) goto LAB_0001d97c;
      }
      piVar17 = (int *)piVar17[0x10];
    } while (piVar17 != (int *)0x0);
  }
LAB_0001d97c:
  while( true ) {
    piVar17 = (int *)piVar7[0x10];
    (*pcVar9)(piVar7);
    if (piVar17 == (int *)0x0) break;
    pcVar9 = *(code **)(BYTE_ARRAY_0009905d + unaff_EBP + 0x7f9);
    piVar7 = piVar17;
  }
  return uVar8;
}

