
/* WARNING: Removing unreachable block (ram,0x000438ac) */
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */

uchar * rfc4716_loadpub(FILE *fp,char **algorithm,int *pub_blob_len,char **commentptr,
                       char **errorstr)

{
  undefined *puVar1;
  int *piVar2;
  int iVar3;
  undefined4 uVar4;
  FILE *pFVar5;
  int iVar6;
  uchar uVar13;
  undefined1 *puVar7;
  uint uVar8;
  int *piVar9;
  int iVar10;
  ssh_signkey *psVar11;
  FILE *pFVar12;
  Filename *pFVar14;
  char **ppcVar15;
  char **ppcVar16;
  char **ppcVar17;
  FILE *pFVar18;
  int *piVar19;
  char **header;
  int *piVar20;
  char *pcVar21;
  int *piVar22;
  char *pcVar23;
  undefined *puVar24;
  uchar *puVar25;
  char **unaff_s4;
  FILE *unaff_s5;
  char **unaff_s6;
  char **ppcVar26;
  char **unaff_s7;
  undefined *puVar27;
  char *unaff_s8;
  code *pcVar28;
  code *pcVar29;
  char acStack_184 [40];
  int iStack_15c;
  int *piStack_154;
  int *piStack_150;
  int *piStack_14c;
  char **ppcStack_148;
  int *piStack_144;
  uchar *puStack_140;
  char **ppcStack_13c;
  FILE *pFStack_138;
  code *pcStack_134;
  int *piStack_120;
  code *pcStack_118;
  code *pcStack_110;
  code *pcStack_10c;
  int iStack_108;
  char *apcStack_104 [10];
  Filename *pFStack_dc;
  char *pcStack_d8;
  int iStack_d4;
  int *piStack_d0;
  int iStack_cc;
  char *pcStack_c8;
  undefined4 uStack_c4;
  char **ppcStack_c0;
  FILE *pFStack_bc;
  char **ppcStack_b8;
  code *pcStack_b4;
  int *piStack_a0;
  FILE *pFStack_98;
  char *pcStack_94;
  uchar *puStack_90;
  FILE *pFStack_8c;
  char **ppcStack_88;
  FILE *pFStack_84;
  char **ppcStack_80;
  char **ppcStack_7c;
  char *pcStack_78;
  code *pcStack_74;
  char *pcStack_54;
  uchar base64out [3];
  char base64in [4];
  
  puVar27 = PTR___stack_chk_guard_00079930;
  iVar3 = *(int *)PTR___stack_chk_guard_00079930;
  ppcVar15 = algorithm;
  pFVar12 = (FILE *)pub_blob_len;
  header = commentptr;
  uVar4 = (*(code *)PTR_fgetline_00079538)();
  pFVar5 = (FILE *)(*(code *)PTR_chomp_0007953c)(uVar4);
  if (pFVar5 != (FILE *)0x0) {
    ppcVar15 = (char **)(PTR_s_j_000790a8 + 0x43cc);
    iVar6 = (*(code *)PTR_strcmp_000798a4)(pFVar5);
    if (iVar6 == 0) {
      (*(code *)PTR_safefree_000790f0)(pFVar5);
      pcStack_54 = (char *)0x0;
      puVar24 = PTR_s_j_000790a8 + 0x43ec;
      ppcVar17 = (char **)(PTR_s_j_000790a8 + 0x4258);
      unaff_s4 = (char **)(PTR_s_j_000790a8 + 0x43f0);
      unaff_s7 = (char **)(PTR_s_j_000790a8 + 0x43f8);
      while( true ) {
        uVar4 = (*(code *)PTR_fgetline_00079538)(fp);
        pFVar5 = (FILE *)(*(code *)PTR_chomp_0007953c)(uVar4);
        if (pFVar5 == (FILE *)0x0) break;
        unaff_s8 = (char *)(*(code *)PTR_strstr_00079944)(pFVar5,puVar24);
        puVar1 = PTR_strcmp_000798a4;
        if (unaff_s8 == (char *)0x0) {
          ppcVar15 = (char **)0x1;
          unaff_s7 = (char **)base64out;
          puVar25 = (uchar *)(*(code *)PTR_safemalloc_000790d0)(0x1000);
          unaff_s8 = base64in;
          iVar6 = 0;
          unaff_s4 = (char **)0x0;
          iVar10 = 0x1000;
          goto LAB_0004340c;
        }
        *unaff_s8 = '\0';
        ppcVar15 = ppcVar17;
        iVar6 = (*(code *)puVar1)(pFVar5);
        if (iVar6 == 0) {
          unaff_s5 = (FILE *)(int)unaff_s8[2];
          unaff_s6 = (char **)(unaff_s8 + 2);
          pFVar12 = pFVar5;
          if (unaff_s5 == (FILE *)0x22) {
            iVar6 = (*(code *)PTR_strlen_000798d0)(unaff_s6);
            puVar25 = (uchar *)((int)unaff_s6 + iVar6 + -1);
            if (*puVar25 == '\"') {
              *puVar25 = '\0';
              unaff_s5 = (FILE *)(int)unaff_s8[3];
              unaff_s6 = (char **)(unaff_s8 + 3);
              if (unaff_s5 == (FILE *)0x0) goto LAB_00043364;
            }
LAB_00043310:
            header = (char **)0x5c;
            ppcVar16 = ppcVar15;
            pFVar18 = pFVar5;
            ppcVar26 = unaff_s6;
            do {
              while ((ppcVar15 = (char **)((int)ppcVar26 + 1), unaff_s5 != (FILE *)0x5c ||
                     (*(uchar *)((int)ppcVar26 + 1) == '\0'))) {
                pFVar12 = (FILE *)((int)&pFVar18->_flags + 1);
                *(uchar *)&pFVar18->_flags = *(uchar *)ppcVar26;
                unaff_s5 = (FILE *)(int)(char)*(uchar *)((int)ppcVar26 + 1);
                ppcVar16 = ppcVar15;
                pFVar18 = pFVar12;
                unaff_s6 = ppcVar15;
                ppcVar26 = ppcVar15;
                if (unaff_s5 == (FILE *)0x0) goto LAB_00043364;
              }
              pFVar12 = (FILE *)((int)&pFVar18->_flags + 1);
              *(uchar *)&pFVar18->_flags = *(uchar *)((int)ppcVar26 + 1);
              unaff_s5 = (FILE *)(int)(char)*(uchar *)((int)ppcVar26 + 2);
              ppcVar15 = ppcVar16;
              pFVar18 = pFVar12;
              unaff_s6 = (char **)((int)ppcVar26 + 2);
              ppcVar26 = (char **)((int)ppcVar26 + 2);
            } while (unaff_s5 != (FILE *)0x0);
          }
          else if (unaff_s5 != (FILE *)0x0) goto LAB_00043310;
LAB_00043364:
          puVar1 = PTR_safefree_000790f0;
          *(uchar *)&pFVar12->_flags = '\0';
          (*(code *)puVar1)(pcStack_54);
          pcStack_54 = (char *)(*(code *)PTR_dupstr_000790fc)(pFVar5);
        }
        else {
          ppcVar15 = unaff_s4;
          iVar6 = (*(code *)PTR_strcmp_000798a4)(pFVar5);
          if (iVar6 != 0) {
            pFVar12 = (FILE *)0x2;
            ppcVar15 = unaff_s7;
            iVar6 = (*(code *)PTR_strncmp_000797c4)(pFVar5);
            if (iVar6 != 0) {
              puVar25 = (uchar *)0x0;
              pcVar23 = PTR_s_j_000790a8 + 0x437c;
              algorithm = (char **)pFVar5;
              goto LAB_00043198;
            }
          }
        }
        (*(code *)PTR_safefree_000790f0)(pFVar5);
      }
      puVar25 = (uchar *)0x0;
      pcVar23 = PTR_s_j_000790a8 + 0x43ac;
      algorithm = (char **)pFVar5;
      goto LAB_00043198;
    }
  }
  puVar25 = (uchar *)0x0;
  pcStack_54 = (char *)0x0;
  pcVar23 = PTR_s_j_000790a8 + 0x42f0;
  algorithm = (char **)pFVar5;
  goto LAB_00043198;
LAB_0004340c:
  do {
    uVar13 = *(uchar *)&pFVar5->_flags;
    unaff_s5 = pFVar5;
    if (uVar13 == '-') {
      ppcVar15 = (char **)(PTR_s_j_000790a8 + 0x43fc);
      iVar6 = (*(code *)PTR_strcmp_000798a4)(pFVar5);
      if (iVar6 == 0) {
        (*(code *)PTR_safefree_000790f0)(pFVar5);
        if ((int)unaff_s4 < 4) {
          pcVar23 = PTR_s_j_000790a8 + 0x42c4;
          algorithm = (char **)(FILE *)0x0;
          goto LAB_00043198;
        }
        ppcVar17 = (char **)(*(code *)PTR_toint_000792c8)(*(undefined4 *)puVar25);
        pcVar23 = PTR_s_j_000790a8;
        if (((int)ppcVar17 < 0) || ((int)((int)unaff_s4 + -3) <= (int)ppcVar17)) {
          pcVar23 = PTR_s_j_000790a8 + 0x431c;
          algorithm = (char **)(FILE *)0x0;
          goto LAB_00043198;
        }
        pFVar12 = (FILE *)(puVar25 + 4);
        if (algorithm != (char **)0x0) {
          pcVar21 = (char *)(*(code *)PTR_dupprintf_000790e8)(PTR_s_j_000790a8 + -0x26d0);
          *algorithm = pcVar21;
          ppcVar15 = ppcVar17;
        }
        if (pub_blob_len != (int *)0x0) {
          *pub_blob_len = (int)unaff_s4;
        }
        if (commentptr == (char **)0x0) {
          (*(code *)PTR_safefree_000790f0)(pcStack_54);
        }
        else {
          *commentptr = pcStack_54;
        }
        goto LAB_000431d8;
      }
      break;
    }
    unaff_s6 = (char **)0x4;
    while (ppcVar17 = unaff_s4, uVar13 != '\0') {
      while( true ) {
        base64in[iVar6] = uVar13;
        if (iVar6 + 1 != 4) break;
        pFVar12 = (FILE *)(*(code *)PTR_base64_decode_atom_000792d8)(unaff_s8,unaff_s7);
        unaff_s4 = (char **)((int)ppcVar17 + (int)pFVar12);
        if (iVar10 < (int)unaff_s4) {
          iVar10 = ((int)unaff_s4 * 5 >> 2) + 0x400;
          puVar25 = (uchar *)(*(code *)PTR_saferealloc_000791a0)(puVar25,iVar10,1);
        }
        unaff_s5 = (FILE *)((int)&unaff_s5->_flags + 1);
        ppcVar15 = unaff_s7;
        (*(code *)PTR_memcpy_000798e0)(puVar25 + (int)ppcVar17);
        iVar6 = 0;
        uVar13 = *(uchar *)&unaff_s5->_flags;
        ppcVar17 = unaff_s4;
        if (uVar13 == '\0') goto LAB_000434ac;
      }
      unaff_s5 = (FILE *)((int)&unaff_s5->_flags + 1);
      iVar6 = iVar6 + 1;
      unaff_s4 = ppcVar17;
      uVar13 = *(uchar *)&unaff_s5->_flags;
    }
LAB_000434ac:
    (*(code *)PTR_safefree_000790f0)(pFVar5);
    uVar4 = (*(code *)PTR_fgetline_00079538)(fp);
    pFVar5 = (FILE *)(*(code *)PTR_chomp_0007953c)(uVar4);
  } while (pFVar5 != (FILE *)0x0);
  pcVar23 = PTR_s_j_000790a8 + 0x4350;
  algorithm = (char **)pFVar5;
LAB_00043198:
  (*(code *)PTR_safefree_000790f0)(algorithm);
  (*(code *)PTR_safefree_000790f0)(pcStack_54);
  (*(code *)PTR_safefree_000790f0)(puVar25);
  pFVar5 = unaff_s5;
  if (errorstr == (char **)0x0) {
    puVar25 = (uchar *)0x0;
  }
  else {
    puVar25 = (uchar *)0x0;
    *errorstr = pcVar23;
  }
LAB_000431d8:
  if (iVar3 == *(int *)puVar27) {
    return puVar25;
  }
  pcVar28 = openssh_loadpub;
  puVar27 = PTR___stack_chk_fail_000797f0;
  (*(code *)PTR___stack_chk_fail_000797f0)();
  piStack_a0 = (int *)(puVar27 + 0x3da44);
  pFStack_98 = (FILE *)algorithm;
  pcStack_94 = pcVar23;
  puStack_90 = puVar25;
  pFStack_8c = fp;
  ppcStack_88 = unaff_s4;
  pFStack_84 = pFVar5;
  ppcStack_80 = unaff_s6;
  ppcStack_7c = unaff_s7;
  pcStack_78 = unaff_s8;
  pcStack_74 = pcVar28;
  uVar4 = (**(code **)(puVar27 + 0x35f0c))();
  uVar4 = (*(code *)piStack_a0[-0x1ecd])(uVar4);
  puVar7 = (undefined1 *)(*(code *)piStack_a0[-0x1e0f])(uVar4,0x20);
  if (puVar7 == (undefined1 *)0x0) {
    piVar9 = (int *)0x0;
    iVar3 = piStack_a0[-0x1ff2] + 0x4490;
    pcVar23 = (char *)0x0;
  }
  else {
    pcVar28 = (code *)piStack_a0[-0x1e0f];
    pcVar21 = puVar7 + 1;
    *puVar7 = 0;
    pcVar23 = (char *)(*pcVar28)(pcVar21,0x20);
    if (pcVar23 != (char *)0x0) {
      pcVar28 = (code *)piStack_a0[-0x1fdd];
      *pcVar23 = '\0';
      pcVar23 = (char *)(*pcVar28)(pcVar23 + 1);
    }
    iVar6 = 0;
    uVar8 = (*(code *)piStack_a0[-0x1de8])(pcVar21);
    iVar3 = (uVar8 >> 2) * 3;
    piVar9 = (int *)(*(code *)piStack_a0[-0x1fe8])(iVar3,1);
    while (iVar10 = (*(code *)piStack_a0[-0x1df7])(pcVar21,0,4), iVar10 == 0) {
      if (iVar3 <= iVar6 + 2) {
        piVar19 = (int *)&DAT_00000441;
        pcVar28 = (code *)piStack_a0[-0x1e6c];
        piVar20 = (int *)(piStack_a0[-0x1ff2] + 0x4800);
        ppcVar16 = (char **)(piStack_a0[-0x1ff2] + 0x4034);
        pcVar29 = ssh2_userkey_loadpub;
        pFVar14 = (Filename *)(piStack_a0[-0x1ff2] + 0x44b8);
        (*pcVar28)();
        piVar2 = piStack_a0;
        pcStack_118 = pcVar28 + 0x3d74c;
        piVar22 = *(int **)(pcVar28 + 0x3600c);
        ppcVar17 = (char **)(*(int *)(pcVar28 + 0x35784) + 0x4078);
        pFStack_dc = (Filename *)*piVar22;
        pcStack_d8 = pcVar21;
        iStack_d4 = iVar6;
        piStack_d0 = piVar9;
        iStack_cc = iVar3;
        pcStack_c8 = pcVar23;
        uStack_c4 = uVar4;
        ppcStack_c0 = header;
        pFStack_bc = pFVar12;
        ppcStack_b8 = ppcVar15;
        pcStack_b4 = pcVar29;
        pFVar5 = f_open(pFVar14,(char *)ppcVar17,0);
        if (pFVar5 == (FILE *)0x0) {
          if (piVar2 != (int *)0x0) {
            *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x407c;
          }
LAB_000439f4:
          puVar25 = (uchar *)0x0;
          pFVar5 = pFVar12;
        }
        else {
          iVar3 = key_type_fp(pFVar5);
          if (iVar3 == 9) {
            pcVar28 = *(code **)(pcStack_118 + -0x7b14);
          }
          else {
            if (iVar3 != 10) {
              pFVar12 = pFVar5;
              if (iVar3 != 3) {
LAB_000439d4:
                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);
                if (piVar2 != (int *)0x0) {
                  *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;
                }
                goto LAB_000439f4;
              }
              header = apcStack_104;
              iVar3 = read_header(pFVar5,(char *)header);
              if (iVar3 == 0) {
LAB_00043cc0:
                ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);
                iVar3 = (**(code **)(pcStack_118 + -0x78ac))(header,ppcVar17,0x14);
                if (iVar3 == 0) {
                  (**(code **)(pcStack_118 + -0x77e4))(pFVar5);
                  if (piVar2 != (int *)0x0) {
                    *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;
                  }
                  goto LAB_000439f4;
                }
                goto LAB_000439d4;
              }
              ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214);
              iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);
              if (iVar3 != 0) {
                ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);
                iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);
                if (iVar3 != 0) goto LAB_00043cc0;
              }
              pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74);
              ppcVar15 = (char **)read_body(pFVar5);
              if (ppcVar15 == (char **)0x0) {
LAB_00043c9c:
                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);
                if (piVar2 != (int *)0x0) {
                  *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;
                }
                goto LAB_000439f4;
              }
              iVar3 = (**(code **)(pcStack_118 + -0x77a0))(ppcVar15);
              ppcVar17 = ppcVar15;
              psVar11 = find_pubkey_alg_len(iVar3,(char *)ppcVar15);
              (**(code **)(pcStack_118 + -0x7f80))(ppcVar15);
              if ((psVar11 == (ssh_signkey *)0x0) ||
                 (ppcVar17 = header, iVar3 = read_header(pFVar5,(char *)header), iVar3 == 0))
              goto LAB_00043c9c;
              ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244);
              iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);
              if ((iVar3 != 0) || (iVar3 = (*pcStack_110)(pFVar5), iVar3 == 0)) goto LAB_00043c9c;
              (**(code **)(pcStack_118 + -0x7f80))(iVar3);
              ppcVar17 = header;
              iVar3 = read_header(pFVar5,(char *)header);
              if (iVar3 == 0) goto LAB_00043c9c;
              ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258);
              iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);
              if ((iVar3 != 0) || (pcVar28 = (code *)(*pcStack_110)(pFVar5), pcVar28 == (code *)0x0)
                 ) goto LAB_00043c9c;
              pcStack_10c = pcVar28;
              if (piVar20 == (int *)0x0) {
                (**(code **)(pcStack_118 + -0x7f80))(pcVar28);
              }
              else {
                *piVar20 = (int)pcVar28;
              }
              ppcVar15 = header;
              iVar3 = read_header(pFVar5,(char *)header);
              pcVar28 = pcStack_10c;
              if (iVar3 == 0) {
LAB_00043d58:
                ppcVar17 = ppcVar15;
                pcStack_110 = pcVar28;
                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);
                if (piVar2 != (int *)0x0) {
                  *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;
                }
                if (piVar20 == (int *)0x0) goto LAB_000439f4;
                puVar25 = (uchar *)0x0;
                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);
                *piVar20 = 0;
              }
              else {
                ppcVar15 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);
                iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);
                pcVar28 = pcStack_10c;
                if ((iVar3 != 0) ||
                   (pcVar23 = (char *)(*pcStack_110)(pFVar5), pcVar28 = pcStack_10c,
                   pcVar23 == (char *)0x0)) goto LAB_00043d58;
                pcStack_110 = pcStack_10c;
                ppcVar17 = (char **)userkey_parse_line_counter(pcVar23);
                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);
                pcVar28 = pcStack_110;
                if (((int)ppcVar17 < 0) ||
                   (puVar25 = read_blob(pFVar5,(int)ppcVar17,&iStack_108), ppcVar15 = ppcVar17,
                   pcVar28 = pcStack_110, puVar25 == (uchar *)0x0)) goto LAB_00043d58;
                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);
                if (piVar19 != (int *)0x0) {
                  *piVar19 = iStack_108;
                }
                if (ppcVar16 != (char **)0x0) {
                  pcVar23 = (char *)(**(code **)(pcStack_118 + -0x7f74))(psVar11->name);
                  *ppcVar16 = pcVar23;
                }
              }
              goto LAB_000439f8;
            }
            pcVar28 = *(code **)(pcStack_118 + -0x7b10);
          }
          piStack_120 = piVar2;
          ppcVar17 = ppcVar16;
          puVar25 = (uchar *)(*pcVar28)(pFVar5,ppcVar16,piVar19,piVar20);
          (**(code **)(pcStack_118 + -0x77e4))(pFVar5);
        }
LAB_000439f8:
        if (pFStack_dc == (Filename *)*piVar22) {
          return puVar25;
        }
        pcVar28 = *(code **)(pcStack_118 + -0x7880);
        pcVar29 = ssh2_userkey_encrypted;
        pFVar14 = pFStack_dc;
        (*pcVar28)();
        piVar9 = *(int **)(pcVar28 + 0x35b70);
        piStack_150 = piVar2;
        iStack_15c = *piVar9;
        if (ppcVar17 != (char **)0x0) {
          *ppcVar17 = (char *)0x0;
        }
        piStack_154 = piVar22;
        piStack_14c = piVar20;
        ppcStack_148 = ppcVar16;
        piStack_144 = piVar19;
        puStack_140 = puVar25;
        ppcStack_13c = header;
        pFStack_138 = pFVar5;
        pcStack_134 = pcVar29;
        pFVar12 = f_open(pFVar14,(char *)(*(int *)(pcVar28 + 0x352e8) + 0x4078),0);
        if (pFVar12 == (FILE *)0x0) {
          puVar25 = (uchar *)0x0;
        }
        else {
          iVar3 = read_header(pFVar12,acStack_184);
          if ((iVar3 != 0) &&
             (((iVar3 = (**(code **)(pcVar28 + 0x35ae4))
                                  (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4214), iVar3 == 0 ||
               (iVar3 = (**(code **)(pcVar28 + 0x35ae4))
                                  (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x422c), iVar3 == 0))
              && (pcVar23 = read_body(pFVar12), pcVar23 != (char *)0x0)))) {
            (**(code **)(pcVar28 + 0x35330))(pcVar23);
            iVar3 = read_header(pFVar12,acStack_184);
            if ((iVar3 != 0) &&
               (iVar3 = (**(code **)(pcVar28 + 0x35ae4))
                                  (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4244), iVar3 == 0)) {
              pcVar23 = read_body(pFVar12);
              if (pcVar23 == (char *)0x0) {
                (**(code **)(pcVar28 + 0x35acc))(pFVar12);
                puVar25 = (uchar *)0x0;
              }
              else {
                iVar3 = read_header(pFVar12,acStack_184);
                if (((iVar3 == 0) ||
                    (iVar3 = (**(code **)(pcVar28 + 0x35ae4))
                                       (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4258),
                    iVar3 != 0)) || (pcVar21 = read_body(pFVar12), pcVar21 == (char *)0x0)) {
                  puVar25 = (uchar *)0x1;
                  (**(code **)(pcVar28 + 0x35acc))(pFVar12);
                  (**(code **)(pcVar28 + 0x35330))(pcVar23);
                }
                else {
                  if (ppcVar17 == (char **)0x0) {
                    (**(code **)(pcVar28 + 0x35330))(pcVar21);
                  }
                  else {
                    *ppcVar17 = pcVar21;
                  }
                  (**(code **)(pcVar28 + 0x35acc))(pFVar12);
                  iVar3 = (**(code **)(pcVar28 + 0x35ae4))
                                    (pcVar23,*(int *)(pcVar28 + 0x352e8) + 0x7c4);
                  puVar25 = (uchar *)(uint)(iVar3 == 0);
                  (**(code **)(pcVar28 + 0x35330))(pcVar23);
                }
              }
              goto LAB_00043f04;
            }
          }
          puVar25 = (uchar *)0x0;
          (**(code **)(pcVar28 + 0x35acc))(pFVar12);
        }
LAB_00043f04:
        if (iStack_15c != *piVar9) {
          (**(code **)(pcVar28 + 0x35a30))();
          return (uchar *)((iStack_15c + 0x2f) / 0x30);
        }
        return puVar25;
      }
      iVar10 = (*(code *)piStack_a0[-0x1f66])(pcVar21,(uchar *)((int)piVar9 + iVar6));
      iVar6 = iVar6 + iVar10;
      pcVar21 = pcVar21 + 4;
    }
    if (*pcVar21 == '\0') {
      iVar3 = (*(code *)piStack_a0[-0x1de8])(uVar4);
      if (((iVar3 + 3 < iVar6) && (iVar3 == *piVar9)) &&
         (iVar3 = (*(code *)piStack_a0[-0x1dfd])(piVar9 + 1,uVar4,iVar3), iVar3 == 0)) {
        if (ppcVar15 != (char **)0x0) {
          pcVar21 = (char *)(*(code *)piStack_a0[-0x1fdd])(uVar4);
          *ppcVar15 = pcVar21;
        }
        if (pFVar12 != (FILE *)0x0) {
          pFVar12->_flags = iVar6;
        }
        if (header == (char **)0x0) {
          (*(code *)piStack_a0[-0x1fe0])(pcVar23);
        }
        else {
          *header = pcVar23;
        }
        (*(code *)piStack_a0[-0x1fe0])(uVar4);
        return (uchar *)piVar9;
      }
      iVar3 = piStack_a0[-0x1ff2] + 0x441c;
    }
    else {
      iVar3 = piStack_a0[-0x1ff2] + 0x4454;
    }
  }
  (*(code *)piStack_a0[-0x1fe0])(uVar4);
  (*(code *)piStack_a0[-0x1fe0])(pcVar23);
  (*(code *)piStack_a0[-0x1fe0])(piVar9);
  __gp = iVar3;
  return (uchar *)0x0;
}



/* WARNING: Removing unreachable block (ram,0x000438ac) */
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */

int * rfc4716_loadpub(undefined4 param_1,int *param_2,int *param_3,int *param_4,undefined4 *param_5)

{
  undefined *puVar1;
  undefined4 uVar2;
  int *piVar3;
  int iVar4;
  int *piVar5;
  char cVar9;
  undefined1 *puVar6;
  uint uVar7;
  int iVar8;
  int *piVar10;
  int *piVar11;
  undefined4 *puVar12;
  int *piVar13;
  int *piVar14;
  char *pcVar15;
  int *piVar16;
  undefined *puVar17;
  int iVar18;
  int *piVar19;
  int *piVar20;
  int *unaff_s4;
  int *unaff_s5;
  int *piVar21;
  int *unaff_s6;
  int *unaff_s7;
  undefined *puVar22;
  char *unaff_s8;
  code *pcVar23;
  code *pcVar24;
  undefined1 auStack_184 [40];
  int iStack_15c;
  int *piStack_154;
  int *piStack_150;
  int *piStack_14c;
  int *piStack_148;
  undefined4 *puStack_144;
  int *piStack_140;
  int *piStack_13c;
  int *piStack_138;
  code *pcStack_134;
  int *piStack_120;
  code *pcStack_118;
  code *pcStack_110;
  code *pcStack_10c;
  undefined4 uStack_108;
  int aiStack_104 [10];
  int iStack_dc;
  char *pcStack_d8;
  int iStack_d4;
  int *piStack_d0;
  int iStack_cc;
  undefined1 *puStack_c8;
  undefined4 uStack_c4;
  int *piStack_c0;
  int *piStack_bc;
  int *piStack_b8;
  code *pcStack_b4;
  int *piStack_a0;
  int *piStack_98;
  undefined *puStack_94;
  int *piStack_90;
  undefined4 uStack_8c;
  int *piStack_88;
  int *piStack_84;
  int *piStack_80;
  int *piStack_7c;
  char *pcStack_78;
  code *pcStack_74;
  int local_54;
  int iStack_34;
  char local_30 [4];
  int local_2c;
  
  puVar22 = PTR___stack_chk_guard_00079930;
  local_2c = *(int *)PTR___stack_chk_guard_00079930;
  piVar10 = param_2;
  piVar20 = param_3;
  piVar13 = param_4;
  uVar2 = (*(code *)PTR_fgetline_00079538)();
  piVar3 = (int *)(*(code *)PTR_chomp_0007953c)(uVar2);
  if (piVar3 != (int *)0x0) {
    piVar10 = (int *)(PTR_s_j_000790a8 + 0x43cc);
    iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar3);
    if (iVar4 == 0) {
      (*(code *)PTR_safefree_000790f0)(piVar3);
      local_54 = 0;
      puVar17 = PTR_s_j_000790a8 + 0x43ec;
      piVar3 = (int *)(PTR_s_j_000790a8 + 0x4258);
      unaff_s4 = (int *)(PTR_s_j_000790a8 + 0x43f0);
      unaff_s7 = (int *)(PTR_s_j_000790a8 + 0x43f8);
      while( true ) {
        uVar2 = (*(code *)PTR_fgetline_00079538)(param_1);
        piVar5 = (int *)(*(code *)PTR_chomp_0007953c)(uVar2);
        if (piVar5 == (int *)0x0) break;
        unaff_s8 = (char *)(*(code *)PTR_strstr_00079944)(piVar5,puVar17);
        puVar1 = PTR_strcmp_000798a4;
        if (unaff_s8 == (char *)0x0) {
          piVar10 = (int *)0x1;
          unaff_s7 = &iStack_34;
          piVar19 = (int *)(*(code *)PTR_safemalloc_000790d0)(0x1000);
          unaff_s8 = local_30;
          iVar4 = 0;
          unaff_s4 = (int *)0x0;
          iVar18 = 0x1000;
          goto LAB_0004340c;
        }
        *unaff_s8 = '\0';
        piVar10 = piVar3;
        iVar4 = (*(code *)puVar1)(piVar5);
        if (iVar4 == 0) {
          unaff_s5 = (int *)(int)unaff_s8[2];
          unaff_s6 = (int *)(unaff_s8 + 2);
          piVar20 = piVar5;
          if (unaff_s5 == (int *)0x22) {
            iVar4 = (*(code *)PTR_strlen_000798d0)(unaff_s6);
            pcVar15 = (char *)((int)unaff_s6 + iVar4 + -1);
            if (*pcVar15 == '\"') {
              *pcVar15 = '\0';
              unaff_s5 = (int *)(int)unaff_s8[3];
              unaff_s6 = (int *)(unaff_s8 + 3);
              if (unaff_s5 == (int *)0x0) goto LAB_00043364;
            }
LAB_00043310:
            piVar13 = (int *)&DAT_0000005c;
            piVar19 = piVar10;
            piVar11 = piVar5;
            piVar14 = unaff_s6;
            do {
              while ((piVar10 = (int *)((int)piVar14 + 1), unaff_s5 != (int *)&DAT_0000005c ||
                     (*(char *)((int)piVar14 + 1) == '\0'))) {
                *(char *)piVar11 = *(char *)piVar14;
                unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 1);
                piVar19 = piVar10;
                piVar20 = (int *)((int)piVar11 + 1);
                piVar11 = (int *)((int)piVar11 + 1);
                unaff_s6 = piVar10;
                piVar14 = piVar10;
                if (unaff_s5 == (int *)0x0) goto LAB_00043364;
              }
              *(char *)piVar11 = *(char *)((int)piVar14 + 1);
              unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 2);
              piVar10 = piVar19;
              piVar20 = (int *)((int)piVar11 + 1);
              piVar11 = (int *)((int)piVar11 + 1);
              unaff_s6 = (int *)((int)piVar14 + 2);
              piVar14 = (int *)((int)piVar14 + 2);
            } while (unaff_s5 != (int *)0x0);
          }
          else if (unaff_s5 != (int *)0x0) goto LAB_00043310;
LAB_00043364:
          puVar1 = PTR_safefree_000790f0;
          *(char *)piVar20 = '\0';
          (*(code *)puVar1)(local_54);
          local_54 = (*(code *)PTR_dupstr_000790fc)(piVar5);
        }
        else {
          piVar10 = unaff_s4;
          iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar5);
          if (iVar4 != 0) {
            piVar20 = (int *)0x2;
            piVar10 = unaff_s7;
            iVar4 = (*(code *)PTR_strncmp_000797c4)(piVar5);
            if (iVar4 != 0) {
              piVar19 = (int *)0x0;
              puVar17 = PTR_s_j_000790a8 + 0x437c;
              param_2 = piVar5;
              goto LAB_00043198;
            }
          }
        }
        (*(code *)PTR_safefree_000790f0)(piVar5);
      }
      piVar19 = (int *)0x0;
      puVar17 = PTR_s_j_000790a8 + 0x43ac;
      param_2 = piVar5;
      goto LAB_00043198;
    }
  }
  piVar19 = (int *)0x0;
  local_54 = 0;
  puVar17 = PTR_s_j_000790a8 + 0x42f0;
  param_2 = piVar3;
  goto LAB_00043198;
LAB_0004340c:
  do {
    cVar9 = *(char *)piVar5;
    unaff_s5 = piVar5;
    if (cVar9 == '-') {
      piVar10 = (int *)(PTR_s_j_000790a8 + 0x43fc);
      iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar5);
      if (iVar4 == 0) {
        (*(code *)PTR_safefree_000790f0)(piVar5);
        if ((int)unaff_s4 < 4) {
          puVar17 = PTR_s_j_000790a8 + 0x42c4;
          param_2 = (int *)0x0;
          goto LAB_00043198;
        }
        piVar3 = (int *)(*(code *)PTR_toint_000792c8)(*piVar19);
        puVar17 = PTR_s_j_000790a8;
        if (((int)piVar3 < 0) || ((int)((int)unaff_s4 + -3) <= (int)piVar3)) {
          puVar17 = PTR_s_j_000790a8 + 0x431c;
          param_2 = (int *)0x0;
          goto LAB_00043198;
        }
        piVar20 = piVar19 + 1;
        if (param_2 != (int *)0x0) {
          iVar4 = (*(code *)PTR_dupprintf_000790e8)(PTR_s_j_000790a8 + -0x26d0);
          *param_2 = iVar4;
          piVar10 = piVar3;
        }
        if (param_3 != (int *)0x0) {
          *param_3 = (int)unaff_s4;
        }
        if (param_4 == (int *)0x0) {
          (*(code *)PTR_safefree_000790f0)(local_54);
        }
        else {
          *param_4 = local_54;
        }
        goto LAB_000431d8;
      }
      break;
    }
    unaff_s6 = (int *)&DAT_00000004;
    while (piVar3 = unaff_s4, cVar9 != '\0') {
      while( true ) {
        local_30[iVar4] = cVar9;
        if (iVar4 + 1 != 4) break;
        piVar20 = (int *)(*(code *)PTR_base64_decode_atom_000792d8)(unaff_s8,unaff_s7);
        unaff_s4 = (int *)((int)piVar3 + (int)piVar20);
        if (iVar18 < (int)unaff_s4) {
          iVar18 = ((int)unaff_s4 * 5 >> 2) + 0x400;
          piVar19 = (int *)(*(code *)PTR_saferealloc_000791a0)(piVar19,iVar18,1);
        }
        unaff_s5 = (int *)((int)unaff_s5 + 1);
        piVar10 = unaff_s7;
        (*(code *)PTR_memcpy_000798e0)((char *)((int)piVar19 + (int)piVar3));
        iVar4 = 0;
        cVar9 = *(char *)unaff_s5;
        piVar3 = unaff_s4;
        if (cVar9 == '\0') goto LAB_000434ac;
      }
      unaff_s5 = (int *)((int)unaff_s5 + 1);
      iVar4 = iVar4 + 1;
      unaff_s4 = piVar3;
      cVar9 = *(char *)unaff_s5;
    }
LAB_000434ac:
    (*(code *)PTR_safefree_000790f0)(piVar5);
    uVar2 = (*(code *)PTR_fgetline_00079538)(param_1);
    piVar5 = (int *)(*(code *)PTR_chomp_0007953c)(uVar2);
  } while (piVar5 != (int *)0x0);
  puVar17 = PTR_s_j_000790a8 + 0x4350;
  param_2 = piVar5;
LAB_00043198:
  (*(code *)PTR_safefree_000790f0)(param_2);
  (*(code *)PTR_safefree_000790f0)(local_54);
  (*(code *)PTR_safefree_000790f0)(piVar19);
  piVar5 = unaff_s5;
  if (param_5 == (undefined4 *)0x0) {
    piVar19 = (int *)0x0;
  }
  else {
    piVar19 = (int *)0x0;
    *param_5 = puVar17;
  }
LAB_000431d8:
  if (local_2c == *(int *)puVar22) {
    return piVar19;
  }
  pcVar23 = openssh_loadpub;
  puVar22 = PTR___stack_chk_fail_000797f0;
  (*(code *)PTR___stack_chk_fail_000797f0)();
  piStack_a0 = (int *)(puVar22 + 0x3da44);
  piStack_98 = param_2;
  puStack_94 = puVar17;
  piStack_90 = piVar19;
  uStack_8c = param_1;
  piStack_88 = unaff_s4;
  piStack_84 = piVar5;
  piStack_80 = unaff_s6;
  piStack_7c = unaff_s7;
  pcStack_78 = unaff_s8;
  pcStack_74 = pcVar23;
  uVar2 = (**(code **)(puVar22 + 0x35f0c))();
  uVar2 = (*(code *)piStack_a0[-0x1ecd])(uVar2);
  puVar6 = (undefined1 *)(*(code *)piStack_a0[-0x1e0f])(uVar2,0x20);
  if (puVar6 == (undefined1 *)0x0) {
    piVar3 = (int *)0x0;
    iVar4 = piStack_a0[-0x1ff2] + 0x4490;
    puVar6 = (undefined1 *)0x0;
  }
  else {
    pcVar23 = (code *)piStack_a0[-0x1e0f];
    pcVar15 = puVar6 + 1;
    *puVar6 = 0;
    puVar6 = (undefined1 *)(*pcVar23)(pcVar15,0x20);
    if (puVar6 != (undefined1 *)0x0) {
      pcVar23 = (code *)piStack_a0[-0x1fdd];
      *puVar6 = 0;
      puVar6 = (undefined1 *)(*pcVar23)(puVar6 + 1);
    }
    iVar18 = 0;
    uVar7 = (*(code *)piStack_a0[-0x1de8])(pcVar15);
    iVar4 = (uVar7 >> 2) * 3;
    piVar3 = (int *)(*(code *)piStack_a0[-0x1fe8])(iVar4,1);
    while (iVar8 = (*(code *)piStack_a0[-0x1df7])(pcVar15,0,4), iVar8 == 0) {
      if (iVar4 <= iVar18 + 2) {
        puVar12 = (undefined4 *)&DAT_00000441;
        pcVar23 = (code *)piStack_a0[-0x1e6c];
        piVar14 = (int *)(piStack_a0[-0x1ff2] + 0x4800);
        piVar11 = (int *)(piStack_a0[-0x1ff2] + 0x4034);
        pcVar24 = ssh2_userkey_loadpub;
        (*pcVar23)(piStack_a0[-0x1ff2] + 0x44b8);
        piVar5 = piStack_a0;
        pcStack_118 = pcVar23 + 0x3d74c;
        piVar16 = *(int **)(pcVar23 + 0x3600c);
        piVar19 = (int *)(*(int *)(pcVar23 + 0x35784) + 0x4078);
        iStack_dc = *piVar16;
        pcStack_d8 = pcVar15;
        iStack_d4 = iVar18;
        piStack_d0 = piVar3;
        iStack_cc = iVar4;
        puStack_c8 = puVar6;
        uStack_c4 = uVar2;
        piStack_c0 = piVar13;
        piStack_bc = piVar20;
        piStack_b8 = piVar10;
        pcStack_b4 = pcVar24;
        piVar10 = (int *)f_open();
        if (piVar10 == (int *)0x0) {
          if (piVar5 != (int *)0x0) {
            *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x407c;
          }
LAB_000439f4:
          piVar21 = (int *)0x0;
          piVar10 = piVar20;
        }
        else {
          iVar4 = FUN_00041f60(piVar10);
          if (iVar4 == 9) {
            pcVar23 = *(code **)(pcStack_118 + -0x7b14);
          }
          else {
            if (iVar4 != 10) {
              piVar20 = piVar10;
              if (iVar4 != 3) {
LAB_000439d4:
                (**(code **)(pcStack_118 + -0x77e4))(piVar10);
                if (piVar5 != (int *)0x0) {
                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;
                }
                goto LAB_000439f4;
              }
              piVar13 = aiStack_104;
              iVar4 = FUN_00040db0(piVar10,piVar13);
              if (iVar4 == 0) {
LAB_00043cc0:
                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);
                iVar4 = (**(code **)(pcStack_118 + -0x78ac))(piVar13,piVar19,0x14);
                if (iVar4 == 0) {
                  (**(code **)(pcStack_118 + -0x77e4))(piVar10);
                  if (piVar5 != (int *)0x0) {
                    *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;
                  }
                  goto LAB_000439f4;
                }
                goto LAB_000439d4;
              }
              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214);
              iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);
              if (iVar4 != 0) {
                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);
                iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);
                if (iVar4 != 0) goto LAB_00043cc0;
              }
              pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74);
              piVar3 = (int *)FUN_00040e74(piVar10);
              if (piVar3 == (int *)0x0) {
LAB_00043c9c:
                (**(code **)(pcStack_118 + -0x77e4))(piVar10);
                if (piVar5 != (int *)0x0) {
                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;
                }
                goto LAB_000439f4;
              }
              uVar2 = (**(code **)(pcStack_118 + -0x77a0))(piVar3);
              piVar19 = piVar3;
              iVar4 = find_pubkey_alg_len(uVar2);
              (**(code **)(pcStack_118 + -0x7f80))(piVar3);
              if ((iVar4 == 0) || (piVar19 = piVar13, iVar18 = FUN_00040db0(piVar10), iVar18 == 0))
              goto LAB_00043c9c;
              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244);
              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);
              if ((iVar18 != 0) || (iVar18 = (*pcStack_110)(piVar10), iVar18 == 0))
              goto LAB_00043c9c;
              (**(code **)(pcStack_118 + -0x7f80))(iVar18);
              piVar19 = piVar13;
              iVar18 = FUN_00040db0(piVar10);
              if (iVar18 == 0) goto LAB_00043c9c;
              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258);
              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);
              if ((iVar18 != 0) ||
                 (pcVar23 = (code *)(*pcStack_110)(piVar10), pcVar23 == (code *)0x0))
              goto LAB_00043c9c;
              pcStack_10c = pcVar23;
              if (piVar14 == (int *)0x0) {
                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);
              }
              else {
                *piVar14 = (int)pcVar23;
              }
              piVar3 = piVar13;
              iVar18 = FUN_00040db0(piVar10);
              pcVar23 = pcStack_10c;
              if (iVar18 == 0) {
LAB_00043d58:
                piVar19 = piVar3;
                pcStack_110 = pcVar23;
                (**(code **)(pcStack_118 + -0x77e4))(piVar10);
                if (piVar5 != (int *)0x0) {
                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;
                }
                if (piVar14 == (int *)0x0) goto LAB_000439f4;
                piVar21 = (int *)0x0;
                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);
                *piVar14 = 0;
              }
              else {
                piVar3 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);
                iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);
                pcVar23 = pcStack_10c;
                if ((iVar18 != 0) ||
                   (iVar18 = (*pcStack_110)(piVar10), pcVar23 = pcStack_10c, iVar18 == 0))
                goto LAB_00043d58;
                pcStack_110 = pcStack_10c;
                piVar19 = (int *)FUN_00040d14(iVar18);
                (**(code **)(pcStack_118 + -0x7f80))(iVar18);
                pcVar23 = pcStack_110;
                if (((int)piVar19 < 0) ||
                   (piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108), piVar3 = piVar19,
                   pcVar23 = pcStack_110, piVar21 == (int *)0x0)) goto LAB_00043d58;
                (**(code **)(pcStack_118 + -0x77e4))(piVar10);
                if (puVar12 != (undefined4 *)0x0) {
                  *puVar12 = uStack_108;
                }
                if (piVar11 != (int *)0x0) {
                  iVar4 = (**(code **)(pcStack_118 + -0x7f74))(*(undefined4 *)(iVar4 + 0x30));
                  *piVar11 = iVar4;
                }
              }
              goto LAB_000439f8;
            }
            pcVar23 = *(code **)(pcStack_118 + -0x7b10);
          }
          piStack_120 = piVar5;
          piVar19 = piVar11;
          piVar21 = (int *)(*pcVar23)(piVar10,piVar11,puVar12,piVar14);
          (**(code **)(pcStack_118 + -0x77e4))(piVar10);
        }
LAB_000439f8:
        if (iStack_dc == *piVar16) {
          return piVar21;
        }
        pcVar23 = *(code **)(pcStack_118 + -0x7880);
        pcVar24 = ssh2_userkey_encrypted;
        (*pcVar23)();
        piVar20 = *(int **)(pcVar23 + 0x35b70);
        piStack_150 = piVar5;
        iStack_15c = *piVar20;
        if (piVar19 != (int *)0x0) {
          *piVar19 = 0;
        }
        piStack_154 = piVar16;
        piStack_14c = piVar14;
        piStack_148 = piVar11;
        puStack_144 = puVar12;
        piStack_140 = piVar21;
        piStack_13c = piVar13;
        piStack_138 = piVar10;
        pcStack_134 = pcVar24;
        iVar4 = f_open();
        if (iVar4 == 0) {
          piVar10 = (int *)0x0;
        }
        else {
          iVar18 = FUN_00040db0(iVar4,auStack_184);
          if ((iVar18 != 0) &&
             (((iVar18 = (**(code **)(pcVar23 + 0x35ae4))
                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4214), iVar18 == 0
               || (iVar18 = (**(code **)(pcVar23 + 0x35ae4))
                                      (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c),
                  iVar18 == 0)) && (iVar18 = FUN_00040e74(iVar4), iVar18 != 0)))) {
            (**(code **)(pcVar23 + 0x35330))(iVar18);
            iVar18 = FUN_00040db0(iVar4,auStack_184);
            if ((iVar18 != 0) &&
               (iVar18 = (**(code **)(pcVar23 + 0x35ae4))
                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4244), iVar18 == 0))
            {
              iVar18 = FUN_00040e74(iVar4);
              if (iVar18 == 0) {
                (**(code **)(pcVar23 + 0x35acc))(iVar4);
                piVar10 = (int *)0x0;
              }
              else {
                iVar8 = FUN_00040db0(iVar4,auStack_184);
                if (((iVar8 == 0) ||
                    (iVar8 = (**(code **)(pcVar23 + 0x35ae4))
                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),
                    iVar8 != 0)) || (iVar8 = FUN_00040e74(iVar4), iVar8 == 0)) {
                  piVar10 = (int *)0x1;
                  (**(code **)(pcVar23 + 0x35acc))(iVar4);
                  (**(code **)(pcVar23 + 0x35330))(iVar18);
                }
                else {
                  if (piVar19 == (int *)0x0) {
                    (**(code **)(pcVar23 + 0x35330))(iVar8);
                  }
                  else {
                    *piVar19 = iVar8;
                  }
                  (**(code **)(pcVar23 + 0x35acc))(iVar4);
                  iVar4 = (**(code **)(pcVar23 + 0x35ae4))
                                    (iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4);
                  piVar10 = (int *)(uint)(iVar4 == 0);
                  (**(code **)(pcVar23 + 0x35330))(iVar18);
                }
              }
              goto LAB_00043f04;
            }
          }
          piVar10 = (int *)0x0;
          (**(code **)(pcVar23 + 0x35acc))(iVar4);
        }
LAB_00043f04:
        if (iStack_15c != *piVar20) {
          (**(code **)(pcVar23 + 0x35a30))();
          return (int *)((iStack_15c + 0x2f) / 0x30);
        }
        return piVar10;
      }
      iVar8 = (*(code *)piStack_a0[-0x1f66])(pcVar15,(int)piVar3 + iVar18);
      iVar18 = iVar18 + iVar8;
      pcVar15 = pcVar15 + 4;
    }
    if (*pcVar15 == '\0') {
      iVar4 = (*(code *)piStack_a0[-0x1de8])(uVar2);
      if (((iVar4 + 3 < iVar18) && (iVar4 == *piVar3)) &&
         (iVar4 = (*(code *)piStack_a0[-0x1dfd])(piVar3 + 1,uVar2,iVar4), iVar4 == 0)) {
        if (piVar10 != (int *)0x0) {
          iVar4 = (*(code *)piStack_a0[-0x1fdd])(uVar2);
          *piVar10 = iVar4;
        }
        if (piVar20 != (int *)0x0) {
          *piVar20 = iVar18;
        }
        if (piVar13 == (int *)0x0) {
          (*(code *)piStack_a0[-0x1fe0])(puVar6);
        }
        else {
          *piVar13 = (int)puVar6;
        }
        (*(code *)piStack_a0[-0x1fe0])(uVar2);
        return piVar3;
      }
      iVar4 = piStack_a0[-0x1ff2] + 0x441c;
    }
    else {
      iVar4 = piStack_a0[-0x1ff2] + 0x4454;
    }
  }
  (*(code *)piStack_a0[-0x1fe0])(uVar2);
  (*(code *)piStack_a0[-0x1fe0])(puVar6);
  (*(code *)piStack_a0[-0x1fe0])(piVar3);
  __gp_1 = iVar4;
  return (int *)0x0;
}


lui gp,0x4
addiu gp,gp,-0x2070
addu gp,gp,t9
lw v0,-0x7740(gp)
addiu sp,sp,-0x70
lw t9,-0x7b38(gp)
lw v1,0x80(sp)
sw v0,0x20(sp)
sw gp,0x10(sp)
sw ra,0x6c(sp)
sw s3,0x54(sp)
or s3,a0,zero
sw s0,0x48(sp)
sw a1,0x2c(sp)
sw a2,0x30(sp)
sw v1,0x24(sp)
sw a3,0x34(sp)
sw s8,0x68(sp)
sw s7,0x64(sp)
sw s6,0x60(sp)
sw s5,0x5c(sp)
sw s4,0x58(sp)
sw s2,0x50(sp)
sw s1,0x4c(sp)
lw v0,0x0(v0)
sw v0,0x44(sp)
jalr t9
_nop
lw gp,0x10(sp)
lw t9,-0x7b34(gp)
jalr t9
_or a0,v0,zero
lw gp,0x10(sp)
beq v0,zero,0x00043188
_or s0,v0,zero
lw a1,-0x7fc8(gp)
or a0,v0,zero
lw t9,-0x77cc(gp)
jalr t9
_addiu a1,a1,0x43cc
beq v0,zero,0x0004321c
_lw gp,0x10(sp)
lw s1,-0x7fc8(gp)
or s2,zero,zero
sw zero,0x1c(sp)
addiu s1,s1,0x42f0
lw t9,-0x7f80(gp)
jalr t9
_or a0,s0,zero
lw gp,0x10(sp)
lw t9,-0x7f80(gp)
jalr t9
_lw a0,0x1c(sp)
lw gp,0x10(sp)
lw t9,-0x7f80(gp)
jalr t9
_or a0,s2,zero
lw v0,0x24(sp)
beq v0,zero,0x000433c8
_lw gp,0x10(sp)
or s2,zero,zero
sw s1,0x0(v0)
lw v1,0x20(sp)
or v0,s2,zero
lw a0,0x44(sp)
lw v1,0x0(v1)
bne a0,v1,0x00043620
_lw ra,0x6c(sp)
lw s8,0x68(sp)
lw s7,0x64(sp)
lw s6,0x60(sp)
lw s5,0x5c(sp)
lw s4,0x58(sp)
lw s3,0x54(sp)
lw s2,0x50(sp)
lw s1,0x4c(sp)
lw s0,0x48(sp)
jr ra
_addiu sp,sp,0x70
lw t9,-0x7f80(gp)
jalr t9
_or a0,s0,zero
lw gp,0x10(sp)
sw zero,0x1c(sp)
lw s1,-0x7fc8(gp)
lw s2,-0x7fc8(gp)
lw s4,-0x7fc8(gp)
lw v0,-0x7fc8(gp)
addiu s1,s1,0x43ec
addiu s2,s2,0x4258
addiu s4,s4,0x43f0
b 0x00043298
_addiu s7,v0,0x43f8
lw t9,-0x77cc(gp)
or a1,s4,zero
jalr t9
_or a0,s0,zero
beq v0,zero,0x00043288
_lw gp,0x10(sp)
lw t9,-0x78ac(gp)
li a2,0x2
or a1,s7,zero
jalr t9
_or a0,s0,zero
bne v0,zero,0x00043578
_lw gp,0x10(sp)
lw t9,-0x7f80(gp)
jalr t9
_or a0,s0,zero
lw gp,0x10(sp)
lw t9,-0x7b38(gp)
jalr t9
_or a0,s3,zero
lw gp,0x10(sp)
lw t9,-0x7b34(gp)
jalr t9
_or a0,v0,zero
lw gp,0x10(sp)
beq v0,zero,0x000433d0
_or s0,v0,zero
lw t9,-0x772c(gp)
or a1,s1,zero
jalr t9
_or a0,v0,zero
lw gp,0x10(sp)
beq v0,zero,0x000433e0
_or s8,v0,zero
lw t9,-0x77cc(gp)
or a1,s2,zero
sb zero,0x0(v0)
jalr t9
_or a0,s0,zero
bne v0,zero,0x00043254
_lw gp,0x10(sp)
lb s5,0x2(s8)
li v0,0x22
beq s5,v0,0x00043390
_addiu s6,s8,0x2
beq s5,zero,0x000433c0
_nop
li a3,0x5c
b 0x0004333c
_or a2,s0,zero
lb a0,0x0(s6)
addiu a2,a2,0x1
or a1,v0,zero
or v0,s6,zero
sb a0,-0x1(a2)
lb s5,0x1(v0)
beq s5,zero,0x00043364
_or s6,a1,zero
bne s5,a3,0x0004331c
_addiu v0,s6,0x1
lb a0,0x1(s6)
beq a0,zero,0x0004331c
_nop
addiu a2,a2,0x1
sb a0,-0x1(a2)
lb s5,0x1(v0)
bne s5,zero,0x0004333c
_addiu s6,s6,0x2
lw t9,-0x7f80(gp)
lw a0,0x1c(sp)
jalr t9
_sb zero,0x0(a2)
lw gp,0x10(sp)
lw t9,-0x7f74(gp)
jalr t9
_or a0,s0,zero
lw gp,0x10(sp)
b 0x00043288
_sw v0,0x1c(sp)
lw t9,-0x77a0(gp)
jalr t9
_or a0,s6,zero
addiu v0,v0,-0x1
addu v0,s6,v0
lb a0,0x0(v0)
bne a0,s5,0x00043310
_lw gp,0x10(sp)
sb zero,0x0(v0)
lb s5,0x3(s8)
bne s5,zero,0x00043310
_addiu s6,s8,0x3
b 0x00043364
_or a2,s0,zero
b 0x000431d8
_or s2,zero,zero
lw s1,-0x7fc8(gp)
or s2,zero,zero
b 0x00043198
_addiu s1,s1,0x43ac
lw t9,-0x7fa0(gp)
li a1,0x1
li a0,0x1000
jalr t9
_addiu s7,sp,0x3c
addiu s8,sp,0x40
lw gp,0x10(sp)
or v1,zero,zero
or s4,zero,zero
li s1,0x1000
or s2,v0,zero
lb v0,0x0(s0)
li a0,0x2d
beq v0,a0,0x00043534
_or s5,s0,zero
bne v0,zero,0x0004343c
_li s6,0x4
b 0x000434ac
_lw t9,-0x7f80(gp)
addiu s5,s5,0x1
lb v0,0x0(s5)
beq v0,zero,0x000434ac
_lw t9,-0x7f80(gp)
addiu a0,sp,0x48
addu a0,a0,v1
addiu v1,v1,0x1
bne v1,s6,0x0004342c
_sb v0,-0x8(a0)
lw t9,-0x7d98(gp)
or a1,s7,zero
jalr t9
_or a0,s8,zero
addu t1,s4,v0
or v1,v0,zero
slt v0,s1,t1
bne v0,zero,0x000434f4
_lw gp,0x10(sp)
lw t9,-0x7790(gp)
addiu s5,s5,0x1
addu a0,s2,s4
sw t1,0x18(sp)
or a2,v1,zero
jalr t9
_or a1,s7,zero
or v1,zero,zero
lw t1,0x18(sp)
lb v0,0x0(s5)
lw gp,0x10(sp)
bne v0,zero,0x0004343c
_or s4,t1,zero
lw t9,-0x7f80(gp)
or a0,s0,zero
jalr t9
_sw v1,0x18(sp)
lw gp,0x10(sp)
lw t9,-0x7b38(gp)
jalr t9
_or a0,s3,zero
lw gp,0x10(sp)
lw t9,-0x7b34(gp)
jalr t9
_or a0,v0,zero
lw gp,0x10(sp)
or s0,v0,zero
bne v0,zero,0x0004340c
_lw v1,0x18(sp)
lw s1,-0x7fc8(gp)
b 0x00043198
_addiu s1,s1,0x4350
sll s1,t1,0x2
lw t9,-0x7ed0(gp)
li a2,0x1
sw v1,0x28(sp)
addu s1,s1,t1
sw t1,0x18(sp)
or a0,s2,zero
sra s1,s1,0x2
addiu s1,s1,0x400
jalr t9
_or a1,s1,zero
lw gp,0x10(sp)
or s2,v0,zero
lw v1,0x28(sp)
b 0x00043474
_lw t1,0x18(sp)
lw a1,-0x7fc8(gp)
or a0,s0,zero
lw t9,-0x77cc(gp)
jalr t9
_addiu a1,a1,0x43fc
bne v0,zero,0x000434e8
_lw gp,0x10(sp)
lw t9,-0x7f80(gp)
jalr t9
_or a0,s0,zero
slti v0,s4,0x4
beq v0,zero,0x00043588
_lw gp,0x10(sp)
lw s1,-0x7fc8(gp)
or s0,zero,zero
b 0x00043198
_addiu s1,s1,0x42c4
lw s1,-0x7fc8(gp)
or s2,zero,zero
b 0x00043198
_addiu s1,s1,0x437c
lwl a0,0x0(s2)
lw t9,-0x7da8(gp)
jalr t9
_lwr a0,0x3(s2)
bltz v0,0x000435fc
_lw gp,0x10(sp)
addiu v1,s4,-0x3
slt v1,v0,v1
beq v1,zero,0x00043600
_lw s1,-0x7fc8(gp)
lw s0,0x2c(sp)
beq s0,zero,0x000435d8
_addiu a2,s2,0x4
lw a0,-0x7fc8(gp)
lw t9,-0x7f88(gp)
or a1,v0,zero
jalr t9
_addiu a0,a0,-0x26d0
lw gp,0x10(sp)
sw v0,0x0(s0)
lw v0,0x30(sp)
beq v0,zero,0x000435e8
_nop
sw s4,0x0(v0)
lw v0,0x34(sp)
beq v0,zero,0x0004360c
_lw v1,0x1c(sp)
b 0x000431d8
_sw v1,0x0(v0)
lw s1,-0x7fc8(gp)
or s0,zero,zero
b 0x00043198
_addiu s1,s1,0x431c
lw t9,-0x7f80(gp)
jalr t9
_lw a0,0x1c(sp)
b 0x000431d8
_lw gp,0x10(sp)
lw t9,-0x7880(gp)
jalr t9
_nop
(translation_unit "/* WARNING: Removing unreachable block (ram,0x000438ac) */\n/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */\n\nint * rfc4716_loadpub(undefined4 param_1,int *param_2,int *param_3,int *param_4,undefined4 *param_5)\n\n{\n  undefined *puVar1;\n  undefined4 uVar2;\n  int *piVar3;\n  int iVar4;\n  int *piVar5;\n  char cVar9;\n  undefined1 *puVar6;\n  uint uVar7;\n  int iVar8;\n  int *piVar10;\n  int *piVar11;\n  undefined4 *puVar12;\n  int *piVar13;\n  int *piVar14;\n  char *pcVar15;\n  int *piVar16;\n  undefined *puVar17;\n  int iVar18;\n  int *piVar19;\n  int *piVar20;\n  int *unaff_s4;\n  int *unaff_s5;\n  int *piVar21;\n  int *unaff_s6;\n  int *unaff_s7;\n  undefined *puVar22;\n  char *unaff_s8;\n  code *pcVar23;\n  code *pcVar24;\n  undefined1 auStack_184 [40];\n  int iStack_15c;\n  int *piStack_154;\n  int *piStack_150;\n  int *piStack_14c;\n  int *piStack_148;\n  undefined4 *puStack_144;\n  int *piStack_140;\n  int *piStack_13c;\n  int *piStack_138;\n  code *pcStack_134;\n  int *piStack_120;\n  code *pcStack_118;\n  code *pcStack_110;\n  code *pcStack_10c;\n  undefined4 uStack_108;\n  int aiStack_104 [10];\n  int iStack_dc;\n  char *pcStack_d8;\n  int iStack_d4;\n  int *piStack_d0;\n  int iStack_cc;\n  undefined1 *puStack_c8;\n  undefined4 uStack_c4;\n  int *piStack_c0;\n  int *piStack_bc;\n  int *piStack_b8;\n  code *pcStack_b4;\n  int *piStack_a0;\n  int *piStack_98;\n  undefined *puStack_94;\n  int *piStack_90;\n  undefined4 uStack_8c;\n  int *piStack_88;\n  int *piStack_84;\n  int *piStack_80;\n  int *piStack_7c;\n  char *pcStack_78;\n  code *pcStack_74;\n  int local_54;\n  int iStack_34;\n  char local_30 [4];\n  int local_2c;\n  \n  puVar22 = PTR___stack_chk_guard_00079930;\n  local_2c = *(int *)PTR___stack_chk_guard_00079930;\n  piVar10 = param_2;\n  piVar20 = param_3;\n  piVar13 = param_4;\n  uVar2 = (*(code *)PTR_fgetline_00079538)();\n  piVar3 = (int *)(*(code *)PTR_chomp_0007953c)(uVar2);\n  if (piVar3 != (int *)0x0) {\n    piVar10 = (int *)(PTR_s_j_000790a8 + 0x43cc);\n    iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar3);\n    if (iVar4 == 0) {\n      (*(code *)PTR_safefree_000790f0)(piVar3);\n      local_54 = 0;\n      puVar17 = PTR_s_j_000790a8 + 0x43ec;\n      piVar3 = (int *)(PTR_s_j_000790a8 + 0x4258);\n      unaff_s4 = (int *)(PTR_s_j_000790a8 + 0x43f0);\n      unaff_s7 = (int *)(PTR_s_j_000790a8 + 0x43f8);\n      while( true ) {\n        uVar2 = (*(code *)PTR_fgetline_00079538)(param_1);\n        piVar5 = (int *)(*(code *)PTR_chomp_0007953c)(uVar2);\n        if (piVar5 == (int *)0x0) break;\n        unaff_s8 = (char *)(*(code *)PTR_strstr_00079944)(piVar5,puVar17);\n        puVar1 = PTR_strcmp_000798a4;\n        if (unaff_s8 == (char *)0x0) {\n          piVar10 = (int *)0x1;\n          unaff_s7 = &iStack_34;\n          piVar19 = (int *)(*(code *)PTR_safemalloc_000790d0)(0x1000);\n          unaff_s8 = local_30;\n          iVar4 = 0;\n          unaff_s4 = (int *)0x0;\n          iVar18 = 0x1000;\n          goto LAB_0004340c;\n        }\n        *unaff_s8 = '\0';\n        piVar10 = piVar3;\n        iVar4 = (*(code *)puVar1)(piVar5);\n        if (iVar4 == 0) {\n          unaff_s5 = (int *)(int)unaff_s8[2];\n          unaff_s6 = (int *)(unaff_s8 + 2);\n          piVar20 = piVar5;\n          if (unaff_s5 == (int *)0x22) {\n            iVar4 = (*(code *)PTR_strlen_000798d0)(unaff_s6);\n            pcVar15 = (char *)((int)unaff_s6 + iVar4 + -1);\n            if (*pcVar15 == '\"') {\n              *pcVar15 = '\0';\n              unaff_s5 = (int *)(int)unaff_s8[3];\n              unaff_s6 = (int *)(unaff_s8 + 3);\n              if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n            }\nLAB_00043310:\n            piVar13 = (int *)&DAT_0000005c;\n            piVar19 = piVar10;\n            piVar11 = piVar5;\n            piVar14 = unaff_s6;\n            do {\n              while ((piVar10 = (int *)((int)piVar14 + 1), unaff_s5 != (int *)&DAT_0000005c ||\n                     (*(char *)((int)piVar14 + 1) == '\0'))) {\n                *(char *)piVar11 = *(char *)piVar14;\n                unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 1);\n                piVar19 = piVar10;\n                piVar20 = (int *)((int)piVar11 + 1);\n                piVar11 = (int *)((int)piVar11 + 1);\n                unaff_s6 = piVar10;\n                piVar14 = piVar10;\n                if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n              }\n              *(char *)piVar11 = *(char *)((int)piVar14 + 1);\n              unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 2);\n              piVar10 = piVar19;\n              piVar20 = (int *)((int)piVar11 + 1);\n              piVar11 = (int *)((int)piVar11 + 1);\n              unaff_s6 = (int *)((int)piVar14 + 2);\n              piVar14 = (int *)((int)piVar14 + 2);\n            } while (unaff_s5 != (int *)0x0);\n          }\n          else if (unaff_s5 != (int *)0x0) goto LAB_00043310;\nLAB_00043364:\n          puVar1 = PTR_safefree_000790f0;\n          *(char *)piVar20 = '\0';\n          (*(code *)puVar1)(local_54);\n          local_54 = (*(code *)PTR_dupstr_000790fc)(piVar5);\n        }\n        else {\n          piVar10 = unaff_s4;\n          iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar5);\n          if (iVar4 != 0) {\n            piVar20 = (int *)0x2;\n            piVar10 = unaff_s7;\n            iVar4 = (*(code *)PTR_strncmp_000797c4)(piVar5);\n            if (iVar4 != 0) {\n              piVar19 = (int *)0x0;\n              puVar17 = PTR_s_j_000790a8 + 0x437c;\n              param_2 = piVar5;\n              goto LAB_00043198;\n            }\n          }\n        }\n        (*(code *)PTR_safefree_000790f0)(piVar5);\n      }\n      piVar19 = (int *)0x0;\n      puVar17 = PTR_s_j_000790a8 + 0x43ac;\n      param_2 = piVar5;\n      goto LAB_00043198;\n    }\n  }\n  piVar19 = (int *)0x0;\n  local_54 = 0;\n  puVar17 = PTR_s_j_000790a8 + 0x42f0;\n  param_2 = piVar3;\n  goto LAB_00043198;\nLAB_0004340c:\n  do {\n    cVar9 = *(char *)piVar5;\n    unaff_s5 = piVar5;\n    if (cVar9 == '-') {\n      piVar10 = (int *)(PTR_s_j_000790a8 + 0x43fc);\n      iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar5);\n      if (iVar4 == 0) {\n        (*(code *)PTR_safefree_000790f0)(piVar5);\n        if ((int)unaff_s4 < 4) {\n          puVar17 = PTR_s_j_000790a8 + 0x42c4;\n          param_2 = (int *)0x0;\n          goto LAB_00043198;\n        }\n        piVar3 = (int *)(*(code *)PTR_toint_000792c8)(*piVar19);\n        puVar17 = PTR_s_j_000790a8;\n        if (((int)piVar3 < 0) || ((int)((int)unaff_s4 + -3) <= (int)piVar3)) {\n          puVar17 = PTR_s_j_000790a8 + 0x431c;\n          param_2 = (int *)0x0;\n          goto LAB_00043198;\n        }\n        piVar20 = piVar19 + 1;\n        if (param_2 != (int *)0x0) {\n          iVar4 = (*(code *)PTR_dupprintf_000790e8)(PTR_s_j_000790a8 + -0x26d0);\n          *param_2 = iVar4;\n          piVar10 = piVar3;\n        }\n        if (param_3 != (int *)0x0) {\n          *param_3 = (int)unaff_s4;\n        }\n        if (param_4 == (int *)0x0) {\n          (*(code *)PTR_safefree_000790f0)(local_54);\n        }\n        else {\n          *param_4 = local_54;\n        }\n        goto LAB_000431d8;\n      }\n      break;\n    }\n    unaff_s6 = (int *)&DAT_00000004;\n    while (piVar3 = unaff_s4, cVar9 != '\0') {\n      while( true ) {\n        local_30[iVar4] = cVar9;\n        if (iVar4 + 1 != 4) break;\n        piVar20 = (int *)(*(code *)PTR_base64_decode_atom_000792d8)(unaff_s8,unaff_s7);\n        unaff_s4 = (int *)((int)piVar3 + (int)piVar20);\n        if (iVar18 < (int)unaff_s4) {\n          iVar18 = ((int)unaff_s4 * 5 >> 2) + 0x400;\n          piVar19 = (int *)(*(code *)PTR_saferealloc_000791a0)(piVar19,iVar18,1);\n        }\n        unaff_s5 = (int *)((int)unaff_s5 + 1);\n        piVar10 = unaff_s7;\n        (*(code *)PTR_memcpy_000798e0)((char *)((int)piVar19 + (int)piVar3));\n        iVar4 = 0;\n        cVar9 = *(char *)unaff_s5;\n        piVar3 = unaff_s4;\n        if (cVar9 == '\0') goto LAB_000434ac;\n      }\n      unaff_s5 = (int *)((int)unaff_s5 + 1);\n      iVar4 = iVar4 + 1;\n      unaff_s4 = piVar3;\n      cVar9 = *(char *)unaff_s5;\n    }\nLAB_000434ac:\n    (*(code *)PTR_safefree_000790f0)(piVar5);\n    uVar2 = (*(code *)PTR_fgetline_00079538)(param_1);\n    piVar5 = (int *)(*(code *)PTR_chomp_0007953c)(uVar2);\n  } while (piVar5 != (int *)0x0);\n  puVar17 = PTR_s_j_000790a8 + 0x4350;\n  param_2 = piVar5;\nLAB_00043198:\n  (*(code *)PTR_safefree_000790f0)(param_2);\n  (*(code *)PTR_safefree_000790f0)(local_54);\n  (*(code *)PTR_safefree_000790f0)(piVar19);\n  piVar5 = unaff_s5;\n  if (param_5 == (undefined4 *)0x0) {\n    piVar19 = (int *)0x0;\n  }\n  else {\n    piVar19 = (int *)0x0;\n    *param_5 = puVar17;\n  }\nLAB_000431d8:\n  if (local_2c == *(int *)puVar22) {\n    return piVar19;\n  }\n  pcVar23 = openssh_loadpub;\n  puVar22 = PTR___stack_chk_fail_000797f0;\n  (*(code *)PTR___stack_chk_fail_000797f0)();\n  piStack_a0 = (int *)(puVar22 + 0x3da44);\n  piStack_98 = param_2;\n  puStack_94 = puVar17;\n  piStack_90 = piVar19;\n  uStack_8c = param_1;\n  piStack_88 = unaff_s4;\n  piStack_84 = piVar5;\n  piStack_80 = unaff_s6;\n  piStack_7c = unaff_s7;\n  pcStack_78 = unaff_s8;\n  pcStack_74 = pcVar23;\n  uVar2 = (**(code **)(puVar22 + 0x35f0c))();\n  uVar2 = (*(code *)piStack_a0[-0x1ecd])(uVar2);\n  puVar6 = (undefined1 *)(*(code *)piStack_a0[-0x1e0f])(uVar2,0x20);\n  if (puVar6 == (undefined1 *)0x0) {\n    piVar3 = (int *)0x0;\n    iVar4 = piStack_a0[-0x1ff2] + 0x4490;\n    puVar6 = (undefined1 *)0x0;\n  }\n  else {\n    pcVar23 = (code *)piStack_a0[-0x1e0f];\n    pcVar15 = puVar6 + 1;\n    *puVar6 = 0;\n    puVar6 = (undefined1 *)(*pcVar23)(pcVar15,0x20);\n    if (puVar6 != (undefined1 *)0x0) {\n      pcVar23 = (code *)piStack_a0[-0x1fdd];\n      *puVar6 = 0;\n      puVar6 = (undefined1 *)(*pcVar23)(puVar6 + 1);\n    }\n    iVar18 = 0;\n    uVar7 = (*(code *)piStack_a0[-0x1de8])(pcVar15);\n    iVar4 = (uVar7 >> 2) * 3;\n    piVar3 = (int *)(*(code *)piStack_a0[-0x1fe8])(iVar4,1);\n    while (iVar8 = (*(code *)piStack_a0[-0x1df7])(pcVar15,0,4), iVar8 == 0) {\n      if (iVar4 <= iVar18 + 2) {\n        puVar12 = (undefined4 *)&DAT_00000441;\n        pcVar23 = (code *)piStack_a0[-0x1e6c];\n        piVar14 = (int *)(piStack_a0[-0x1ff2] + 0x4800);\n        piVar11 = (int *)(piStack_a0[-0x1ff2] + 0x4034);\n        pcVar24 = ssh2_userkey_loadpub;\n        (*pcVar23)(piStack_a0[-0x1ff2] + 0x44b8);\n        piVar5 = piStack_a0;\n        pcStack_118 = pcVar23 + 0x3d74c;\n        piVar16 = *(int **)(pcVar23 + 0x3600c);\n        piVar19 = (int *)(*(int *)(pcVar23 + 0x35784) + 0x4078);\n        iStack_dc = *piVar16;\n        pcStack_d8 = pcVar15;\n        iStack_d4 = iVar18;\n        piStack_d0 = piVar3;\n        iStack_cc = iVar4;\n        puStack_c8 = puVar6;\n        uStack_c4 = uVar2;\n        piStack_c0 = piVar13;\n        piStack_bc = piVar20;\n        piStack_b8 = piVar10;\n        pcStack_b4 = pcVar24;\n        piVar10 = (int *)f_open();\n        if (piVar10 == (int *)0x0) {\n          if (piVar5 != (int *)0x0) {\n            *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x407c;\n          }\nLAB_000439f4:\n          piVar21 = (int *)0x0;\n          piVar10 = piVar20;\n        }\n        else {\n          iVar4 = FUN_00041f60(piVar10);\n          if (iVar4 == 9) {\n            pcVar23 = *(code **)(pcStack_118 + -0x7b14);\n          }\n          else {\n            if (iVar4 != 10) {\n              piVar20 = piVar10;\n              if (iVar4 != 3) {\nLAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }\n                goto LAB_000439f4;\n              }\n              piVar13 = aiStack_104;\n              iVar4 = FUN_00040db0(piVar10,piVar13);\n              if (iVar4 == 0) {\nLAB_00043cc0:\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);\n                iVar4 = (**(code **)(pcStack_118 + -0x78ac))(piVar13,piVar19,0x14);\n                if (iVar4 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                  if (piVar5 != (int *)0x0) {\n                    *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }\n                goto LAB_000439d4;\n              }\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214);\n              iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if (iVar4 != 0) {\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);\n                iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                if (iVar4 != 0) goto LAB_00043cc0;\n              }\n              pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74);\n              piVar3 = (int *)FUN_00040e74(piVar10);\n              if (piVar3 == (int *)0x0) {\nLAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                goto LAB_000439f4;\n              }\n              uVar2 = (**(code **)(pcStack_118 + -0x77a0))(piVar3);\n              piVar19 = piVar3;\n              iVar4 = find_pubkey_alg_len(uVar2);\n              (**(code **)(pcStack_118 + -0x7f80))(piVar3);\n              if ((iVar4 == 0) || (piVar19 = piVar13, iVar18 = FUN_00040db0(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) || (iVar18 = (*pcStack_110)(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n              piVar19 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              if (iVar18 == 0) goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) ||\n                 (pcVar23 = (code *)(*pcStack_110)(piVar10), pcVar23 == (code *)0x0))\n              goto LAB_00043c9c;\n              pcStack_10c = pcVar23;\n              if (piVar14 == (int *)0x0) {\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n              }\n              else {\n                *piVar14 = (int)pcVar23;\n              }\n              piVar3 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              pcVar23 = pcStack_10c;\n              if (iVar18 == 0) {\nLAB_00043d58:\n                piVar19 = piVar3;\n                pcStack_110 = pcVar23;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                if (piVar14 == (int *)0x0) goto LAB_000439f4;\n                piVar21 = (int *)0x0;\n                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);\n                *piVar14 = 0;\n              }\n              else {\n                piVar3 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                pcVar23 = pcStack_10c;\n                if ((iVar18 != 0) ||\n                   (iVar18 = (*pcStack_110)(piVar10), pcVar23 = pcStack_10c, iVar18 == 0))\n                goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                piVar19 = (int *)FUN_00040d14(iVar18);\n                (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n                pcVar23 = pcStack_110;\n                if (((int)piVar19 < 0) ||\n                   (piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108), piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (puVar12 != (undefined4 *)0x0) {\n                  *puVar12 = uStack_108;\n                }\n                if (piVar11 != (int *)0x0) {\n                  iVar4 = (**(code **)(pcStack_118 + -0x7f74))(*(undefined4 *)(iVar4 + 0x30));\n                  *piVar11 = iVar4;\n                }\n              }\n              goto LAB_000439f8;\n            }\n            pcVar23 = *(code **)(pcStack_118 + -0x7b10);\n          }\n          piStack_120 = piVar5;\n          piVar19 = piVar11;\n          piVar21 = (int *)(*pcVar23)(piVar10,piVar11,puVar12,piVar14);\n          (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n        }\nLAB_000439f8:\n        if (iStack_dc == *piVar16) {\n          return piVar21;\n        }\n        pcVar23 = *(code **)(pcStack_118 + -0x7880);\n        pcVar24 = ssh2_userkey_encrypted;\n        (*pcVar23)();\n        piVar20 = *(int **)(pcVar23 + 0x35b70);\n        piStack_150 = piVar5;\n        iStack_15c = *piVar20;\n        if (piVar19 != (int *)0x0) {\n          *piVar19 = 0;\n        }\n        piStack_154 = piVar16;\n        piStack_14c = piVar14;\n        piStack_148 = piVar11;\n        puStack_144 = puVar12;\n        piStack_140 = piVar21;\n        piStack_13c = piVar13;\n        piStack_138 = piVar10;\n        pcStack_134 = pcVar24;\n        iVar4 = f_open();\n        if (iVar4 == 0) {\n          piVar10 = (int *)0x0;\n        }\n        else {\n          iVar18 = FUN_00040db0(iVar4,auStack_184);\n          if ((iVar18 != 0) &&\n             (((iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4214), iVar18 == 0\n               || (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                      (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c),\n                  iVar18 == 0)) && (iVar18 = FUN_00040e74(iVar4), iVar18 != 0)))) {\n            (**(code **)(pcVar23 + 0x35330))(iVar18);\n            iVar18 = FUN_00040db0(iVar4,auStack_184);\n            if ((iVar18 != 0) &&\n               (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4244), iVar18 == 0))\n            {\n              iVar18 = FUN_00040e74(iVar4);\n              if (iVar18 == 0) {\n                (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                piVar10 = (int *)0x0;\n              }\n              else {\n                iVar8 = FUN_00040db0(iVar4,auStack_184);\n                if (((iVar8 == 0) ||\n                    (iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0)) || (iVar8 = FUN_00040e74(iVar4), iVar8 == 0)) {\n                  piVar10 = (int *)0x1;\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n                else {\n                  if (piVar19 == (int *)0x0) {\n                    (**(code **)(pcVar23 + 0x35330))(iVar8);\n                  }\n                  else {\n                    *piVar19 = iVar8;\n                  }\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  iVar4 = (**(code **)(pcVar23 + 0x35ae4))\n                                    (iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4);\n                  piVar10 = (int *)(uint)(iVar4 == 0);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n              }\n              goto LAB_00043f04;\n            }\n          }\n          piVar10 = (int *)0x0;\n          (**(code **)(pcVar23 + 0x35acc))(iVar4);\n        }\nLAB_00043f04:\n        if (iStack_15c != *piVar20) {\n          (**(code **)(pcVar23 + 0x35a30))();\n          return (int *)((iStack_15c + 0x2f) / 0x30);\n        }\n        return piVar10;\n      }\n      iVar8 = (*(code *)piStack_a0[-0x1f66])(pcVar15,(int)piVar3 + iVar18);\n      iVar18 = iVar18 + iVar8;\n      pcVar15 = pcVar15 + 4;\n    }\n    if (*pcVar15 == '\0') {\n      iVar4 = (*(code *)piStack_a0[-0x1de8])(uVar2);\n      if (((iVar4 + 3 < iVar18) && (iVar4 == *piVar3)) &&\n         (iVar4 = (*(code *)piStack_a0[-0x1dfd])(piVar3 + 1,uVar2,iVar4), iVar4 == 0)) {\n        if (piVar10 != (int *)0x0) {\n          iVar4 = (*(code *)piStack_a0[-0x1fdd])(uVar2);\n          *piVar10 = iVar4;\n        }\n        if (piVar20 != (int *)0x0) {\n          *piVar20 = iVar18;\n        }\n        if (piVar13 == (int *)0x0) {\n          (*(code *)piStack_a0[-0x1fe0])(puVar6);\n        }\n        else {\n          *piVar13 = (int)puVar6;\n        }\n        (*(code *)piStack_a0[-0x1fe0])(uVar2);\n        return piVar3;\n      }\n      iVar4 = piStack_a0[-0x1ff2] + 0x441c;\n    }\n    else {\n      iVar4 = piStack_a0[-0x1ff2] + 0x4454;\n    }\n  }\n  (*(code *)piStack_a0[-0x1fe0])(uVar2);\n  (*(code *)piStack_a0[-0x1fe0])(puVar6);\n  (*(code *)piStack_a0[-0x1fe0])(piVar3);\n  __gp_1 = iVar4;\n  return (int *)0x0;\n}\n\n" comment comment (function_definition "int * rfc4716_loadpub(undefined4 param_1,int *param_2,int *param_3,int *param_4,undefined4 *param_5)\n\n{\n  undefined *puVar1;\n  undefined4 uVar2;\n  int *piVar3;\n  int iVar4;\n  int *piVar5;\n  char cVar9;\n  undefined1 *puVar6;\n  uint uVar7;\n  int iVar8;\n  int *piVar10;\n  int *piVar11;\n  undefined4 *puVar12;\n  int *piVar13;\n  int *piVar14;\n  char *pcVar15;\n  int *piVar16;\n  undefined *puVar17;\n  int iVar18;\n  int *piVar19;\n  int *piVar20;\n  int *unaff_s4;\n  int *unaff_s5;\n  int *piVar21;\n  int *unaff_s6;\n  int *unaff_s7;\n  undefined *puVar22;\n  char *unaff_s8;\n  code *pcVar23;\n  code *pcVar24;\n  undefined1 auStack_184 [40];\n  int iStack_15c;\n  int *piStack_154;\n  int *piStack_150;\n  int *piStack_14c;\n  int *piStack_148;\n  undefined4 *puStack_144;\n  int *piStack_140;\n  int *piStack_13c;\n  int *piStack_138;\n  code *pcStack_134;\n  int *piStack_120;\n  code *pcStack_118;\n  code *pcStack_110;\n  code *pcStack_10c;\n  undefined4 uStack_108;\n  int aiStack_104 [10];\n  int iStack_dc;\n  char *pcStack_d8;\n  int iStack_d4;\n  int *piStack_d0;\n  int iStack_cc;\n  undefined1 *puStack_c8;\n  undefined4 uStack_c4;\n  int *piStack_c0;\n  int *piStack_bc;\n  int *piStack_b8;\n  code *pcStack_b4;\n  int *piStack_a0;\n  int *piStack_98;\n  undefined *puStack_94;\n  int *piStack_90;\n  undefined4 uStack_8c;\n  int *piStack_88;\n  int *piStack_84;\n  int *piStack_80;\n  int *piStack_7c;\n  char *pcStack_78;\n  code *pcStack_74;\n  int local_54;\n  int iStack_34;\n  char local_30 [4];\n  int local_2c;\n  \n  puVar22 = PTR___stack_chk_guard_00079930;\n  local_2c = *(int *)PTR___stack_chk_guard_00079930;\n  piVar10 = param_2;\n  piVar20 = param_3;\n  piVar13 = param_4;\n  uVar2 = (*(code *)PTR_fgetline_00079538)();\n  piVar3 = (int *)(*(code *)PTR_chomp_0007953c)(uVar2);\n  if (piVar3 != (int *)0x0) {\n    piVar10 = (int *)(PTR_s_j_000790a8 + 0x43cc);\n    iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar3);\n    if (iVar4 == 0) {\n      (*(code *)PTR_safefree_000790f0)(piVar3);\n      local_54 = 0;\n      puVar17 = PTR_s_j_000790a8 + 0x43ec;\n      piVar3 = (int *)(PTR_s_j_000790a8 + 0x4258);\n      unaff_s4 = (int *)(PTR_s_j_000790a8 + 0x43f0);\n      unaff_s7 = (int *)(PTR_s_j_000790a8 + 0x43f8);\n      while( true ) {\n        uVar2 = (*(code *)PTR_fgetline_00079538)(param_1);\n        piVar5 = (int *)(*(code *)PTR_chomp_0007953c)(uVar2);\n        if (piVar5 == (int *)0x0) break;\n        unaff_s8 = (char *)(*(code *)PTR_strstr_00079944)(piVar5,puVar17);\n        puVar1 = PTR_strcmp_000798a4;\n        if (unaff_s8 == (char *)0x0) {\n          piVar10 = (int *)0x1;\n          unaff_s7 = &iStack_34;\n          piVar19 = (int *)(*(code *)PTR_safemalloc_000790d0)(0x1000);\n          unaff_s8 = local_30;\n          iVar4 = 0;\n          unaff_s4 = (int *)0x0;\n          iVar18 = 0x1000;\n          goto LAB_0004340c;\n        }\n        *unaff_s8 = '\0';\n        piVar10 = piVar3;\n        iVar4 = (*(code *)puVar1)(piVar5);\n        if (iVar4 == 0) {\n          unaff_s5 = (int *)(int)unaff_s8[2];\n          unaff_s6 = (int *)(unaff_s8 + 2);\n          piVar20 = piVar5;\n          if (unaff_s5 == (int *)0x22) {\n            iVar4 = (*(code *)PTR_strlen_000798d0)(unaff_s6);\n            pcVar15 = (char *)((int)unaff_s6 + iVar4 + -1);\n            if (*pcVar15 == '\"') {\n              *pcVar15 = '\0';\n              unaff_s5 = (int *)(int)unaff_s8[3];\n              unaff_s6 = (int *)(unaff_s8 + 3);\n              if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n            }\nLAB_00043310:\n            piVar13 = (int *)&DAT_0000005c;\n            piVar19 = piVar10;\n            piVar11 = piVar5;\n            piVar14 = unaff_s6;\n            do {\n              while ((piVar10 = (int *)((int)piVar14 + 1), unaff_s5 != (int *)&DAT_0000005c ||\n                     (*(char *)((int)piVar14 + 1) == '\0'))) {\n                *(char *)piVar11 = *(char *)piVar14;\n                unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 1);\n                piVar19 = piVar10;\n                piVar20 = (int *)((int)piVar11 + 1);\n                piVar11 = (int *)((int)piVar11 + 1);\n                unaff_s6 = piVar10;\n                piVar14 = piVar10;\n                if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n              }\n              *(char *)piVar11 = *(char *)((int)piVar14 + 1);\n              unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 2);\n              piVar10 = piVar19;\n              piVar20 = (int *)((int)piVar11 + 1);\n              piVar11 = (int *)((int)piVar11 + 1);\n              unaff_s6 = (int *)((int)piVar14 + 2);\n              piVar14 = (int *)((int)piVar14 + 2);\n            } while (unaff_s5 != (int *)0x0);\n          }\n          else if (unaff_s5 != (int *)0x0) goto LAB_00043310;\nLAB_00043364:\n          puVar1 = PTR_safefree_000790f0;\n          *(char *)piVar20 = '\0';\n          (*(code *)puVar1)(local_54);\n          local_54 = (*(code *)PTR_dupstr_000790fc)(piVar5);\n        }\n        else {\n          piVar10 = unaff_s4;\n          iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar5);\n          if (iVar4 != 0) {\n            piVar20 = (int *)0x2;\n            piVar10 = unaff_s7;\n            iVar4 = (*(code *)PTR_strncmp_000797c4)(piVar5);\n            if (iVar4 != 0) {\n              piVar19 = (int *)0x0;\n              puVar17 = PTR_s_j_000790a8 + 0x437c;\n              param_2 = piVar5;\n              goto LAB_00043198;\n            }\n          }\n        }\n        (*(code *)PTR_safefree_000790f0)(piVar5);\n      }\n      piVar19 = (int *)0x0;\n      puVar17 = PTR_s_j_000790a8 + 0x43ac;\n      param_2 = piVar5;\n      goto LAB_00043198;\n    }\n  }\n  piVar19 = (int *)0x0;\n  local_54 = 0;\n  puVar17 = PTR_s_j_000790a8 + 0x42f0;\n  param_2 = piVar3;\n  goto LAB_00043198;\nLAB_0004340c:\n  do {\n    cVar9 = *(char *)piVar5;\n    unaff_s5 = piVar5;\n    if (cVar9 == '-') {\n      piVar10 = (int *)(PTR_s_j_000790a8 + 0x43fc);\n      iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar5);\n      if (iVar4 == 0) {\n        (*(code *)PTR_safefree_000790f0)(piVar5);\n        if ((int)unaff_s4 < 4) {\n          puVar17 = PTR_s_j_000790a8 + 0x42c4;\n          param_2 = (int *)0x0;\n          goto LAB_00043198;\n        }\n        piVar3 = (int *)(*(code *)PTR_toint_000792c8)(*piVar19);\n        puVar17 = PTR_s_j_000790a8;\n        if (((int)piVar3 < 0) || ((int)((int)unaff_s4 + -3) <= (int)piVar3)) {\n          puVar17 = PTR_s_j_000790a8 + 0x431c;\n          param_2 = (int *)0x0;\n          goto LAB_00043198;\n        }\n        piVar20 = piVar19 + 1;\n        if (param_2 != (int *)0x0) {\n          iVar4 = (*(code *)PTR_dupprintf_000790e8)(PTR_s_j_000790a8 + -0x26d0);\n          *param_2 = iVar4;\n          piVar10 = piVar3;\n        }\n        if (param_3 != (int *)0x0) {\n          *param_3 = (int)unaff_s4;\n        }\n        if (param_4 == (int *)0x0) {\n          (*(code *)PTR_safefree_000790f0)(local_54);\n        }\n        else {\n          *param_4 = local_54;\n        }\n        goto LAB_000431d8;\n      }\n      break;\n    }\n    unaff_s6 = (int *)&DAT_00000004;\n    while (piVar3 = unaff_s4, cVar9 != '\0') {\n      while( true ) {\n        local_30[iVar4] = cVar9;\n        if (iVar4 + 1 != 4) break;\n        piVar20 = (int *)(*(code *)PTR_base64_decode_atom_000792d8)(unaff_s8,unaff_s7);\n        unaff_s4 = (int *)((int)piVar3 + (int)piVar20);\n        if (iVar18 < (int)unaff_s4) {\n          iVar18 = ((int)unaff_s4 * 5 >> 2) + 0x400;\n          piVar19 = (int *)(*(code *)PTR_saferealloc_000791a0)(piVar19,iVar18,1);\n        }\n        unaff_s5 = (int *)((int)unaff_s5 + 1);\n        piVar10 = unaff_s7;\n        (*(code *)PTR_memcpy_000798e0)((char *)((int)piVar19 + (int)piVar3));\n        iVar4 = 0;\n        cVar9 = *(char *)unaff_s5;\n        piVar3 = unaff_s4;\n        if (cVar9 == '\0') goto LAB_000434ac;\n      }\n      unaff_s5 = (int *)((int)unaff_s5 + 1);\n      iVar4 = iVar4 + 1;\n      unaff_s4 = piVar3;\n      cVar9 = *(char *)unaff_s5;\n    }\nLAB_000434ac:\n    (*(code *)PTR_safefree_000790f0)(piVar5);\n    uVar2 = (*(code *)PTR_fgetline_00079538)(param_1);\n    piVar5 = (int *)(*(code *)PTR_chomp_0007953c)(uVar2);\n  } while (piVar5 != (int *)0x0);\n  puVar17 = PTR_s_j_000790a8 + 0x4350;\n  param_2 = piVar5;\nLAB_00043198:\n  (*(code *)PTR_safefree_000790f0)(param_2);\n  (*(code *)PTR_safefree_000790f0)(local_54);\n  (*(code *)PTR_safefree_000790f0)(piVar19);\n  piVar5 = unaff_s5;\n  if (param_5 == (undefined4 *)0x0) {\n    piVar19 = (int *)0x0;\n  }\n  else {\n    piVar19 = (int *)0x0;\n    *param_5 = puVar17;\n  }\nLAB_000431d8:\n  if (local_2c == *(int *)puVar22) {\n    return piVar19;\n  }\n  pcVar23 = openssh_loadpub;\n  puVar22 = PTR___stack_chk_fail_000797f0;\n  (*(code *)PTR___stack_chk_fail_000797f0)();\n  piStack_a0 = (int *)(puVar22 + 0x3da44);\n  piStack_98 = param_2;\n  puStack_94 = puVar17;\n  piStack_90 = piVar19;\n  uStack_8c = param_1;\n  piStack_88 = unaff_s4;\n  piStack_84 = piVar5;\n  piStack_80 = unaff_s6;\n  piStack_7c = unaff_s7;\n  pcStack_78 = unaff_s8;\n  pcStack_74 = pcVar23;\n  uVar2 = (**(code **)(puVar22 + 0x35f0c))();\n  uVar2 = (*(code *)piStack_a0[-0x1ecd])(uVar2);\n  puVar6 = (undefined1 *)(*(code *)piStack_a0[-0x1e0f])(uVar2,0x20);\n  if (puVar6 == (undefined1 *)0x0) {\n    piVar3 = (int *)0x0;\n    iVar4 = piStack_a0[-0x1ff2] + 0x4490;\n    puVar6 = (undefined1 *)0x0;\n  }\n  else {\n    pcVar23 = (code *)piStack_a0[-0x1e0f];\n    pcVar15 = puVar6 + 1;\n    *puVar6 = 0;\n    puVar6 = (undefined1 *)(*pcVar23)(pcVar15,0x20);\n    if (puVar6 != (undefined1 *)0x0) {\n      pcVar23 = (code *)piStack_a0[-0x1fdd];\n      *puVar6 = 0;\n      puVar6 = (undefined1 *)(*pcVar23)(puVar6 + 1);\n    }\n    iVar18 = 0;\n    uVar7 = (*(code *)piStack_a0[-0x1de8])(pcVar15);\n    iVar4 = (uVar7 >> 2) * 3;\n    piVar3 = (int *)(*(code *)piStack_a0[-0x1fe8])(iVar4,1);\n    while (iVar8 = (*(code *)piStack_a0[-0x1df7])(pcVar15,0,4), iVar8 == 0) {\n      if (iVar4 <= iVar18 + 2) {\n        puVar12 = (undefined4 *)&DAT_00000441;\n        pcVar23 = (code *)piStack_a0[-0x1e6c];\n        piVar14 = (int *)(piStack_a0[-0x1ff2] + 0x4800);\n        piVar11 = (int *)(piStack_a0[-0x1ff2] + 0x4034);\n        pcVar24 = ssh2_userkey_loadpub;\n        (*pcVar23)(piStack_a0[-0x1ff2] + 0x44b8);\n        piVar5 = piStack_a0;\n        pcStack_118 = pcVar23 + 0x3d74c;\n        piVar16 = *(int **)(pcVar23 + 0x3600c);\n        piVar19 = (int *)(*(int *)(pcVar23 + 0x35784) + 0x4078);\n        iStack_dc = *piVar16;\n        pcStack_d8 = pcVar15;\n        iStack_d4 = iVar18;\n        piStack_d0 = piVar3;\n        iStack_cc = iVar4;\n        puStack_c8 = puVar6;\n        uStack_c4 = uVar2;\n        piStack_c0 = piVar13;\n        piStack_bc = piVar20;\n        piStack_b8 = piVar10;\n        pcStack_b4 = pcVar24;\n        piVar10 = (int *)f_open();\n        if (piVar10 == (int *)0x0) {\n          if (piVar5 != (int *)0x0) {\n            *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x407c;\n          }\nLAB_000439f4:\n          piVar21 = (int *)0x0;\n          piVar10 = piVar20;\n        }\n        else {\n          iVar4 = FUN_00041f60(piVar10);\n          if (iVar4 == 9) {\n            pcVar23 = *(code **)(pcStack_118 + -0x7b14);\n          }\n          else {\n            if (iVar4 != 10) {\n              piVar20 = piVar10;\n              if (iVar4 != 3) {\nLAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }\n                goto LAB_000439f4;\n              }\n              piVar13 = aiStack_104;\n              iVar4 = FUN_00040db0(piVar10,piVar13);\n              if (iVar4 == 0) {\nLAB_00043cc0:\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);\n                iVar4 = (**(code **)(pcStack_118 + -0x78ac))(piVar13,piVar19,0x14);\n                if (iVar4 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                  if (piVar5 != (int *)0x0) {\n                    *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }\n                goto LAB_000439d4;\n              }\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214);\n              iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if (iVar4 != 0) {\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);\n                iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                if (iVar4 != 0) goto LAB_00043cc0;\n              }\n              pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74);\n              piVar3 = (int *)FUN_00040e74(piVar10);\n              if (piVar3 == (int *)0x0) {\nLAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                goto LAB_000439f4;\n              }\n              uVar2 = (**(code **)(pcStack_118 + -0x77a0))(piVar3);\n              piVar19 = piVar3;\n              iVar4 = find_pubkey_alg_len(uVar2);\n              (**(code **)(pcStack_118 + -0x7f80))(piVar3);\n              if ((iVar4 == 0) || (piVar19 = piVar13, iVar18 = FUN_00040db0(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) || (iVar18 = (*pcStack_110)(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n              piVar19 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              if (iVar18 == 0) goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) ||\n                 (pcVar23 = (code *)(*pcStack_110)(piVar10), pcVar23 == (code *)0x0))\n              goto LAB_00043c9c;\n              pcStack_10c = pcVar23;\n              if (piVar14 == (int *)0x0) {\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n              }\n              else {\n                *piVar14 = (int)pcVar23;\n              }\n              piVar3 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              pcVar23 = pcStack_10c;\n              if (iVar18 == 0) {\nLAB_00043d58:\n                piVar19 = piVar3;\n                pcStack_110 = pcVar23;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                if (piVar14 == (int *)0x0) goto LAB_000439f4;\n                piVar21 = (int *)0x0;\n                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);\n                *piVar14 = 0;\n              }\n              else {\n                piVar3 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                pcVar23 = pcStack_10c;\n                if ((iVar18 != 0) ||\n                   (iVar18 = (*pcStack_110)(piVar10), pcVar23 = pcStack_10c, iVar18 == 0))\n                goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                piVar19 = (int *)FUN_00040d14(iVar18);\n                (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n                pcVar23 = pcStack_110;\n                if (((int)piVar19 < 0) ||\n                   (piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108), piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (puVar12 != (undefined4 *)0x0) {\n                  *puVar12 = uStack_108;\n                }\n                if (piVar11 != (int *)0x0) {\n                  iVar4 = (**(code **)(pcStack_118 + -0x7f74))(*(undefined4 *)(iVar4 + 0x30));\n                  *piVar11 = iVar4;\n                }\n              }\n              goto LAB_000439f8;\n            }\n            pcVar23 = *(code **)(pcStack_118 + -0x7b10);\n          }\n          piStack_120 = piVar5;\n          piVar19 = piVar11;\n          piVar21 = (int *)(*pcVar23)(piVar10,piVar11,puVar12,piVar14);\n          (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n        }\nLAB_000439f8:\n        if (iStack_dc == *piVar16) {\n          return piVar21;\n        }\n        pcVar23 = *(code **)(pcStack_118 + -0x7880);\n        pcVar24 = ssh2_userkey_encrypted;\n        (*pcVar23)();\n        piVar20 = *(int **)(pcVar23 + 0x35b70);\n        piStack_150 = piVar5;\n        iStack_15c = *piVar20;\n        if (piVar19 != (int *)0x0) {\n          *piVar19 = 0;\n        }\n        piStack_154 = piVar16;\n        piStack_14c = piVar14;\n        piStack_148 = piVar11;\n        puStack_144 = puVar12;\n        piStack_140 = piVar21;\n        piStack_13c = piVar13;\n        piStack_138 = piVar10;\n        pcStack_134 = pcVar24;\n        iVar4 = f_open();\n        if (iVar4 == 0) {\n          piVar10 = (int *)0x0;\n        }\n        else {\n          iVar18 = FUN_00040db0(iVar4,auStack_184);\n          if ((iVar18 != 0) &&\n             (((iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4214), iVar18 == 0\n               || (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                      (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c),\n                  iVar18 == 0)) && (iVar18 = FUN_00040e74(iVar4), iVar18 != 0)))) {\n            (**(code **)(pcVar23 + 0x35330))(iVar18);\n            iVar18 = FUN_00040db0(iVar4,auStack_184);\n            if ((iVar18 != 0) &&\n               (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4244), iVar18 == 0))\n            {\n              iVar18 = FUN_00040e74(iVar4);\n              if (iVar18 == 0) {\n                (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                piVar10 = (int *)0x0;\n              }\n              else {\n                iVar8 = FUN_00040db0(iVar4,auStack_184);\n                if (((iVar8 == 0) ||\n                    (iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0)) || (iVar8 = FUN_00040e74(iVar4), iVar8 == 0)) {\n                  piVar10 = (int *)0x1;\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n                else {\n                  if (piVar19 == (int *)0x0) {\n                    (**(code **)(pcVar23 + 0x35330))(iVar8);\n                  }\n                  else {\n                    *piVar19 = iVar8;\n                  }\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  iVar4 = (**(code **)(pcVar23 + 0x35ae4))\n                                    (iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4);\n                  piVar10 = (int *)(uint)(iVar4 == 0);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n              }\n              goto LAB_00043f04;\n            }\n          }\n          piVar10 = (int *)0x0;\n          (**(code **)(pcVar23 + 0x35acc))(iVar4);\n        }\nLAB_00043f04:\n        if (iStack_15c != *piVar20) {\n          (**(code **)(pcVar23 + 0x35a30))();\n          return (int *)((iStack_15c + 0x2f) / 0x30);\n        }\n        return piVar10;\n      }\n      iVar8 = (*(code *)piStack_a0[-0x1f66])(pcVar15,(int)piVar3 + iVar18);\n      iVar18 = iVar18 + iVar8;\n      pcVar15 = pcVar15 + 4;\n    }\n    if (*pcVar15 == '\0') {\n      iVar4 = (*(code *)piStack_a0[-0x1de8])(uVar2);\n      if (((iVar4 + 3 < iVar18) && (iVar4 == *piVar3)) &&\n         (iVar4 = (*(code *)piStack_a0[-0x1dfd])(piVar3 + 1,uVar2,iVar4), iVar4 == 0)) {\n        if (piVar10 != (int *)0x0) {\n          iVar4 = (*(code *)piStack_a0[-0x1fdd])(uVar2);\n          *piVar10 = iVar4;\n        }\n        if (piVar20 != (int *)0x0) {\n          *piVar20 = iVar18;\n        }\n        if (piVar13 == (int *)0x0) {\n          (*(code *)piStack_a0[-0x1fe0])(puVar6);\n        }\n        else {\n          *piVar13 = (int)puVar6;\n        }\n        (*(code *)piStack_a0[-0x1fe0])(uVar2);\n        return piVar3;\n      }\n      iVar4 = piStack_a0[-0x1ff2] + 0x441c;\n    }\n    else {\n      iVar4 = piStack_a0[-0x1ff2] + 0x4454;\n    }\n  }\n  (*(code *)piStack_a0[-0x1fe0])(uVar2);\n  (*(code *)piStack_a0[-0x1fe0])(puVar6);\n  (*(code *)piStack_a0[-0x1fe0])(piVar3);\n  __gp_1 = iVar4;\n  return (int *)0x0;\n}" primitive_type (pointer_declarator "* rfc4716_loadpub(undefined4 param_1,int *param_2,int *param_3,int *param_4,undefined4 *param_5)" * (function_declarator "rfc4716_loadpub(undefined4 param_1,int *param_2,int *param_3,int *param_4,undefined4 *param_5)" identifier (parameter_list "(undefined4 param_1,int *param_2,int *param_3,int *param_4,undefined4 *param_5)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "int *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "int *param_3" primitive_type (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "int *param_4" primitive_type (pointer_declarator "*param_4" * identifier)) , (parameter_declaration "undefined4 *param_5" type_identifier (pointer_declarator "*param_5" * identifier)) )))) (compound_statement "{\n  undefined *puVar1;\n  undefined4 uVar2;\n  int *piVar3;\n  int iVar4;\n  int *piVar5;\n  char cVar9;\n  undefined1 *puVar6;\n  uint uVar7;\n  int iVar8;\n  int *piVar10;\n  int *piVar11;\n  undefined4 *puVar12;\n  int *piVar13;\n  int *piVar14;\n  char *pcVar15;\n  int *piVar16;\n  undefined *puVar17;\n  int iVar18;\n  int *piVar19;\n  int *piVar20;\n  int *unaff_s4;\n  int *unaff_s5;\n  int *piVar21;\n  int *unaff_s6;\n  int *unaff_s7;\n  undefined *puVar22;\n  char *unaff_s8;\n  code *pcVar23;\n  code *pcVar24;\n  undefined1 auStack_184 [40];\n  int iStack_15c;\n  int *piStack_154;\n  int *piStack_150;\n  int *piStack_14c;\n  int *piStack_148;\n  undefined4 *puStack_144;\n  int *piStack_140;\n  int *piStack_13c;\n  int *piStack_138;\n  code *pcStack_134;\n  int *piStack_120;\n  code *pcStack_118;\n  code *pcStack_110;\n  code *pcStack_10c;\n  undefined4 uStack_108;\n  int aiStack_104 [10];\n  int iStack_dc;\n  char *pcStack_d8;\n  int iStack_d4;\n  int *piStack_d0;\n  int iStack_cc;\n  undefined1 *puStack_c8;\n  undefined4 uStack_c4;\n  int *piStack_c0;\n  int *piStack_bc;\n  int *piStack_b8;\n  code *pcStack_b4;\n  int *piStack_a0;\n  int *piStack_98;\n  undefined *puStack_94;\n  int *piStack_90;\n  undefined4 uStack_8c;\n  int *piStack_88;\n  int *piStack_84;\n  int *piStack_80;\n  int *piStack_7c;\n  char *pcStack_78;\n  code *pcStack_74;\n  int local_54;\n  int iStack_34;\n  char local_30 [4];\n  int local_2c;\n  \n  puVar22 = PTR___stack_chk_guard_00079930;\n  local_2c = *(int *)PTR___stack_chk_guard_00079930;\n  piVar10 = param_2;\n  piVar20 = param_3;\n  piVar13 = param_4;\n  uVar2 = (*(code *)PTR_fgetline_00079538)();\n  piVar3 = (int *)(*(code *)PTR_chomp_0007953c)(uVar2);\n  if (piVar3 != (int *)0x0) {\n    piVar10 = (int *)(PTR_s_j_000790a8 + 0x43cc);\n    iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar3);\n    if (iVar4 == 0) {\n      (*(code *)PTR_safefree_000790f0)(piVar3);\n      local_54 = 0;\n      puVar17 = PTR_s_j_000790a8 + 0x43ec;\n      piVar3 = (int *)(PTR_s_j_000790a8 + 0x4258);\n      unaff_s4 = (int *)(PTR_s_j_000790a8 + 0x43f0);\n      unaff_s7 = (int *)(PTR_s_j_000790a8 + 0x43f8);\n      while( true ) {\n        uVar2 = (*(code *)PTR_fgetline_00079538)(param_1);\n        piVar5 = (int *)(*(code *)PTR_chomp_0007953c)(uVar2);\n        if (piVar5 == (int *)0x0) break;\n        unaff_s8 = (char *)(*(code *)PTR_strstr_00079944)(piVar5,puVar17);\n        puVar1 = PTR_strcmp_000798a4;\n        if (unaff_s8 == (char *)0x0) {\n          piVar10 = (int *)0x1;\n          unaff_s7 = &iStack_34;\n          piVar19 = (int *)(*(code *)PTR_safemalloc_000790d0)(0x1000);\n          unaff_s8 = local_30;\n          iVar4 = 0;\n          unaff_s4 = (int *)0x0;\n          iVar18 = 0x1000;\n          goto LAB_0004340c;\n        }\n        *unaff_s8 = '\0';\n        piVar10 = piVar3;\n        iVar4 = (*(code *)puVar1)(piVar5);\n        if (iVar4 == 0) {\n          unaff_s5 = (int *)(int)unaff_s8[2];\n          unaff_s6 = (int *)(unaff_s8 + 2);\n          piVar20 = piVar5;\n          if (unaff_s5 == (int *)0x22) {\n            iVar4 = (*(code *)PTR_strlen_000798d0)(unaff_s6);\n            pcVar15 = (char *)((int)unaff_s6 + iVar4 + -1);\n            if (*pcVar15 == '\"') {\n              *pcVar15 = '\0';\n              unaff_s5 = (int *)(int)unaff_s8[3];\n              unaff_s6 = (int *)(unaff_s8 + 3);\n              if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n            }\nLAB_00043310:\n            piVar13 = (int *)&DAT_0000005c;\n            piVar19 = piVar10;\n            piVar11 = piVar5;\n            piVar14 = unaff_s6;\n            do {\n              while ((piVar10 = (int *)((int)piVar14 + 1), unaff_s5 != (int *)&DAT_0000005c ||\n                     (*(char *)((int)piVar14 + 1) == '\0'))) {\n                *(char *)piVar11 = *(char *)piVar14;\n                unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 1);\n                piVar19 = piVar10;\n                piVar20 = (int *)((int)piVar11 + 1);\n                piVar11 = (int *)((int)piVar11 + 1);\n                unaff_s6 = piVar10;\n                piVar14 = piVar10;\n                if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n              }\n              *(char *)piVar11 = *(char *)((int)piVar14 + 1);\n              unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 2);\n              piVar10 = piVar19;\n              piVar20 = (int *)((int)piVar11 + 1);\n              piVar11 = (int *)((int)piVar11 + 1);\n              unaff_s6 = (int *)((int)piVar14 + 2);\n              piVar14 = (int *)((int)piVar14 + 2);\n            } while (unaff_s5 != (int *)0x0);\n          }\n          else if (unaff_s5 != (int *)0x0) goto LAB_00043310;\nLAB_00043364:\n          puVar1 = PTR_safefree_000790f0;\n          *(char *)piVar20 = '\0';\n          (*(code *)puVar1)(local_54);\n          local_54 = (*(code *)PTR_dupstr_000790fc)(piVar5);\n        }\n        else {\n          piVar10 = unaff_s4;\n          iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar5);\n          if (iVar4 != 0) {\n            piVar20 = (int *)0x2;\n            piVar10 = unaff_s7;\n            iVar4 = (*(code *)PTR_strncmp_000797c4)(piVar5);\n            if (iVar4 != 0) {\n              piVar19 = (int *)0x0;\n              puVar17 = PTR_s_j_000790a8 + 0x437c;\n              param_2 = piVar5;\n              goto LAB_00043198;\n            }\n          }\n        }\n        (*(code *)PTR_safefree_000790f0)(piVar5);\n      }\n      piVar19 = (int *)0x0;\n      puVar17 = PTR_s_j_000790a8 + 0x43ac;\n      param_2 = piVar5;\n      goto LAB_00043198;\n    }\n  }\n  piVar19 = (int *)0x0;\n  local_54 = 0;\n  puVar17 = PTR_s_j_000790a8 + 0x42f0;\n  param_2 = piVar3;\n  goto LAB_00043198;\nLAB_0004340c:\n  do {\n    cVar9 = *(char *)piVar5;\n    unaff_s5 = piVar5;\n    if (cVar9 == '-') {\n      piVar10 = (int *)(PTR_s_j_000790a8 + 0x43fc);\n      iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar5);\n      if (iVar4 == 0) {\n        (*(code *)PTR_safefree_000790f0)(piVar5);\n        if ((int)unaff_s4 < 4) {\n          puVar17 = PTR_s_j_000790a8 + 0x42c4;\n          param_2 = (int *)0x0;\n          goto LAB_00043198;\n        }\n        piVar3 = (int *)(*(code *)PTR_toint_000792c8)(*piVar19);\n        puVar17 = PTR_s_j_000790a8;\n        if (((int)piVar3 < 0) || ((int)((int)unaff_s4 + -3) <= (int)piVar3)) {\n          puVar17 = PTR_s_j_000790a8 + 0x431c;\n          param_2 = (int *)0x0;\n          goto LAB_00043198;\n        }\n        piVar20 = piVar19 + 1;\n        if (param_2 != (int *)0x0) {\n          iVar4 = (*(code *)PTR_dupprintf_000790e8)(PTR_s_j_000790a8 + -0x26d0);\n          *param_2 = iVar4;\n          piVar10 = piVar3;\n        }\n        if (param_3 != (int *)0x0) {\n          *param_3 = (int)unaff_s4;\n        }\n        if (param_4 == (int *)0x0) {\n          (*(code *)PTR_safefree_000790f0)(local_54);\n        }\n        else {\n          *param_4 = local_54;\n        }\n        goto LAB_000431d8;\n      }\n      break;\n    }\n    unaff_s6 = (int *)&DAT_00000004;\n    while (piVar3 = unaff_s4, cVar9 != '\0') {\n      while( true ) {\n        local_30[iVar4] = cVar9;\n        if (iVar4 + 1 != 4) break;\n        piVar20 = (int *)(*(code *)PTR_base64_decode_atom_000792d8)(unaff_s8,unaff_s7);\n        unaff_s4 = (int *)((int)piVar3 + (int)piVar20);\n        if (iVar18 < (int)unaff_s4) {\n          iVar18 = ((int)unaff_s4 * 5 >> 2) + 0x400;\n          piVar19 = (int *)(*(code *)PTR_saferealloc_000791a0)(piVar19,iVar18,1);\n        }\n        unaff_s5 = (int *)((int)unaff_s5 + 1);\n        piVar10 = unaff_s7;\n        (*(code *)PTR_memcpy_000798e0)((char *)((int)piVar19 + (int)piVar3));\n        iVar4 = 0;\n        cVar9 = *(char *)unaff_s5;\n        piVar3 = unaff_s4;\n        if (cVar9 == '\0') goto LAB_000434ac;\n      }\n      unaff_s5 = (int *)((int)unaff_s5 + 1);\n      iVar4 = iVar4 + 1;\n      unaff_s4 = piVar3;\n      cVar9 = *(char *)unaff_s5;\n    }\nLAB_000434ac:\n    (*(code *)PTR_safefree_000790f0)(piVar5);\n    uVar2 = (*(code *)PTR_fgetline_00079538)(param_1);\n    piVar5 = (int *)(*(code *)PTR_chomp_0007953c)(uVar2);\n  } while (piVar5 != (int *)0x0);\n  puVar17 = PTR_s_j_000790a8 + 0x4350;\n  param_2 = piVar5;\nLAB_00043198:\n  (*(code *)PTR_safefree_000790f0)(param_2);\n  (*(code *)PTR_safefree_000790f0)(local_54);\n  (*(code *)PTR_safefree_000790f0)(piVar19);\n  piVar5 = unaff_s5;\n  if (param_5 == (undefined4 *)0x0) {\n    piVar19 = (int *)0x0;\n  }\n  else {\n    piVar19 = (int *)0x0;\n    *param_5 = puVar17;\n  }\nLAB_000431d8:\n  if (local_2c == *(int *)puVar22) {\n    return piVar19;\n  }\n  pcVar23 = openssh_loadpub;\n  puVar22 = PTR___stack_chk_fail_000797f0;\n  (*(code *)PTR___stack_chk_fail_000797f0)();\n  piStack_a0 = (int *)(puVar22 + 0x3da44);\n  piStack_98 = param_2;\n  puStack_94 = puVar17;\n  piStack_90 = piVar19;\n  uStack_8c = param_1;\n  piStack_88 = unaff_s4;\n  piStack_84 = piVar5;\n  piStack_80 = unaff_s6;\n  piStack_7c = unaff_s7;\n  pcStack_78 = unaff_s8;\n  pcStack_74 = pcVar23;\n  uVar2 = (**(code **)(puVar22 + 0x35f0c))();\n  uVar2 = (*(code *)piStack_a0[-0x1ecd])(uVar2);\n  puVar6 = (undefined1 *)(*(code *)piStack_a0[-0x1e0f])(uVar2,0x20);\n  if (puVar6 == (undefined1 *)0x0) {\n    piVar3 = (int *)0x0;\n    iVar4 = piStack_a0[-0x1ff2] + 0x4490;\n    puVar6 = (undefined1 *)0x0;\n  }\n  else {\n    pcVar23 = (code *)piStack_a0[-0x1e0f];\n    pcVar15 = puVar6 + 1;\n    *puVar6 = 0;\n    puVar6 = (undefined1 *)(*pcVar23)(pcVar15,0x20);\n    if (puVar6 != (undefined1 *)0x0) {\n      pcVar23 = (code *)piStack_a0[-0x1fdd];\n      *puVar6 = 0;\n      puVar6 = (undefined1 *)(*pcVar23)(puVar6 + 1);\n    }\n    iVar18 = 0;\n    uVar7 = (*(code *)piStack_a0[-0x1de8])(pcVar15);\n    iVar4 = (uVar7 >> 2) * 3;\n    piVar3 = (int *)(*(code *)piStack_a0[-0x1fe8])(iVar4,1);\n    while (iVar8 = (*(code *)piStack_a0[-0x1df7])(pcVar15,0,4), iVar8 == 0) {\n      if (iVar4 <= iVar18 + 2) {\n        puVar12 = (undefined4 *)&DAT_00000441;\n        pcVar23 = (code *)piStack_a0[-0x1e6c];\n        piVar14 = (int *)(piStack_a0[-0x1ff2] + 0x4800);\n        piVar11 = (int *)(piStack_a0[-0x1ff2] + 0x4034);\n        pcVar24 = ssh2_userkey_loadpub;\n        (*pcVar23)(piStack_a0[-0x1ff2] + 0x44b8);\n        piVar5 = piStack_a0;\n        pcStack_118 = pcVar23 + 0x3d74c;\n        piVar16 = *(int **)(pcVar23 + 0x3600c);\n        piVar19 = (int *)(*(int *)(pcVar23 + 0x35784) + 0x4078);\n        iStack_dc = *piVar16;\n        pcStack_d8 = pcVar15;\n        iStack_d4 = iVar18;\n        piStack_d0 = piVar3;\n        iStack_cc = iVar4;\n        puStack_c8 = puVar6;\n        uStack_c4 = uVar2;\n        piStack_c0 = piVar13;\n        piStack_bc = piVar20;\n        piStack_b8 = piVar10;\n        pcStack_b4 = pcVar24;\n        piVar10 = (int *)f_open();\n        if (piVar10 == (int *)0x0) {\n          if (piVar5 != (int *)0x0) {\n            *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x407c;\n          }\nLAB_000439f4:\n          piVar21 = (int *)0x0;\n          piVar10 = piVar20;\n        }\n        else {\n          iVar4 = FUN_00041f60(piVar10);\n          if (iVar4 == 9) {\n            pcVar23 = *(code **)(pcStack_118 + -0x7b14);\n          }\n          else {\n            if (iVar4 != 10) {\n              piVar20 = piVar10;\n              if (iVar4 != 3) {\nLAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }\n                goto LAB_000439f4;\n              }\n              piVar13 = aiStack_104;\n              iVar4 = FUN_00040db0(piVar10,piVar13);\n              if (iVar4 == 0) {\nLAB_00043cc0:\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);\n                iVar4 = (**(code **)(pcStack_118 + -0x78ac))(piVar13,piVar19,0x14);\n                if (iVar4 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                  if (piVar5 != (int *)0x0) {\n                    *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }\n                goto LAB_000439d4;\n              }\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214);\n              iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if (iVar4 != 0) {\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);\n                iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                if (iVar4 != 0) goto LAB_00043cc0;\n              }\n              pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74);\n              piVar3 = (int *)FUN_00040e74(piVar10);\n              if (piVar3 == (int *)0x0) {\nLAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                goto LAB_000439f4;\n              }\n              uVar2 = (**(code **)(pcStack_118 + -0x77a0))(piVar3);\n              piVar19 = piVar3;\n              iVar4 = find_pubkey_alg_len(uVar2);\n              (**(code **)(pcStack_118 + -0x7f80))(piVar3);\n              if ((iVar4 == 0) || (piVar19 = piVar13, iVar18 = FUN_00040db0(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) || (iVar18 = (*pcStack_110)(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n              piVar19 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              if (iVar18 == 0) goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) ||\n                 (pcVar23 = (code *)(*pcStack_110)(piVar10), pcVar23 == (code *)0x0))\n              goto LAB_00043c9c;\n              pcStack_10c = pcVar23;\n              if (piVar14 == (int *)0x0) {\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n              }\n              else {\n                *piVar14 = (int)pcVar23;\n              }\n              piVar3 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              pcVar23 = pcStack_10c;\n              if (iVar18 == 0) {\nLAB_00043d58:\n                piVar19 = piVar3;\n                pcStack_110 = pcVar23;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                if (piVar14 == (int *)0x0) goto LAB_000439f4;\n                piVar21 = (int *)0x0;\n                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);\n                *piVar14 = 0;\n              }\n              else {\n                piVar3 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                pcVar23 = pcStack_10c;\n                if ((iVar18 != 0) ||\n                   (iVar18 = (*pcStack_110)(piVar10), pcVar23 = pcStack_10c, iVar18 == 0))\n                goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                piVar19 = (int *)FUN_00040d14(iVar18);\n                (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n                pcVar23 = pcStack_110;\n                if (((int)piVar19 < 0) ||\n                   (piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108), piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (puVar12 != (undefined4 *)0x0) {\n                  *puVar12 = uStack_108;\n                }\n                if (piVar11 != (int *)0x0) {\n                  iVar4 = (**(code **)(pcStack_118 + -0x7f74))(*(undefined4 *)(iVar4 + 0x30));\n                  *piVar11 = iVar4;\n                }\n              }\n              goto LAB_000439f8;\n            }\n            pcVar23 = *(code **)(pcStack_118 + -0x7b10);\n          }\n          piStack_120 = piVar5;\n          piVar19 = piVar11;\n          piVar21 = (int *)(*pcVar23)(piVar10,piVar11,puVar12,piVar14);\n          (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n        }\nLAB_000439f8:\n        if (iStack_dc == *piVar16) {\n          return piVar21;\n        }\n        pcVar23 = *(code **)(pcStack_118 + -0x7880);\n        pcVar24 = ssh2_userkey_encrypted;\n        (*pcVar23)();\n        piVar20 = *(int **)(pcVar23 + 0x35b70);\n        piStack_150 = piVar5;\n        iStack_15c = *piVar20;\n        if (piVar19 != (int *)0x0) {\n          *piVar19 = 0;\n        }\n        piStack_154 = piVar16;\n        piStack_14c = piVar14;\n        piStack_148 = piVar11;\n        puStack_144 = puVar12;\n        piStack_140 = piVar21;\n        piStack_13c = piVar13;\n        piStack_138 = piVar10;\n        pcStack_134 = pcVar24;\n        iVar4 = f_open();\n        if (iVar4 == 0) {\n          piVar10 = (int *)0x0;\n        }\n        else {\n          iVar18 = FUN_00040db0(iVar4,auStack_184);\n          if ((iVar18 != 0) &&\n             (((iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4214), iVar18 == 0\n               || (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                      (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c),\n                  iVar18 == 0)) && (iVar18 = FUN_00040e74(iVar4), iVar18 != 0)))) {\n            (**(code **)(pcVar23 + 0x35330))(iVar18);\n            iVar18 = FUN_00040db0(iVar4,auStack_184);\n            if ((iVar18 != 0) &&\n               (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4244), iVar18 == 0))\n            {\n              iVar18 = FUN_00040e74(iVar4);\n              if (iVar18 == 0) {\n                (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                piVar10 = (int *)0x0;\n              }\n              else {\n                iVar8 = FUN_00040db0(iVar4,auStack_184);\n                if (((iVar8 == 0) ||\n                    (iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0)) || (iVar8 = FUN_00040e74(iVar4), iVar8 == 0)) {\n                  piVar10 = (int *)0x1;\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n                else {\n                  if (piVar19 == (int *)0x0) {\n                    (**(code **)(pcVar23 + 0x35330))(iVar8);\n                  }\n                  else {\n                    *piVar19 = iVar8;\n                  }\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  iVar4 = (**(code **)(pcVar23 + 0x35ae4))\n                                    (iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4);\n                  piVar10 = (int *)(uint)(iVar4 == 0);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n              }\n              goto LAB_00043f04;\n            }\n          }\n          piVar10 = (int *)0x0;\n          (**(code **)(pcVar23 + 0x35acc))(iVar4);\n        }\nLAB_00043f04:\n        if (iStack_15c != *piVar20) {\n          (**(code **)(pcVar23 + 0x35a30))();\n          return (int *)((iStack_15c + 0x2f) / 0x30);\n        }\n        return piVar10;\n      }\n      iVar8 = (*(code *)piStack_a0[-0x1f66])(pcVar15,(int)piVar3 + iVar18);\n      iVar18 = iVar18 + iVar8;\n      pcVar15 = pcVar15 + 4;\n    }\n    if (*pcVar15 == '\0') {\n      iVar4 = (*(code *)piStack_a0[-0x1de8])(uVar2);\n      if (((iVar4 + 3 < iVar18) && (iVar4 == *piVar3)) &&\n         (iVar4 = (*(code *)piStack_a0[-0x1dfd])(piVar3 + 1,uVar2,iVar4), iVar4 == 0)) {\n        if (piVar10 != (int *)0x0) {\n          iVar4 = (*(code *)piStack_a0[-0x1fdd])(uVar2);\n          *piVar10 = iVar4;\n        }\n        if (piVar20 != (int *)0x0) {\n          *piVar20 = iVar18;\n        }\n        if (piVar13 == (int *)0x0) {\n          (*(code *)piStack_a0[-0x1fe0])(puVar6);\n        }\n        else {\n          *piVar13 = (int)puVar6;\n        }\n        (*(code *)piStack_a0[-0x1fe0])(uVar2);\n        return piVar3;\n      }\n      iVar4 = piStack_a0[-0x1ff2] + 0x441c;\n    }\n    else {\n      iVar4 = piStack_a0[-0x1ff2] + 0x4454;\n    }\n  }\n  (*(code *)piStack_a0[-0x1fe0])(uVar2);\n  (*(code *)piStack_a0[-0x1fe0])(puVar6);\n  (*(code *)piStack_a0[-0x1fe0])(piVar3);\n  __gp_1 = iVar4;\n  return (int *)0x0;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "int *piVar3;" primitive_type (pointer_declarator "*piVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "char cVar9;" primitive_type identifier ;) (declaration "undefined1 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int *piVar10;" primitive_type (pointer_declarator "*piVar10" * identifier) ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (declaration "undefined4 *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "int *piVar13;" primitive_type (pointer_declarator "*piVar13" * identifier) ;) (declaration "int *piVar14;" primitive_type (pointer_declarator "*piVar14" * identifier) ;) (declaration "char *pcVar15;" primitive_type (pointer_declarator "*pcVar15" * identifier) ;) (declaration "int *piVar16;" primitive_type (pointer_declarator "*piVar16" * identifier) ;) (declaration "undefined *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "int *piVar19;" primitive_type (pointer_declarator "*piVar19" * identifier) ;) (declaration "int *piVar20;" primitive_type (pointer_declarator "*piVar20" * identifier) ;) (declaration "int *unaff_s4;" primitive_type (pointer_declarator "*unaff_s4" * identifier) ;) (declaration "int *unaff_s5;" primitive_type (pointer_declarator "*unaff_s5" * identifier) ;) (declaration "int *piVar21;" primitive_type (pointer_declarator "*piVar21" * identifier) ;) (declaration "int *unaff_s6;" primitive_type (pointer_declarator "*unaff_s6" * identifier) ;) (declaration "int *unaff_s7;" primitive_type (pointer_declarator "*unaff_s7" * identifier) ;) (declaration "undefined *puVar22;" type_identifier (pointer_declarator "*puVar22" * identifier) ;) (declaration "char *unaff_s8;" primitive_type (pointer_declarator "*unaff_s8" * identifier) ;) (declaration "code *pcVar23;" type_identifier (pointer_declarator "*pcVar23" * identifier) ;) (declaration "code *pcVar24;" type_identifier (pointer_declarator "*pcVar24" * identifier) ;) (declaration "undefined1 auStack_184 [40];" type_identifier (array_declarator "auStack_184 [40]" identifier [ number_literal ]) ;) (declaration "int iStack_15c;" primitive_type identifier ;) (declaration "int *piStack_154;" primitive_type (pointer_declarator "*piStack_154" * identifier) ;) (declaration "int *piStack_150;" primitive_type (pointer_declarator "*piStack_150" * identifier) ;) (declaration "int *piStack_14c;" primitive_type (pointer_declarator "*piStack_14c" * identifier) ;) (declaration "int *piStack_148;" primitive_type (pointer_declarator "*piStack_148" * identifier) ;) (declaration "undefined4 *puStack_144;" type_identifier (pointer_declarator "*puStack_144" * identifier) ;) (declaration "int *piStack_140;" primitive_type (pointer_declarator "*piStack_140" * identifier) ;) (declaration "int *piStack_13c;" primitive_type (pointer_declarator "*piStack_13c" * identifier) ;) (declaration "int *piStack_138;" primitive_type (pointer_declarator "*piStack_138" * identifier) ;) (declaration "code *pcStack_134;" type_identifier (pointer_declarator "*pcStack_134" * identifier) ;) (declaration "int *piStack_120;" primitive_type (pointer_declarator "*piStack_120" * identifier) ;) (declaration "code *pcStack_118;" type_identifier (pointer_declarator "*pcStack_118" * identifier) ;) (declaration "code *pcStack_110;" type_identifier (pointer_declarator "*pcStack_110" * identifier) ;) (declaration "code *pcStack_10c;" type_identifier (pointer_declarator "*pcStack_10c" * identifier) ;) (declaration "undefined4 uStack_108;" type_identifier identifier ;) (declaration "int aiStack_104 [10];" primitive_type (array_declarator "aiStack_104 [10]" identifier [ number_literal ]) ;) (declaration "int iStack_dc;" primitive_type identifier ;) (declaration "char *pcStack_d8;" primitive_type (pointer_declarator "*pcStack_d8" * identifier) ;) (declaration "int iStack_d4;" primitive_type identifier ;) (declaration "int *piStack_d0;" primitive_type (pointer_declarator "*piStack_d0" * identifier) ;) (declaration "int iStack_cc;" primitive_type identifier ;) (declaration "undefined1 *puStack_c8;" type_identifier (pointer_declarator "*puStack_c8" * identifier) ;) (declaration "undefined4 uStack_c4;" type_identifier identifier ;) (declaration "int *piStack_c0;" primitive_type (pointer_declarator "*piStack_c0" * identifier) ;) (declaration "int *piStack_bc;" primitive_type (pointer_declarator "*piStack_bc" * identifier) ;) (declaration "int *piStack_b8;" primitive_type (pointer_declarator "*piStack_b8" * identifier) ;) (declaration "code *pcStack_b4;" type_identifier (pointer_declarator "*pcStack_b4" * identifier) ;) (declaration "int *piStack_a0;" primitive_type (pointer_declarator "*piStack_a0" * identifier) ;) (declaration "int *piStack_98;" primitive_type (pointer_declarator "*piStack_98" * identifier) ;) (declaration "undefined *puStack_94;" type_identifier (pointer_declarator "*puStack_94" * identifier) ;) (declaration "int *piStack_90;" primitive_type (pointer_declarator "*piStack_90" * identifier) ;) (declaration "undefined4 uStack_8c;" type_identifier identifier ;) (declaration "int *piStack_88;" primitive_type (pointer_declarator "*piStack_88" * identifier) ;) (declaration "int *piStack_84;" primitive_type (pointer_declarator "*piStack_84" * identifier) ;) (declaration "int *piStack_80;" primitive_type (pointer_declarator "*piStack_80" * identifier) ;) (declaration "int *piStack_7c;" primitive_type (pointer_declarator "*piStack_7c" * identifier) ;) (declaration "char *pcStack_78;" primitive_type (pointer_declarator "*pcStack_78" * identifier) ;) (declaration "code *pcStack_74;" type_identifier (pointer_declarator "*pcStack_74" * identifier) ;) (declaration "int local_54;" primitive_type identifier ;) (declaration "int iStack_34;" primitive_type identifier ;) (declaration "char local_30 [4];" primitive_type (array_declarator "local_30 [4]" identifier [ number_literal ]) ;) (declaration "int local_2c;" primitive_type identifier ;) (expression_statement "puVar22 = PTR___stack_chk_guard_00079930;" (assignment_expression "puVar22 = PTR___stack_chk_guard_00079930" identifier = identifier) ;) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_00079930;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_00079930" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_00079930" * (cast_expression "(int *)PTR___stack_chk_guard_00079930" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "piVar10 = param_2;" (assignment_expression "piVar10 = param_2" identifier = identifier) ;) (expression_statement "piVar20 = param_3;" (assignment_expression "piVar20 = param_3" identifier = identifier) ;) (expression_statement "piVar13 = param_4;" (assignment_expression "piVar13 = param_4" identifier = identifier) ;) (expression_statement "uVar2 = (*(code *)PTR_fgetline_00079538)();" (assignment_expression "uVar2 = (*(code *)PTR_fgetline_00079538)()" identifier = (call_expression "(*(code *)PTR_fgetline_00079538)()" (parenthesized_expression "(*(code *)PTR_fgetline_00079538)" ( (pointer_expression "*(code *)PTR_fgetline_00079538" * (cast_expression "(code *)PTR_fgetline_00079538" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "piVar3 = (int *)(*(code *)PTR_chomp_0007953c)(uVar2);" (assignment_expression "piVar3 = (int *)(*(code *)PTR_chomp_0007953c)(uVar2)" identifier = (cast_expression "(int *)(*(code *)PTR_chomp_0007953c)(uVar2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_chomp_0007953c)(uVar2)" (parenthesized_expression "(*(code *)PTR_chomp_0007953c)" ( (pointer_expression "*(code *)PTR_chomp_0007953c" * (cast_expression "(code *)PTR_chomp_0007953c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar2)" ( identifier ))))) ;) (if_statement "if (piVar3 != (int *)0x0) {\n    piVar10 = (int *)(PTR_s_j_000790a8 + 0x43cc);\n    iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar3);\n    if (iVar4 == 0) {\n      (*(code *)PTR_safefree_000790f0)(piVar3);\n      local_54 = 0;\n      puVar17 = PTR_s_j_000790a8 + 0x43ec;\n      piVar3 = (int *)(PTR_s_j_000790a8 + 0x4258);\n      unaff_s4 = (int *)(PTR_s_j_000790a8 + 0x43f0);\n      unaff_s7 = (int *)(PTR_s_j_000790a8 + 0x43f8);\n      while( true ) {\n        uVar2 = (*(code *)PTR_fgetline_00079538)(param_1);\n        piVar5 = (int *)(*(code *)PTR_chomp_0007953c)(uVar2);\n        if (piVar5 == (int *)0x0) break;\n        unaff_s8 = (char *)(*(code *)PTR_strstr_00079944)(piVar5,puVar17);\n        puVar1 = PTR_strcmp_000798a4;\n        if (unaff_s8 == (char *)0x0) {\n          piVar10 = (int *)0x1;\n          unaff_s7 = &iStack_34;\n          piVar19 = (int *)(*(code *)PTR_safemalloc_000790d0)(0x1000);\n          unaff_s8 = local_30;\n          iVar4 = 0;\n          unaff_s4 = (int *)0x0;\n          iVar18 = 0x1000;\n          goto LAB_0004340c;\n        }\n        *unaff_s8 = '\0';\n        piVar10 = piVar3;\n        iVar4 = (*(code *)puVar1)(piVar5);\n        if (iVar4 == 0) {\n          unaff_s5 = (int *)(int)unaff_s8[2];\n          unaff_s6 = (int *)(unaff_s8 + 2);\n          piVar20 = piVar5;\n          if (unaff_s5 == (int *)0x22) {\n            iVar4 = (*(code *)PTR_strlen_000798d0)(unaff_s6);\n            pcVar15 = (char *)((int)unaff_s6 + iVar4 + -1);\n            if (*pcVar15 == '\"') {\n              *pcVar15 = '\0';\n              unaff_s5 = (int *)(int)unaff_s8[3];\n              unaff_s6 = (int *)(unaff_s8 + 3);\n              if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n            }\nLAB_00043310:\n            piVar13 = (int *)&DAT_0000005c;\n            piVar19 = piVar10;\n            piVar11 = piVar5;\n            piVar14 = unaff_s6;\n            do {\n              while ((piVar10 = (int *)((int)piVar14 + 1), unaff_s5 != (int *)&DAT_0000005c ||\n                     (*(char *)((int)piVar14 + 1) == '\0'))) {\n                *(char *)piVar11 = *(char *)piVar14;\n                unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 1);\n                piVar19 = piVar10;\n                piVar20 = (int *)((int)piVar11 + 1);\n                piVar11 = (int *)((int)piVar11 + 1);\n                unaff_s6 = piVar10;\n                piVar14 = piVar10;\n                if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n              }\n              *(char *)piVar11 = *(char *)((int)piVar14 + 1);\n              unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 2);\n              piVar10 = piVar19;\n              piVar20 = (int *)((int)piVar11 + 1);\n              piVar11 = (int *)((int)piVar11 + 1);\n              unaff_s6 = (int *)((int)piVar14 + 2);\n              piVar14 = (int *)((int)piVar14 + 2);\n            } while (unaff_s5 != (int *)0x0);\n          }\n          else if (unaff_s5 != (int *)0x0) goto LAB_00043310;\nLAB_00043364:\n          puVar1 = PTR_safefree_000790f0;\n          *(char *)piVar20 = '\0';\n          (*(code *)puVar1)(local_54);\n          local_54 = (*(code *)PTR_dupstr_000790fc)(piVar5);\n        }\n        else {\n          piVar10 = unaff_s4;\n          iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar5);\n          if (iVar4 != 0) {\n            piVar20 = (int *)0x2;\n            piVar10 = unaff_s7;\n            iVar4 = (*(code *)PTR_strncmp_000797c4)(piVar5);\n            if (iVar4 != 0) {\n              piVar19 = (int *)0x0;\n              puVar17 = PTR_s_j_000790a8 + 0x437c;\n              param_2 = piVar5;\n              goto LAB_00043198;\n            }\n          }\n        }\n        (*(code *)PTR_safefree_000790f0)(piVar5);\n      }\n      piVar19 = (int *)0x0;\n      puVar17 = PTR_s_j_000790a8 + 0x43ac;\n      param_2 = piVar5;\n      goto LAB_00043198;\n    }\n  }" if (parenthesized_expression "(piVar3 != (int *)0x0)" ( (binary_expression "piVar3 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    piVar10 = (int *)(PTR_s_j_000790a8 + 0x43cc);\n    iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar3);\n    if (iVar4 == 0) {\n      (*(code *)PTR_safefree_000790f0)(piVar3);\n      local_54 = 0;\n      puVar17 = PTR_s_j_000790a8 + 0x43ec;\n      piVar3 = (int *)(PTR_s_j_000790a8 + 0x4258);\n      unaff_s4 = (int *)(PTR_s_j_000790a8 + 0x43f0);\n      unaff_s7 = (int *)(PTR_s_j_000790a8 + 0x43f8);\n      while( true ) {\n        uVar2 = (*(code *)PTR_fgetline_00079538)(param_1);\n        piVar5 = (int *)(*(code *)PTR_chomp_0007953c)(uVar2);\n        if (piVar5 == (int *)0x0) break;\n        unaff_s8 = (char *)(*(code *)PTR_strstr_00079944)(piVar5,puVar17);\n        puVar1 = PTR_strcmp_000798a4;\n        if (unaff_s8 == (char *)0x0) {\n          piVar10 = (int *)0x1;\n          unaff_s7 = &iStack_34;\n          piVar19 = (int *)(*(code *)PTR_safemalloc_000790d0)(0x1000);\n          unaff_s8 = local_30;\n          iVar4 = 0;\n          unaff_s4 = (int *)0x0;\n          iVar18 = 0x1000;\n          goto LAB_0004340c;\n        }\n        *unaff_s8 = '\0';\n        piVar10 = piVar3;\n        iVar4 = (*(code *)puVar1)(piVar5);\n        if (iVar4 == 0) {\n          unaff_s5 = (int *)(int)unaff_s8[2];\n          unaff_s6 = (int *)(unaff_s8 + 2);\n          piVar20 = piVar5;\n          if (unaff_s5 == (int *)0x22) {\n            iVar4 = (*(code *)PTR_strlen_000798d0)(unaff_s6);\n            pcVar15 = (char *)((int)unaff_s6 + iVar4 + -1);\n            if (*pcVar15 == '\"') {\n              *pcVar15 = '\0';\n              unaff_s5 = (int *)(int)unaff_s8[3];\n              unaff_s6 = (int *)(unaff_s8 + 3);\n              if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n            }\nLAB_00043310:\n            piVar13 = (int *)&DAT_0000005c;\n            piVar19 = piVar10;\n            piVar11 = piVar5;\n            piVar14 = unaff_s6;\n            do {\n              while ((piVar10 = (int *)((int)piVar14 + 1), unaff_s5 != (int *)&DAT_0000005c ||\n                     (*(char *)((int)piVar14 + 1) == '\0'))) {\n                *(char *)piVar11 = *(char *)piVar14;\n                unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 1);\n                piVar19 = piVar10;\n                piVar20 = (int *)((int)piVar11 + 1);\n                piVar11 = (int *)((int)piVar11 + 1);\n                unaff_s6 = piVar10;\n                piVar14 = piVar10;\n                if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n              }\n              *(char *)piVar11 = *(char *)((int)piVar14 + 1);\n              unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 2);\n              piVar10 = piVar19;\n              piVar20 = (int *)((int)piVar11 + 1);\n              piVar11 = (int *)((int)piVar11 + 1);\n              unaff_s6 = (int *)((int)piVar14 + 2);\n              piVar14 = (int *)((int)piVar14 + 2);\n            } while (unaff_s5 != (int *)0x0);\n          }\n          else if (unaff_s5 != (int *)0x0) goto LAB_00043310;\nLAB_00043364:\n          puVar1 = PTR_safefree_000790f0;\n          *(char *)piVar20 = '\0';\n          (*(code *)puVar1)(local_54);\n          local_54 = (*(code *)PTR_dupstr_000790fc)(piVar5);\n        }\n        else {\n          piVar10 = unaff_s4;\n          iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar5);\n          if (iVar4 != 0) {\n            piVar20 = (int *)0x2;\n            piVar10 = unaff_s7;\n            iVar4 = (*(code *)PTR_strncmp_000797c4)(piVar5);\n            if (iVar4 != 0) {\n              piVar19 = (int *)0x0;\n              puVar17 = PTR_s_j_000790a8 + 0x437c;\n              param_2 = piVar5;\n              goto LAB_00043198;\n            }\n          }\n        }\n        (*(code *)PTR_safefree_000790f0)(piVar5);\n      }\n      piVar19 = (int *)0x0;\n      puVar17 = PTR_s_j_000790a8 + 0x43ac;\n      param_2 = piVar5;\n      goto LAB_00043198;\n    }\n  }" { (expression_statement "piVar10 = (int *)(PTR_s_j_000790a8 + 0x43cc);" (assignment_expression "piVar10 = (int *)(PTR_s_j_000790a8 + 0x43cc)" identifier = (cast_expression "(int *)(PTR_s_j_000790a8 + 0x43cc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_j_000790a8 + 0x43cc)" ( (binary_expression "PTR_s_j_000790a8 + 0x43cc" identifier + number_literal) )))) ;) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar3);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar3)" identifier = (call_expression "(*(code *)PTR_strcmp_000798a4)(piVar3)" (parenthesized_expression "(*(code *)PTR_strcmp_000798a4)" ( (pointer_expression "*(code *)PTR_strcmp_000798a4" * (cast_expression "(code *)PTR_strcmp_000798a4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar3)" ( identifier )))) ;) (if_statement "if (iVar4 == 0) {\n      (*(code *)PTR_safefree_000790f0)(piVar3);\n      local_54 = 0;\n      puVar17 = PTR_s_j_000790a8 + 0x43ec;\n      piVar3 = (int *)(PTR_s_j_000790a8 + 0x4258);\n      unaff_s4 = (int *)(PTR_s_j_000790a8 + 0x43f0);\n      unaff_s7 = (int *)(PTR_s_j_000790a8 + 0x43f8);\n      while( true ) {\n        uVar2 = (*(code *)PTR_fgetline_00079538)(param_1);\n        piVar5 = (int *)(*(code *)PTR_chomp_0007953c)(uVar2);\n        if (piVar5 == (int *)0x0) break;\n        unaff_s8 = (char *)(*(code *)PTR_strstr_00079944)(piVar5,puVar17);\n        puVar1 = PTR_strcmp_000798a4;\n        if (unaff_s8 == (char *)0x0) {\n          piVar10 = (int *)0x1;\n          unaff_s7 = &iStack_34;\n          piVar19 = (int *)(*(code *)PTR_safemalloc_000790d0)(0x1000);\n          unaff_s8 = local_30;\n          iVar4 = 0;\n          unaff_s4 = (int *)0x0;\n          iVar18 = 0x1000;\n          goto LAB_0004340c;\n        }\n        *unaff_s8 = '\0';\n        piVar10 = piVar3;\n        iVar4 = (*(code *)puVar1)(piVar5);\n        if (iVar4 == 0) {\n          unaff_s5 = (int *)(int)unaff_s8[2];\n          unaff_s6 = (int *)(unaff_s8 + 2);\n          piVar20 = piVar5;\n          if (unaff_s5 == (int *)0x22) {\n            iVar4 = (*(code *)PTR_strlen_000798d0)(unaff_s6);\n            pcVar15 = (char *)((int)unaff_s6 + iVar4 + -1);\n            if (*pcVar15 == '\"') {\n              *pcVar15 = '\0';\n              unaff_s5 = (int *)(int)unaff_s8[3];\n              unaff_s6 = (int *)(unaff_s8 + 3);\n              if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n            }\nLAB_00043310:\n            piVar13 = (int *)&DAT_0000005c;\n            piVar19 = piVar10;\n            piVar11 = piVar5;\n            piVar14 = unaff_s6;\n            do {\n              while ((piVar10 = (int *)((int)piVar14 + 1), unaff_s5 != (int *)&DAT_0000005c ||\n                     (*(char *)((int)piVar14 + 1) == '\0'))) {\n                *(char *)piVar11 = *(char *)piVar14;\n                unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 1);\n                piVar19 = piVar10;\n                piVar20 = (int *)((int)piVar11 + 1);\n                piVar11 = (int *)((int)piVar11 + 1);\n                unaff_s6 = piVar10;\n                piVar14 = piVar10;\n                if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n              }\n              *(char *)piVar11 = *(char *)((int)piVar14 + 1);\n              unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 2);\n              piVar10 = piVar19;\n              piVar20 = (int *)((int)piVar11 + 1);\n              piVar11 = (int *)((int)piVar11 + 1);\n              unaff_s6 = (int *)((int)piVar14 + 2);\n              piVar14 = (int *)((int)piVar14 + 2);\n            } while (unaff_s5 != (int *)0x0);\n          }\n          else if (unaff_s5 != (int *)0x0) goto LAB_00043310;\nLAB_00043364:\n          puVar1 = PTR_safefree_000790f0;\n          *(char *)piVar20 = '\0';\n          (*(code *)puVar1)(local_54);\n          local_54 = (*(code *)PTR_dupstr_000790fc)(piVar5);\n        }\n        else {\n          piVar10 = unaff_s4;\n          iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar5);\n          if (iVar4 != 0) {\n            piVar20 = (int *)0x2;\n            piVar10 = unaff_s7;\n            iVar4 = (*(code *)PTR_strncmp_000797c4)(piVar5);\n            if (iVar4 != 0) {\n              piVar19 = (int *)0x0;\n              puVar17 = PTR_s_j_000790a8 + 0x437c;\n              param_2 = piVar5;\n              goto LAB_00043198;\n            }\n          }\n        }\n        (*(code *)PTR_safefree_000790f0)(piVar5);\n      }\n      piVar19 = (int *)0x0;\n      puVar17 = PTR_s_j_000790a8 + 0x43ac;\n      param_2 = piVar5;\n      goto LAB_00043198;\n    }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n      (*(code *)PTR_safefree_000790f0)(piVar3);\n      local_54 = 0;\n      puVar17 = PTR_s_j_000790a8 + 0x43ec;\n      piVar3 = (int *)(PTR_s_j_000790a8 + 0x4258);\n      unaff_s4 = (int *)(PTR_s_j_000790a8 + 0x43f0);\n      unaff_s7 = (int *)(PTR_s_j_000790a8 + 0x43f8);\n      while( true ) {\n        uVar2 = (*(code *)PTR_fgetline_00079538)(param_1);\n        piVar5 = (int *)(*(code *)PTR_chomp_0007953c)(uVar2);\n        if (piVar5 == (int *)0x0) break;\n        unaff_s8 = (char *)(*(code *)PTR_strstr_00079944)(piVar5,puVar17);\n        puVar1 = PTR_strcmp_000798a4;\n        if (unaff_s8 == (char *)0x0) {\n          piVar10 = (int *)0x1;\n          unaff_s7 = &iStack_34;\n          piVar19 = (int *)(*(code *)PTR_safemalloc_000790d0)(0x1000);\n          unaff_s8 = local_30;\n          iVar4 = 0;\n          unaff_s4 = (int *)0x0;\n          iVar18 = 0x1000;\n          goto LAB_0004340c;\n        }\n        *unaff_s8 = '\0';\n        piVar10 = piVar3;\n        iVar4 = (*(code *)puVar1)(piVar5);\n        if (iVar4 == 0) {\n          unaff_s5 = (int *)(int)unaff_s8[2];\n          unaff_s6 = (int *)(unaff_s8 + 2);\n          piVar20 = piVar5;\n          if (unaff_s5 == (int *)0x22) {\n            iVar4 = (*(code *)PTR_strlen_000798d0)(unaff_s6);\n            pcVar15 = (char *)((int)unaff_s6 + iVar4 + -1);\n            if (*pcVar15 == '\"') {\n              *pcVar15 = '\0';\n              unaff_s5 = (int *)(int)unaff_s8[3];\n              unaff_s6 = (int *)(unaff_s8 + 3);\n              if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n            }\nLAB_00043310:\n            piVar13 = (int *)&DAT_0000005c;\n            piVar19 = piVar10;\n            piVar11 = piVar5;\n            piVar14 = unaff_s6;\n            do {\n              while ((piVar10 = (int *)((int)piVar14 + 1), unaff_s5 != (int *)&DAT_0000005c ||\n                     (*(char *)((int)piVar14 + 1) == '\0'))) {\n                *(char *)piVar11 = *(char *)piVar14;\n                unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 1);\n                piVar19 = piVar10;\n                piVar20 = (int *)((int)piVar11 + 1);\n                piVar11 = (int *)((int)piVar11 + 1);\n                unaff_s6 = piVar10;\n                piVar14 = piVar10;\n                if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n              }\n              *(char *)piVar11 = *(char *)((int)piVar14 + 1);\n              unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 2);\n              piVar10 = piVar19;\n              piVar20 = (int *)((int)piVar11 + 1);\n              piVar11 = (int *)((int)piVar11 + 1);\n              unaff_s6 = (int *)((int)piVar14 + 2);\n              piVar14 = (int *)((int)piVar14 + 2);\n            } while (unaff_s5 != (int *)0x0);\n          }\n          else if (unaff_s5 != (int *)0x0) goto LAB_00043310;\nLAB_00043364:\n          puVar1 = PTR_safefree_000790f0;\n          *(char *)piVar20 = '\0';\n          (*(code *)puVar1)(local_54);\n          local_54 = (*(code *)PTR_dupstr_000790fc)(piVar5);\n        }\n        else {\n          piVar10 = unaff_s4;\n          iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar5);\n          if (iVar4 != 0) {\n            piVar20 = (int *)0x2;\n            piVar10 = unaff_s7;\n            iVar4 = (*(code *)PTR_strncmp_000797c4)(piVar5);\n            if (iVar4 != 0) {\n              piVar19 = (int *)0x0;\n              puVar17 = PTR_s_j_000790a8 + 0x437c;\n              param_2 = piVar5;\n              goto LAB_00043198;\n            }\n          }\n        }\n        (*(code *)PTR_safefree_000790f0)(piVar5);\n      }\n      piVar19 = (int *)0x0;\n      puVar17 = PTR_s_j_000790a8 + 0x43ac;\n      param_2 = piVar5;\n      goto LAB_00043198;\n    }" { (expression_statement "(*(code *)PTR_safefree_000790f0)(piVar3);" (call_expression "(*(code *)PTR_safefree_000790f0)(piVar3)" (parenthesized_expression "(*(code *)PTR_safefree_000790f0)" ( (pointer_expression "*(code *)PTR_safefree_000790f0" * (cast_expression "(code *)PTR_safefree_000790f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar3)" ( identifier ))) ;) (expression_statement "local_54 = 0;" (assignment_expression "local_54 = 0" identifier = number_literal) ;) (expression_statement "puVar17 = PTR_s_j_000790a8 + 0x43ec;" (assignment_expression "puVar17 = PTR_s_j_000790a8 + 0x43ec" identifier = (binary_expression "PTR_s_j_000790a8 + 0x43ec" identifier + number_literal)) ;) (expression_statement "piVar3 = (int *)(PTR_s_j_000790a8 + 0x4258);" (assignment_expression "piVar3 = (int *)(PTR_s_j_000790a8 + 0x4258)" identifier = (cast_expression "(int *)(PTR_s_j_000790a8 + 0x4258)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_j_000790a8 + 0x4258)" ( (binary_expression "PTR_s_j_000790a8 + 0x4258" identifier + number_literal) )))) ;) (expression_statement "unaff_s4 = (int *)(PTR_s_j_000790a8 + 0x43f0);" (assignment_expression "unaff_s4 = (int *)(PTR_s_j_000790a8 + 0x43f0)" identifier = (cast_expression "(int *)(PTR_s_j_000790a8 + 0x43f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_j_000790a8 + 0x43f0)" ( (binary_expression "PTR_s_j_000790a8 + 0x43f0" identifier + number_literal) )))) ;) (expression_statement "unaff_s7 = (int *)(PTR_s_j_000790a8 + 0x43f8);" (assignment_expression "unaff_s7 = (int *)(PTR_s_j_000790a8 + 0x43f8)" identifier = (cast_expression "(int *)(PTR_s_j_000790a8 + 0x43f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_j_000790a8 + 0x43f8)" ( (binary_expression "PTR_s_j_000790a8 + 0x43f8" identifier + number_literal) )))) ;) (while_statement "while( true ) {\n        uVar2 = (*(code *)PTR_fgetline_00079538)(param_1);\n        piVar5 = (int *)(*(code *)PTR_chomp_0007953c)(uVar2);\n        if (piVar5 == (int *)0x0) break;\n        unaff_s8 = (char *)(*(code *)PTR_strstr_00079944)(piVar5,puVar17);\n        puVar1 = PTR_strcmp_000798a4;\n        if (unaff_s8 == (char *)0x0) {\n          piVar10 = (int *)0x1;\n          unaff_s7 = &iStack_34;\n          piVar19 = (int *)(*(code *)PTR_safemalloc_000790d0)(0x1000);\n          unaff_s8 = local_30;\n          iVar4 = 0;\n          unaff_s4 = (int *)0x0;\n          iVar18 = 0x1000;\n          goto LAB_0004340c;\n        }\n        *unaff_s8 = '\0';\n        piVar10 = piVar3;\n        iVar4 = (*(code *)puVar1)(piVar5);\n        if (iVar4 == 0) {\n          unaff_s5 = (int *)(int)unaff_s8[2];\n          unaff_s6 = (int *)(unaff_s8 + 2);\n          piVar20 = piVar5;\n          if (unaff_s5 == (int *)0x22) {\n            iVar4 = (*(code *)PTR_strlen_000798d0)(unaff_s6);\n            pcVar15 = (char *)((int)unaff_s6 + iVar4 + -1);\n            if (*pcVar15 == '\"') {\n              *pcVar15 = '\0';\n              unaff_s5 = (int *)(int)unaff_s8[3];\n              unaff_s6 = (int *)(unaff_s8 + 3);\n              if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n            }\nLAB_00043310:\n            piVar13 = (int *)&DAT_0000005c;\n            piVar19 = piVar10;\n            piVar11 = piVar5;\n            piVar14 = unaff_s6;\n            do {\n              while ((piVar10 = (int *)((int)piVar14 + 1), unaff_s5 != (int *)&DAT_0000005c ||\n                     (*(char *)((int)piVar14 + 1) == '\0'))) {\n                *(char *)piVar11 = *(char *)piVar14;\n                unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 1);\n                piVar19 = piVar10;\n                piVar20 = (int *)((int)piVar11 + 1);\n                piVar11 = (int *)((int)piVar11 + 1);\n                unaff_s6 = piVar10;\n                piVar14 = piVar10;\n                if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n              }\n              *(char *)piVar11 = *(char *)((int)piVar14 + 1);\n              unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 2);\n              piVar10 = piVar19;\n              piVar20 = (int *)((int)piVar11 + 1);\n              piVar11 = (int *)((int)piVar11 + 1);\n              unaff_s6 = (int *)((int)piVar14 + 2);\n              piVar14 = (int *)((int)piVar14 + 2);\n            } while (unaff_s5 != (int *)0x0);\n          }\n          else if (unaff_s5 != (int *)0x0) goto LAB_00043310;\nLAB_00043364:\n          puVar1 = PTR_safefree_000790f0;\n          *(char *)piVar20 = '\0';\n          (*(code *)puVar1)(local_54);\n          local_54 = (*(code *)PTR_dupstr_000790fc)(piVar5);\n        }\n        else {\n          piVar10 = unaff_s4;\n          iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar5);\n          if (iVar4 != 0) {\n            piVar20 = (int *)0x2;\n            piVar10 = unaff_s7;\n            iVar4 = (*(code *)PTR_strncmp_000797c4)(piVar5);\n            if (iVar4 != 0) {\n              piVar19 = (int *)0x0;\n              puVar17 = PTR_s_j_000790a8 + 0x437c;\n              param_2 = piVar5;\n              goto LAB_00043198;\n            }\n          }\n        }\n        (*(code *)PTR_safefree_000790f0)(piVar5);\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        uVar2 = (*(code *)PTR_fgetline_00079538)(param_1);\n        piVar5 = (int *)(*(code *)PTR_chomp_0007953c)(uVar2);\n        if (piVar5 == (int *)0x0) break;\n        unaff_s8 = (char *)(*(code *)PTR_strstr_00079944)(piVar5,puVar17);\n        puVar1 = PTR_strcmp_000798a4;\n        if (unaff_s8 == (char *)0x0) {\n          piVar10 = (int *)0x1;\n          unaff_s7 = &iStack_34;\n          piVar19 = (int *)(*(code *)PTR_safemalloc_000790d0)(0x1000);\n          unaff_s8 = local_30;\n          iVar4 = 0;\n          unaff_s4 = (int *)0x0;\n          iVar18 = 0x1000;\n          goto LAB_0004340c;\n        }\n        *unaff_s8 = '\0';\n        piVar10 = piVar3;\n        iVar4 = (*(code *)puVar1)(piVar5);\n        if (iVar4 == 0) {\n          unaff_s5 = (int *)(int)unaff_s8[2];\n          unaff_s6 = (int *)(unaff_s8 + 2);\n          piVar20 = piVar5;\n          if (unaff_s5 == (int *)0x22) {\n            iVar4 = (*(code *)PTR_strlen_000798d0)(unaff_s6);\n            pcVar15 = (char *)((int)unaff_s6 + iVar4 + -1);\n            if (*pcVar15 == '\"') {\n              *pcVar15 = '\0';\n              unaff_s5 = (int *)(int)unaff_s8[3];\n              unaff_s6 = (int *)(unaff_s8 + 3);\n              if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n            }\nLAB_00043310:\n            piVar13 = (int *)&DAT_0000005c;\n            piVar19 = piVar10;\n            piVar11 = piVar5;\n            piVar14 = unaff_s6;\n            do {\n              while ((piVar10 = (int *)((int)piVar14 + 1), unaff_s5 != (int *)&DAT_0000005c ||\n                     (*(char *)((int)piVar14 + 1) == '\0'))) {\n                *(char *)piVar11 = *(char *)piVar14;\n                unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 1);\n                piVar19 = piVar10;\n                piVar20 = (int *)((int)piVar11 + 1);\n                piVar11 = (int *)((int)piVar11 + 1);\n                unaff_s6 = piVar10;\n                piVar14 = piVar10;\n                if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n              }\n              *(char *)piVar11 = *(char *)((int)piVar14 + 1);\n              unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 2);\n              piVar10 = piVar19;\n              piVar20 = (int *)((int)piVar11 + 1);\n              piVar11 = (int *)((int)piVar11 + 1);\n              unaff_s6 = (int *)((int)piVar14 + 2);\n              piVar14 = (int *)((int)piVar14 + 2);\n            } while (unaff_s5 != (int *)0x0);\n          }\n          else if (unaff_s5 != (int *)0x0) goto LAB_00043310;\nLAB_00043364:\n          puVar1 = PTR_safefree_000790f0;\n          *(char *)piVar20 = '\0';\n          (*(code *)puVar1)(local_54);\n          local_54 = (*(code *)PTR_dupstr_000790fc)(piVar5);\n        }\n        else {\n          piVar10 = unaff_s4;\n          iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar5);\n          if (iVar4 != 0) {\n            piVar20 = (int *)0x2;\n            piVar10 = unaff_s7;\n            iVar4 = (*(code *)PTR_strncmp_000797c4)(piVar5);\n            if (iVar4 != 0) {\n              piVar19 = (int *)0x0;\n              puVar17 = PTR_s_j_000790a8 + 0x437c;\n              param_2 = piVar5;\n              goto LAB_00043198;\n            }\n          }\n        }\n        (*(code *)PTR_safefree_000790f0)(piVar5);\n      }" { (expression_statement "uVar2 = (*(code *)PTR_fgetline_00079538)(param_1);" (assignment_expression "uVar2 = (*(code *)PTR_fgetline_00079538)(param_1)" identifier = (call_expression "(*(code *)PTR_fgetline_00079538)(param_1)" (parenthesized_expression "(*(code *)PTR_fgetline_00079538)" ( (pointer_expression "*(code *)PTR_fgetline_00079538" * (cast_expression "(code *)PTR_fgetline_00079538" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "piVar5 = (int *)(*(code *)PTR_chomp_0007953c)(uVar2);" (assignment_expression "piVar5 = (int *)(*(code *)PTR_chomp_0007953c)(uVar2)" identifier = (cast_expression "(int *)(*(code *)PTR_chomp_0007953c)(uVar2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_chomp_0007953c)(uVar2)" (parenthesized_expression "(*(code *)PTR_chomp_0007953c)" ( (pointer_expression "*(code *)PTR_chomp_0007953c" * (cast_expression "(code *)PTR_chomp_0007953c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar2)" ( identifier ))))) ;) (if_statement "if (piVar5 == (int *)0x0) break;" if (parenthesized_expression "(piVar5 == (int *)0x0)" ( (binary_expression "piVar5 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "unaff_s8 = (char *)(*(code *)PTR_strstr_00079944)(piVar5,puVar17);" (assignment_expression "unaff_s8 = (char *)(*(code *)PTR_strstr_00079944)(piVar5,puVar17)" identifier = (cast_expression "(char *)(*(code *)PTR_strstr_00079944)(piVar5,puVar17)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_strstr_00079944)(piVar5,puVar17)" (parenthesized_expression "(*(code *)PTR_strstr_00079944)" ( (pointer_expression "*(code *)PTR_strstr_00079944" * (cast_expression "(code *)PTR_strstr_00079944" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar5,puVar17)" ( identifier , identifier ))))) ;) (expression_statement "puVar1 = PTR_strcmp_000798a4;" (assignment_expression "puVar1 = PTR_strcmp_000798a4" identifier = identifier) ;) (if_statement "if (unaff_s8 == (char *)0x0) {\n          piVar10 = (int *)0x1;\n          unaff_s7 = &iStack_34;\n          piVar19 = (int *)(*(code *)PTR_safemalloc_000790d0)(0x1000);\n          unaff_s8 = local_30;\n          iVar4 = 0;\n          unaff_s4 = (int *)0x0;\n          iVar18 = 0x1000;\n          goto LAB_0004340c;\n        }" if (parenthesized_expression "(unaff_s8 == (char *)0x0)" ( (binary_expression "unaff_s8 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          piVar10 = (int *)0x1;\n          unaff_s7 = &iStack_34;\n          piVar19 = (int *)(*(code *)PTR_safemalloc_000790d0)(0x1000);\n          unaff_s8 = local_30;\n          iVar4 = 0;\n          unaff_s4 = (int *)0x0;\n          iVar18 = 0x1000;\n          goto LAB_0004340c;\n        }" { (expression_statement "piVar10 = (int *)0x1;" (assignment_expression "piVar10 = (int *)0x1" identifier = (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "unaff_s7 = &iStack_34;" (assignment_expression "unaff_s7 = &iStack_34" identifier = (pointer_expression "&iStack_34" & identifier)) ;) (expression_statement "piVar19 = (int *)(*(code *)PTR_safemalloc_000790d0)(0x1000);" (assignment_expression "piVar19 = (int *)(*(code *)PTR_safemalloc_000790d0)(0x1000)" identifier = (cast_expression "(int *)(*(code *)PTR_safemalloc_000790d0)(0x1000)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_safemalloc_000790d0)(0x1000)" (parenthesized_expression "(*(code *)PTR_safemalloc_000790d0)" ( (pointer_expression "*(code *)PTR_safemalloc_000790d0" * (cast_expression "(code *)PTR_safemalloc_000790d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x1000)" ( number_literal ))))) ;) (expression_statement "unaff_s8 = local_30;" (assignment_expression "unaff_s8 = local_30" identifier = identifier) ;) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (expression_statement "unaff_s4 = (int *)0x0;" (assignment_expression "unaff_s4 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar18 = 0x1000;" (assignment_expression "iVar18 = 0x1000" identifier = number_literal) ;) (goto_statement "goto LAB_0004340c;" goto statement_identifier ;) })) (expression_statement "*unaff_s8 = '\0';" (assignment_expression "*unaff_s8 = '\0'" (pointer_expression "*unaff_s8" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "piVar10 = piVar3;" (assignment_expression "piVar10 = piVar3" identifier = identifier) ;) (expression_statement "iVar4 = (*(code *)puVar1)(piVar5);" (assignment_expression "iVar4 = (*(code *)puVar1)(piVar5)" identifier = (call_expression "(*(code *)puVar1)(piVar5)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar5)" ( identifier )))) ;) (if_statement "if (iVar4 == 0) {\n          unaff_s5 = (int *)(int)unaff_s8[2];\n          unaff_s6 = (int *)(unaff_s8 + 2);\n          piVar20 = piVar5;\n          if (unaff_s5 == (int *)0x22) {\n            iVar4 = (*(code *)PTR_strlen_000798d0)(unaff_s6);\n            pcVar15 = (char *)((int)unaff_s6 + iVar4 + -1);\n            if (*pcVar15 == '\"') {\n              *pcVar15 = '\0';\n              unaff_s5 = (int *)(int)unaff_s8[3];\n              unaff_s6 = (int *)(unaff_s8 + 3);\n              if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n            }\nLAB_00043310:\n            piVar13 = (int *)&DAT_0000005c;\n            piVar19 = piVar10;\n            piVar11 = piVar5;\n            piVar14 = unaff_s6;\n            do {\n              while ((piVar10 = (int *)((int)piVar14 + 1), unaff_s5 != (int *)&DAT_0000005c ||\n                     (*(char *)((int)piVar14 + 1) == '\0'))) {\n                *(char *)piVar11 = *(char *)piVar14;\n                unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 1);\n                piVar19 = piVar10;\n                piVar20 = (int *)((int)piVar11 + 1);\n                piVar11 = (int *)((int)piVar11 + 1);\n                unaff_s6 = piVar10;\n                piVar14 = piVar10;\n                if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n              }\n              *(char *)piVar11 = *(char *)((int)piVar14 + 1);\n              unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 2);\n              piVar10 = piVar19;\n              piVar20 = (int *)((int)piVar11 + 1);\n              piVar11 = (int *)((int)piVar11 + 1);\n              unaff_s6 = (int *)((int)piVar14 + 2);\n              piVar14 = (int *)((int)piVar14 + 2);\n            } while (unaff_s5 != (int *)0x0);\n          }\n          else if (unaff_s5 != (int *)0x0) goto LAB_00043310;\nLAB_00043364:\n          puVar1 = PTR_safefree_000790f0;\n          *(char *)piVar20 = '\0';\n          (*(code *)puVar1)(local_54);\n          local_54 = (*(code *)PTR_dupstr_000790fc)(piVar5);\n        }\n        else {\n          piVar10 = unaff_s4;\n          iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar5);\n          if (iVar4 != 0) {\n            piVar20 = (int *)0x2;\n            piVar10 = unaff_s7;\n            iVar4 = (*(code *)PTR_strncmp_000797c4)(piVar5);\n            if (iVar4 != 0) {\n              piVar19 = (int *)0x0;\n              puVar17 = PTR_s_j_000790a8 + 0x437c;\n              param_2 = piVar5;\n              goto LAB_00043198;\n            }\n          }\n        }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n          unaff_s5 = (int *)(int)unaff_s8[2];\n          unaff_s6 = (int *)(unaff_s8 + 2);\n          piVar20 = piVar5;\n          if (unaff_s5 == (int *)0x22) {\n            iVar4 = (*(code *)PTR_strlen_000798d0)(unaff_s6);\n            pcVar15 = (char *)((int)unaff_s6 + iVar4 + -1);\n            if (*pcVar15 == '\"') {\n              *pcVar15 = '\0';\n              unaff_s5 = (int *)(int)unaff_s8[3];\n              unaff_s6 = (int *)(unaff_s8 + 3);\n              if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n            }\nLAB_00043310:\n            piVar13 = (int *)&DAT_0000005c;\n            piVar19 = piVar10;\n            piVar11 = piVar5;\n            piVar14 = unaff_s6;\n            do {\n              while ((piVar10 = (int *)((int)piVar14 + 1), unaff_s5 != (int *)&DAT_0000005c ||\n                     (*(char *)((int)piVar14 + 1) == '\0'))) {\n                *(char *)piVar11 = *(char *)piVar14;\n                unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 1);\n                piVar19 = piVar10;\n                piVar20 = (int *)((int)piVar11 + 1);\n                piVar11 = (int *)((int)piVar11 + 1);\n                unaff_s6 = piVar10;\n                piVar14 = piVar10;\n                if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n              }\n              *(char *)piVar11 = *(char *)((int)piVar14 + 1);\n              unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 2);\n              piVar10 = piVar19;\n              piVar20 = (int *)((int)piVar11 + 1);\n              piVar11 = (int *)((int)piVar11 + 1);\n              unaff_s6 = (int *)((int)piVar14 + 2);\n              piVar14 = (int *)((int)piVar14 + 2);\n            } while (unaff_s5 != (int *)0x0);\n          }\n          else if (unaff_s5 != (int *)0x0) goto LAB_00043310;\nLAB_00043364:\n          puVar1 = PTR_safefree_000790f0;\n          *(char *)piVar20 = '\0';\n          (*(code *)puVar1)(local_54);\n          local_54 = (*(code *)PTR_dupstr_000790fc)(piVar5);\n        }" { (expression_statement "unaff_s5 = (int *)(int)unaff_s8[2];" (assignment_expression "unaff_s5 = (int *)(int)unaff_s8[2]" identifier = (cast_expression "(int *)(int)unaff_s8[2]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (cast_expression "(int)unaff_s8[2]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "unaff_s8[2]" identifier [ number_literal ])))) ;) (expression_statement "unaff_s6 = (int *)(unaff_s8 + 2);" (assignment_expression "unaff_s6 = (int *)(unaff_s8 + 2)" identifier = (cast_expression "(int *)(unaff_s8 + 2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s8 + 2)" ( (binary_expression "unaff_s8 + 2" identifier + number_literal) )))) ;) (expression_statement "piVar20 = piVar5;" (assignment_expression "piVar20 = piVar5" identifier = identifier) ;) (if_statement "if (unaff_s5 == (int *)0x22) {\n            iVar4 = (*(code *)PTR_strlen_000798d0)(unaff_s6);\n            pcVar15 = (char *)((int)unaff_s6 + iVar4 + -1);\n            if (*pcVar15 == '\"') {\n              *pcVar15 = '\0';\n              unaff_s5 = (int *)(int)unaff_s8[3];\n              unaff_s6 = (int *)(unaff_s8 + 3);\n              if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n            }\nLAB_00043310:\n            piVar13 = (int *)&DAT_0000005c;\n            piVar19 = piVar10;\n            piVar11 = piVar5;\n            piVar14 = unaff_s6;\n            do {\n              while ((piVar10 = (int *)((int)piVar14 + 1), unaff_s5 != (int *)&DAT_0000005c ||\n                     (*(char *)((int)piVar14 + 1) == '\0'))) {\n                *(char *)piVar11 = *(char *)piVar14;\n                unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 1);\n                piVar19 = piVar10;\n                piVar20 = (int *)((int)piVar11 + 1);\n                piVar11 = (int *)((int)piVar11 + 1);\n                unaff_s6 = piVar10;\n                piVar14 = piVar10;\n                if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n              }\n              *(char *)piVar11 = *(char *)((int)piVar14 + 1);\n              unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 2);\n              piVar10 = piVar19;\n              piVar20 = (int *)((int)piVar11 + 1);\n              piVar11 = (int *)((int)piVar11 + 1);\n              unaff_s6 = (int *)((int)piVar14 + 2);\n              piVar14 = (int *)((int)piVar14 + 2);\n            } while (unaff_s5 != (int *)0x0);\n          }\n          else if (unaff_s5 != (int *)0x0) goto LAB_00043310;" if (parenthesized_expression "(unaff_s5 == (int *)0x22)" ( (binary_expression "unaff_s5 == (int *)0x22" identifier == (cast_expression "(int *)0x22" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            iVar4 = (*(code *)PTR_strlen_000798d0)(unaff_s6);\n            pcVar15 = (char *)((int)unaff_s6 + iVar4 + -1);\n            if (*pcVar15 == '\"') {\n              *pcVar15 = '\0';\n              unaff_s5 = (int *)(int)unaff_s8[3];\n              unaff_s6 = (int *)(unaff_s8 + 3);\n              if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n            }\nLAB_00043310:\n            piVar13 = (int *)&DAT_0000005c;\n            piVar19 = piVar10;\n            piVar11 = piVar5;\n            piVar14 = unaff_s6;\n            do {\n              while ((piVar10 = (int *)((int)piVar14 + 1), unaff_s5 != (int *)&DAT_0000005c ||\n                     (*(char *)((int)piVar14 + 1) == '\0'))) {\n                *(char *)piVar11 = *(char *)piVar14;\n                unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 1);\n                piVar19 = piVar10;\n                piVar20 = (int *)((int)piVar11 + 1);\n                piVar11 = (int *)((int)piVar11 + 1);\n                unaff_s6 = piVar10;\n                piVar14 = piVar10;\n                if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n              }\n              *(char *)piVar11 = *(char *)((int)piVar14 + 1);\n              unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 2);\n              piVar10 = piVar19;\n              piVar20 = (int *)((int)piVar11 + 1);\n              piVar11 = (int *)((int)piVar11 + 1);\n              unaff_s6 = (int *)((int)piVar14 + 2);\n              piVar14 = (int *)((int)piVar14 + 2);\n            } while (unaff_s5 != (int *)0x0);\n          }" { (expression_statement "iVar4 = (*(code *)PTR_strlen_000798d0)(unaff_s6);" (assignment_expression "iVar4 = (*(code *)PTR_strlen_000798d0)(unaff_s6)" identifier = (call_expression "(*(code *)PTR_strlen_000798d0)(unaff_s6)" (parenthesized_expression "(*(code *)PTR_strlen_000798d0)" ( (pointer_expression "*(code *)PTR_strlen_000798d0" * (cast_expression "(code *)PTR_strlen_000798d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s6)" ( identifier )))) ;) (expression_statement "pcVar15 = (char *)((int)unaff_s6 + iVar4 + -1);" (assignment_expression "pcVar15 = (char *)((int)unaff_s6 + iVar4 + -1)" identifier = (cast_expression "(char *)((int)unaff_s6 + iVar4 + -1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s6 + iVar4 + -1)" ( (binary_expression "(int)unaff_s6 + iVar4 + -1" (binary_expression "(int)unaff_s6 + iVar4" (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) ;) (if_statement "if (*pcVar15 == '\"') {\n              *pcVar15 = '\0';\n              unaff_s5 = (int *)(int)unaff_s8[3];\n              unaff_s6 = (int *)(unaff_s8 + 3);\n              if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n            }" if (parenthesized_expression "(*pcVar15 == '\"')" ( (binary_expression "*pcVar15 == '\"'" (pointer_expression "*pcVar15" * identifier) == (char_literal "'\"'" ' escape_sequence ')) )) (compound_statement "{\n              *pcVar15 = '\0';\n              unaff_s5 = (int *)(int)unaff_s8[3];\n              unaff_s6 = (int *)(unaff_s8 + 3);\n              if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n            }" { (expression_statement "*pcVar15 = '\0';" (assignment_expression "*pcVar15 = '\0'" (pointer_expression "*pcVar15" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "unaff_s5 = (int *)(int)unaff_s8[3];" (assignment_expression "unaff_s5 = (int *)(int)unaff_s8[3]" identifier = (cast_expression "(int *)(int)unaff_s8[3]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (cast_expression "(int)unaff_s8[3]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "unaff_s8[3]" identifier [ number_literal ])))) ;) (expression_statement "unaff_s6 = (int *)(unaff_s8 + 3);" (assignment_expression "unaff_s6 = (int *)(unaff_s8 + 3)" identifier = (cast_expression "(int *)(unaff_s8 + 3)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s8 + 3)" ( (binary_expression "unaff_s8 + 3" identifier + number_literal) )))) ;) (if_statement "if (unaff_s5 == (int *)0x0) goto LAB_00043364;" if (parenthesized_expression "(unaff_s5 == (int *)0x0)" ( (binary_expression "unaff_s5 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00043364;" goto statement_identifier ;)) })) (labeled_statement "LAB_00043310:\n            piVar13 = (int *)&DAT_0000005c;" statement_identifier : (expression_statement "piVar13 = (int *)&DAT_0000005c;" (assignment_expression "piVar13 = (int *)&DAT_0000005c" identifier = (cast_expression "(int *)&DAT_0000005c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_0000005c" & identifier))) ;)) (expression_statement "piVar19 = piVar10;" (assignment_expression "piVar19 = piVar10" identifier = identifier) ;) (expression_statement "piVar11 = piVar5;" (assignment_expression "piVar11 = piVar5" identifier = identifier) ;) (expression_statement "piVar14 = unaff_s6;" (assignment_expression "piVar14 = unaff_s6" identifier = identifier) ;) (do_statement "do {\n              while ((piVar10 = (int *)((int)piVar14 + 1), unaff_s5 != (int *)&DAT_0000005c ||\n                     (*(char *)((int)piVar14 + 1) == '\0'))) {\n                *(char *)piVar11 = *(char *)piVar14;\n                unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 1);\n                piVar19 = piVar10;\n                piVar20 = (int *)((int)piVar11 + 1);\n                piVar11 = (int *)((int)piVar11 + 1);\n                unaff_s6 = piVar10;\n                piVar14 = piVar10;\n                if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n              }\n              *(char *)piVar11 = *(char *)((int)piVar14 + 1);\n              unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 2);\n              piVar10 = piVar19;\n              piVar20 = (int *)((int)piVar11 + 1);\n              piVar11 = (int *)((int)piVar11 + 1);\n              unaff_s6 = (int *)((int)piVar14 + 2);\n              piVar14 = (int *)((int)piVar14 + 2);\n            } while (unaff_s5 != (int *)0x0);" do (compound_statement "{\n              while ((piVar10 = (int *)((int)piVar14 + 1), unaff_s5 != (int *)&DAT_0000005c ||\n                     (*(char *)((int)piVar14 + 1) == '\0'))) {\n                *(char *)piVar11 = *(char *)piVar14;\n                unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 1);\n                piVar19 = piVar10;\n                piVar20 = (int *)((int)piVar11 + 1);\n                piVar11 = (int *)((int)piVar11 + 1);\n                unaff_s6 = piVar10;\n                piVar14 = piVar10;\n                if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n              }\n              *(char *)piVar11 = *(char *)((int)piVar14 + 1);\n              unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 2);\n              piVar10 = piVar19;\n              piVar20 = (int *)((int)piVar11 + 1);\n              piVar11 = (int *)((int)piVar11 + 1);\n              unaff_s6 = (int *)((int)piVar14 + 2);\n              piVar14 = (int *)((int)piVar14 + 2);\n            }" { (while_statement "while ((piVar10 = (int *)((int)piVar14 + 1), unaff_s5 != (int *)&DAT_0000005c ||\n                     (*(char *)((int)piVar14 + 1) == '\0'))) {\n                *(char *)piVar11 = *(char *)piVar14;\n                unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 1);\n                piVar19 = piVar10;\n                piVar20 = (int *)((int)piVar11 + 1);\n                piVar11 = (int *)((int)piVar11 + 1);\n                unaff_s6 = piVar10;\n                piVar14 = piVar10;\n                if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n              }" while (parenthesized_expression "((piVar10 = (int *)((int)piVar14 + 1), unaff_s5 != (int *)&DAT_0000005c ||\n                     (*(char *)((int)piVar14 + 1) == '\0')))" ( (parenthesized_expression "(piVar10 = (int *)((int)piVar14 + 1), unaff_s5 != (int *)&DAT_0000005c ||\n                     (*(char *)((int)piVar14 + 1) == '\0'))" ( (comma_expression "piVar10 = (int *)((int)piVar14 + 1), unaff_s5 != (int *)&DAT_0000005c ||\n                     (*(char *)((int)piVar14 + 1) == '\0')" (assignment_expression "piVar10 = (int *)((int)piVar14 + 1)" identifier = (cast_expression "(int *)((int)piVar14 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar14 + 1)" ( (binary_expression "(int)piVar14 + 1" (cast_expression "(int)piVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (binary_expression "unaff_s5 != (int *)&DAT_0000005c ||\n                     (*(char *)((int)piVar14 + 1) == '\0')" (binary_expression "unaff_s5 != (int *)&DAT_0000005c" identifier != (cast_expression "(int *)&DAT_0000005c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_0000005c" & identifier))) || (parenthesized_expression "(*(char *)((int)piVar14 + 1) == '\0')" ( (binary_expression "*(char *)((int)piVar14 + 1) == '\0'" (pointer_expression "*(char *)((int)piVar14 + 1)" * (cast_expression "(char *)((int)piVar14 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar14 + 1)" ( (binary_expression "(int)piVar14 + 1" (cast_expression "(int)piVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )))) )) )) (compound_statement "{\n                *(char *)piVar11 = *(char *)piVar14;\n                unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 1);\n                piVar19 = piVar10;\n                piVar20 = (int *)((int)piVar11 + 1);\n                piVar11 = (int *)((int)piVar11 + 1);\n                unaff_s6 = piVar10;\n                piVar14 = piVar10;\n                if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n              }" { (expression_statement "*(char *)piVar11 = *(char *)piVar14;" (assignment_expression "*(char *)piVar11 = *(char *)piVar14" (pointer_expression "*(char *)piVar11" * (cast_expression "(char *)piVar11" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = (pointer_expression "*(char *)piVar14" * (cast_expression "(char *)piVar14" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 1);" (assignment_expression "unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 1)" identifier = (cast_expression "(int *)(int)*(char *)((int)piVar14 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (cast_expression "(int)*(char *)((int)piVar14 + 1)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(char *)((int)piVar14 + 1)" * (cast_expression "(char *)((int)piVar14 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar14 + 1)" ( (binary_expression "(int)piVar14 + 1" (cast_expression "(int)piVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))))) ;) (expression_statement "piVar19 = piVar10;" (assignment_expression "piVar19 = piVar10" identifier = identifier) ;) (expression_statement "piVar20 = (int *)((int)piVar11 + 1);" (assignment_expression "piVar20 = (int *)((int)piVar11 + 1)" identifier = (cast_expression "(int *)((int)piVar11 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar11 + 1)" ( (binary_expression "(int)piVar11 + 1" (cast_expression "(int)piVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "piVar11 = (int *)((int)piVar11 + 1);" (assignment_expression "piVar11 = (int *)((int)piVar11 + 1)" identifier = (cast_expression "(int *)((int)piVar11 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar11 + 1)" ( (binary_expression "(int)piVar11 + 1" (cast_expression "(int)piVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "unaff_s6 = piVar10;" (assignment_expression "unaff_s6 = piVar10" identifier = identifier) ;) (expression_statement "piVar14 = piVar10;" (assignment_expression "piVar14 = piVar10" identifier = identifier) ;) (if_statement "if (unaff_s5 == (int *)0x0) goto LAB_00043364;" if (parenthesized_expression "(unaff_s5 == (int *)0x0)" ( (binary_expression "unaff_s5 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00043364;" goto statement_identifier ;)) })) (expression_statement "*(char *)piVar11 = *(char *)((int)piVar14 + 1);" (assignment_expression "*(char *)piVar11 = *(char *)((int)piVar14 + 1)" (pointer_expression "*(char *)piVar11" * (cast_expression "(char *)piVar11" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = (pointer_expression "*(char *)((int)piVar14 + 1)" * (cast_expression "(char *)((int)piVar14 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar14 + 1)" ( (binary_expression "(int)piVar14 + 1" (cast_expression "(int)piVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 2);" (assignment_expression "unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 2)" identifier = (cast_expression "(int *)(int)*(char *)((int)piVar14 + 2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (cast_expression "(int)*(char *)((int)piVar14 + 2)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(char *)((int)piVar14 + 2)" * (cast_expression "(char *)((int)piVar14 + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar14 + 2)" ( (binary_expression "(int)piVar14 + 2" (cast_expression "(int)piVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))))) ;) (expression_statement "piVar10 = piVar19;" (assignment_expression "piVar10 = piVar19" identifier = identifier) ;) (expression_statement "piVar20 = (int *)((int)piVar11 + 1);" (assignment_expression "piVar20 = (int *)((int)piVar11 + 1)" identifier = (cast_expression "(int *)((int)piVar11 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar11 + 1)" ( (binary_expression "(int)piVar11 + 1" (cast_expression "(int)piVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "piVar11 = (int *)((int)piVar11 + 1);" (assignment_expression "piVar11 = (int *)((int)piVar11 + 1)" identifier = (cast_expression "(int *)((int)piVar11 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar11 + 1)" ( (binary_expression "(int)piVar11 + 1" (cast_expression "(int)piVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "unaff_s6 = (int *)((int)piVar14 + 2);" (assignment_expression "unaff_s6 = (int *)((int)piVar14 + 2)" identifier = (cast_expression "(int *)((int)piVar14 + 2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar14 + 2)" ( (binary_expression "(int)piVar14 + 2" (cast_expression "(int)piVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "piVar14 = (int *)((int)piVar14 + 2);" (assignment_expression "piVar14 = (int *)((int)piVar14 + 2)" identifier = (cast_expression "(int *)((int)piVar14 + 2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar14 + 2)" ( (binary_expression "(int)piVar14 + 2" (cast_expression "(int)piVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(unaff_s5 != (int *)0x0)" ( (binary_expression "unaff_s5 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) }) (else_clause "else if (unaff_s5 != (int *)0x0) goto LAB_00043310;" else (if_statement "if (unaff_s5 != (int *)0x0) goto LAB_00043310;" if (parenthesized_expression "(unaff_s5 != (int *)0x0)" ( (binary_expression "unaff_s5 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00043310;" goto statement_identifier ;)))) (labeled_statement "LAB_00043364:\n          puVar1 = PTR_safefree_000790f0;" statement_identifier : (expression_statement "puVar1 = PTR_safefree_000790f0;" (assignment_expression "puVar1 = PTR_safefree_000790f0" identifier = identifier) ;)) (expression_statement "*(char *)piVar20 = '\0';" (assignment_expression "*(char *)piVar20 = '\0'" (pointer_expression "*(char *)piVar20" * (cast_expression "(char *)piVar20" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "(*(code *)puVar1)(local_54);" (call_expression "(*(code *)puVar1)(local_54)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_54)" ( identifier ))) ;) (expression_statement "local_54 = (*(code *)PTR_dupstr_000790fc)(piVar5);" (assignment_expression "local_54 = (*(code *)PTR_dupstr_000790fc)(piVar5)" identifier = (call_expression "(*(code *)PTR_dupstr_000790fc)(piVar5)" (parenthesized_expression "(*(code *)PTR_dupstr_000790fc)" ( (pointer_expression "*(code *)PTR_dupstr_000790fc" * (cast_expression "(code *)PTR_dupstr_000790fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar5)" ( identifier )))) ;) }) (else_clause "else {\n          piVar10 = unaff_s4;\n          iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar5);\n          if (iVar4 != 0) {\n            piVar20 = (int *)0x2;\n            piVar10 = unaff_s7;\n            iVar4 = (*(code *)PTR_strncmp_000797c4)(piVar5);\n            if (iVar4 != 0) {\n              piVar19 = (int *)0x0;\n              puVar17 = PTR_s_j_000790a8 + 0x437c;\n              param_2 = piVar5;\n              goto LAB_00043198;\n            }\n          }\n        }" else (compound_statement "{\n          piVar10 = unaff_s4;\n          iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar5);\n          if (iVar4 != 0) {\n            piVar20 = (int *)0x2;\n            piVar10 = unaff_s7;\n            iVar4 = (*(code *)PTR_strncmp_000797c4)(piVar5);\n            if (iVar4 != 0) {\n              piVar19 = (int *)0x0;\n              puVar17 = PTR_s_j_000790a8 + 0x437c;\n              param_2 = piVar5;\n              goto LAB_00043198;\n            }\n          }\n        }" { (expression_statement "piVar10 = unaff_s4;" (assignment_expression "piVar10 = unaff_s4" identifier = identifier) ;) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar5);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar5)" identifier = (call_expression "(*(code *)PTR_strcmp_000798a4)(piVar5)" (parenthesized_expression "(*(code *)PTR_strcmp_000798a4)" ( (pointer_expression "*(code *)PTR_strcmp_000798a4" * (cast_expression "(code *)PTR_strcmp_000798a4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar5)" ( identifier )))) ;) (if_statement "if (iVar4 != 0) {\n            piVar20 = (int *)0x2;\n            piVar10 = unaff_s7;\n            iVar4 = (*(code *)PTR_strncmp_000797c4)(piVar5);\n            if (iVar4 != 0) {\n              piVar19 = (int *)0x0;\n              puVar17 = PTR_s_j_000790a8 + 0x437c;\n              param_2 = piVar5;\n              goto LAB_00043198;\n            }\n          }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n            piVar20 = (int *)0x2;\n            piVar10 = unaff_s7;\n            iVar4 = (*(code *)PTR_strncmp_000797c4)(piVar5);\n            if (iVar4 != 0) {\n              piVar19 = (int *)0x0;\n              puVar17 = PTR_s_j_000790a8 + 0x437c;\n              param_2 = piVar5;\n              goto LAB_00043198;\n            }\n          }" { (expression_statement "piVar20 = (int *)0x2;" (assignment_expression "piVar20 = (int *)0x2" identifier = (cast_expression "(int *)0x2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piVar10 = unaff_s7;" (assignment_expression "piVar10 = unaff_s7" identifier = identifier) ;) (expression_statement "iVar4 = (*(code *)PTR_strncmp_000797c4)(piVar5);" (assignment_expression "iVar4 = (*(code *)PTR_strncmp_000797c4)(piVar5)" identifier = (call_expression "(*(code *)PTR_strncmp_000797c4)(piVar5)" (parenthesized_expression "(*(code *)PTR_strncmp_000797c4)" ( (pointer_expression "*(code *)PTR_strncmp_000797c4" * (cast_expression "(code *)PTR_strncmp_000797c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar5)" ( identifier )))) ;) (if_statement "if (iVar4 != 0) {\n              piVar19 = (int *)0x0;\n              puVar17 = PTR_s_j_000790a8 + 0x437c;\n              param_2 = piVar5;\n              goto LAB_00043198;\n            }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n              piVar19 = (int *)0x0;\n              puVar17 = PTR_s_j_000790a8 + 0x437c;\n              param_2 = piVar5;\n              goto LAB_00043198;\n            }" { (expression_statement "piVar19 = (int *)0x0;" (assignment_expression "piVar19 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar17 = PTR_s_j_000790a8 + 0x437c;" (assignment_expression "puVar17 = PTR_s_j_000790a8 + 0x437c" identifier = (binary_expression "PTR_s_j_000790a8 + 0x437c" identifier + number_literal)) ;) (expression_statement "param_2 = piVar5;" (assignment_expression "param_2 = piVar5" identifier = identifier) ;) (goto_statement "goto LAB_00043198;" goto statement_identifier ;) })) })) }))) (expression_statement "(*(code *)PTR_safefree_000790f0)(piVar5);" (call_expression "(*(code *)PTR_safefree_000790f0)(piVar5)" (parenthesized_expression "(*(code *)PTR_safefree_000790f0)" ( (pointer_expression "*(code *)PTR_safefree_000790f0" * (cast_expression "(code *)PTR_safefree_000790f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar5)" ( identifier ))) ;) })) (expression_statement "piVar19 = (int *)0x0;" (assignment_expression "piVar19 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar17 = PTR_s_j_000790a8 + 0x43ac;" (assignment_expression "puVar17 = PTR_s_j_000790a8 + 0x43ac" identifier = (binary_expression "PTR_s_j_000790a8 + 0x43ac" identifier + number_literal)) ;) (expression_statement "param_2 = piVar5;" (assignment_expression "param_2 = piVar5" identifier = identifier) ;) (goto_statement "goto LAB_00043198;" goto statement_identifier ;) })) })) (expression_statement "piVar19 = (int *)0x0;" (assignment_expression "piVar19 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_54 = 0;" (assignment_expression "local_54 = 0" identifier = number_literal) ;) (expression_statement "puVar17 = PTR_s_j_000790a8 + 0x42f0;" (assignment_expression "puVar17 = PTR_s_j_000790a8 + 0x42f0" identifier = (binary_expression "PTR_s_j_000790a8 + 0x42f0" identifier + number_literal)) ;) (expression_statement "param_2 = piVar3;" (assignment_expression "param_2 = piVar3" identifier = identifier) ;) (goto_statement "goto LAB_00043198;" goto statement_identifier ;) (labeled_statement "LAB_0004340c:\n  do {\n    cVar9 = *(char *)piVar5;\n    unaff_s5 = piVar5;\n    if (cVar9 == '-') {\n      piVar10 = (int *)(PTR_s_j_000790a8 + 0x43fc);\n      iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar5);\n      if (iVar4 == 0) {\n        (*(code *)PTR_safefree_000790f0)(piVar5);\n        if ((int)unaff_s4 < 4) {\n          puVar17 = PTR_s_j_000790a8 + 0x42c4;\n          param_2 = (int *)0x0;\n          goto LAB_00043198;\n        }\n        piVar3 = (int *)(*(code *)PTR_toint_000792c8)(*piVar19);\n        puVar17 = PTR_s_j_000790a8;\n        if (((int)piVar3 < 0) || ((int)((int)unaff_s4 + -3) <= (int)piVar3)) {\n          puVar17 = PTR_s_j_000790a8 + 0x431c;\n          param_2 = (int *)0x0;\n          goto LAB_00043198;\n        }\n        piVar20 = piVar19 + 1;\n        if (param_2 != (int *)0x0) {\n          iVar4 = (*(code *)PTR_dupprintf_000790e8)(PTR_s_j_000790a8 + -0x26d0);\n          *param_2 = iVar4;\n          piVar10 = piVar3;\n        }\n        if (param_3 != (int *)0x0) {\n          *param_3 = (int)unaff_s4;\n        }\n        if (param_4 == (int *)0x0) {\n          (*(code *)PTR_safefree_000790f0)(local_54);\n        }\n        else {\n          *param_4 = local_54;\n        }\n        goto LAB_000431d8;\n      }\n      break;\n    }\n    unaff_s6 = (int *)&DAT_00000004;\n    while (piVar3 = unaff_s4, cVar9 != '\0') {\n      while( true ) {\n        local_30[iVar4] = cVar9;\n        if (iVar4 + 1 != 4) break;\n        piVar20 = (int *)(*(code *)PTR_base64_decode_atom_000792d8)(unaff_s8,unaff_s7);\n        unaff_s4 = (int *)((int)piVar3 + (int)piVar20);\n        if (iVar18 < (int)unaff_s4) {\n          iVar18 = ((int)unaff_s4 * 5 >> 2) + 0x400;\n          piVar19 = (int *)(*(code *)PTR_saferealloc_000791a0)(piVar19,iVar18,1);\n        }\n        unaff_s5 = (int *)((int)unaff_s5 + 1);\n        piVar10 = unaff_s7;\n        (*(code *)PTR_memcpy_000798e0)((char *)((int)piVar19 + (int)piVar3));\n        iVar4 = 0;\n        cVar9 = *(char *)unaff_s5;\n        piVar3 = unaff_s4;\n        if (cVar9 == '\0') goto LAB_000434ac;\n      }\n      unaff_s5 = (int *)((int)unaff_s5 + 1);\n      iVar4 = iVar4 + 1;\n      unaff_s4 = piVar3;\n      cVar9 = *(char *)unaff_s5;\n    }\nLAB_000434ac:\n    (*(code *)PTR_safefree_000790f0)(piVar5);\n    uVar2 = (*(code *)PTR_fgetline_00079538)(param_1);\n    piVar5 = (int *)(*(code *)PTR_chomp_0007953c)(uVar2);\n  } while (piVar5 != (int *)0x0);" statement_identifier : (do_statement "do {\n    cVar9 = *(char *)piVar5;\n    unaff_s5 = piVar5;\n    if (cVar9 == '-') {\n      piVar10 = (int *)(PTR_s_j_000790a8 + 0x43fc);\n      iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar5);\n      if (iVar4 == 0) {\n        (*(code *)PTR_safefree_000790f0)(piVar5);\n        if ((int)unaff_s4 < 4) {\n          puVar17 = PTR_s_j_000790a8 + 0x42c4;\n          param_2 = (int *)0x0;\n          goto LAB_00043198;\n        }\n        piVar3 = (int *)(*(code *)PTR_toint_000792c8)(*piVar19);\n        puVar17 = PTR_s_j_000790a8;\n        if (((int)piVar3 < 0) || ((int)((int)unaff_s4 + -3) <= (int)piVar3)) {\n          puVar17 = PTR_s_j_000790a8 + 0x431c;\n          param_2 = (int *)0x0;\n          goto LAB_00043198;\n        }\n        piVar20 = piVar19 + 1;\n        if (param_2 != (int *)0x0) {\n          iVar4 = (*(code *)PTR_dupprintf_000790e8)(PTR_s_j_000790a8 + -0x26d0);\n          *param_2 = iVar4;\n          piVar10 = piVar3;\n        }\n        if (param_3 != (int *)0x0) {\n          *param_3 = (int)unaff_s4;\n        }\n        if (param_4 == (int *)0x0) {\n          (*(code *)PTR_safefree_000790f0)(local_54);\n        }\n        else {\n          *param_4 = local_54;\n        }\n        goto LAB_000431d8;\n      }\n      break;\n    }\n    unaff_s6 = (int *)&DAT_00000004;\n    while (piVar3 = unaff_s4, cVar9 != '\0') {\n      while( true ) {\n        local_30[iVar4] = cVar9;\n        if (iVar4 + 1 != 4) break;\n        piVar20 = (int *)(*(code *)PTR_base64_decode_atom_000792d8)(unaff_s8,unaff_s7);\n        unaff_s4 = (int *)((int)piVar3 + (int)piVar20);\n        if (iVar18 < (int)unaff_s4) {\n          iVar18 = ((int)unaff_s4 * 5 >> 2) + 0x400;\n          piVar19 = (int *)(*(code *)PTR_saferealloc_000791a0)(piVar19,iVar18,1);\n        }\n        unaff_s5 = (int *)((int)unaff_s5 + 1);\n        piVar10 = unaff_s7;\n        (*(code *)PTR_memcpy_000798e0)((char *)((int)piVar19 + (int)piVar3));\n        iVar4 = 0;\n        cVar9 = *(char *)unaff_s5;\n        piVar3 = unaff_s4;\n        if (cVar9 == '\0') goto LAB_000434ac;\n      }\n      unaff_s5 = (int *)((int)unaff_s5 + 1);\n      iVar4 = iVar4 + 1;\n      unaff_s4 = piVar3;\n      cVar9 = *(char *)unaff_s5;\n    }\nLAB_000434ac:\n    (*(code *)PTR_safefree_000790f0)(piVar5);\n    uVar2 = (*(code *)PTR_fgetline_00079538)(param_1);\n    piVar5 = (int *)(*(code *)PTR_chomp_0007953c)(uVar2);\n  } while (piVar5 != (int *)0x0);" do (compound_statement "{\n    cVar9 = *(char *)piVar5;\n    unaff_s5 = piVar5;\n    if (cVar9 == '-') {\n      piVar10 = (int *)(PTR_s_j_000790a8 + 0x43fc);\n      iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar5);\n      if (iVar4 == 0) {\n        (*(code *)PTR_safefree_000790f0)(piVar5);\n        if ((int)unaff_s4 < 4) {\n          puVar17 = PTR_s_j_000790a8 + 0x42c4;\n          param_2 = (int *)0x0;\n          goto LAB_00043198;\n        }\n        piVar3 = (int *)(*(code *)PTR_toint_000792c8)(*piVar19);\n        puVar17 = PTR_s_j_000790a8;\n        if (((int)piVar3 < 0) || ((int)((int)unaff_s4 + -3) <= (int)piVar3)) {\n          puVar17 = PTR_s_j_000790a8 + 0x431c;\n          param_2 = (int *)0x0;\n          goto LAB_00043198;\n        }\n        piVar20 = piVar19 + 1;\n        if (param_2 != (int *)0x0) {\n          iVar4 = (*(code *)PTR_dupprintf_000790e8)(PTR_s_j_000790a8 + -0x26d0);\n          *param_2 = iVar4;\n          piVar10 = piVar3;\n        }\n        if (param_3 != (int *)0x0) {\n          *param_3 = (int)unaff_s4;\n        }\n        if (param_4 == (int *)0x0) {\n          (*(code *)PTR_safefree_000790f0)(local_54);\n        }\n        else {\n          *param_4 = local_54;\n        }\n        goto LAB_000431d8;\n      }\n      break;\n    }\n    unaff_s6 = (int *)&DAT_00000004;\n    while (piVar3 = unaff_s4, cVar9 != '\0') {\n      while( true ) {\n        local_30[iVar4] = cVar9;\n        if (iVar4 + 1 != 4) break;\n        piVar20 = (int *)(*(code *)PTR_base64_decode_atom_000792d8)(unaff_s8,unaff_s7);\n        unaff_s4 = (int *)((int)piVar3 + (int)piVar20);\n        if (iVar18 < (int)unaff_s4) {\n          iVar18 = ((int)unaff_s4 * 5 >> 2) + 0x400;\n          piVar19 = (int *)(*(code *)PTR_saferealloc_000791a0)(piVar19,iVar18,1);\n        }\n        unaff_s5 = (int *)((int)unaff_s5 + 1);\n        piVar10 = unaff_s7;\n        (*(code *)PTR_memcpy_000798e0)((char *)((int)piVar19 + (int)piVar3));\n        iVar4 = 0;\n        cVar9 = *(char *)unaff_s5;\n        piVar3 = unaff_s4;\n        if (cVar9 == '\0') goto LAB_000434ac;\n      }\n      unaff_s5 = (int *)((int)unaff_s5 + 1);\n      iVar4 = iVar4 + 1;\n      unaff_s4 = piVar3;\n      cVar9 = *(char *)unaff_s5;\n    }\nLAB_000434ac:\n    (*(code *)PTR_safefree_000790f0)(piVar5);\n    uVar2 = (*(code *)PTR_fgetline_00079538)(param_1);\n    piVar5 = (int *)(*(code *)PTR_chomp_0007953c)(uVar2);\n  }" { (expression_statement "cVar9 = *(char *)piVar5;" (assignment_expression "cVar9 = *(char *)piVar5" identifier = (pointer_expression "*(char *)piVar5" * (cast_expression "(char *)piVar5" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "unaff_s5 = piVar5;" (assignment_expression "unaff_s5 = piVar5" identifier = identifier) ;) (if_statement "if (cVar9 == '-') {\n      piVar10 = (int *)(PTR_s_j_000790a8 + 0x43fc);\n      iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar5);\n      if (iVar4 == 0) {\n        (*(code *)PTR_safefree_000790f0)(piVar5);\n        if ((int)unaff_s4 < 4) {\n          puVar17 = PTR_s_j_000790a8 + 0x42c4;\n          param_2 = (int *)0x0;\n          goto LAB_00043198;\n        }\n        piVar3 = (int *)(*(code *)PTR_toint_000792c8)(*piVar19);\n        puVar17 = PTR_s_j_000790a8;\n        if (((int)piVar3 < 0) || ((int)((int)unaff_s4 + -3) <= (int)piVar3)) {\n          puVar17 = PTR_s_j_000790a8 + 0x431c;\n          param_2 = (int *)0x0;\n          goto LAB_00043198;\n        }\n        piVar20 = piVar19 + 1;\n        if (param_2 != (int *)0x0) {\n          iVar4 = (*(code *)PTR_dupprintf_000790e8)(PTR_s_j_000790a8 + -0x26d0);\n          *param_2 = iVar4;\n          piVar10 = piVar3;\n        }\n        if (param_3 != (int *)0x0) {\n          *param_3 = (int)unaff_s4;\n        }\n        if (param_4 == (int *)0x0) {\n          (*(code *)PTR_safefree_000790f0)(local_54);\n        }\n        else {\n          *param_4 = local_54;\n        }\n        goto LAB_000431d8;\n      }\n      break;\n    }" if (parenthesized_expression "(cVar9 == '-')" ( (binary_expression "cVar9 == '-'" identifier == (char_literal "'-'" ' character ')) )) (compound_statement "{\n      piVar10 = (int *)(PTR_s_j_000790a8 + 0x43fc);\n      iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar5);\n      if (iVar4 == 0) {\n        (*(code *)PTR_safefree_000790f0)(piVar5);\n        if ((int)unaff_s4 < 4) {\n          puVar17 = PTR_s_j_000790a8 + 0x42c4;\n          param_2 = (int *)0x0;\n          goto LAB_00043198;\n        }\n        piVar3 = (int *)(*(code *)PTR_toint_000792c8)(*piVar19);\n        puVar17 = PTR_s_j_000790a8;\n        if (((int)piVar3 < 0) || ((int)((int)unaff_s4 + -3) <= (int)piVar3)) {\n          puVar17 = PTR_s_j_000790a8 + 0x431c;\n          param_2 = (int *)0x0;\n          goto LAB_00043198;\n        }\n        piVar20 = piVar19 + 1;\n        if (param_2 != (int *)0x0) {\n          iVar4 = (*(code *)PTR_dupprintf_000790e8)(PTR_s_j_000790a8 + -0x26d0);\n          *param_2 = iVar4;\n          piVar10 = piVar3;\n        }\n        if (param_3 != (int *)0x0) {\n          *param_3 = (int)unaff_s4;\n        }\n        if (param_4 == (int *)0x0) {\n          (*(code *)PTR_safefree_000790f0)(local_54);\n        }\n        else {\n          *param_4 = local_54;\n        }\n        goto LAB_000431d8;\n      }\n      break;\n    }" { (expression_statement "piVar10 = (int *)(PTR_s_j_000790a8 + 0x43fc);" (assignment_expression "piVar10 = (int *)(PTR_s_j_000790a8 + 0x43fc)" identifier = (cast_expression "(int *)(PTR_s_j_000790a8 + 0x43fc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_j_000790a8 + 0x43fc)" ( (binary_expression "PTR_s_j_000790a8 + 0x43fc" identifier + number_literal) )))) ;) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar5);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar5)" identifier = (call_expression "(*(code *)PTR_strcmp_000798a4)(piVar5)" (parenthesized_expression "(*(code *)PTR_strcmp_000798a4)" ( (pointer_expression "*(code *)PTR_strcmp_000798a4" * (cast_expression "(code *)PTR_strcmp_000798a4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar5)" ( identifier )))) ;) (if_statement "if (iVar4 == 0) {\n        (*(code *)PTR_safefree_000790f0)(piVar5);\n        if ((int)unaff_s4 < 4) {\n          puVar17 = PTR_s_j_000790a8 + 0x42c4;\n          param_2 = (int *)0x0;\n          goto LAB_00043198;\n        }\n        piVar3 = (int *)(*(code *)PTR_toint_000792c8)(*piVar19);\n        puVar17 = PTR_s_j_000790a8;\n        if (((int)piVar3 < 0) || ((int)((int)unaff_s4 + -3) <= (int)piVar3)) {\n          puVar17 = PTR_s_j_000790a8 + 0x431c;\n          param_2 = (int *)0x0;\n          goto LAB_00043198;\n        }\n        piVar20 = piVar19 + 1;\n        if (param_2 != (int *)0x0) {\n          iVar4 = (*(code *)PTR_dupprintf_000790e8)(PTR_s_j_000790a8 + -0x26d0);\n          *param_2 = iVar4;\n          piVar10 = piVar3;\n        }\n        if (param_3 != (int *)0x0) {\n          *param_3 = (int)unaff_s4;\n        }\n        if (param_4 == (int *)0x0) {\n          (*(code *)PTR_safefree_000790f0)(local_54);\n        }\n        else {\n          *param_4 = local_54;\n        }\n        goto LAB_000431d8;\n      }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n        (*(code *)PTR_safefree_000790f0)(piVar5);\n        if ((int)unaff_s4 < 4) {\n          puVar17 = PTR_s_j_000790a8 + 0x42c4;\n          param_2 = (int *)0x0;\n          goto LAB_00043198;\n        }\n        piVar3 = (int *)(*(code *)PTR_toint_000792c8)(*piVar19);\n        puVar17 = PTR_s_j_000790a8;\n        if (((int)piVar3 < 0) || ((int)((int)unaff_s4 + -3) <= (int)piVar3)) {\n          puVar17 = PTR_s_j_000790a8 + 0x431c;\n          param_2 = (int *)0x0;\n          goto LAB_00043198;\n        }\n        piVar20 = piVar19 + 1;\n        if (param_2 != (int *)0x0) {\n          iVar4 = (*(code *)PTR_dupprintf_000790e8)(PTR_s_j_000790a8 + -0x26d0);\n          *param_2 = iVar4;\n          piVar10 = piVar3;\n        }\n        if (param_3 != (int *)0x0) {\n          *param_3 = (int)unaff_s4;\n        }\n        if (param_4 == (int *)0x0) {\n          (*(code *)PTR_safefree_000790f0)(local_54);\n        }\n        else {\n          *param_4 = local_54;\n        }\n        goto LAB_000431d8;\n      }" { (expression_statement "(*(code *)PTR_safefree_000790f0)(piVar5);" (call_expression "(*(code *)PTR_safefree_000790f0)(piVar5)" (parenthesized_expression "(*(code *)PTR_safefree_000790f0)" ( (pointer_expression "*(code *)PTR_safefree_000790f0" * (cast_expression "(code *)PTR_safefree_000790f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar5)" ( identifier ))) ;) (if_statement "if ((int)unaff_s4 < 4) {\n          puVar17 = PTR_s_j_000790a8 + 0x42c4;\n          param_2 = (int *)0x0;\n          goto LAB_00043198;\n        }" if (parenthesized_expression "((int)unaff_s4 < 4)" ( (binary_expression "(int)unaff_s4 < 4" (cast_expression "(int)unaff_s4" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n          puVar17 = PTR_s_j_000790a8 + 0x42c4;\n          param_2 = (int *)0x0;\n          goto LAB_00043198;\n        }" { (expression_statement "puVar17 = PTR_s_j_000790a8 + 0x42c4;" (assignment_expression "puVar17 = PTR_s_j_000790a8 + 0x42c4" identifier = (binary_expression "PTR_s_j_000790a8 + 0x42c4" identifier + number_literal)) ;) (expression_statement "param_2 = (int *)0x0;" (assignment_expression "param_2 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00043198;" goto statement_identifier ;) })) (expression_statement "piVar3 = (int *)(*(code *)PTR_toint_000792c8)(*piVar19);" (assignment_expression "piVar3 = (int *)(*(code *)PTR_toint_000792c8)(*piVar19)" identifier = (cast_expression "(int *)(*(code *)PTR_toint_000792c8)(*piVar19)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_toint_000792c8)(*piVar19)" (parenthesized_expression "(*(code *)PTR_toint_000792c8)" ( (pointer_expression "*(code *)PTR_toint_000792c8" * (cast_expression "(code *)PTR_toint_000792c8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*piVar19)" ( (pointer_expression "*piVar19" * identifier) ))))) ;) (expression_statement "puVar17 = PTR_s_j_000790a8;" (assignment_expression "puVar17 = PTR_s_j_000790a8" identifier = identifier) ;) (if_statement "if (((int)piVar3 < 0) || ((int)((int)unaff_s4 + -3) <= (int)piVar3)) {\n          puVar17 = PTR_s_j_000790a8 + 0x431c;\n          param_2 = (int *)0x0;\n          goto LAB_00043198;\n        }" if (parenthesized_expression "(((int)piVar3 < 0) || ((int)((int)unaff_s4 + -3) <= (int)piVar3))" ( (binary_expression "((int)piVar3 < 0) || ((int)((int)unaff_s4 + -3) <= (int)piVar3)" (parenthesized_expression "((int)piVar3 < 0)" ( (binary_expression "(int)piVar3 < 0" (cast_expression "(int)piVar3" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) || (parenthesized_expression "((int)((int)unaff_s4 + -3) <= (int)piVar3)" ( (binary_expression "(int)((int)unaff_s4 + -3) <= (int)piVar3" (cast_expression "(int)((int)unaff_s4 + -3)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)unaff_s4 + -3)" ( (binary_expression "(int)unaff_s4 + -3" (cast_expression "(int)unaff_s4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) <= (cast_expression "(int)piVar3" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) (compound_statement "{\n          puVar17 = PTR_s_j_000790a8 + 0x431c;\n          param_2 = (int *)0x0;\n          goto LAB_00043198;\n        }" { (expression_statement "puVar17 = PTR_s_j_000790a8 + 0x431c;" (assignment_expression "puVar17 = PTR_s_j_000790a8 + 0x431c" identifier = (binary_expression "PTR_s_j_000790a8 + 0x431c" identifier + number_literal)) ;) (expression_statement "param_2 = (int *)0x0;" (assignment_expression "param_2 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00043198;" goto statement_identifier ;) })) (expression_statement "piVar20 = piVar19 + 1;" (assignment_expression "piVar20 = piVar19 + 1" identifier = (binary_expression "piVar19 + 1" identifier + number_literal)) ;) (if_statement "if (param_2 != (int *)0x0) {\n          iVar4 = (*(code *)PTR_dupprintf_000790e8)(PTR_s_j_000790a8 + -0x26d0);\n          *param_2 = iVar4;\n          piVar10 = piVar3;\n        }" if (parenthesized_expression "(param_2 != (int *)0x0)" ( (binary_expression "param_2 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          iVar4 = (*(code *)PTR_dupprintf_000790e8)(PTR_s_j_000790a8 + -0x26d0);\n          *param_2 = iVar4;\n          piVar10 = piVar3;\n        }" { (expression_statement "iVar4 = (*(code *)PTR_dupprintf_000790e8)(PTR_s_j_000790a8 + -0x26d0);" (assignment_expression "iVar4 = (*(code *)PTR_dupprintf_000790e8)(PTR_s_j_000790a8 + -0x26d0)" identifier = (call_expression "(*(code *)PTR_dupprintf_000790e8)(PTR_s_j_000790a8 + -0x26d0)" (parenthesized_expression "(*(code *)PTR_dupprintf_000790e8)" ( (pointer_expression "*(code *)PTR_dupprintf_000790e8" * (cast_expression "(code *)PTR_dupprintf_000790e8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_j_000790a8 + -0x26d0)" ( (binary_expression "PTR_s_j_000790a8 + -0x26d0" identifier + number_literal) )))) ;) (expression_statement "*param_2 = iVar4;" (assignment_expression "*param_2 = iVar4" (pointer_expression "*param_2" * identifier) = identifier) ;) (expression_statement "piVar10 = piVar3;" (assignment_expression "piVar10 = piVar3" identifier = identifier) ;) })) (if_statement "if (param_3 != (int *)0x0) {\n          *param_3 = (int)unaff_s4;\n        }" if (parenthesized_expression "(param_3 != (int *)0x0)" ( (binary_expression "param_3 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          *param_3 = (int)unaff_s4;\n        }" { (expression_statement "*param_3 = (int)unaff_s4;" (assignment_expression "*param_3 = (int)unaff_s4" (pointer_expression "*param_3" * identifier) = (cast_expression "(int)unaff_s4" ( (type_descriptor "int" primitive_type) ) identifier)) ;) })) (if_statement "if (param_4 == (int *)0x0) {\n          (*(code *)PTR_safefree_000790f0)(local_54);\n        }\n        else {\n          *param_4 = local_54;\n        }" if (parenthesized_expression "(param_4 == (int *)0x0)" ( (binary_expression "param_4 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          (*(code *)PTR_safefree_000790f0)(local_54);\n        }" { (expression_statement "(*(code *)PTR_safefree_000790f0)(local_54);" (call_expression "(*(code *)PTR_safefree_000790f0)(local_54)" (parenthesized_expression "(*(code *)PTR_safefree_000790f0)" ( (pointer_expression "*(code *)PTR_safefree_000790f0" * (cast_expression "(code *)PTR_safefree_000790f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_54)" ( identifier ))) ;) }) (else_clause "else {\n          *param_4 = local_54;\n        }" else (compound_statement "{\n          *param_4 = local_54;\n        }" { (expression_statement "*param_4 = local_54;" (assignment_expression "*param_4 = local_54" (pointer_expression "*param_4" * identifier) = identifier) ;) }))) (goto_statement "goto LAB_000431d8;" goto statement_identifier ;) })) (break_statement "break;" break ;) })) (expression_statement "unaff_s6 = (int *)&DAT_00000004;" (assignment_expression "unaff_s6 = (int *)&DAT_00000004" identifier = (cast_expression "(int *)&DAT_00000004" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000004" & identifier))) ;) (while_statement "while (piVar3 = unaff_s4, cVar9 != '\0') {\n      while( true ) {\n        local_30[iVar4] = cVar9;\n        if (iVar4 + 1 != 4) break;\n        piVar20 = (int *)(*(code *)PTR_base64_decode_atom_000792d8)(unaff_s8,unaff_s7);\n        unaff_s4 = (int *)((int)piVar3 + (int)piVar20);\n        if (iVar18 < (int)unaff_s4) {\n          iVar18 = ((int)unaff_s4 * 5 >> 2) + 0x400;\n          piVar19 = (int *)(*(code *)PTR_saferealloc_000791a0)(piVar19,iVar18,1);\n        }\n        unaff_s5 = (int *)((int)unaff_s5 + 1);\n        piVar10 = unaff_s7;\n        (*(code *)PTR_memcpy_000798e0)((char *)((int)piVar19 + (int)piVar3));\n        iVar4 = 0;\n        cVar9 = *(char *)unaff_s5;\n        piVar3 = unaff_s4;\n        if (cVar9 == '\0') goto LAB_000434ac;\n      }\n      unaff_s5 = (int *)((int)unaff_s5 + 1);\n      iVar4 = iVar4 + 1;\n      unaff_s4 = piVar3;\n      cVar9 = *(char *)unaff_s5;\n    }" while (parenthesized_expression "(piVar3 = unaff_s4, cVar9 != '\0')" ( (comma_expression "piVar3 = unaff_s4, cVar9 != '\0'" (assignment_expression "piVar3 = unaff_s4" identifier = identifier) , (binary_expression "cVar9 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence '))) )) (compound_statement "{\n      while( true ) {\n        local_30[iVar4] = cVar9;\n        if (iVar4 + 1 != 4) break;\n        piVar20 = (int *)(*(code *)PTR_base64_decode_atom_000792d8)(unaff_s8,unaff_s7);\n        unaff_s4 = (int *)((int)piVar3 + (int)piVar20);\n        if (iVar18 < (int)unaff_s4) {\n          iVar18 = ((int)unaff_s4 * 5 >> 2) + 0x400;\n          piVar19 = (int *)(*(code *)PTR_saferealloc_000791a0)(piVar19,iVar18,1);\n        }\n        unaff_s5 = (int *)((int)unaff_s5 + 1);\n        piVar10 = unaff_s7;\n        (*(code *)PTR_memcpy_000798e0)((char *)((int)piVar19 + (int)piVar3));\n        iVar4 = 0;\n        cVar9 = *(char *)unaff_s5;\n        piVar3 = unaff_s4;\n        if (cVar9 == '\0') goto LAB_000434ac;\n      }\n      unaff_s5 = (int *)((int)unaff_s5 + 1);\n      iVar4 = iVar4 + 1;\n      unaff_s4 = piVar3;\n      cVar9 = *(char *)unaff_s5;\n    }" { (while_statement "while( true ) {\n        local_30[iVar4] = cVar9;\n        if (iVar4 + 1 != 4) break;\n        piVar20 = (int *)(*(code *)PTR_base64_decode_atom_000792d8)(unaff_s8,unaff_s7);\n        unaff_s4 = (int *)((int)piVar3 + (int)piVar20);\n        if (iVar18 < (int)unaff_s4) {\n          iVar18 = ((int)unaff_s4 * 5 >> 2) + 0x400;\n          piVar19 = (int *)(*(code *)PTR_saferealloc_000791a0)(piVar19,iVar18,1);\n        }\n        unaff_s5 = (int *)((int)unaff_s5 + 1);\n        piVar10 = unaff_s7;\n        (*(code *)PTR_memcpy_000798e0)((char *)((int)piVar19 + (int)piVar3));\n        iVar4 = 0;\n        cVar9 = *(char *)unaff_s5;\n        piVar3 = unaff_s4;\n        if (cVar9 == '\0') goto LAB_000434ac;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        local_30[iVar4] = cVar9;\n        if (iVar4 + 1 != 4) break;\n        piVar20 = (int *)(*(code *)PTR_base64_decode_atom_000792d8)(unaff_s8,unaff_s7);\n        unaff_s4 = (int *)((int)piVar3 + (int)piVar20);\n        if (iVar18 < (int)unaff_s4) {\n          iVar18 = ((int)unaff_s4 * 5 >> 2) + 0x400;\n          piVar19 = (int *)(*(code *)PTR_saferealloc_000791a0)(piVar19,iVar18,1);\n        }\n        unaff_s5 = (int *)((int)unaff_s5 + 1);\n        piVar10 = unaff_s7;\n        (*(code *)PTR_memcpy_000798e0)((char *)((int)piVar19 + (int)piVar3));\n        iVar4 = 0;\n        cVar9 = *(char *)unaff_s5;\n        piVar3 = unaff_s4;\n        if (cVar9 == '\0') goto LAB_000434ac;\n      }" { (expression_statement "local_30[iVar4] = cVar9;" (assignment_expression "local_30[iVar4] = cVar9" (subscript_expression "local_30[iVar4]" identifier [ identifier ]) = identifier) ;) (if_statement "if (iVar4 + 1 != 4) break;" if (parenthesized_expression "(iVar4 + 1 != 4)" ( (binary_expression "iVar4 + 1 != 4" (binary_expression "iVar4 + 1" identifier + number_literal) != number_literal) )) (break_statement "break;" break ;)) (expression_statement "piVar20 = (int *)(*(code *)PTR_base64_decode_atom_000792d8)(unaff_s8,unaff_s7);" (assignment_expression "piVar20 = (int *)(*(code *)PTR_base64_decode_atom_000792d8)(unaff_s8,unaff_s7)" identifier = (cast_expression "(int *)(*(code *)PTR_base64_decode_atom_000792d8)(unaff_s8,unaff_s7)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_base64_decode_atom_000792d8)(unaff_s8,unaff_s7)" (parenthesized_expression "(*(code *)PTR_base64_decode_atom_000792d8)" ( (pointer_expression "*(code *)PTR_base64_decode_atom_000792d8" * (cast_expression "(code *)PTR_base64_decode_atom_000792d8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s8,unaff_s7)" ( identifier , identifier ))))) ;) (expression_statement "unaff_s4 = (int *)((int)piVar3 + (int)piVar20);" (assignment_expression "unaff_s4 = (int *)((int)piVar3 + (int)piVar20)" identifier = (cast_expression "(int *)((int)piVar3 + (int)piVar20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar3 + (int)piVar20)" ( (binary_expression "(int)piVar3 + (int)piVar20" (cast_expression "(int)piVar3" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)piVar20" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (if_statement "if (iVar18 < (int)unaff_s4) {\n          iVar18 = ((int)unaff_s4 * 5 >> 2) + 0x400;\n          piVar19 = (int *)(*(code *)PTR_saferealloc_000791a0)(piVar19,iVar18,1);\n        }" if (parenthesized_expression "(iVar18 < (int)unaff_s4)" ( (binary_expression "iVar18 < (int)unaff_s4" identifier < (cast_expression "(int)unaff_s4" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          iVar18 = ((int)unaff_s4 * 5 >> 2) + 0x400;\n          piVar19 = (int *)(*(code *)PTR_saferealloc_000791a0)(piVar19,iVar18,1);\n        }" { (expression_statement "iVar18 = ((int)unaff_s4 * 5 >> 2) + 0x400;" (assignment_expression "iVar18 = ((int)unaff_s4 * 5 >> 2) + 0x400" identifier = (binary_expression "((int)unaff_s4 * 5 >> 2) + 0x400" (parenthesized_expression "((int)unaff_s4 * 5 >> 2)" ( (binary_expression "(int)unaff_s4 * 5 >> 2" (binary_expression "(int)unaff_s4 * 5" (cast_expression "(int)unaff_s4" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) >> number_literal) )) + number_literal)) ;) (expression_statement "piVar19 = (int *)(*(code *)PTR_saferealloc_000791a0)(piVar19,iVar18,1);" (assignment_expression "piVar19 = (int *)(*(code *)PTR_saferealloc_000791a0)(piVar19,iVar18,1)" identifier = (cast_expression "(int *)(*(code *)PTR_saferealloc_000791a0)(piVar19,iVar18,1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_saferealloc_000791a0)(piVar19,iVar18,1)" (parenthesized_expression "(*(code *)PTR_saferealloc_000791a0)" ( (pointer_expression "*(code *)PTR_saferealloc_000791a0" * (cast_expression "(code *)PTR_saferealloc_000791a0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar19,iVar18,1)" ( identifier , identifier , number_literal ))))) ;) })) (expression_statement "unaff_s5 = (int *)((int)unaff_s5 + 1);" (assignment_expression "unaff_s5 = (int *)((int)unaff_s5 + 1)" identifier = (cast_expression "(int *)((int)unaff_s5 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s5 + 1)" ( (binary_expression "(int)unaff_s5 + 1" (cast_expression "(int)unaff_s5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "piVar10 = unaff_s7;" (assignment_expression "piVar10 = unaff_s7" identifier = identifier) ;) (expression_statement "(*(code *)PTR_memcpy_000798e0)((char *)((int)piVar19 + (int)piVar3));" (call_expression "(*(code *)PTR_memcpy_000798e0)((char *)((int)piVar19 + (int)piVar3))" (parenthesized_expression "(*(code *)PTR_memcpy_000798e0)" ( (pointer_expression "*(code *)PTR_memcpy_000798e0" * (cast_expression "(code *)PTR_memcpy_000798e0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "((char *)((int)piVar19 + (int)piVar3))" ( (cast_expression "(char *)((int)piVar19 + (int)piVar3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar19 + (int)piVar3)" ( (binary_expression "(int)piVar19 + (int)piVar3" (cast_expression "(int)piVar19" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)piVar3" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ))) ;) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (expression_statement "cVar9 = *(char *)unaff_s5;" (assignment_expression "cVar9 = *(char *)unaff_s5" identifier = (pointer_expression "*(char *)unaff_s5" * (cast_expression "(char *)unaff_s5" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "piVar3 = unaff_s4;" (assignment_expression "piVar3 = unaff_s4" identifier = identifier) ;) (if_statement "if (cVar9 == '\0') goto LAB_000434ac;" if (parenthesized_expression "(cVar9 == '\0')" ( (binary_expression "cVar9 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000434ac;" goto statement_identifier ;)) })) (expression_statement "unaff_s5 = (int *)((int)unaff_s5 + 1);" (assignment_expression "unaff_s5 = (int *)((int)unaff_s5 + 1)" identifier = (cast_expression "(int *)((int)unaff_s5 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s5 + 1)" ( (binary_expression "(int)unaff_s5 + 1" (cast_expression "(int)unaff_s5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "iVar4 = iVar4 + 1;" (assignment_expression "iVar4 = iVar4 + 1" identifier = (binary_expression "iVar4 + 1" identifier + number_literal)) ;) (expression_statement "unaff_s4 = piVar3;" (assignment_expression "unaff_s4 = piVar3" identifier = identifier) ;) (expression_statement "cVar9 = *(char *)unaff_s5;" (assignment_expression "cVar9 = *(char *)unaff_s5" identifier = (pointer_expression "*(char *)unaff_s5" * (cast_expression "(char *)unaff_s5" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) })) (labeled_statement "LAB_000434ac:\n    (*(code *)PTR_safefree_000790f0)(piVar5);" statement_identifier : (expression_statement "(*(code *)PTR_safefree_000790f0)(piVar5);" (call_expression "(*(code *)PTR_safefree_000790f0)(piVar5)" (parenthesized_expression "(*(code *)PTR_safefree_000790f0)" ( (pointer_expression "*(code *)PTR_safefree_000790f0" * (cast_expression "(code *)PTR_safefree_000790f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar5)" ( identifier ))) ;)) (expression_statement "uVar2 = (*(code *)PTR_fgetline_00079538)(param_1);" (assignment_expression "uVar2 = (*(code *)PTR_fgetline_00079538)(param_1)" identifier = (call_expression "(*(code *)PTR_fgetline_00079538)(param_1)" (parenthesized_expression "(*(code *)PTR_fgetline_00079538)" ( (pointer_expression "*(code *)PTR_fgetline_00079538" * (cast_expression "(code *)PTR_fgetline_00079538" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "piVar5 = (int *)(*(code *)PTR_chomp_0007953c)(uVar2);" (assignment_expression "piVar5 = (int *)(*(code *)PTR_chomp_0007953c)(uVar2)" identifier = (cast_expression "(int *)(*(code *)PTR_chomp_0007953c)(uVar2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_chomp_0007953c)(uVar2)" (parenthesized_expression "(*(code *)PTR_chomp_0007953c)" ( (pointer_expression "*(code *)PTR_chomp_0007953c" * (cast_expression "(code *)PTR_chomp_0007953c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar2)" ( identifier ))))) ;) }) while (parenthesized_expression "(piVar5 != (int *)0x0)" ( (binary_expression "piVar5 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;)) (expression_statement "puVar17 = PTR_s_j_000790a8 + 0x4350;" (assignment_expression "puVar17 = PTR_s_j_000790a8 + 0x4350" identifier = (binary_expression "PTR_s_j_000790a8 + 0x4350" identifier + number_literal)) ;) (expression_statement "param_2 = piVar5;" (assignment_expression "param_2 = piVar5" identifier = identifier) ;) (labeled_statement "LAB_00043198:\n  (*(code *)PTR_safefree_000790f0)(param_2);" statement_identifier : (expression_statement "(*(code *)PTR_safefree_000790f0)(param_2);" (call_expression "(*(code *)PTR_safefree_000790f0)(param_2)" (parenthesized_expression "(*(code *)PTR_safefree_000790f0)" ( (pointer_expression "*(code *)PTR_safefree_000790f0" * (cast_expression "(code *)PTR_safefree_000790f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2)" ( identifier ))) ;)) (expression_statement "(*(code *)PTR_safefree_000790f0)(local_54);" (call_expression "(*(code *)PTR_safefree_000790f0)(local_54)" (parenthesized_expression "(*(code *)PTR_safefree_000790f0)" ( (pointer_expression "*(code *)PTR_safefree_000790f0" * (cast_expression "(code *)PTR_safefree_000790f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_54)" ( identifier ))) ;) (expression_statement "(*(code *)PTR_safefree_000790f0)(piVar19);" (call_expression "(*(code *)PTR_safefree_000790f0)(piVar19)" (parenthesized_expression "(*(code *)PTR_safefree_000790f0)" ( (pointer_expression "*(code *)PTR_safefree_000790f0" * (cast_expression "(code *)PTR_safefree_000790f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar19)" ( identifier ))) ;) (expression_statement "piVar5 = unaff_s5;" (assignment_expression "piVar5 = unaff_s5" identifier = identifier) ;) (if_statement "if (param_5 == (undefined4 *)0x0) {\n    piVar19 = (int *)0x0;\n  }\n  else {\n    piVar19 = (int *)0x0;\n    *param_5 = puVar17;\n  }" if (parenthesized_expression "(param_5 == (undefined4 *)0x0)" ( (binary_expression "param_5 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    piVar19 = (int *)0x0;\n  }" { (expression_statement "piVar19 = (int *)0x0;" (assignment_expression "piVar19 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n    piVar19 = (int *)0x0;\n    *param_5 = puVar17;\n  }" else (compound_statement "{\n    piVar19 = (int *)0x0;\n    *param_5 = puVar17;\n  }" { (expression_statement "piVar19 = (int *)0x0;" (assignment_expression "piVar19 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*param_5 = puVar17;" (assignment_expression "*param_5 = puVar17" (pointer_expression "*param_5" * identifier) = identifier) ;) }))) (labeled_statement "LAB_000431d8:\n  if (local_2c == *(int *)puVar22) {\n    return piVar19;\n  }" statement_identifier : (if_statement "if (local_2c == *(int *)puVar22) {\n    return piVar19;\n  }" if (parenthesized_expression "(local_2c == *(int *)puVar22)" ( (binary_expression "local_2c == *(int *)puVar22" identifier == (pointer_expression "*(int *)puVar22" * (cast_expression "(int *)puVar22" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return piVar19;\n  }" { (return_statement "return piVar19;" return identifier ;) }))) (expression_statement "pcVar23 = openssh_loadpub;" (assignment_expression "pcVar23 = openssh_loadpub" identifier = identifier) ;) (expression_statement "puVar22 = PTR___stack_chk_fail_000797f0;" (assignment_expression "puVar22 = PTR___stack_chk_fail_000797f0" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_000797f0)();" (call_expression "(*(code *)PTR___stack_chk_fail_000797f0)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000797f0)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_000797f0" * (cast_expression "(code *)PTR___stack_chk_fail_000797f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "piStack_a0 = (int *)(puVar22 + 0x3da44);" (assignment_expression "piStack_a0 = (int *)(puVar22 + 0x3da44)" identifier = (cast_expression "(int *)(puVar22 + 0x3da44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + 0x3da44)" ( (binary_expression "puVar22 + 0x3da44" identifier + number_literal) )))) ;) (expression_statement "piStack_98 = param_2;" (assignment_expression "piStack_98 = param_2" identifier = identifier) ;) (expression_statement "puStack_94 = puVar17;" (assignment_expression "puStack_94 = puVar17" identifier = identifier) ;) (expression_statement "piStack_90 = piVar19;" (assignment_expression "piStack_90 = piVar19" identifier = identifier) ;) (expression_statement "uStack_8c = param_1;" (assignment_expression "uStack_8c = param_1" identifier = identifier) ;) (expression_statement "piStack_88 = unaff_s4;" (assignment_expression "piStack_88 = unaff_s4" identifier = identifier) ;) (expression_statement "piStack_84 = piVar5;" (assignment_expression "piStack_84 = piVar5" identifier = identifier) ;) (expression_statement "piStack_80 = unaff_s6;" (assignment_expression "piStack_80 = unaff_s6" identifier = identifier) ;) (expression_statement "piStack_7c = unaff_s7;" (assignment_expression "piStack_7c = unaff_s7" identifier = identifier) ;) (expression_statement "pcStack_78 = unaff_s8;" (assignment_expression "pcStack_78 = unaff_s8" identifier = identifier) ;) (expression_statement "pcStack_74 = pcVar23;" (assignment_expression "pcStack_74 = pcVar23" identifier = identifier) ;) (expression_statement "uVar2 = (**(code **)(puVar22 + 0x35f0c))();" (assignment_expression "uVar2 = (**(code **)(puVar22 + 0x35f0c))()" identifier = (call_expression "(**(code **)(puVar22 + 0x35f0c))()" (parenthesized_expression "(**(code **)(puVar22 + 0x35f0c))" ( (pointer_expression "**(code **)(puVar22 + 0x35f0c)" * (pointer_expression "*(code **)(puVar22 + 0x35f0c)" * (cast_expression "(code **)(puVar22 + 0x35f0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + 0x35f0c)" ( (binary_expression "puVar22 + 0x35f0c" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "uVar2 = (*(code *)piStack_a0[-0x1ecd])(uVar2);" (assignment_expression "uVar2 = (*(code *)piStack_a0[-0x1ecd])(uVar2)" identifier = (call_expression "(*(code *)piStack_a0[-0x1ecd])(uVar2)" (parenthesized_expression "(*(code *)piStack_a0[-0x1ecd])" ( (pointer_expression "*(code *)piStack_a0[-0x1ecd]" * (cast_expression "(code *)piStack_a0[-0x1ecd]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piStack_a0[-0x1ecd]" identifier [ number_literal ]))) )) (argument_list "(uVar2)" ( identifier )))) ;) (expression_statement "puVar6 = (undefined1 *)(*(code *)piStack_a0[-0x1e0f])(uVar2,0x20);" (assignment_expression "puVar6 = (undefined1 *)(*(code *)piStack_a0[-0x1e0f])(uVar2,0x20)" identifier = (cast_expression "(undefined1 *)(*(code *)piStack_a0[-0x1e0f])(uVar2,0x20)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)piStack_a0[-0x1e0f])(uVar2,0x20)" (parenthesized_expression "(*(code *)piStack_a0[-0x1e0f])" ( (pointer_expression "*(code *)piStack_a0[-0x1e0f]" * (cast_expression "(code *)piStack_a0[-0x1e0f]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piStack_a0[-0x1e0f]" identifier [ number_literal ]))) )) (argument_list "(uVar2,0x20)" ( identifier , number_literal ))))) ;) (if_statement "if (puVar6 == (undefined1 *)0x0) {\n    piVar3 = (int *)0x0;\n    iVar4 = piStack_a0[-0x1ff2] + 0x4490;\n    puVar6 = (undefined1 *)0x0;\n  }\n  else {\n    pcVar23 = (code *)piStack_a0[-0x1e0f];\n    pcVar15 = puVar6 + 1;\n    *puVar6 = 0;\n    puVar6 = (undefined1 *)(*pcVar23)(pcVar15,0x20);\n    if (puVar6 != (undefined1 *)0x0) {\n      pcVar23 = (code *)piStack_a0[-0x1fdd];\n      *puVar6 = 0;\n      puVar6 = (undefined1 *)(*pcVar23)(puVar6 + 1);\n    }\n    iVar18 = 0;\n    uVar7 = (*(code *)piStack_a0[-0x1de8])(pcVar15);\n    iVar4 = (uVar7 >> 2) * 3;\n    piVar3 = (int *)(*(code *)piStack_a0[-0x1fe8])(iVar4,1);\n    while (iVar8 = (*(code *)piStack_a0[-0x1df7])(pcVar15,0,4), iVar8 == 0) {\n      if (iVar4 <= iVar18 + 2) {\n        puVar12 = (undefined4 *)&DAT_00000441;\n        pcVar23 = (code *)piStack_a0[-0x1e6c];\n        piVar14 = (int *)(piStack_a0[-0x1ff2] + 0x4800);\n        piVar11 = (int *)(piStack_a0[-0x1ff2] + 0x4034);\n        pcVar24 = ssh2_userkey_loadpub;\n        (*pcVar23)(piStack_a0[-0x1ff2] + 0x44b8);\n        piVar5 = piStack_a0;\n        pcStack_118 = pcVar23 + 0x3d74c;\n        piVar16 = *(int **)(pcVar23 + 0x3600c);\n        piVar19 = (int *)(*(int *)(pcVar23 + 0x35784) + 0x4078);\n        iStack_dc = *piVar16;\n        pcStack_d8 = pcVar15;\n        iStack_d4 = iVar18;\n        piStack_d0 = piVar3;\n        iStack_cc = iVar4;\n        puStack_c8 = puVar6;\n        uStack_c4 = uVar2;\n        piStack_c0 = piVar13;\n        piStack_bc = piVar20;\n        piStack_b8 = piVar10;\n        pcStack_b4 = pcVar24;\n        piVar10 = (int *)f_open();\n        if (piVar10 == (int *)0x0) {\n          if (piVar5 != (int *)0x0) {\n            *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x407c;\n          }\nLAB_000439f4:\n          piVar21 = (int *)0x0;\n          piVar10 = piVar20;\n        }\n        else {\n          iVar4 = FUN_00041f60(piVar10);\n          if (iVar4 == 9) {\n            pcVar23 = *(code **)(pcStack_118 + -0x7b14);\n          }\n          else {\n            if (iVar4 != 10) {\n              piVar20 = piVar10;\n              if (iVar4 != 3) {\nLAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }\n                goto LAB_000439f4;\n              }\n              piVar13 = aiStack_104;\n              iVar4 = FUN_00040db0(piVar10,piVar13);\n              if (iVar4 == 0) {\nLAB_00043cc0:\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);\n                iVar4 = (**(code **)(pcStack_118 + -0x78ac))(piVar13,piVar19,0x14);\n                if (iVar4 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                  if (piVar5 != (int *)0x0) {\n                    *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }\n                goto LAB_000439d4;\n              }\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214);\n              iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if (iVar4 != 0) {\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);\n                iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                if (iVar4 != 0) goto LAB_00043cc0;\n              }\n              pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74);\n              piVar3 = (int *)FUN_00040e74(piVar10);\n              if (piVar3 == (int *)0x0) {\nLAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                goto LAB_000439f4;\n              }\n              uVar2 = (**(code **)(pcStack_118 + -0x77a0))(piVar3);\n              piVar19 = piVar3;\n              iVar4 = find_pubkey_alg_len(uVar2);\n              (**(code **)(pcStack_118 + -0x7f80))(piVar3);\n              if ((iVar4 == 0) || (piVar19 = piVar13, iVar18 = FUN_00040db0(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) || (iVar18 = (*pcStack_110)(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n              piVar19 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              if (iVar18 == 0) goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) ||\n                 (pcVar23 = (code *)(*pcStack_110)(piVar10), pcVar23 == (code *)0x0))\n              goto LAB_00043c9c;\n              pcStack_10c = pcVar23;\n              if (piVar14 == (int *)0x0) {\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n              }\n              else {\n                *piVar14 = (int)pcVar23;\n              }\n              piVar3 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              pcVar23 = pcStack_10c;\n              if (iVar18 == 0) {\nLAB_00043d58:\n                piVar19 = piVar3;\n                pcStack_110 = pcVar23;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                if (piVar14 == (int *)0x0) goto LAB_000439f4;\n                piVar21 = (int *)0x0;\n                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);\n                *piVar14 = 0;\n              }\n              else {\n                piVar3 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                pcVar23 = pcStack_10c;\n                if ((iVar18 != 0) ||\n                   (iVar18 = (*pcStack_110)(piVar10), pcVar23 = pcStack_10c, iVar18 == 0))\n                goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                piVar19 = (int *)FUN_00040d14(iVar18);\n                (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n                pcVar23 = pcStack_110;\n                if (((int)piVar19 < 0) ||\n                   (piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108), piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (puVar12 != (undefined4 *)0x0) {\n                  *puVar12 = uStack_108;\n                }\n                if (piVar11 != (int *)0x0) {\n                  iVar4 = (**(code **)(pcStack_118 + -0x7f74))(*(undefined4 *)(iVar4 + 0x30));\n                  *piVar11 = iVar4;\n                }\n              }\n              goto LAB_000439f8;\n            }\n            pcVar23 = *(code **)(pcStack_118 + -0x7b10);\n          }\n          piStack_120 = piVar5;\n          piVar19 = piVar11;\n          piVar21 = (int *)(*pcVar23)(piVar10,piVar11,puVar12,piVar14);\n          (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n        }\nLAB_000439f8:\n        if (iStack_dc == *piVar16) {\n          return piVar21;\n        }\n        pcVar23 = *(code **)(pcStack_118 + -0x7880);\n        pcVar24 = ssh2_userkey_encrypted;\n        (*pcVar23)();\n        piVar20 = *(int **)(pcVar23 + 0x35b70);\n        piStack_150 = piVar5;\n        iStack_15c = *piVar20;\n        if (piVar19 != (int *)0x0) {\n          *piVar19 = 0;\n        }\n        piStack_154 = piVar16;\n        piStack_14c = piVar14;\n        piStack_148 = piVar11;\n        puStack_144 = puVar12;\n        piStack_140 = piVar21;\n        piStack_13c = piVar13;\n        piStack_138 = piVar10;\n        pcStack_134 = pcVar24;\n        iVar4 = f_open();\n        if (iVar4 == 0) {\n          piVar10 = (int *)0x0;\n        }\n        else {\n          iVar18 = FUN_00040db0(iVar4,auStack_184);\n          if ((iVar18 != 0) &&\n             (((iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4214), iVar18 == 0\n               || (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                      (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c),\n                  iVar18 == 0)) && (iVar18 = FUN_00040e74(iVar4), iVar18 != 0)))) {\n            (**(code **)(pcVar23 + 0x35330))(iVar18);\n            iVar18 = FUN_00040db0(iVar4,auStack_184);\n            if ((iVar18 != 0) &&\n               (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4244), iVar18 == 0))\n            {\n              iVar18 = FUN_00040e74(iVar4);\n              if (iVar18 == 0) {\n                (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                piVar10 = (int *)0x0;\n              }\n              else {\n                iVar8 = FUN_00040db0(iVar4,auStack_184);\n                if (((iVar8 == 0) ||\n                    (iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0)) || (iVar8 = FUN_00040e74(iVar4), iVar8 == 0)) {\n                  piVar10 = (int *)0x1;\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n                else {\n                  if (piVar19 == (int *)0x0) {\n                    (**(code **)(pcVar23 + 0x35330))(iVar8);\n                  }\n                  else {\n                    *piVar19 = iVar8;\n                  }\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  iVar4 = (**(code **)(pcVar23 + 0x35ae4))\n                                    (iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4);\n                  piVar10 = (int *)(uint)(iVar4 == 0);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n              }\n              goto LAB_00043f04;\n            }\n          }\n          piVar10 = (int *)0x0;\n          (**(code **)(pcVar23 + 0x35acc))(iVar4);\n        }\nLAB_00043f04:\n        if (iStack_15c != *piVar20) {\n          (**(code **)(pcVar23 + 0x35a30))();\n          return (int *)((iStack_15c + 0x2f) / 0x30);\n        }\n        return piVar10;\n      }\n      iVar8 = (*(code *)piStack_a0[-0x1f66])(pcVar15,(int)piVar3 + iVar18);\n      iVar18 = iVar18 + iVar8;\n      pcVar15 = pcVar15 + 4;\n    }\n    if (*pcVar15 == '\0') {\n      iVar4 = (*(code *)piStack_a0[-0x1de8])(uVar2);\n      if (((iVar4 + 3 < iVar18) && (iVar4 == *piVar3)) &&\n         (iVar4 = (*(code *)piStack_a0[-0x1dfd])(piVar3 + 1,uVar2,iVar4), iVar4 == 0)) {\n        if (piVar10 != (int *)0x0) {\n          iVar4 = (*(code *)piStack_a0[-0x1fdd])(uVar2);\n          *piVar10 = iVar4;\n        }\n        if (piVar20 != (int *)0x0) {\n          *piVar20 = iVar18;\n        }\n        if (piVar13 == (int *)0x0) {\n          (*(code *)piStack_a0[-0x1fe0])(puVar6);\n        }\n        else {\n          *piVar13 = (int)puVar6;\n        }\n        (*(code *)piStack_a0[-0x1fe0])(uVar2);\n        return piVar3;\n      }\n      iVar4 = piStack_a0[-0x1ff2] + 0x441c;\n    }\n    else {\n      iVar4 = piStack_a0[-0x1ff2] + 0x4454;\n    }\n  }" if (parenthesized_expression "(puVar6 == (undefined1 *)0x0)" ( (binary_expression "puVar6 == (undefined1 *)0x0" identifier == (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    piVar3 = (int *)0x0;\n    iVar4 = piStack_a0[-0x1ff2] + 0x4490;\n    puVar6 = (undefined1 *)0x0;\n  }" { (expression_statement "piVar3 = (int *)0x0;" (assignment_expression "piVar3 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar4 = piStack_a0[-0x1ff2] + 0x4490;" (assignment_expression "iVar4 = piStack_a0[-0x1ff2] + 0x4490" identifier = (binary_expression "piStack_a0[-0x1ff2] + 0x4490" (subscript_expression "piStack_a0[-0x1ff2]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "puVar6 = (undefined1 *)0x0;" (assignment_expression "puVar6 = (undefined1 *)0x0" identifier = (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n    pcVar23 = (code *)piStack_a0[-0x1e0f];\n    pcVar15 = puVar6 + 1;\n    *puVar6 = 0;\n    puVar6 = (undefined1 *)(*pcVar23)(pcVar15,0x20);\n    if (puVar6 != (undefined1 *)0x0) {\n      pcVar23 = (code *)piStack_a0[-0x1fdd];\n      *puVar6 = 0;\n      puVar6 = (undefined1 *)(*pcVar23)(puVar6 + 1);\n    }\n    iVar18 = 0;\n    uVar7 = (*(code *)piStack_a0[-0x1de8])(pcVar15);\n    iVar4 = (uVar7 >> 2) * 3;\n    piVar3 = (int *)(*(code *)piStack_a0[-0x1fe8])(iVar4,1);\n    while (iVar8 = (*(code *)piStack_a0[-0x1df7])(pcVar15,0,4), iVar8 == 0) {\n      if (iVar4 <= iVar18 + 2) {\n        puVar12 = (undefined4 *)&DAT_00000441;\n        pcVar23 = (code *)piStack_a0[-0x1e6c];\n        piVar14 = (int *)(piStack_a0[-0x1ff2] + 0x4800);\n        piVar11 = (int *)(piStack_a0[-0x1ff2] + 0x4034);\n        pcVar24 = ssh2_userkey_loadpub;\n        (*pcVar23)(piStack_a0[-0x1ff2] + 0x44b8);\n        piVar5 = piStack_a0;\n        pcStack_118 = pcVar23 + 0x3d74c;\n        piVar16 = *(int **)(pcVar23 + 0x3600c);\n        piVar19 = (int *)(*(int *)(pcVar23 + 0x35784) + 0x4078);\n        iStack_dc = *piVar16;\n        pcStack_d8 = pcVar15;\n        iStack_d4 = iVar18;\n        piStack_d0 = piVar3;\n        iStack_cc = iVar4;\n        puStack_c8 = puVar6;\n        uStack_c4 = uVar2;\n        piStack_c0 = piVar13;\n        piStack_bc = piVar20;\n        piStack_b8 = piVar10;\n        pcStack_b4 = pcVar24;\n        piVar10 = (int *)f_open();\n        if (piVar10 == (int *)0x0) {\n          if (piVar5 != (int *)0x0) {\n            *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x407c;\n          }\nLAB_000439f4:\n          piVar21 = (int *)0x0;\n          piVar10 = piVar20;\n        }\n        else {\n          iVar4 = FUN_00041f60(piVar10);\n          if (iVar4 == 9) {\n            pcVar23 = *(code **)(pcStack_118 + -0x7b14);\n          }\n          else {\n            if (iVar4 != 10) {\n              piVar20 = piVar10;\n              if (iVar4 != 3) {\nLAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }\n                goto LAB_000439f4;\n              }\n              piVar13 = aiStack_104;\n              iVar4 = FUN_00040db0(piVar10,piVar13);\n              if (iVar4 == 0) {\nLAB_00043cc0:\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);\n                iVar4 = (**(code **)(pcStack_118 + -0x78ac))(piVar13,piVar19,0x14);\n                if (iVar4 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                  if (piVar5 != (int *)0x0) {\n                    *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }\n                goto LAB_000439d4;\n              }\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214);\n              iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if (iVar4 != 0) {\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);\n                iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                if (iVar4 != 0) goto LAB_00043cc0;\n              }\n              pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74);\n              piVar3 = (int *)FUN_00040e74(piVar10);\n              if (piVar3 == (int *)0x0) {\nLAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                goto LAB_000439f4;\n              }\n              uVar2 = (**(code **)(pcStack_118 + -0x77a0))(piVar3);\n              piVar19 = piVar3;\n              iVar4 = find_pubkey_alg_len(uVar2);\n              (**(code **)(pcStack_118 + -0x7f80))(piVar3);\n              if ((iVar4 == 0) || (piVar19 = piVar13, iVar18 = FUN_00040db0(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) || (iVar18 = (*pcStack_110)(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n              piVar19 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              if (iVar18 == 0) goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) ||\n                 (pcVar23 = (code *)(*pcStack_110)(piVar10), pcVar23 == (code *)0x0))\n              goto LAB_00043c9c;\n              pcStack_10c = pcVar23;\n              if (piVar14 == (int *)0x0) {\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n              }\n              else {\n                *piVar14 = (int)pcVar23;\n              }\n              piVar3 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              pcVar23 = pcStack_10c;\n              if (iVar18 == 0) {\nLAB_00043d58:\n                piVar19 = piVar3;\n                pcStack_110 = pcVar23;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                if (piVar14 == (int *)0x0) goto LAB_000439f4;\n                piVar21 = (int *)0x0;\n                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);\n                *piVar14 = 0;\n              }\n              else {\n                piVar3 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                pcVar23 = pcStack_10c;\n                if ((iVar18 != 0) ||\n                   (iVar18 = (*pcStack_110)(piVar10), pcVar23 = pcStack_10c, iVar18 == 0))\n                goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                piVar19 = (int *)FUN_00040d14(iVar18);\n                (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n                pcVar23 = pcStack_110;\n                if (((int)piVar19 < 0) ||\n                   (piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108), piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (puVar12 != (undefined4 *)0x0) {\n                  *puVar12 = uStack_108;\n                }\n                if (piVar11 != (int *)0x0) {\n                  iVar4 = (**(code **)(pcStack_118 + -0x7f74))(*(undefined4 *)(iVar4 + 0x30));\n                  *piVar11 = iVar4;\n                }\n              }\n              goto LAB_000439f8;\n            }\n            pcVar23 = *(code **)(pcStack_118 + -0x7b10);\n          }\n          piStack_120 = piVar5;\n          piVar19 = piVar11;\n          piVar21 = (int *)(*pcVar23)(piVar10,piVar11,puVar12,piVar14);\n          (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n        }\nLAB_000439f8:\n        if (iStack_dc == *piVar16) {\n          return piVar21;\n        }\n        pcVar23 = *(code **)(pcStack_118 + -0x7880);\n        pcVar24 = ssh2_userkey_encrypted;\n        (*pcVar23)();\n        piVar20 = *(int **)(pcVar23 + 0x35b70);\n        piStack_150 = piVar5;\n        iStack_15c = *piVar20;\n        if (piVar19 != (int *)0x0) {\n          *piVar19 = 0;\n        }\n        piStack_154 = piVar16;\n        piStack_14c = piVar14;\n        piStack_148 = piVar11;\n        puStack_144 = puVar12;\n        piStack_140 = piVar21;\n        piStack_13c = piVar13;\n        piStack_138 = piVar10;\n        pcStack_134 = pcVar24;\n        iVar4 = f_open();\n        if (iVar4 == 0) {\n          piVar10 = (int *)0x0;\n        }\n        else {\n          iVar18 = FUN_00040db0(iVar4,auStack_184);\n          if ((iVar18 != 0) &&\n             (((iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4214), iVar18 == 0\n               || (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                      (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c),\n                  iVar18 == 0)) && (iVar18 = FUN_00040e74(iVar4), iVar18 != 0)))) {\n            (**(code **)(pcVar23 + 0x35330))(iVar18);\n            iVar18 = FUN_00040db0(iVar4,auStack_184);\n            if ((iVar18 != 0) &&\n               (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4244), iVar18 == 0))\n            {\n              iVar18 = FUN_00040e74(iVar4);\n              if (iVar18 == 0) {\n                (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                piVar10 = (int *)0x0;\n              }\n              else {\n                iVar8 = FUN_00040db0(iVar4,auStack_184);\n                if (((iVar8 == 0) ||\n                    (iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0)) || (iVar8 = FUN_00040e74(iVar4), iVar8 == 0)) {\n                  piVar10 = (int *)0x1;\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n                else {\n                  if (piVar19 == (int *)0x0) {\n                    (**(code **)(pcVar23 + 0x35330))(iVar8);\n                  }\n                  else {\n                    *piVar19 = iVar8;\n                  }\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  iVar4 = (**(code **)(pcVar23 + 0x35ae4))\n                                    (iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4);\n                  piVar10 = (int *)(uint)(iVar4 == 0);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n              }\n              goto LAB_00043f04;\n            }\n          }\n          piVar10 = (int *)0x0;\n          (**(code **)(pcVar23 + 0x35acc))(iVar4);\n        }\nLAB_00043f04:\n        if (iStack_15c != *piVar20) {\n          (**(code **)(pcVar23 + 0x35a30))();\n          return (int *)((iStack_15c + 0x2f) / 0x30);\n        }\n        return piVar10;\n      }\n      iVar8 = (*(code *)piStack_a0[-0x1f66])(pcVar15,(int)piVar3 + iVar18);\n      iVar18 = iVar18 + iVar8;\n      pcVar15 = pcVar15 + 4;\n    }\n    if (*pcVar15 == '\0') {\n      iVar4 = (*(code *)piStack_a0[-0x1de8])(uVar2);\n      if (((iVar4 + 3 < iVar18) && (iVar4 == *piVar3)) &&\n         (iVar4 = (*(code *)piStack_a0[-0x1dfd])(piVar3 + 1,uVar2,iVar4), iVar4 == 0)) {\n        if (piVar10 != (int *)0x0) {\n          iVar4 = (*(code *)piStack_a0[-0x1fdd])(uVar2);\n          *piVar10 = iVar4;\n        }\n        if (piVar20 != (int *)0x0) {\n          *piVar20 = iVar18;\n        }\n        if (piVar13 == (int *)0x0) {\n          (*(code *)piStack_a0[-0x1fe0])(puVar6);\n        }\n        else {\n          *piVar13 = (int)puVar6;\n        }\n        (*(code *)piStack_a0[-0x1fe0])(uVar2);\n        return piVar3;\n      }\n      iVar4 = piStack_a0[-0x1ff2] + 0x441c;\n    }\n    else {\n      iVar4 = piStack_a0[-0x1ff2] + 0x4454;\n    }\n  }" else (compound_statement "{\n    pcVar23 = (code *)piStack_a0[-0x1e0f];\n    pcVar15 = puVar6 + 1;\n    *puVar6 = 0;\n    puVar6 = (undefined1 *)(*pcVar23)(pcVar15,0x20);\n    if (puVar6 != (undefined1 *)0x0) {\n      pcVar23 = (code *)piStack_a0[-0x1fdd];\n      *puVar6 = 0;\n      puVar6 = (undefined1 *)(*pcVar23)(puVar6 + 1);\n    }\n    iVar18 = 0;\n    uVar7 = (*(code *)piStack_a0[-0x1de8])(pcVar15);\n    iVar4 = (uVar7 >> 2) * 3;\n    piVar3 = (int *)(*(code *)piStack_a0[-0x1fe8])(iVar4,1);\n    while (iVar8 = (*(code *)piStack_a0[-0x1df7])(pcVar15,0,4), iVar8 == 0) {\n      if (iVar4 <= iVar18 + 2) {\n        puVar12 = (undefined4 *)&DAT_00000441;\n        pcVar23 = (code *)piStack_a0[-0x1e6c];\n        piVar14 = (int *)(piStack_a0[-0x1ff2] + 0x4800);\n        piVar11 = (int *)(piStack_a0[-0x1ff2] + 0x4034);\n        pcVar24 = ssh2_userkey_loadpub;\n        (*pcVar23)(piStack_a0[-0x1ff2] + 0x44b8);\n        piVar5 = piStack_a0;\n        pcStack_118 = pcVar23 + 0x3d74c;\n        piVar16 = *(int **)(pcVar23 + 0x3600c);\n        piVar19 = (int *)(*(int *)(pcVar23 + 0x35784) + 0x4078);\n        iStack_dc = *piVar16;\n        pcStack_d8 = pcVar15;\n        iStack_d4 = iVar18;\n        piStack_d0 = piVar3;\n        iStack_cc = iVar4;\n        puStack_c8 = puVar6;\n        uStack_c4 = uVar2;\n        piStack_c0 = piVar13;\n        piStack_bc = piVar20;\n        piStack_b8 = piVar10;\n        pcStack_b4 = pcVar24;\n        piVar10 = (int *)f_open();\n        if (piVar10 == (int *)0x0) {\n          if (piVar5 != (int *)0x0) {\n            *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x407c;\n          }\nLAB_000439f4:\n          piVar21 = (int *)0x0;\n          piVar10 = piVar20;\n        }\n        else {\n          iVar4 = FUN_00041f60(piVar10);\n          if (iVar4 == 9) {\n            pcVar23 = *(code **)(pcStack_118 + -0x7b14);\n          }\n          else {\n            if (iVar4 != 10) {\n              piVar20 = piVar10;\n              if (iVar4 != 3) {\nLAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }\n                goto LAB_000439f4;\n              }\n              piVar13 = aiStack_104;\n              iVar4 = FUN_00040db0(piVar10,piVar13);\n              if (iVar4 == 0) {\nLAB_00043cc0:\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);\n                iVar4 = (**(code **)(pcStack_118 + -0x78ac))(piVar13,piVar19,0x14);\n                if (iVar4 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                  if (piVar5 != (int *)0x0) {\n                    *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }\n                goto LAB_000439d4;\n              }\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214);\n              iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if (iVar4 != 0) {\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);\n                iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                if (iVar4 != 0) goto LAB_00043cc0;\n              }\n              pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74);\n              piVar3 = (int *)FUN_00040e74(piVar10);\n              if (piVar3 == (int *)0x0) {\nLAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                goto LAB_000439f4;\n              }\n              uVar2 = (**(code **)(pcStack_118 + -0x77a0))(piVar3);\n              piVar19 = piVar3;\n              iVar4 = find_pubkey_alg_len(uVar2);\n              (**(code **)(pcStack_118 + -0x7f80))(piVar3);\n              if ((iVar4 == 0) || (piVar19 = piVar13, iVar18 = FUN_00040db0(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) || (iVar18 = (*pcStack_110)(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n              piVar19 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              if (iVar18 == 0) goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) ||\n                 (pcVar23 = (code *)(*pcStack_110)(piVar10), pcVar23 == (code *)0x0))\n              goto LAB_00043c9c;\n              pcStack_10c = pcVar23;\n              if (piVar14 == (int *)0x0) {\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n              }\n              else {\n                *piVar14 = (int)pcVar23;\n              }\n              piVar3 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              pcVar23 = pcStack_10c;\n              if (iVar18 == 0) {\nLAB_00043d58:\n                piVar19 = piVar3;\n                pcStack_110 = pcVar23;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                if (piVar14 == (int *)0x0) goto LAB_000439f4;\n                piVar21 = (int *)0x0;\n                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);\n                *piVar14 = 0;\n              }\n              else {\n                piVar3 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                pcVar23 = pcStack_10c;\n                if ((iVar18 != 0) ||\n                   (iVar18 = (*pcStack_110)(piVar10), pcVar23 = pcStack_10c, iVar18 == 0))\n                goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                piVar19 = (int *)FUN_00040d14(iVar18);\n                (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n                pcVar23 = pcStack_110;\n                if (((int)piVar19 < 0) ||\n                   (piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108), piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (puVar12 != (undefined4 *)0x0) {\n                  *puVar12 = uStack_108;\n                }\n                if (piVar11 != (int *)0x0) {\n                  iVar4 = (**(code **)(pcStack_118 + -0x7f74))(*(undefined4 *)(iVar4 + 0x30));\n                  *piVar11 = iVar4;\n                }\n              }\n              goto LAB_000439f8;\n            }\n            pcVar23 = *(code **)(pcStack_118 + -0x7b10);\n          }\n          piStack_120 = piVar5;\n          piVar19 = piVar11;\n          piVar21 = (int *)(*pcVar23)(piVar10,piVar11,puVar12,piVar14);\n          (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n        }\nLAB_000439f8:\n        if (iStack_dc == *piVar16) {\n          return piVar21;\n        }\n        pcVar23 = *(code **)(pcStack_118 + -0x7880);\n        pcVar24 = ssh2_userkey_encrypted;\n        (*pcVar23)();\n        piVar20 = *(int **)(pcVar23 + 0x35b70);\n        piStack_150 = piVar5;\n        iStack_15c = *piVar20;\n        if (piVar19 != (int *)0x0) {\n          *piVar19 = 0;\n        }\n        piStack_154 = piVar16;\n        piStack_14c = piVar14;\n        piStack_148 = piVar11;\n        puStack_144 = puVar12;\n        piStack_140 = piVar21;\n        piStack_13c = piVar13;\n        piStack_138 = piVar10;\n        pcStack_134 = pcVar24;\n        iVar4 = f_open();\n        if (iVar4 == 0) {\n          piVar10 = (int *)0x0;\n        }\n        else {\n          iVar18 = FUN_00040db0(iVar4,auStack_184);\n          if ((iVar18 != 0) &&\n             (((iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4214), iVar18 == 0\n               || (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                      (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c),\n                  iVar18 == 0)) && (iVar18 = FUN_00040e74(iVar4), iVar18 != 0)))) {\n            (**(code **)(pcVar23 + 0x35330))(iVar18);\n            iVar18 = FUN_00040db0(iVar4,auStack_184);\n            if ((iVar18 != 0) &&\n               (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4244), iVar18 == 0))\n            {\n              iVar18 = FUN_00040e74(iVar4);\n              if (iVar18 == 0) {\n                (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                piVar10 = (int *)0x0;\n              }\n              else {\n                iVar8 = FUN_00040db0(iVar4,auStack_184);\n                if (((iVar8 == 0) ||\n                    (iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0)) || (iVar8 = FUN_00040e74(iVar4), iVar8 == 0)) {\n                  piVar10 = (int *)0x1;\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n                else {\n                  if (piVar19 == (int *)0x0) {\n                    (**(code **)(pcVar23 + 0x35330))(iVar8);\n                  }\n                  else {\n                    *piVar19 = iVar8;\n                  }\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  iVar4 = (**(code **)(pcVar23 + 0x35ae4))\n                                    (iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4);\n                  piVar10 = (int *)(uint)(iVar4 == 0);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n              }\n              goto LAB_00043f04;\n            }\n          }\n          piVar10 = (int *)0x0;\n          (**(code **)(pcVar23 + 0x35acc))(iVar4);\n        }\nLAB_00043f04:\n        if (iStack_15c != *piVar20) {\n          (**(code **)(pcVar23 + 0x35a30))();\n          return (int *)((iStack_15c + 0x2f) / 0x30);\n        }\n        return piVar10;\n      }\n      iVar8 = (*(code *)piStack_a0[-0x1f66])(pcVar15,(int)piVar3 + iVar18);\n      iVar18 = iVar18 + iVar8;\n      pcVar15 = pcVar15 + 4;\n    }\n    if (*pcVar15 == '\0') {\n      iVar4 = (*(code *)piStack_a0[-0x1de8])(uVar2);\n      if (((iVar4 + 3 < iVar18) && (iVar4 == *piVar3)) &&\n         (iVar4 = (*(code *)piStack_a0[-0x1dfd])(piVar3 + 1,uVar2,iVar4), iVar4 == 0)) {\n        if (piVar10 != (int *)0x0) {\n          iVar4 = (*(code *)piStack_a0[-0x1fdd])(uVar2);\n          *piVar10 = iVar4;\n        }\n        if (piVar20 != (int *)0x0) {\n          *piVar20 = iVar18;\n        }\n        if (piVar13 == (int *)0x0) {\n          (*(code *)piStack_a0[-0x1fe0])(puVar6);\n        }\n        else {\n          *piVar13 = (int)puVar6;\n        }\n        (*(code *)piStack_a0[-0x1fe0])(uVar2);\n        return piVar3;\n      }\n      iVar4 = piStack_a0[-0x1ff2] + 0x441c;\n    }\n    else {\n      iVar4 = piStack_a0[-0x1ff2] + 0x4454;\n    }\n  }" { (expression_statement "pcVar23 = (code *)piStack_a0[-0x1e0f];" (assignment_expression "pcVar23 = (code *)piStack_a0[-0x1e0f]" identifier = (cast_expression "(code *)piStack_a0[-0x1e0f]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piStack_a0[-0x1e0f]" identifier [ number_literal ]))) ;) (expression_statement "pcVar15 = puVar6 + 1;" (assignment_expression "pcVar15 = puVar6 + 1" identifier = (binary_expression "puVar6 + 1" identifier + number_literal)) ;) (expression_statement "*puVar6 = 0;" (assignment_expression "*puVar6 = 0" (pointer_expression "*puVar6" * identifier) = number_literal) ;) (expression_statement "puVar6 = (undefined1 *)(*pcVar23)(pcVar15,0x20);" (assignment_expression "puVar6 = (undefined1 *)(*pcVar23)(pcVar15,0x20)" identifier = (cast_expression "(undefined1 *)(*pcVar23)(pcVar15,0x20)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar23)(pcVar15,0x20)" (parenthesized_expression "(*pcVar23)" ( (pointer_expression "*pcVar23" * identifier) )) (argument_list "(pcVar15,0x20)" ( identifier , number_literal ))))) ;) (if_statement "if (puVar6 != (undefined1 *)0x0) {\n      pcVar23 = (code *)piStack_a0[-0x1fdd];\n      *puVar6 = 0;\n      puVar6 = (undefined1 *)(*pcVar23)(puVar6 + 1);\n    }" if (parenthesized_expression "(puVar6 != (undefined1 *)0x0)" ( (binary_expression "puVar6 != (undefined1 *)0x0" identifier != (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pcVar23 = (code *)piStack_a0[-0x1fdd];\n      *puVar6 = 0;\n      puVar6 = (undefined1 *)(*pcVar23)(puVar6 + 1);\n    }" { (expression_statement "pcVar23 = (code *)piStack_a0[-0x1fdd];" (assignment_expression "pcVar23 = (code *)piStack_a0[-0x1fdd]" identifier = (cast_expression "(code *)piStack_a0[-0x1fdd]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piStack_a0[-0x1fdd]" identifier [ number_literal ]))) ;) (expression_statement "*puVar6 = 0;" (assignment_expression "*puVar6 = 0" (pointer_expression "*puVar6" * identifier) = number_literal) ;) (expression_statement "puVar6 = (undefined1 *)(*pcVar23)(puVar6 + 1);" (assignment_expression "puVar6 = (undefined1 *)(*pcVar23)(puVar6 + 1)" identifier = (cast_expression "(undefined1 *)(*pcVar23)(puVar6 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar23)(puVar6 + 1)" (parenthesized_expression "(*pcVar23)" ( (pointer_expression "*pcVar23" * identifier) )) (argument_list "(puVar6 + 1)" ( (binary_expression "puVar6 + 1" identifier + number_literal) ))))) ;) })) (expression_statement "iVar18 = 0;" (assignment_expression "iVar18 = 0" identifier = number_literal) ;) (expression_statement "uVar7 = (*(code *)piStack_a0[-0x1de8])(pcVar15);" (assignment_expression "uVar7 = (*(code *)piStack_a0[-0x1de8])(pcVar15)" identifier = (call_expression "(*(code *)piStack_a0[-0x1de8])(pcVar15)" (parenthesized_expression "(*(code *)piStack_a0[-0x1de8])" ( (pointer_expression "*(code *)piStack_a0[-0x1de8]" * (cast_expression "(code *)piStack_a0[-0x1de8]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piStack_a0[-0x1de8]" identifier [ number_literal ]))) )) (argument_list "(pcVar15)" ( identifier )))) ;) (expression_statement "iVar4 = (uVar7 >> 2) * 3;" (assignment_expression "iVar4 = (uVar7 >> 2) * 3" identifier = (binary_expression "(uVar7 >> 2) * 3" (parenthesized_expression "(uVar7 >> 2)" ( (binary_expression "uVar7 >> 2" identifier >> number_literal) )) * number_literal)) ;) (expression_statement "piVar3 = (int *)(*(code *)piStack_a0[-0x1fe8])(iVar4,1);" (assignment_expression "piVar3 = (int *)(*(code *)piStack_a0[-0x1fe8])(iVar4,1)" identifier = (cast_expression "(int *)(*(code *)piStack_a0[-0x1fe8])(iVar4,1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)piStack_a0[-0x1fe8])(iVar4,1)" (parenthesized_expression "(*(code *)piStack_a0[-0x1fe8])" ( (pointer_expression "*(code *)piStack_a0[-0x1fe8]" * (cast_expression "(code *)piStack_a0[-0x1fe8]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piStack_a0[-0x1fe8]" identifier [ number_literal ]))) )) (argument_list "(iVar4,1)" ( identifier , number_literal ))))) ;) (while_statement "while (iVar8 = (*(code *)piStack_a0[-0x1df7])(pcVar15,0,4), iVar8 == 0) {\n      if (iVar4 <= iVar18 + 2) {\n        puVar12 = (undefined4 *)&DAT_00000441;\n        pcVar23 = (code *)piStack_a0[-0x1e6c];\n        piVar14 = (int *)(piStack_a0[-0x1ff2] + 0x4800);\n        piVar11 = (int *)(piStack_a0[-0x1ff2] + 0x4034);\n        pcVar24 = ssh2_userkey_loadpub;\n        (*pcVar23)(piStack_a0[-0x1ff2] + 0x44b8);\n        piVar5 = piStack_a0;\n        pcStack_118 = pcVar23 + 0x3d74c;\n        piVar16 = *(int **)(pcVar23 + 0x3600c);\n        piVar19 = (int *)(*(int *)(pcVar23 + 0x35784) + 0x4078);\n        iStack_dc = *piVar16;\n        pcStack_d8 = pcVar15;\n        iStack_d4 = iVar18;\n        piStack_d0 = piVar3;\n        iStack_cc = iVar4;\n        puStack_c8 = puVar6;\n        uStack_c4 = uVar2;\n        piStack_c0 = piVar13;\n        piStack_bc = piVar20;\n        piStack_b8 = piVar10;\n        pcStack_b4 = pcVar24;\n        piVar10 = (int *)f_open();\n        if (piVar10 == (int *)0x0) {\n          if (piVar5 != (int *)0x0) {\n            *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x407c;\n          }\nLAB_000439f4:\n          piVar21 = (int *)0x0;\n          piVar10 = piVar20;\n        }\n        else {\n          iVar4 = FUN_00041f60(piVar10);\n          if (iVar4 == 9) {\n            pcVar23 = *(code **)(pcStack_118 + -0x7b14);\n          }\n          else {\n            if (iVar4 != 10) {\n              piVar20 = piVar10;\n              if (iVar4 != 3) {\nLAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }\n                goto LAB_000439f4;\n              }\n              piVar13 = aiStack_104;\n              iVar4 = FUN_00040db0(piVar10,piVar13);\n              if (iVar4 == 0) {\nLAB_00043cc0:\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);\n                iVar4 = (**(code **)(pcStack_118 + -0x78ac))(piVar13,piVar19,0x14);\n                if (iVar4 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                  if (piVar5 != (int *)0x0) {\n                    *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }\n                goto LAB_000439d4;\n              }\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214);\n              iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if (iVar4 != 0) {\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);\n                iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                if (iVar4 != 0) goto LAB_00043cc0;\n              }\n              pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74);\n              piVar3 = (int *)FUN_00040e74(piVar10);\n              if (piVar3 == (int *)0x0) {\nLAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                goto LAB_000439f4;\n              }\n              uVar2 = (**(code **)(pcStack_118 + -0x77a0))(piVar3);\n              piVar19 = piVar3;\n              iVar4 = find_pubkey_alg_len(uVar2);\n              (**(code **)(pcStack_118 + -0x7f80))(piVar3);\n              if ((iVar4 == 0) || (piVar19 = piVar13, iVar18 = FUN_00040db0(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) || (iVar18 = (*pcStack_110)(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n              piVar19 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              if (iVar18 == 0) goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) ||\n                 (pcVar23 = (code *)(*pcStack_110)(piVar10), pcVar23 == (code *)0x0))\n              goto LAB_00043c9c;\n              pcStack_10c = pcVar23;\n              if (piVar14 == (int *)0x0) {\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n              }\n              else {\n                *piVar14 = (int)pcVar23;\n              }\n              piVar3 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              pcVar23 = pcStack_10c;\n              if (iVar18 == 0) {\nLAB_00043d58:\n                piVar19 = piVar3;\n                pcStack_110 = pcVar23;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                if (piVar14 == (int *)0x0) goto LAB_000439f4;\n                piVar21 = (int *)0x0;\n                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);\n                *piVar14 = 0;\n              }\n              else {\n                piVar3 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                pcVar23 = pcStack_10c;\n                if ((iVar18 != 0) ||\n                   (iVar18 = (*pcStack_110)(piVar10), pcVar23 = pcStack_10c, iVar18 == 0))\n                goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                piVar19 = (int *)FUN_00040d14(iVar18);\n                (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n                pcVar23 = pcStack_110;\n                if (((int)piVar19 < 0) ||\n                   (piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108), piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (puVar12 != (undefined4 *)0x0) {\n                  *puVar12 = uStack_108;\n                }\n                if (piVar11 != (int *)0x0) {\n                  iVar4 = (**(code **)(pcStack_118 + -0x7f74))(*(undefined4 *)(iVar4 + 0x30));\n                  *piVar11 = iVar4;\n                }\n              }\n              goto LAB_000439f8;\n            }\n            pcVar23 = *(code **)(pcStack_118 + -0x7b10);\n          }\n          piStack_120 = piVar5;\n          piVar19 = piVar11;\n          piVar21 = (int *)(*pcVar23)(piVar10,piVar11,puVar12,piVar14);\n          (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n        }\nLAB_000439f8:\n        if (iStack_dc == *piVar16) {\n          return piVar21;\n        }\n        pcVar23 = *(code **)(pcStack_118 + -0x7880);\n        pcVar24 = ssh2_userkey_encrypted;\n        (*pcVar23)();\n        piVar20 = *(int **)(pcVar23 + 0x35b70);\n        piStack_150 = piVar5;\n        iStack_15c = *piVar20;\n        if (piVar19 != (int *)0x0) {\n          *piVar19 = 0;\n        }\n        piStack_154 = piVar16;\n        piStack_14c = piVar14;\n        piStack_148 = piVar11;\n        puStack_144 = puVar12;\n        piStack_140 = piVar21;\n        piStack_13c = piVar13;\n        piStack_138 = piVar10;\n        pcStack_134 = pcVar24;\n        iVar4 = f_open();\n        if (iVar4 == 0) {\n          piVar10 = (int *)0x0;\n        }\n        else {\n          iVar18 = FUN_00040db0(iVar4,auStack_184);\n          if ((iVar18 != 0) &&\n             (((iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4214), iVar18 == 0\n               || (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                      (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c),\n                  iVar18 == 0)) && (iVar18 = FUN_00040e74(iVar4), iVar18 != 0)))) {\n            (**(code **)(pcVar23 + 0x35330))(iVar18);\n            iVar18 = FUN_00040db0(iVar4,auStack_184);\n            if ((iVar18 != 0) &&\n               (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4244), iVar18 == 0))\n            {\n              iVar18 = FUN_00040e74(iVar4);\n              if (iVar18 == 0) {\n                (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                piVar10 = (int *)0x0;\n              }\n              else {\n                iVar8 = FUN_00040db0(iVar4,auStack_184);\n                if (((iVar8 == 0) ||\n                    (iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0)) || (iVar8 = FUN_00040e74(iVar4), iVar8 == 0)) {\n                  piVar10 = (int *)0x1;\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n                else {\n                  if (piVar19 == (int *)0x0) {\n                    (**(code **)(pcVar23 + 0x35330))(iVar8);\n                  }\n                  else {\n                    *piVar19 = iVar8;\n                  }\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  iVar4 = (**(code **)(pcVar23 + 0x35ae4))\n                                    (iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4);\n                  piVar10 = (int *)(uint)(iVar4 == 0);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n              }\n              goto LAB_00043f04;\n            }\n          }\n          piVar10 = (int *)0x0;\n          (**(code **)(pcVar23 + 0x35acc))(iVar4);\n        }\nLAB_00043f04:\n        if (iStack_15c != *piVar20) {\n          (**(code **)(pcVar23 + 0x35a30))();\n          return (int *)((iStack_15c + 0x2f) / 0x30);\n        }\n        return piVar10;\n      }\n      iVar8 = (*(code *)piStack_a0[-0x1f66])(pcVar15,(int)piVar3 + iVar18);\n      iVar18 = iVar18 + iVar8;\n      pcVar15 = pcVar15 + 4;\n    }" while (parenthesized_expression "(iVar8 = (*(code *)piStack_a0[-0x1df7])(pcVar15,0,4), iVar8 == 0)" ( (comma_expression "iVar8 = (*(code *)piStack_a0[-0x1df7])(pcVar15,0,4), iVar8 == 0" (assignment_expression "iVar8 = (*(code *)piStack_a0[-0x1df7])(pcVar15,0,4)" identifier = (call_expression "(*(code *)piStack_a0[-0x1df7])(pcVar15,0,4)" (parenthesized_expression "(*(code *)piStack_a0[-0x1df7])" ( (pointer_expression "*(code *)piStack_a0[-0x1df7]" * (cast_expression "(code *)piStack_a0[-0x1df7]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piStack_a0[-0x1df7]" identifier [ number_literal ]))) )) (argument_list "(pcVar15,0,4)" ( identifier , number_literal , number_literal )))) , (binary_expression "iVar8 == 0" identifier == number_literal)) )) (compound_statement "{\n      if (iVar4 <= iVar18 + 2) {\n        puVar12 = (undefined4 *)&DAT_00000441;\n        pcVar23 = (code *)piStack_a0[-0x1e6c];\n        piVar14 = (int *)(piStack_a0[-0x1ff2] + 0x4800);\n        piVar11 = (int *)(piStack_a0[-0x1ff2] + 0x4034);\n        pcVar24 = ssh2_userkey_loadpub;\n        (*pcVar23)(piStack_a0[-0x1ff2] + 0x44b8);\n        piVar5 = piStack_a0;\n        pcStack_118 = pcVar23 + 0x3d74c;\n        piVar16 = *(int **)(pcVar23 + 0x3600c);\n        piVar19 = (int *)(*(int *)(pcVar23 + 0x35784) + 0x4078);\n        iStack_dc = *piVar16;\n        pcStack_d8 = pcVar15;\n        iStack_d4 = iVar18;\n        piStack_d0 = piVar3;\n        iStack_cc = iVar4;\n        puStack_c8 = puVar6;\n        uStack_c4 = uVar2;\n        piStack_c0 = piVar13;\n        piStack_bc = piVar20;\n        piStack_b8 = piVar10;\n        pcStack_b4 = pcVar24;\n        piVar10 = (int *)f_open();\n        if (piVar10 == (int *)0x0) {\n          if (piVar5 != (int *)0x0) {\n            *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x407c;\n          }\nLAB_000439f4:\n          piVar21 = (int *)0x0;\n          piVar10 = piVar20;\n        }\n        else {\n          iVar4 = FUN_00041f60(piVar10);\n          if (iVar4 == 9) {\n            pcVar23 = *(code **)(pcStack_118 + -0x7b14);\n          }\n          else {\n            if (iVar4 != 10) {\n              piVar20 = piVar10;\n              if (iVar4 != 3) {\nLAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }\n                goto LAB_000439f4;\n              }\n              piVar13 = aiStack_104;\n              iVar4 = FUN_00040db0(piVar10,piVar13);\n              if (iVar4 == 0) {\nLAB_00043cc0:\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);\n                iVar4 = (**(code **)(pcStack_118 + -0x78ac))(piVar13,piVar19,0x14);\n                if (iVar4 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                  if (piVar5 != (int *)0x0) {\n                    *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }\n                goto LAB_000439d4;\n              }\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214);\n              iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if (iVar4 != 0) {\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);\n                iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                if (iVar4 != 0) goto LAB_00043cc0;\n              }\n              pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74);\n              piVar3 = (int *)FUN_00040e74(piVar10);\n              if (piVar3 == (int *)0x0) {\nLAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                goto LAB_000439f4;\n              }\n              uVar2 = (**(code **)(pcStack_118 + -0x77a0))(piVar3);\n              piVar19 = piVar3;\n              iVar4 = find_pubkey_alg_len(uVar2);\n              (**(code **)(pcStack_118 + -0x7f80))(piVar3);\n              if ((iVar4 == 0) || (piVar19 = piVar13, iVar18 = FUN_00040db0(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) || (iVar18 = (*pcStack_110)(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n              piVar19 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              if (iVar18 == 0) goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) ||\n                 (pcVar23 = (code *)(*pcStack_110)(piVar10), pcVar23 == (code *)0x0))\n              goto LAB_00043c9c;\n              pcStack_10c = pcVar23;\n              if (piVar14 == (int *)0x0) {\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n              }\n              else {\n                *piVar14 = (int)pcVar23;\n              }\n              piVar3 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              pcVar23 = pcStack_10c;\n              if (iVar18 == 0) {\nLAB_00043d58:\n                piVar19 = piVar3;\n                pcStack_110 = pcVar23;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                if (piVar14 == (int *)0x0) goto LAB_000439f4;\n                piVar21 = (int *)0x0;\n                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);\n                *piVar14 = 0;\n              }\n              else {\n                piVar3 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                pcVar23 = pcStack_10c;\n                if ((iVar18 != 0) ||\n                   (iVar18 = (*pcStack_110)(piVar10), pcVar23 = pcStack_10c, iVar18 == 0))\n                goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                piVar19 = (int *)FUN_00040d14(iVar18);\n                (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n                pcVar23 = pcStack_110;\n                if (((int)piVar19 < 0) ||\n                   (piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108), piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (puVar12 != (undefined4 *)0x0) {\n                  *puVar12 = uStack_108;\n                }\n                if (piVar11 != (int *)0x0) {\n                  iVar4 = (**(code **)(pcStack_118 + -0x7f74))(*(undefined4 *)(iVar4 + 0x30));\n                  *piVar11 = iVar4;\n                }\n              }\n              goto LAB_000439f8;\n            }\n            pcVar23 = *(code **)(pcStack_118 + -0x7b10);\n          }\n          piStack_120 = piVar5;\n          piVar19 = piVar11;\n          piVar21 = (int *)(*pcVar23)(piVar10,piVar11,puVar12,piVar14);\n          (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n        }\nLAB_000439f8:\n        if (iStack_dc == *piVar16) {\n          return piVar21;\n        }\n        pcVar23 = *(code **)(pcStack_118 + -0x7880);\n        pcVar24 = ssh2_userkey_encrypted;\n        (*pcVar23)();\n        piVar20 = *(int **)(pcVar23 + 0x35b70);\n        piStack_150 = piVar5;\n        iStack_15c = *piVar20;\n        if (piVar19 != (int *)0x0) {\n          *piVar19 = 0;\n        }\n        piStack_154 = piVar16;\n        piStack_14c = piVar14;\n        piStack_148 = piVar11;\n        puStack_144 = puVar12;\n        piStack_140 = piVar21;\n        piStack_13c = piVar13;\n        piStack_138 = piVar10;\n        pcStack_134 = pcVar24;\n        iVar4 = f_open();\n        if (iVar4 == 0) {\n          piVar10 = (int *)0x0;\n        }\n        else {\n          iVar18 = FUN_00040db0(iVar4,auStack_184);\n          if ((iVar18 != 0) &&\n             (((iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4214), iVar18 == 0\n               || (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                      (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c),\n                  iVar18 == 0)) && (iVar18 = FUN_00040e74(iVar4), iVar18 != 0)))) {\n            (**(code **)(pcVar23 + 0x35330))(iVar18);\n            iVar18 = FUN_00040db0(iVar4,auStack_184);\n            if ((iVar18 != 0) &&\n               (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4244), iVar18 == 0))\n            {\n              iVar18 = FUN_00040e74(iVar4);\n              if (iVar18 == 0) {\n                (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                piVar10 = (int *)0x0;\n              }\n              else {\n                iVar8 = FUN_00040db0(iVar4,auStack_184);\n                if (((iVar8 == 0) ||\n                    (iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0)) || (iVar8 = FUN_00040e74(iVar4), iVar8 == 0)) {\n                  piVar10 = (int *)0x1;\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n                else {\n                  if (piVar19 == (int *)0x0) {\n                    (**(code **)(pcVar23 + 0x35330))(iVar8);\n                  }\n                  else {\n                    *piVar19 = iVar8;\n                  }\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  iVar4 = (**(code **)(pcVar23 + 0x35ae4))\n                                    (iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4);\n                  piVar10 = (int *)(uint)(iVar4 == 0);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n              }\n              goto LAB_00043f04;\n            }\n          }\n          piVar10 = (int *)0x0;\n          (**(code **)(pcVar23 + 0x35acc))(iVar4);\n        }\nLAB_00043f04:\n        if (iStack_15c != *piVar20) {\n          (**(code **)(pcVar23 + 0x35a30))();\n          return (int *)((iStack_15c + 0x2f) / 0x30);\n        }\n        return piVar10;\n      }\n      iVar8 = (*(code *)piStack_a0[-0x1f66])(pcVar15,(int)piVar3 + iVar18);\n      iVar18 = iVar18 + iVar8;\n      pcVar15 = pcVar15 + 4;\n    }" { (if_statement "if (iVar4 <= iVar18 + 2) {\n        puVar12 = (undefined4 *)&DAT_00000441;\n        pcVar23 = (code *)piStack_a0[-0x1e6c];\n        piVar14 = (int *)(piStack_a0[-0x1ff2] + 0x4800);\n        piVar11 = (int *)(piStack_a0[-0x1ff2] + 0x4034);\n        pcVar24 = ssh2_userkey_loadpub;\n        (*pcVar23)(piStack_a0[-0x1ff2] + 0x44b8);\n        piVar5 = piStack_a0;\n        pcStack_118 = pcVar23 + 0x3d74c;\n        piVar16 = *(int **)(pcVar23 + 0x3600c);\n        piVar19 = (int *)(*(int *)(pcVar23 + 0x35784) + 0x4078);\n        iStack_dc = *piVar16;\n        pcStack_d8 = pcVar15;\n        iStack_d4 = iVar18;\n        piStack_d0 = piVar3;\n        iStack_cc = iVar4;\n        puStack_c8 = puVar6;\n        uStack_c4 = uVar2;\n        piStack_c0 = piVar13;\n        piStack_bc = piVar20;\n        piStack_b8 = piVar10;\n        pcStack_b4 = pcVar24;\n        piVar10 = (int *)f_open();\n        if (piVar10 == (int *)0x0) {\n          if (piVar5 != (int *)0x0) {\n            *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x407c;\n          }\nLAB_000439f4:\n          piVar21 = (int *)0x0;\n          piVar10 = piVar20;\n        }\n        else {\n          iVar4 = FUN_00041f60(piVar10);\n          if (iVar4 == 9) {\n            pcVar23 = *(code **)(pcStack_118 + -0x7b14);\n          }\n          else {\n            if (iVar4 != 10) {\n              piVar20 = piVar10;\n              if (iVar4 != 3) {\nLAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }\n                goto LAB_000439f4;\n              }\n              piVar13 = aiStack_104;\n              iVar4 = FUN_00040db0(piVar10,piVar13);\n              if (iVar4 == 0) {\nLAB_00043cc0:\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);\n                iVar4 = (**(code **)(pcStack_118 + -0x78ac))(piVar13,piVar19,0x14);\n                if (iVar4 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                  if (piVar5 != (int *)0x0) {\n                    *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }\n                goto LAB_000439d4;\n              }\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214);\n              iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if (iVar4 != 0) {\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);\n                iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                if (iVar4 != 0) goto LAB_00043cc0;\n              }\n              pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74);\n              piVar3 = (int *)FUN_00040e74(piVar10);\n              if (piVar3 == (int *)0x0) {\nLAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                goto LAB_000439f4;\n              }\n              uVar2 = (**(code **)(pcStack_118 + -0x77a0))(piVar3);\n              piVar19 = piVar3;\n              iVar4 = find_pubkey_alg_len(uVar2);\n              (**(code **)(pcStack_118 + -0x7f80))(piVar3);\n              if ((iVar4 == 0) || (piVar19 = piVar13, iVar18 = FUN_00040db0(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) || (iVar18 = (*pcStack_110)(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n              piVar19 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              if (iVar18 == 0) goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) ||\n                 (pcVar23 = (code *)(*pcStack_110)(piVar10), pcVar23 == (code *)0x0))\n              goto LAB_00043c9c;\n              pcStack_10c = pcVar23;\n              if (piVar14 == (int *)0x0) {\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n              }\n              else {\n                *piVar14 = (int)pcVar23;\n              }\n              piVar3 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              pcVar23 = pcStack_10c;\n              if (iVar18 == 0) {\nLAB_00043d58:\n                piVar19 = piVar3;\n                pcStack_110 = pcVar23;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                if (piVar14 == (int *)0x0) goto LAB_000439f4;\n                piVar21 = (int *)0x0;\n                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);\n                *piVar14 = 0;\n              }\n              else {\n                piVar3 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                pcVar23 = pcStack_10c;\n                if ((iVar18 != 0) ||\n                   (iVar18 = (*pcStack_110)(piVar10), pcVar23 = pcStack_10c, iVar18 == 0))\n                goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                piVar19 = (int *)FUN_00040d14(iVar18);\n                (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n                pcVar23 = pcStack_110;\n                if (((int)piVar19 < 0) ||\n                   (piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108), piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (puVar12 != (undefined4 *)0x0) {\n                  *puVar12 = uStack_108;\n                }\n                if (piVar11 != (int *)0x0) {\n                  iVar4 = (**(code **)(pcStack_118 + -0x7f74))(*(undefined4 *)(iVar4 + 0x30));\n                  *piVar11 = iVar4;\n                }\n              }\n              goto LAB_000439f8;\n            }\n            pcVar23 = *(code **)(pcStack_118 + -0x7b10);\n          }\n          piStack_120 = piVar5;\n          piVar19 = piVar11;\n          piVar21 = (int *)(*pcVar23)(piVar10,piVar11,puVar12,piVar14);\n          (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n        }\nLAB_000439f8:\n        if (iStack_dc == *piVar16) {\n          return piVar21;\n        }\n        pcVar23 = *(code **)(pcStack_118 + -0x7880);\n        pcVar24 = ssh2_userkey_encrypted;\n        (*pcVar23)();\n        piVar20 = *(int **)(pcVar23 + 0x35b70);\n        piStack_150 = piVar5;\n        iStack_15c = *piVar20;\n        if (piVar19 != (int *)0x0) {\n          *piVar19 = 0;\n        }\n        piStack_154 = piVar16;\n        piStack_14c = piVar14;\n        piStack_148 = piVar11;\n        puStack_144 = puVar12;\n        piStack_140 = piVar21;\n        piStack_13c = piVar13;\n        piStack_138 = piVar10;\n        pcStack_134 = pcVar24;\n        iVar4 = f_open();\n        if (iVar4 == 0) {\n          piVar10 = (int *)0x0;\n        }\n        else {\n          iVar18 = FUN_00040db0(iVar4,auStack_184);\n          if ((iVar18 != 0) &&\n             (((iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4214), iVar18 == 0\n               || (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                      (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c),\n                  iVar18 == 0)) && (iVar18 = FUN_00040e74(iVar4), iVar18 != 0)))) {\n            (**(code **)(pcVar23 + 0x35330))(iVar18);\n            iVar18 = FUN_00040db0(iVar4,auStack_184);\n            if ((iVar18 != 0) &&\n               (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4244), iVar18 == 0))\n            {\n              iVar18 = FUN_00040e74(iVar4);\n              if (iVar18 == 0) {\n                (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                piVar10 = (int *)0x0;\n              }\n              else {\n                iVar8 = FUN_00040db0(iVar4,auStack_184);\n                if (((iVar8 == 0) ||\n                    (iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0)) || (iVar8 = FUN_00040e74(iVar4), iVar8 == 0)) {\n                  piVar10 = (int *)0x1;\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n                else {\n                  if (piVar19 == (int *)0x0) {\n                    (**(code **)(pcVar23 + 0x35330))(iVar8);\n                  }\n                  else {\n                    *piVar19 = iVar8;\n                  }\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  iVar4 = (**(code **)(pcVar23 + 0x35ae4))\n                                    (iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4);\n                  piVar10 = (int *)(uint)(iVar4 == 0);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n              }\n              goto LAB_00043f04;\n            }\n          }\n          piVar10 = (int *)0x0;\n          (**(code **)(pcVar23 + 0x35acc))(iVar4);\n        }\nLAB_00043f04:\n        if (iStack_15c != *piVar20) {\n          (**(code **)(pcVar23 + 0x35a30))();\n          return (int *)((iStack_15c + 0x2f) / 0x30);\n        }\n        return piVar10;\n      }" if (parenthesized_expression "(iVar4 <= iVar18 + 2)" ( (binary_expression "iVar4 <= iVar18 + 2" identifier <= (binary_expression "iVar18 + 2" identifier + number_literal)) )) (compound_statement "{\n        puVar12 = (undefined4 *)&DAT_00000441;\n        pcVar23 = (code *)piStack_a0[-0x1e6c];\n        piVar14 = (int *)(piStack_a0[-0x1ff2] + 0x4800);\n        piVar11 = (int *)(piStack_a0[-0x1ff2] + 0x4034);\n        pcVar24 = ssh2_userkey_loadpub;\n        (*pcVar23)(piStack_a0[-0x1ff2] + 0x44b8);\n        piVar5 = piStack_a0;\n        pcStack_118 = pcVar23 + 0x3d74c;\n        piVar16 = *(int **)(pcVar23 + 0x3600c);\n        piVar19 = (int *)(*(int *)(pcVar23 + 0x35784) + 0x4078);\n        iStack_dc = *piVar16;\n        pcStack_d8 = pcVar15;\n        iStack_d4 = iVar18;\n        piStack_d0 = piVar3;\n        iStack_cc = iVar4;\n        puStack_c8 = puVar6;\n        uStack_c4 = uVar2;\n        piStack_c0 = piVar13;\n        piStack_bc = piVar20;\n        piStack_b8 = piVar10;\n        pcStack_b4 = pcVar24;\n        piVar10 = (int *)f_open();\n        if (piVar10 == (int *)0x0) {\n          if (piVar5 != (int *)0x0) {\n            *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x407c;\n          }\nLAB_000439f4:\n          piVar21 = (int *)0x0;\n          piVar10 = piVar20;\n        }\n        else {\n          iVar4 = FUN_00041f60(piVar10);\n          if (iVar4 == 9) {\n            pcVar23 = *(code **)(pcStack_118 + -0x7b14);\n          }\n          else {\n            if (iVar4 != 10) {\n              piVar20 = piVar10;\n              if (iVar4 != 3) {\nLAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }\n                goto LAB_000439f4;\n              }\n              piVar13 = aiStack_104;\n              iVar4 = FUN_00040db0(piVar10,piVar13);\n              if (iVar4 == 0) {\nLAB_00043cc0:\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);\n                iVar4 = (**(code **)(pcStack_118 + -0x78ac))(piVar13,piVar19,0x14);\n                if (iVar4 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                  if (piVar5 != (int *)0x0) {\n                    *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }\n                goto LAB_000439d4;\n              }\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214);\n              iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if (iVar4 != 0) {\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);\n                iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                if (iVar4 != 0) goto LAB_00043cc0;\n              }\n              pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74);\n              piVar3 = (int *)FUN_00040e74(piVar10);\n              if (piVar3 == (int *)0x0) {\nLAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                goto LAB_000439f4;\n              }\n              uVar2 = (**(code **)(pcStack_118 + -0x77a0))(piVar3);\n              piVar19 = piVar3;\n              iVar4 = find_pubkey_alg_len(uVar2);\n              (**(code **)(pcStack_118 + -0x7f80))(piVar3);\n              if ((iVar4 == 0) || (piVar19 = piVar13, iVar18 = FUN_00040db0(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) || (iVar18 = (*pcStack_110)(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n              piVar19 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              if (iVar18 == 0) goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) ||\n                 (pcVar23 = (code *)(*pcStack_110)(piVar10), pcVar23 == (code *)0x0))\n              goto LAB_00043c9c;\n              pcStack_10c = pcVar23;\n              if (piVar14 == (int *)0x0) {\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n              }\n              else {\n                *piVar14 = (int)pcVar23;\n              }\n              piVar3 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              pcVar23 = pcStack_10c;\n              if (iVar18 == 0) {\nLAB_00043d58:\n                piVar19 = piVar3;\n                pcStack_110 = pcVar23;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                if (piVar14 == (int *)0x0) goto LAB_000439f4;\n                piVar21 = (int *)0x0;\n                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);\n                *piVar14 = 0;\n              }\n              else {\n                piVar3 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                pcVar23 = pcStack_10c;\n                if ((iVar18 != 0) ||\n                   (iVar18 = (*pcStack_110)(piVar10), pcVar23 = pcStack_10c, iVar18 == 0))\n                goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                piVar19 = (int *)FUN_00040d14(iVar18);\n                (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n                pcVar23 = pcStack_110;\n                if (((int)piVar19 < 0) ||\n                   (piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108), piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (puVar12 != (undefined4 *)0x0) {\n                  *puVar12 = uStack_108;\n                }\n                if (piVar11 != (int *)0x0) {\n                  iVar4 = (**(code **)(pcStack_118 + -0x7f74))(*(undefined4 *)(iVar4 + 0x30));\n                  *piVar11 = iVar4;\n                }\n              }\n              goto LAB_000439f8;\n            }\n            pcVar23 = *(code **)(pcStack_118 + -0x7b10);\n          }\n          piStack_120 = piVar5;\n          piVar19 = piVar11;\n          piVar21 = (int *)(*pcVar23)(piVar10,piVar11,puVar12,piVar14);\n          (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n        }\nLAB_000439f8:\n        if (iStack_dc == *piVar16) {\n          return piVar21;\n        }\n        pcVar23 = *(code **)(pcStack_118 + -0x7880);\n        pcVar24 = ssh2_userkey_encrypted;\n        (*pcVar23)();\n        piVar20 = *(int **)(pcVar23 + 0x35b70);\n        piStack_150 = piVar5;\n        iStack_15c = *piVar20;\n        if (piVar19 != (int *)0x0) {\n          *piVar19 = 0;\n        }\n        piStack_154 = piVar16;\n        piStack_14c = piVar14;\n        piStack_148 = piVar11;\n        puStack_144 = puVar12;\n        piStack_140 = piVar21;\n        piStack_13c = piVar13;\n        piStack_138 = piVar10;\n        pcStack_134 = pcVar24;\n        iVar4 = f_open();\n        if (iVar4 == 0) {\n          piVar10 = (int *)0x0;\n        }\n        else {\n          iVar18 = FUN_00040db0(iVar4,auStack_184);\n          if ((iVar18 != 0) &&\n             (((iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4214), iVar18 == 0\n               || (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                      (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c),\n                  iVar18 == 0)) && (iVar18 = FUN_00040e74(iVar4), iVar18 != 0)))) {\n            (**(code **)(pcVar23 + 0x35330))(iVar18);\n            iVar18 = FUN_00040db0(iVar4,auStack_184);\n            if ((iVar18 != 0) &&\n               (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4244), iVar18 == 0))\n            {\n              iVar18 = FUN_00040e74(iVar4);\n              if (iVar18 == 0) {\n                (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                piVar10 = (int *)0x0;\n              }\n              else {\n                iVar8 = FUN_00040db0(iVar4,auStack_184);\n                if (((iVar8 == 0) ||\n                    (iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0)) || (iVar8 = FUN_00040e74(iVar4), iVar8 == 0)) {\n                  piVar10 = (int *)0x1;\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n                else {\n                  if (piVar19 == (int *)0x0) {\n                    (**(code **)(pcVar23 + 0x35330))(iVar8);\n                  }\n                  else {\n                    *piVar19 = iVar8;\n                  }\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  iVar4 = (**(code **)(pcVar23 + 0x35ae4))\n                                    (iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4);\n                  piVar10 = (int *)(uint)(iVar4 == 0);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n              }\n              goto LAB_00043f04;\n            }\n          }\n          piVar10 = (int *)0x0;\n          (**(code **)(pcVar23 + 0x35acc))(iVar4);\n        }\nLAB_00043f04:\n        if (iStack_15c != *piVar20) {\n          (**(code **)(pcVar23 + 0x35a30))();\n          return (int *)((iStack_15c + 0x2f) / 0x30);\n        }\n        return piVar10;\n      }" { (expression_statement "puVar12 = (undefined4 *)&DAT_00000441;" (assignment_expression "puVar12 = (undefined4 *)&DAT_00000441" identifier = (cast_expression "(undefined4 *)&DAT_00000441" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000441" & identifier))) ;) (expression_statement "pcVar23 = (code *)piStack_a0[-0x1e6c];" (assignment_expression "pcVar23 = (code *)piStack_a0[-0x1e6c]" identifier = (cast_expression "(code *)piStack_a0[-0x1e6c]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piStack_a0[-0x1e6c]" identifier [ number_literal ]))) ;) (expression_statement "piVar14 = (int *)(piStack_a0[-0x1ff2] + 0x4800);" (assignment_expression "piVar14 = (int *)(piStack_a0[-0x1ff2] + 0x4800)" identifier = (cast_expression "(int *)(piStack_a0[-0x1ff2] + 0x4800)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piStack_a0[-0x1ff2] + 0x4800)" ( (binary_expression "piStack_a0[-0x1ff2] + 0x4800" (subscript_expression "piStack_a0[-0x1ff2]" identifier [ number_literal ]) + number_literal) )))) ;) (expression_statement "piVar11 = (int *)(piStack_a0[-0x1ff2] + 0x4034);" (assignment_expression "piVar11 = (int *)(piStack_a0[-0x1ff2] + 0x4034)" identifier = (cast_expression "(int *)(piStack_a0[-0x1ff2] + 0x4034)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piStack_a0[-0x1ff2] + 0x4034)" ( (binary_expression "piStack_a0[-0x1ff2] + 0x4034" (subscript_expression "piStack_a0[-0x1ff2]" identifier [ number_literal ]) + number_literal) )))) ;) (expression_statement "pcVar24 = ssh2_userkey_loadpub;" (assignment_expression "pcVar24 = ssh2_userkey_loadpub" identifier = identifier) ;) (expression_statement "(*pcVar23)(piStack_a0[-0x1ff2] + 0x44b8);" (call_expression "(*pcVar23)(piStack_a0[-0x1ff2] + 0x44b8)" (parenthesized_expression "(*pcVar23)" ( (pointer_expression "*pcVar23" * identifier) )) (argument_list "(piStack_a0[-0x1ff2] + 0x44b8)" ( (binary_expression "piStack_a0[-0x1ff2] + 0x44b8" (subscript_expression "piStack_a0[-0x1ff2]" identifier [ number_literal ]) + number_literal) ))) ;) (expression_statement "piVar5 = piStack_a0;" (assignment_expression "piVar5 = piStack_a0" identifier = identifier) ;) (expression_statement "pcStack_118 = pcVar23 + 0x3d74c;" (assignment_expression "pcStack_118 = pcVar23 + 0x3d74c" identifier = (binary_expression "pcVar23 + 0x3d74c" identifier + number_literal)) ;) (expression_statement "piVar16 = *(int **)(pcVar23 + 0x3600c);" (assignment_expression "piVar16 = *(int **)(pcVar23 + 0x3600c)" identifier = (pointer_expression "*(int **)(pcVar23 + 0x3600c)" * (cast_expression "(int **)(pcVar23 + 0x3600c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x3600c)" ( (binary_expression "pcVar23 + 0x3600c" identifier + number_literal) ))))) ;) (expression_statement "piVar19 = (int *)(*(int *)(pcVar23 + 0x35784) + 0x4078);" (assignment_expression "piVar19 = (int *)(*(int *)(pcVar23 + 0x35784) + 0x4078)" identifier = (cast_expression "(int *)(*(int *)(pcVar23 + 0x35784) + 0x4078)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar23 + 0x35784) + 0x4078)" ( (binary_expression "*(int *)(pcVar23 + 0x35784) + 0x4078" (pointer_expression "*(int *)(pcVar23 + 0x35784)" * (cast_expression "(int *)(pcVar23 + 0x35784)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar23 + 0x35784)" ( (binary_expression "pcVar23 + 0x35784" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iStack_dc = *piVar16;" (assignment_expression "iStack_dc = *piVar16" identifier = (pointer_expression "*piVar16" * identifier)) ;) (expression_statement "pcStack_d8 = pcVar15;" (assignment_expression "pcStack_d8 = pcVar15" identifier = identifier) ;) (expression_statement "iStack_d4 = iVar18;" (assignment_expression "iStack_d4 = iVar18" identifier = identifier) ;) (expression_statement "piStack_d0 = piVar3;" (assignment_expression "piStack_d0 = piVar3" identifier = identifier) ;) (expression_statement "iStack_cc = iVar4;" (assignment_expression "iStack_cc = iVar4" identifier = identifier) ;) (expression_statement "puStack_c8 = puVar6;" (assignment_expression "puStack_c8 = puVar6" identifier = identifier) ;) (expression_statement "uStack_c4 = uVar2;" (assignment_expression "uStack_c4 = uVar2" identifier = identifier) ;) (expression_statement "piStack_c0 = piVar13;" (assignment_expression "piStack_c0 = piVar13" identifier = identifier) ;) (expression_statement "piStack_bc = piVar20;" (assignment_expression "piStack_bc = piVar20" identifier = identifier) ;) (expression_statement "piStack_b8 = piVar10;" (assignment_expression "piStack_b8 = piVar10" identifier = identifier) ;) (expression_statement "pcStack_b4 = pcVar24;" (assignment_expression "pcStack_b4 = pcVar24" identifier = identifier) ;) (expression_statement "piVar10 = (int *)f_open();" (assignment_expression "piVar10 = (int *)f_open()" identifier = (cast_expression "(int *)f_open()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "f_open()" identifier (argument_list "()" ( ))))) ;) (if_statement "if (piVar10 == (int *)0x0) {\n          if (piVar5 != (int *)0x0) {\n            *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x407c;\n          }\nLAB_000439f4:\n          piVar21 = (int *)0x0;\n          piVar10 = piVar20;\n        }\n        else {\n          iVar4 = FUN_00041f60(piVar10);\n          if (iVar4 == 9) {\n            pcVar23 = *(code **)(pcStack_118 + -0x7b14);\n          }\n          else {\n            if (iVar4 != 10) {\n              piVar20 = piVar10;\n              if (iVar4 != 3) {\nLAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }\n                goto LAB_000439f4;\n              }\n              piVar13 = aiStack_104;\n              iVar4 = FUN_00040db0(piVar10,piVar13);\n              if (iVar4 == 0) {\nLAB_00043cc0:\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);\n                iVar4 = (**(code **)(pcStack_118 + -0x78ac))(piVar13,piVar19,0x14);\n                if (iVar4 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                  if (piVar5 != (int *)0x0) {\n                    *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }\n                goto LAB_000439d4;\n              }\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214);\n              iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if (iVar4 != 0) {\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);\n                iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                if (iVar4 != 0) goto LAB_00043cc0;\n              }\n              pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74);\n              piVar3 = (int *)FUN_00040e74(piVar10);\n              if (piVar3 == (int *)0x0) {\nLAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                goto LAB_000439f4;\n              }\n              uVar2 = (**(code **)(pcStack_118 + -0x77a0))(piVar3);\n              piVar19 = piVar3;\n              iVar4 = find_pubkey_alg_len(uVar2);\n              (**(code **)(pcStack_118 + -0x7f80))(piVar3);\n              if ((iVar4 == 0) || (piVar19 = piVar13, iVar18 = FUN_00040db0(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) || (iVar18 = (*pcStack_110)(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n              piVar19 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              if (iVar18 == 0) goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) ||\n                 (pcVar23 = (code *)(*pcStack_110)(piVar10), pcVar23 == (code *)0x0))\n              goto LAB_00043c9c;\n              pcStack_10c = pcVar23;\n              if (piVar14 == (int *)0x0) {\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n              }\n              else {\n                *piVar14 = (int)pcVar23;\n              }\n              piVar3 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              pcVar23 = pcStack_10c;\n              if (iVar18 == 0) {\nLAB_00043d58:\n                piVar19 = piVar3;\n                pcStack_110 = pcVar23;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                if (piVar14 == (int *)0x0) goto LAB_000439f4;\n                piVar21 = (int *)0x0;\n                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);\n                *piVar14 = 0;\n              }\n              else {\n                piVar3 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                pcVar23 = pcStack_10c;\n                if ((iVar18 != 0) ||\n                   (iVar18 = (*pcStack_110)(piVar10), pcVar23 = pcStack_10c, iVar18 == 0))\n                goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                piVar19 = (int *)FUN_00040d14(iVar18);\n                (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n                pcVar23 = pcStack_110;\n                if (((int)piVar19 < 0) ||\n                   (piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108), piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (puVar12 != (undefined4 *)0x0) {\n                  *puVar12 = uStack_108;\n                }\n                if (piVar11 != (int *)0x0) {\n                  iVar4 = (**(code **)(pcStack_118 + -0x7f74))(*(undefined4 *)(iVar4 + 0x30));\n                  *piVar11 = iVar4;\n                }\n              }\n              goto LAB_000439f8;\n            }\n            pcVar23 = *(code **)(pcStack_118 + -0x7b10);\n          }\n          piStack_120 = piVar5;\n          piVar19 = piVar11;\n          piVar21 = (int *)(*pcVar23)(piVar10,piVar11,puVar12,piVar14);\n          (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n        }" if (parenthesized_expression "(piVar10 == (int *)0x0)" ( (binary_expression "piVar10 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if (piVar5 != (int *)0x0) {\n            *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x407c;\n          }\nLAB_000439f4:\n          piVar21 = (int *)0x0;\n          piVar10 = piVar20;\n        }" { (if_statement "if (piVar5 != (int *)0x0) {\n            *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x407c;\n          }" if (parenthesized_expression "(piVar5 != (int *)0x0)" ( (binary_expression "piVar5 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x407c;\n          }" { (expression_statement "*piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x407c;" (assignment_expression "*piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x407c" (pointer_expression "*piVar5" * identifier) = (binary_expression "*(int *)(pcStack_118 + -0x7fc8) + 0x407c" (pointer_expression "*(int *)(pcStack_118 + -0x7fc8)" * (cast_expression "(int *)(pcStack_118 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_118 + -0x7fc8)" ( (binary_expression "pcStack_118 + -0x7fc8" identifier + number_literal) )))) + number_literal)) ;) })) (labeled_statement "LAB_000439f4:\n          piVar21 = (int *)0x0;" statement_identifier : (expression_statement "piVar21 = (int *)0x0;" (assignment_expression "piVar21 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "piVar10 = piVar20;" (assignment_expression "piVar10 = piVar20" identifier = identifier) ;) }) (else_clause "else {\n          iVar4 = FUN_00041f60(piVar10);\n          if (iVar4 == 9) {\n            pcVar23 = *(code **)(pcStack_118 + -0x7b14);\n          }\n          else {\n            if (iVar4 != 10) {\n              piVar20 = piVar10;\n              if (iVar4 != 3) {\nLAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }\n                goto LAB_000439f4;\n              }\n              piVar13 = aiStack_104;\n              iVar4 = FUN_00040db0(piVar10,piVar13);\n              if (iVar4 == 0) {\nLAB_00043cc0:\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);\n                iVar4 = (**(code **)(pcStack_118 + -0x78ac))(piVar13,piVar19,0x14);\n                if (iVar4 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                  if (piVar5 != (int *)0x0) {\n                    *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }\n                goto LAB_000439d4;\n              }\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214);\n              iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if (iVar4 != 0) {\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);\n                iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                if (iVar4 != 0) goto LAB_00043cc0;\n              }\n              pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74);\n              piVar3 = (int *)FUN_00040e74(piVar10);\n              if (piVar3 == (int *)0x0) {\nLAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                goto LAB_000439f4;\n              }\n              uVar2 = (**(code **)(pcStack_118 + -0x77a0))(piVar3);\n              piVar19 = piVar3;\n              iVar4 = find_pubkey_alg_len(uVar2);\n              (**(code **)(pcStack_118 + -0x7f80))(piVar3);\n              if ((iVar4 == 0) || (piVar19 = piVar13, iVar18 = FUN_00040db0(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) || (iVar18 = (*pcStack_110)(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n              piVar19 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              if (iVar18 == 0) goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) ||\n                 (pcVar23 = (code *)(*pcStack_110)(piVar10), pcVar23 == (code *)0x0))\n              goto LAB_00043c9c;\n              pcStack_10c = pcVar23;\n              if (piVar14 == (int *)0x0) {\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n              }\n              else {\n                *piVar14 = (int)pcVar23;\n              }\n              piVar3 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              pcVar23 = pcStack_10c;\n              if (iVar18 == 0) {\nLAB_00043d58:\n                piVar19 = piVar3;\n                pcStack_110 = pcVar23;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                if (piVar14 == (int *)0x0) goto LAB_000439f4;\n                piVar21 = (int *)0x0;\n                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);\n                *piVar14 = 0;\n              }\n              else {\n                piVar3 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                pcVar23 = pcStack_10c;\n                if ((iVar18 != 0) ||\n                   (iVar18 = (*pcStack_110)(piVar10), pcVar23 = pcStack_10c, iVar18 == 0))\n                goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                piVar19 = (int *)FUN_00040d14(iVar18);\n                (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n                pcVar23 = pcStack_110;\n                if (((int)piVar19 < 0) ||\n                   (piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108), piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (puVar12 != (undefined4 *)0x0) {\n                  *puVar12 = uStack_108;\n                }\n                if (piVar11 != (int *)0x0) {\n                  iVar4 = (**(code **)(pcStack_118 + -0x7f74))(*(undefined4 *)(iVar4 + 0x30));\n                  *piVar11 = iVar4;\n                }\n              }\n              goto LAB_000439f8;\n            }\n            pcVar23 = *(code **)(pcStack_118 + -0x7b10);\n          }\n          piStack_120 = piVar5;\n          piVar19 = piVar11;\n          piVar21 = (int *)(*pcVar23)(piVar10,piVar11,puVar12,piVar14);\n          (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n        }" else (compound_statement "{\n          iVar4 = FUN_00041f60(piVar10);\n          if (iVar4 == 9) {\n            pcVar23 = *(code **)(pcStack_118 + -0x7b14);\n          }\n          else {\n            if (iVar4 != 10) {\n              piVar20 = piVar10;\n              if (iVar4 != 3) {\nLAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }\n                goto LAB_000439f4;\n              }\n              piVar13 = aiStack_104;\n              iVar4 = FUN_00040db0(piVar10,piVar13);\n              if (iVar4 == 0) {\nLAB_00043cc0:\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);\n                iVar4 = (**(code **)(pcStack_118 + -0x78ac))(piVar13,piVar19,0x14);\n                if (iVar4 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                  if (piVar5 != (int *)0x0) {\n                    *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }\n                goto LAB_000439d4;\n              }\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214);\n              iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if (iVar4 != 0) {\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);\n                iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                if (iVar4 != 0) goto LAB_00043cc0;\n              }\n              pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74);\n              piVar3 = (int *)FUN_00040e74(piVar10);\n              if (piVar3 == (int *)0x0) {\nLAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                goto LAB_000439f4;\n              }\n              uVar2 = (**(code **)(pcStack_118 + -0x77a0))(piVar3);\n              piVar19 = piVar3;\n              iVar4 = find_pubkey_alg_len(uVar2);\n              (**(code **)(pcStack_118 + -0x7f80))(piVar3);\n              if ((iVar4 == 0) || (piVar19 = piVar13, iVar18 = FUN_00040db0(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) || (iVar18 = (*pcStack_110)(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n              piVar19 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              if (iVar18 == 0) goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) ||\n                 (pcVar23 = (code *)(*pcStack_110)(piVar10), pcVar23 == (code *)0x0))\n              goto LAB_00043c9c;\n              pcStack_10c = pcVar23;\n              if (piVar14 == (int *)0x0) {\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n              }\n              else {\n                *piVar14 = (int)pcVar23;\n              }\n              piVar3 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              pcVar23 = pcStack_10c;\n              if (iVar18 == 0) {\nLAB_00043d58:\n                piVar19 = piVar3;\n                pcStack_110 = pcVar23;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                if (piVar14 == (int *)0x0) goto LAB_000439f4;\n                piVar21 = (int *)0x0;\n                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);\n                *piVar14 = 0;\n              }\n              else {\n                piVar3 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                pcVar23 = pcStack_10c;\n                if ((iVar18 != 0) ||\n                   (iVar18 = (*pcStack_110)(piVar10), pcVar23 = pcStack_10c, iVar18 == 0))\n                goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                piVar19 = (int *)FUN_00040d14(iVar18);\n                (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n                pcVar23 = pcStack_110;\n                if (((int)piVar19 < 0) ||\n                   (piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108), piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (puVar12 != (undefined4 *)0x0) {\n                  *puVar12 = uStack_108;\n                }\n                if (piVar11 != (int *)0x0) {\n                  iVar4 = (**(code **)(pcStack_118 + -0x7f74))(*(undefined4 *)(iVar4 + 0x30));\n                  *piVar11 = iVar4;\n                }\n              }\n              goto LAB_000439f8;\n            }\n            pcVar23 = *(code **)(pcStack_118 + -0x7b10);\n          }\n          piStack_120 = piVar5;\n          piVar19 = piVar11;\n          piVar21 = (int *)(*pcVar23)(piVar10,piVar11,puVar12,piVar14);\n          (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n        }" { (expression_statement "iVar4 = FUN_00041f60(piVar10);" (assignment_expression "iVar4 = FUN_00041f60(piVar10)" identifier = (call_expression "FUN_00041f60(piVar10)" identifier (argument_list "(piVar10)" ( identifier )))) ;) (if_statement "if (iVar4 == 9) {\n            pcVar23 = *(code **)(pcStack_118 + -0x7b14);\n          }\n          else {\n            if (iVar4 != 10) {\n              piVar20 = piVar10;\n              if (iVar4 != 3) {\nLAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }\n                goto LAB_000439f4;\n              }\n              piVar13 = aiStack_104;\n              iVar4 = FUN_00040db0(piVar10,piVar13);\n              if (iVar4 == 0) {\nLAB_00043cc0:\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);\n                iVar4 = (**(code **)(pcStack_118 + -0x78ac))(piVar13,piVar19,0x14);\n                if (iVar4 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                  if (piVar5 != (int *)0x0) {\n                    *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }\n                goto LAB_000439d4;\n              }\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214);\n              iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if (iVar4 != 0) {\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);\n                iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                if (iVar4 != 0) goto LAB_00043cc0;\n              }\n              pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74);\n              piVar3 = (int *)FUN_00040e74(piVar10);\n              if (piVar3 == (int *)0x0) {\nLAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                goto LAB_000439f4;\n              }\n              uVar2 = (**(code **)(pcStack_118 + -0x77a0))(piVar3);\n              piVar19 = piVar3;\n              iVar4 = find_pubkey_alg_len(uVar2);\n              (**(code **)(pcStack_118 + -0x7f80))(piVar3);\n              if ((iVar4 == 0) || (piVar19 = piVar13, iVar18 = FUN_00040db0(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) || (iVar18 = (*pcStack_110)(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n              piVar19 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              if (iVar18 == 0) goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) ||\n                 (pcVar23 = (code *)(*pcStack_110)(piVar10), pcVar23 == (code *)0x0))\n              goto LAB_00043c9c;\n              pcStack_10c = pcVar23;\n              if (piVar14 == (int *)0x0) {\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n              }\n              else {\n                *piVar14 = (int)pcVar23;\n              }\n              piVar3 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              pcVar23 = pcStack_10c;\n              if (iVar18 == 0) {\nLAB_00043d58:\n                piVar19 = piVar3;\n                pcStack_110 = pcVar23;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                if (piVar14 == (int *)0x0) goto LAB_000439f4;\n                piVar21 = (int *)0x0;\n                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);\n                *piVar14 = 0;\n              }\n              else {\n                piVar3 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                pcVar23 = pcStack_10c;\n                if ((iVar18 != 0) ||\n                   (iVar18 = (*pcStack_110)(piVar10), pcVar23 = pcStack_10c, iVar18 == 0))\n                goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                piVar19 = (int *)FUN_00040d14(iVar18);\n                (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n                pcVar23 = pcStack_110;\n                if (((int)piVar19 < 0) ||\n                   (piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108), piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (puVar12 != (undefined4 *)0x0) {\n                  *puVar12 = uStack_108;\n                }\n                if (piVar11 != (int *)0x0) {\n                  iVar4 = (**(code **)(pcStack_118 + -0x7f74))(*(undefined4 *)(iVar4 + 0x30));\n                  *piVar11 = iVar4;\n                }\n              }\n              goto LAB_000439f8;\n            }\n            pcVar23 = *(code **)(pcStack_118 + -0x7b10);\n          }" if (parenthesized_expression "(iVar4 == 9)" ( (binary_expression "iVar4 == 9" identifier == number_literal) )) (compound_statement "{\n            pcVar23 = *(code **)(pcStack_118 + -0x7b14);\n          }" { (expression_statement "pcVar23 = *(code **)(pcStack_118 + -0x7b14);" (assignment_expression "pcVar23 = *(code **)(pcStack_118 + -0x7b14)" identifier = (pointer_expression "*(code **)(pcStack_118 + -0x7b14)" * (cast_expression "(code **)(pcStack_118 + -0x7b14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_118 + -0x7b14)" ( (binary_expression "pcStack_118 + -0x7b14" identifier + number_literal) ))))) ;) }) (else_clause "else {\n            if (iVar4 != 10) {\n              piVar20 = piVar10;\n              if (iVar4 != 3) {\nLAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }\n                goto LAB_000439f4;\n              }\n              piVar13 = aiStack_104;\n              iVar4 = FUN_00040db0(piVar10,piVar13);\n              if (iVar4 == 0) {\nLAB_00043cc0:\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);\n                iVar4 = (**(code **)(pcStack_118 + -0x78ac))(piVar13,piVar19,0x14);\n                if (iVar4 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                  if (piVar5 != (int *)0x0) {\n                    *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }\n                goto LAB_000439d4;\n              }\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214);\n              iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if (iVar4 != 0) {\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);\n                iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                if (iVar4 != 0) goto LAB_00043cc0;\n              }\n              pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74);\n              piVar3 = (int *)FUN_00040e74(piVar10);\n              if (piVar3 == (int *)0x0) {\nLAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                goto LAB_000439f4;\n              }\n              uVar2 = (**(code **)(pcStack_118 + -0x77a0))(piVar3);\n              piVar19 = piVar3;\n              iVar4 = find_pubkey_alg_len(uVar2);\n              (**(code **)(pcStack_118 + -0x7f80))(piVar3);\n              if ((iVar4 == 0) || (piVar19 = piVar13, iVar18 = FUN_00040db0(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) || (iVar18 = (*pcStack_110)(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n              piVar19 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              if (iVar18 == 0) goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) ||\n                 (pcVar23 = (code *)(*pcStack_110)(piVar10), pcVar23 == (code *)0x0))\n              goto LAB_00043c9c;\n              pcStack_10c = pcVar23;\n              if (piVar14 == (int *)0x0) {\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n              }\n              else {\n                *piVar14 = (int)pcVar23;\n              }\n              piVar3 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              pcVar23 = pcStack_10c;\n              if (iVar18 == 0) {\nLAB_00043d58:\n                piVar19 = piVar3;\n                pcStack_110 = pcVar23;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                if (piVar14 == (int *)0x0) goto LAB_000439f4;\n                piVar21 = (int *)0x0;\n                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);\n                *piVar14 = 0;\n              }\n              else {\n                piVar3 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                pcVar23 = pcStack_10c;\n                if ((iVar18 != 0) ||\n                   (iVar18 = (*pcStack_110)(piVar10), pcVar23 = pcStack_10c, iVar18 == 0))\n                goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                piVar19 = (int *)FUN_00040d14(iVar18);\n                (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n                pcVar23 = pcStack_110;\n                if (((int)piVar19 < 0) ||\n                   (piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108), piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (puVar12 != (undefined4 *)0x0) {\n                  *puVar12 = uStack_108;\n                }\n                if (piVar11 != (int *)0x0) {\n                  iVar4 = (**(code **)(pcStack_118 + -0x7f74))(*(undefined4 *)(iVar4 + 0x30));\n                  *piVar11 = iVar4;\n                }\n              }\n              goto LAB_000439f8;\n            }\n            pcVar23 = *(code **)(pcStack_118 + -0x7b10);\n          }" else (compound_statement "{\n            if (iVar4 != 10) {\n              piVar20 = piVar10;\n              if (iVar4 != 3) {\nLAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }\n                goto LAB_000439f4;\n              }\n              piVar13 = aiStack_104;\n              iVar4 = FUN_00040db0(piVar10,piVar13);\n              if (iVar4 == 0) {\nLAB_00043cc0:\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);\n                iVar4 = (**(code **)(pcStack_118 + -0x78ac))(piVar13,piVar19,0x14);\n                if (iVar4 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                  if (piVar5 != (int *)0x0) {\n                    *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }\n                goto LAB_000439d4;\n              }\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214);\n              iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if (iVar4 != 0) {\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);\n                iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                if (iVar4 != 0) goto LAB_00043cc0;\n              }\n              pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74);\n              piVar3 = (int *)FUN_00040e74(piVar10);\n              if (piVar3 == (int *)0x0) {\nLAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                goto LAB_000439f4;\n              }\n              uVar2 = (**(code **)(pcStack_118 + -0x77a0))(piVar3);\n              piVar19 = piVar3;\n              iVar4 = find_pubkey_alg_len(uVar2);\n              (**(code **)(pcStack_118 + -0x7f80))(piVar3);\n              if ((iVar4 == 0) || (piVar19 = piVar13, iVar18 = FUN_00040db0(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) || (iVar18 = (*pcStack_110)(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n              piVar19 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              if (iVar18 == 0) goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) ||\n                 (pcVar23 = (code *)(*pcStack_110)(piVar10), pcVar23 == (code *)0x0))\n              goto LAB_00043c9c;\n              pcStack_10c = pcVar23;\n              if (piVar14 == (int *)0x0) {\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n              }\n              else {\n                *piVar14 = (int)pcVar23;\n              }\n              piVar3 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              pcVar23 = pcStack_10c;\n              if (iVar18 == 0) {\nLAB_00043d58:\n                piVar19 = piVar3;\n                pcStack_110 = pcVar23;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                if (piVar14 == (int *)0x0) goto LAB_000439f4;\n                piVar21 = (int *)0x0;\n                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);\n                *piVar14 = 0;\n              }\n              else {\n                piVar3 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                pcVar23 = pcStack_10c;\n                if ((iVar18 != 0) ||\n                   (iVar18 = (*pcStack_110)(piVar10), pcVar23 = pcStack_10c, iVar18 == 0))\n                goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                piVar19 = (int *)FUN_00040d14(iVar18);\n                (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n                pcVar23 = pcStack_110;\n                if (((int)piVar19 < 0) ||\n                   (piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108), piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (puVar12 != (undefined4 *)0x0) {\n                  *puVar12 = uStack_108;\n                }\n                if (piVar11 != (int *)0x0) {\n                  iVar4 = (**(code **)(pcStack_118 + -0x7f74))(*(undefined4 *)(iVar4 + 0x30));\n                  *piVar11 = iVar4;\n                }\n              }\n              goto LAB_000439f8;\n            }\n            pcVar23 = *(code **)(pcStack_118 + -0x7b10);\n          }" { (if_statement "if (iVar4 != 10) {\n              piVar20 = piVar10;\n              if (iVar4 != 3) {\nLAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }\n                goto LAB_000439f4;\n              }\n              piVar13 = aiStack_104;\n              iVar4 = FUN_00040db0(piVar10,piVar13);\n              if (iVar4 == 0) {\nLAB_00043cc0:\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);\n                iVar4 = (**(code **)(pcStack_118 + -0x78ac))(piVar13,piVar19,0x14);\n                if (iVar4 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                  if (piVar5 != (int *)0x0) {\n                    *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }\n                goto LAB_000439d4;\n              }\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214);\n              iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if (iVar4 != 0) {\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);\n                iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                if (iVar4 != 0) goto LAB_00043cc0;\n              }\n              pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74);\n              piVar3 = (int *)FUN_00040e74(piVar10);\n              if (piVar3 == (int *)0x0) {\nLAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                goto LAB_000439f4;\n              }\n              uVar2 = (**(code **)(pcStack_118 + -0x77a0))(piVar3);\n              piVar19 = piVar3;\n              iVar4 = find_pubkey_alg_len(uVar2);\n              (**(code **)(pcStack_118 + -0x7f80))(piVar3);\n              if ((iVar4 == 0) || (piVar19 = piVar13, iVar18 = FUN_00040db0(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) || (iVar18 = (*pcStack_110)(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n              piVar19 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              if (iVar18 == 0) goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) ||\n                 (pcVar23 = (code *)(*pcStack_110)(piVar10), pcVar23 == (code *)0x0))\n              goto LAB_00043c9c;\n              pcStack_10c = pcVar23;\n              if (piVar14 == (int *)0x0) {\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n              }\n              else {\n                *piVar14 = (int)pcVar23;\n              }\n              piVar3 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              pcVar23 = pcStack_10c;\n              if (iVar18 == 0) {\nLAB_00043d58:\n                piVar19 = piVar3;\n                pcStack_110 = pcVar23;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                if (piVar14 == (int *)0x0) goto LAB_000439f4;\n                piVar21 = (int *)0x0;\n                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);\n                *piVar14 = 0;\n              }\n              else {\n                piVar3 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                pcVar23 = pcStack_10c;\n                if ((iVar18 != 0) ||\n                   (iVar18 = (*pcStack_110)(piVar10), pcVar23 = pcStack_10c, iVar18 == 0))\n                goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                piVar19 = (int *)FUN_00040d14(iVar18);\n                (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n                pcVar23 = pcStack_110;\n                if (((int)piVar19 < 0) ||\n                   (piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108), piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (puVar12 != (undefined4 *)0x0) {\n                  *puVar12 = uStack_108;\n                }\n                if (piVar11 != (int *)0x0) {\n                  iVar4 = (**(code **)(pcStack_118 + -0x7f74))(*(undefined4 *)(iVar4 + 0x30));\n                  *piVar11 = iVar4;\n                }\n              }\n              goto LAB_000439f8;\n            }" if (parenthesized_expression "(iVar4 != 10)" ( (binary_expression "iVar4 != 10" identifier != number_literal) )) (compound_statement "{\n              piVar20 = piVar10;\n              if (iVar4 != 3) {\nLAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }\n                goto LAB_000439f4;\n              }\n              piVar13 = aiStack_104;\n              iVar4 = FUN_00040db0(piVar10,piVar13);\n              if (iVar4 == 0) {\nLAB_00043cc0:\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);\n                iVar4 = (**(code **)(pcStack_118 + -0x78ac))(piVar13,piVar19,0x14);\n                if (iVar4 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                  if (piVar5 != (int *)0x0) {\n                    *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }\n                goto LAB_000439d4;\n              }\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214);\n              iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if (iVar4 != 0) {\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);\n                iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                if (iVar4 != 0) goto LAB_00043cc0;\n              }\n              pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74);\n              piVar3 = (int *)FUN_00040e74(piVar10);\n              if (piVar3 == (int *)0x0) {\nLAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                goto LAB_000439f4;\n              }\n              uVar2 = (**(code **)(pcStack_118 + -0x77a0))(piVar3);\n              piVar19 = piVar3;\n              iVar4 = find_pubkey_alg_len(uVar2);\n              (**(code **)(pcStack_118 + -0x7f80))(piVar3);\n              if ((iVar4 == 0) || (piVar19 = piVar13, iVar18 = FUN_00040db0(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) || (iVar18 = (*pcStack_110)(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n              piVar19 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              if (iVar18 == 0) goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) ||\n                 (pcVar23 = (code *)(*pcStack_110)(piVar10), pcVar23 == (code *)0x0))\n              goto LAB_00043c9c;\n              pcStack_10c = pcVar23;\n              if (piVar14 == (int *)0x0) {\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n              }\n              else {\n                *piVar14 = (int)pcVar23;\n              }\n              piVar3 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              pcVar23 = pcStack_10c;\n              if (iVar18 == 0) {\nLAB_00043d58:\n                piVar19 = piVar3;\n                pcStack_110 = pcVar23;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                if (piVar14 == (int *)0x0) goto LAB_000439f4;\n                piVar21 = (int *)0x0;\n                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);\n                *piVar14 = 0;\n              }\n              else {\n                piVar3 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                pcVar23 = pcStack_10c;\n                if ((iVar18 != 0) ||\n                   (iVar18 = (*pcStack_110)(piVar10), pcVar23 = pcStack_10c, iVar18 == 0))\n                goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                piVar19 = (int *)FUN_00040d14(iVar18);\n                (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n                pcVar23 = pcStack_110;\n                if (((int)piVar19 < 0) ||\n                   (piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108), piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (puVar12 != (undefined4 *)0x0) {\n                  *puVar12 = uStack_108;\n                }\n                if (piVar11 != (int *)0x0) {\n                  iVar4 = (**(code **)(pcStack_118 + -0x7f74))(*(undefined4 *)(iVar4 + 0x30));\n                  *piVar11 = iVar4;\n                }\n              }\n              goto LAB_000439f8;\n            }" { (expression_statement "piVar20 = piVar10;" (assignment_expression "piVar20 = piVar10" identifier = identifier) ;) (if_statement "if (iVar4 != 3) {\nLAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }\n                goto LAB_000439f4;\n              }" if (parenthesized_expression "(iVar4 != 3)" ( (binary_expression "iVar4 != 3" identifier != number_literal) )) (compound_statement "{\nLAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }\n                goto LAB_000439f4;\n              }" { (labeled_statement "LAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);" statement_identifier : (expression_statement "(**(code **)(pcStack_118 + -0x77e4))(piVar10);" (call_expression "(**(code **)(pcStack_118 + -0x77e4))(piVar10)" (parenthesized_expression "(**(code **)(pcStack_118 + -0x77e4))" ( (pointer_expression "**(code **)(pcStack_118 + -0x77e4)" * (pointer_expression "*(code **)(pcStack_118 + -0x77e4)" * (cast_expression "(code **)(pcStack_118 + -0x77e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_118 + -0x77e4)" ( (binary_expression "pcStack_118 + -0x77e4" identifier + number_literal) ))))) )) (argument_list "(piVar10)" ( identifier ))) ;)) (if_statement "if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }" if (parenthesized_expression "(piVar5 != (int *)0x0)" ( (binary_expression "piVar5 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }" { (expression_statement "*piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;" (assignment_expression "*piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4" (pointer_expression "*piVar5" * identifier) = (binary_expression "*(int *)(pcStack_118 + -0x7fc8) + 0x41c4" (pointer_expression "*(int *)(pcStack_118 + -0x7fc8)" * (cast_expression "(int *)(pcStack_118 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_118 + -0x7fc8)" ( (binary_expression "pcStack_118 + -0x7fc8" identifier + number_literal) )))) + number_literal)) ;) })) (goto_statement "goto LAB_000439f4;" goto statement_identifier ;) })) (expression_statement "piVar13 = aiStack_104;" (assignment_expression "piVar13 = aiStack_104" identifier = identifier) ;) (expression_statement "iVar4 = FUN_00040db0(piVar10,piVar13);" (assignment_expression "iVar4 = FUN_00040db0(piVar10,piVar13)" identifier = (call_expression "FUN_00040db0(piVar10,piVar13)" identifier (argument_list "(piVar10,piVar13)" ( identifier , identifier )))) ;) (if_statement "if (iVar4 == 0) {\nLAB_00043cc0:\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);\n                iVar4 = (**(code **)(pcStack_118 + -0x78ac))(piVar13,piVar19,0x14);\n                if (iVar4 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                  if (piVar5 != (int *)0x0) {\n                    *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }\n                goto LAB_000439d4;\n              }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00043cc0:\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);\n                iVar4 = (**(code **)(pcStack_118 + -0x78ac))(piVar13,piVar19,0x14);\n                if (iVar4 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                  if (piVar5 != (int *)0x0) {\n                    *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }\n                goto LAB_000439d4;\n              }" { (labeled_statement "LAB_00043cc0:\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);" statement_identifier : (expression_statement "piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);" (assignment_expression "piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134)" identifier = (cast_expression "(int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_118 + -0x7fc8) + 0x4134)" ( (binary_expression "*(int *)(pcStack_118 + -0x7fc8) + 0x4134" (pointer_expression "*(int *)(pcStack_118 + -0x7fc8)" * (cast_expression "(int *)(pcStack_118 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_118 + -0x7fc8)" ( (binary_expression "pcStack_118 + -0x7fc8" identifier + number_literal) )))) + number_literal) )))) ;)) (expression_statement "iVar4 = (**(code **)(pcStack_118 + -0x78ac))(piVar13,piVar19,0x14);" (assignment_expression "iVar4 = (**(code **)(pcStack_118 + -0x78ac))(piVar13,piVar19,0x14)" identifier = (call_expression "(**(code **)(pcStack_118 + -0x78ac))(piVar13,piVar19,0x14)" (parenthesized_expression "(**(code **)(pcStack_118 + -0x78ac))" ( (pointer_expression "**(code **)(pcStack_118 + -0x78ac)" * (pointer_expression "*(code **)(pcStack_118 + -0x78ac)" * (cast_expression "(code **)(pcStack_118 + -0x78ac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_118 + -0x78ac)" ( (binary_expression "pcStack_118 + -0x78ac" identifier + number_literal) ))))) )) (argument_list "(piVar13,piVar19,0x14)" ( identifier , identifier , number_literal )))) ;) (if_statement "if (iVar4 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                  if (piVar5 != (int *)0x0) {\n                    *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n                  (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                  if (piVar5 != (int *)0x0) {\n                    *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }" { (expression_statement "(**(code **)(pcStack_118 + -0x77e4))(piVar10);" (call_expression "(**(code **)(pcStack_118 + -0x77e4))(piVar10)" (parenthesized_expression "(**(code **)(pcStack_118 + -0x77e4))" ( (pointer_expression "**(code **)(pcStack_118 + -0x77e4)" * (pointer_expression "*(code **)(pcStack_118 + -0x77e4)" * (cast_expression "(code **)(pcStack_118 + -0x77e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_118 + -0x77e4)" ( (binary_expression "pcStack_118 + -0x77e4" identifier + number_literal) ))))) )) (argument_list "(piVar10)" ( identifier ))) ;) (if_statement "if (piVar5 != (int *)0x0) {\n                    *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }" if (parenthesized_expression "(piVar5 != (int *)0x0)" ( (binary_expression "piVar5 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }" { (expression_statement "*piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;" (assignment_expression "*piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4" (pointer_expression "*piVar5" * identifier) = (binary_expression "*(int *)(pcStack_118 + -0x7fc8) + 0x41e4" (pointer_expression "*(int *)(pcStack_118 + -0x7fc8)" * (cast_expression "(int *)(pcStack_118 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_118 + -0x7fc8)" ( (binary_expression "pcStack_118 + -0x7fc8" identifier + number_literal) )))) + number_literal)) ;) })) (goto_statement "goto LAB_000439f4;" goto statement_identifier ;) })) (goto_statement "goto LAB_000439d4;" goto statement_identifier ;) })) (expression_statement "piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214);" (assignment_expression "piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214)" identifier = (cast_expression "(int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_118 + -0x7fc8) + 0x4214)" ( (binary_expression "*(int *)(pcStack_118 + -0x7fc8) + 0x4214" (pointer_expression "*(int *)(pcStack_118 + -0x7fc8)" * (cast_expression "(int *)(pcStack_118 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_118 + -0x7fc8)" ( (binary_expression "pcStack_118 + -0x7fc8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);" (assignment_expression "iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13)" identifier = (call_expression "(**(code **)(pcStack_118 + -0x77cc))(piVar13)" (parenthesized_expression "(**(code **)(pcStack_118 + -0x77cc))" ( (pointer_expression "**(code **)(pcStack_118 + -0x77cc)" * (pointer_expression "*(code **)(pcStack_118 + -0x77cc)" * (cast_expression "(code **)(pcStack_118 + -0x77cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_118 + -0x77cc)" ( (binary_expression "pcStack_118 + -0x77cc" identifier + number_literal) ))))) )) (argument_list "(piVar13)" ( identifier )))) ;) (if_statement "if (iVar4 != 0) {\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);\n                iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                if (iVar4 != 0) goto LAB_00043cc0;\n              }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);\n                iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                if (iVar4 != 0) goto LAB_00043cc0;\n              }" { (expression_statement "piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);" (assignment_expression "piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c)" identifier = (cast_expression "(int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_118 + -0x7fc8) + 0x422c)" ( (binary_expression "*(int *)(pcStack_118 + -0x7fc8) + 0x422c" (pointer_expression "*(int *)(pcStack_118 + -0x7fc8)" * (cast_expression "(int *)(pcStack_118 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_118 + -0x7fc8)" ( (binary_expression "pcStack_118 + -0x7fc8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);" (assignment_expression "iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13)" identifier = (call_expression "(**(code **)(pcStack_118 + -0x77cc))(piVar13)" (parenthesized_expression "(**(code **)(pcStack_118 + -0x77cc))" ( (pointer_expression "**(code **)(pcStack_118 + -0x77cc)" * (pointer_expression "*(code **)(pcStack_118 + -0x77cc)" * (cast_expression "(code **)(pcStack_118 + -0x77cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_118 + -0x77cc)" ( (binary_expression "pcStack_118 + -0x77cc" identifier + number_literal) ))))) )) (argument_list "(piVar13)" ( identifier )))) ;) (if_statement "if (iVar4 != 0) goto LAB_00043cc0;" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00043cc0;" goto statement_identifier ;)) })) (expression_statement "pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74);" (assignment_expression "pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74)" identifier = (cast_expression "(code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_118 + -0x7b8c) + 0xe74)" ( (binary_expression "*(int *)(pcStack_118 + -0x7b8c) + 0xe74" (pointer_expression "*(int *)(pcStack_118 + -0x7b8c)" * (cast_expression "(int *)(pcStack_118 + -0x7b8c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_118 + -0x7b8c)" ( (binary_expression "pcStack_118 + -0x7b8c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "piVar3 = (int *)FUN_00040e74(piVar10);" (assignment_expression "piVar3 = (int *)FUN_00040e74(piVar10)" identifier = (cast_expression "(int *)FUN_00040e74(piVar10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00040e74(piVar10)" identifier (argument_list "(piVar10)" ( identifier ))))) ;) (if_statement "if (piVar3 == (int *)0x0) {\nLAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                goto LAB_000439f4;\n              }" if (parenthesized_expression "(piVar3 == (int *)0x0)" ( (binary_expression "piVar3 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                goto LAB_000439f4;\n              }" { (labeled_statement "LAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);" statement_identifier : (expression_statement "(**(code **)(pcStack_118 + -0x77e4))(piVar10);" (call_expression "(**(code **)(pcStack_118 + -0x77e4))(piVar10)" (parenthesized_expression "(**(code **)(pcStack_118 + -0x77e4))" ( (pointer_expression "**(code **)(pcStack_118 + -0x77e4)" * (pointer_expression "*(code **)(pcStack_118 + -0x77e4)" * (cast_expression "(code **)(pcStack_118 + -0x77e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_118 + -0x77e4)" ( (binary_expression "pcStack_118 + -0x77e4" identifier + number_literal) ))))) )) (argument_list "(piVar10)" ( identifier ))) ;)) (if_statement "if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }" if (parenthesized_expression "(piVar5 != (int *)0x0)" ( (binary_expression "piVar5 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }" { (expression_statement "*piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;" (assignment_expression "*piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8" (pointer_expression "*piVar5" * identifier) = (binary_expression "*(int *)(pcStack_118 + -0x7fc8) + 0x3ff8" (pointer_expression "*(int *)(pcStack_118 + -0x7fc8)" * (cast_expression "(int *)(pcStack_118 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_118 + -0x7fc8)" ( (binary_expression "pcStack_118 + -0x7fc8" identifier + number_literal) )))) + number_literal)) ;) })) (goto_statement "goto LAB_000439f4;" goto statement_identifier ;) })) (expression_statement "uVar2 = (**(code **)(pcStack_118 + -0x77a0))(piVar3);" (assignment_expression "uVar2 = (**(code **)(pcStack_118 + -0x77a0))(piVar3)" identifier = (call_expression "(**(code **)(pcStack_118 + -0x77a0))(piVar3)" (parenthesized_expression "(**(code **)(pcStack_118 + -0x77a0))" ( (pointer_expression "**(code **)(pcStack_118 + -0x77a0)" * (pointer_expression "*(code **)(pcStack_118 + -0x77a0)" * (cast_expression "(code **)(pcStack_118 + -0x77a0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_118 + -0x77a0)" ( (binary_expression "pcStack_118 + -0x77a0" identifier + number_literal) ))))) )) (argument_list "(piVar3)" ( identifier )))) ;) (expression_statement "piVar19 = piVar3;" (assignment_expression "piVar19 = piVar3" identifier = identifier) ;) (expression_statement "iVar4 = find_pubkey_alg_len(uVar2);" (assignment_expression "iVar4 = find_pubkey_alg_len(uVar2)" identifier = (call_expression "find_pubkey_alg_len(uVar2)" identifier (argument_list "(uVar2)" ( identifier )))) ;) (expression_statement "(**(code **)(pcStack_118 + -0x7f80))(piVar3);" (call_expression "(**(code **)(pcStack_118 + -0x7f80))(piVar3)" (parenthesized_expression "(**(code **)(pcStack_118 + -0x7f80))" ( (pointer_expression "**(code **)(pcStack_118 + -0x7f80)" * (pointer_expression "*(code **)(pcStack_118 + -0x7f80)" * (cast_expression "(code **)(pcStack_118 + -0x7f80)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_118 + -0x7f80)" ( (binary_expression "pcStack_118 + -0x7f80" identifier + number_literal) ))))) )) (argument_list "(piVar3)" ( identifier ))) ;) (if_statement "if ((iVar4 == 0) || (piVar19 = piVar13, iVar18 = FUN_00040db0(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;" if (parenthesized_expression "((iVar4 == 0) || (piVar19 = piVar13, iVar18 = FUN_00040db0(piVar10), iVar18 == 0))" ( (binary_expression "(iVar4 == 0) || (piVar19 = piVar13, iVar18 = FUN_00040db0(piVar10), iVar18 == 0)" (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) || (parenthesized_expression "(piVar19 = piVar13, iVar18 = FUN_00040db0(piVar10), iVar18 == 0)" ( (comma_expression "piVar19 = piVar13, iVar18 = FUN_00040db0(piVar10), iVar18 == 0" (assignment_expression "piVar19 = piVar13" identifier = identifier) , (comma_expression "iVar18 = FUN_00040db0(piVar10), iVar18 == 0" (assignment_expression "iVar18 = FUN_00040db0(piVar10)" identifier = (call_expression "FUN_00040db0(piVar10)" identifier (argument_list "(piVar10)" ( identifier )))) , (binary_expression "iVar18 == 0" identifier == number_literal))) ))) )) (goto_statement "goto LAB_00043c9c;" goto statement_identifier ;)) (expression_statement "piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244);" (assignment_expression "piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244)" identifier = (cast_expression "(int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_118 + -0x7fc8) + 0x4244)" ( (binary_expression "*(int *)(pcStack_118 + -0x7fc8) + 0x4244" (pointer_expression "*(int *)(pcStack_118 + -0x7fc8)" * (cast_expression "(int *)(pcStack_118 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_118 + -0x7fc8)" ( (binary_expression "pcStack_118 + -0x7fc8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);" (assignment_expression "iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13)" identifier = (call_expression "(**(code **)(pcStack_118 + -0x77cc))(piVar13)" (parenthesized_expression "(**(code **)(pcStack_118 + -0x77cc))" ( (pointer_expression "**(code **)(pcStack_118 + -0x77cc)" * (pointer_expression "*(code **)(pcStack_118 + -0x77cc)" * (cast_expression "(code **)(pcStack_118 + -0x77cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_118 + -0x77cc)" ( (binary_expression "pcStack_118 + -0x77cc" identifier + number_literal) ))))) )) (argument_list "(piVar13)" ( identifier )))) ;) (if_statement "if ((iVar18 != 0) || (iVar18 = (*pcStack_110)(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;" if (parenthesized_expression "((iVar18 != 0) || (iVar18 = (*pcStack_110)(piVar10), iVar18 == 0))" ( (binary_expression "(iVar18 != 0) || (iVar18 = (*pcStack_110)(piVar10), iVar18 == 0)" (parenthesized_expression "(iVar18 != 0)" ( (binary_expression "iVar18 != 0" identifier != number_literal) )) || (parenthesized_expression "(iVar18 = (*pcStack_110)(piVar10), iVar18 == 0)" ( (comma_expression "iVar18 = (*pcStack_110)(piVar10), iVar18 == 0" (assignment_expression "iVar18 = (*pcStack_110)(piVar10)" identifier = (call_expression "(*pcStack_110)(piVar10)" (parenthesized_expression "(*pcStack_110)" ( (pointer_expression "*pcStack_110" * identifier) )) (argument_list "(piVar10)" ( identifier )))) , (binary_expression "iVar18 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_00043c9c;" goto statement_identifier ;)) (expression_statement "(**(code **)(pcStack_118 + -0x7f80))(iVar18);" (call_expression "(**(code **)(pcStack_118 + -0x7f80))(iVar18)" (parenthesized_expression "(**(code **)(pcStack_118 + -0x7f80))" ( (pointer_expression "**(code **)(pcStack_118 + -0x7f80)" * (pointer_expression "*(code **)(pcStack_118 + -0x7f80)" * (cast_expression "(code **)(pcStack_118 + -0x7f80)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_118 + -0x7f80)" ( (binary_expression "pcStack_118 + -0x7f80" identifier + number_literal) ))))) )) (argument_list "(iVar18)" ( identifier ))) ;) (expression_statement "piVar19 = piVar13;" (assignment_expression "piVar19 = piVar13" identifier = identifier) ;) (expression_statement "iVar18 = FUN_00040db0(piVar10);" (assignment_expression "iVar18 = FUN_00040db0(piVar10)" identifier = (call_expression "FUN_00040db0(piVar10)" identifier (argument_list "(piVar10)" ( identifier )))) ;) (if_statement "if (iVar18 == 0) goto LAB_00043c9c;" if (parenthesized_expression "(iVar18 == 0)" ( (binary_expression "iVar18 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00043c9c;" goto statement_identifier ;)) (expression_statement "piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258);" (assignment_expression "piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258)" identifier = (cast_expression "(int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_118 + -0x7fc8) + 0x4258)" ( (binary_expression "*(int *)(pcStack_118 + -0x7fc8) + 0x4258" (pointer_expression "*(int *)(pcStack_118 + -0x7fc8)" * (cast_expression "(int *)(pcStack_118 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_118 + -0x7fc8)" ( (binary_expression "pcStack_118 + -0x7fc8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);" (assignment_expression "iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13)" identifier = (call_expression "(**(code **)(pcStack_118 + -0x77cc))(piVar13)" (parenthesized_expression "(**(code **)(pcStack_118 + -0x77cc))" ( (pointer_expression "**(code **)(pcStack_118 + -0x77cc)" * (pointer_expression "*(code **)(pcStack_118 + -0x77cc)" * (cast_expression "(code **)(pcStack_118 + -0x77cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_118 + -0x77cc)" ( (binary_expression "pcStack_118 + -0x77cc" identifier + number_literal) ))))) )) (argument_list "(piVar13)" ( identifier )))) ;) (if_statement "if ((iVar18 != 0) ||\n                 (pcVar23 = (code *)(*pcStack_110)(piVar10), pcVar23 == (code *)0x0))\n              goto LAB_00043c9c;" if (parenthesized_expression "((iVar18 != 0) ||\n                 (pcVar23 = (code *)(*pcStack_110)(piVar10), pcVar23 == (code *)0x0))" ( (binary_expression "(iVar18 != 0) ||\n                 (pcVar23 = (code *)(*pcStack_110)(piVar10), pcVar23 == (code *)0x0)" (parenthesized_expression "(iVar18 != 0)" ( (binary_expression "iVar18 != 0" identifier != number_literal) )) || (parenthesized_expression "(pcVar23 = (code *)(*pcStack_110)(piVar10), pcVar23 == (code *)0x0)" ( (comma_expression "pcVar23 = (code *)(*pcStack_110)(piVar10), pcVar23 == (code *)0x0" (assignment_expression "pcVar23 = (code *)(*pcStack_110)(piVar10)" identifier = (cast_expression "(code *)(*pcStack_110)(piVar10)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcStack_110)(piVar10)" (parenthesized_expression "(*pcStack_110)" ( (pointer_expression "*pcStack_110" * identifier) )) (argument_list "(piVar10)" ( identifier ))))) , (binary_expression "pcVar23 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (goto_statement "goto LAB_00043c9c;" goto statement_identifier ;)) (expression_statement "pcStack_10c = pcVar23;" (assignment_expression "pcStack_10c = pcVar23" identifier = identifier) ;) (if_statement "if (piVar14 == (int *)0x0) {\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n              }\n              else {\n                *piVar14 = (int)pcVar23;\n              }" if (parenthesized_expression "(piVar14 == (int *)0x0)" ( (binary_expression "piVar14 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n              }" { (expression_statement "(**(code **)(pcStack_118 + -0x7f80))(pcVar23);" (call_expression "(**(code **)(pcStack_118 + -0x7f80))(pcVar23)" (parenthesized_expression "(**(code **)(pcStack_118 + -0x7f80))" ( (pointer_expression "**(code **)(pcStack_118 + -0x7f80)" * (pointer_expression "*(code **)(pcStack_118 + -0x7f80)" * (cast_expression "(code **)(pcStack_118 + -0x7f80)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_118 + -0x7f80)" ( (binary_expression "pcStack_118 + -0x7f80" identifier + number_literal) ))))) )) (argument_list "(pcVar23)" ( identifier ))) ;) }) (else_clause "else {\n                *piVar14 = (int)pcVar23;\n              }" else (compound_statement "{\n                *piVar14 = (int)pcVar23;\n              }" { (expression_statement "*piVar14 = (int)pcVar23;" (assignment_expression "*piVar14 = (int)pcVar23" (pointer_expression "*piVar14" * identifier) = (cast_expression "(int)pcVar23" ( (type_descriptor "int" primitive_type) ) identifier)) ;) }))) (expression_statement "piVar3 = piVar13;" (assignment_expression "piVar3 = piVar13" identifier = identifier) ;) (expression_statement "iVar18 = FUN_00040db0(piVar10);" (assignment_expression "iVar18 = FUN_00040db0(piVar10)" identifier = (call_expression "FUN_00040db0(piVar10)" identifier (argument_list "(piVar10)" ( identifier )))) ;) (expression_statement "pcVar23 = pcStack_10c;" (assignment_expression "pcVar23 = pcStack_10c" identifier = identifier) ;) (if_statement "if (iVar18 == 0) {\nLAB_00043d58:\n                piVar19 = piVar3;\n                pcStack_110 = pcVar23;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                if (piVar14 == (int *)0x0) goto LAB_000439f4;\n                piVar21 = (int *)0x0;\n                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);\n                *piVar14 = 0;\n              }\n              else {\n                piVar3 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                pcVar23 = pcStack_10c;\n                if ((iVar18 != 0) ||\n                   (iVar18 = (*pcStack_110)(piVar10), pcVar23 = pcStack_10c, iVar18 == 0))\n                goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                piVar19 = (int *)FUN_00040d14(iVar18);\n                (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n                pcVar23 = pcStack_110;\n                if (((int)piVar19 < 0) ||\n                   (piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108), piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (puVar12 != (undefined4 *)0x0) {\n                  *puVar12 = uStack_108;\n                }\n                if (piVar11 != (int *)0x0) {\n                  iVar4 = (**(code **)(pcStack_118 + -0x7f74))(*(undefined4 *)(iVar4 + 0x30));\n                  *piVar11 = iVar4;\n                }\n              }" if (parenthesized_expression "(iVar18 == 0)" ( (binary_expression "iVar18 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00043d58:\n                piVar19 = piVar3;\n                pcStack_110 = pcVar23;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                if (piVar14 == (int *)0x0) goto LAB_000439f4;\n                piVar21 = (int *)0x0;\n                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);\n                *piVar14 = 0;\n              }" { (labeled_statement "LAB_00043d58:\n                piVar19 = piVar3;" statement_identifier : (expression_statement "piVar19 = piVar3;" (assignment_expression "piVar19 = piVar3" identifier = identifier) ;)) (expression_statement "pcStack_110 = pcVar23;" (assignment_expression "pcStack_110 = pcVar23" identifier = identifier) ;) (expression_statement "(**(code **)(pcStack_118 + -0x77e4))(piVar10);" (call_expression "(**(code **)(pcStack_118 + -0x77e4))(piVar10)" (parenthesized_expression "(**(code **)(pcStack_118 + -0x77e4))" ( (pointer_expression "**(code **)(pcStack_118 + -0x77e4)" * (pointer_expression "*(code **)(pcStack_118 + -0x77e4)" * (cast_expression "(code **)(pcStack_118 + -0x77e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_118 + -0x77e4)" ( (binary_expression "pcStack_118 + -0x77e4" identifier + number_literal) ))))) )) (argument_list "(piVar10)" ( identifier ))) ;) (if_statement "if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }" if (parenthesized_expression "(piVar5 != (int *)0x0)" ( (binary_expression "piVar5 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }" { (expression_statement "*piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;" (assignment_expression "*piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8" (pointer_expression "*piVar5" * identifier) = (binary_expression "*(int *)(pcStack_118 + -0x7fc8) + 0x3ff8" (pointer_expression "*(int *)(pcStack_118 + -0x7fc8)" * (cast_expression "(int *)(pcStack_118 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_118 + -0x7fc8)" ( (binary_expression "pcStack_118 + -0x7fc8" identifier + number_literal) )))) + number_literal)) ;) })) (if_statement "if (piVar14 == (int *)0x0) goto LAB_000439f4;" if (parenthesized_expression "(piVar14 == (int *)0x0)" ( (binary_expression "piVar14 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000439f4;" goto statement_identifier ;)) (expression_statement "piVar21 = (int *)0x0;" (assignment_expression "piVar21 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(pcStack_118 + -0x7f80))(pcStack_110);" (call_expression "(**(code **)(pcStack_118 + -0x7f80))(pcStack_110)" (parenthesized_expression "(**(code **)(pcStack_118 + -0x7f80))" ( (pointer_expression "**(code **)(pcStack_118 + -0x7f80)" * (pointer_expression "*(code **)(pcStack_118 + -0x7f80)" * (cast_expression "(code **)(pcStack_118 + -0x7f80)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_118 + -0x7f80)" ( (binary_expression "pcStack_118 + -0x7f80" identifier + number_literal) ))))) )) (argument_list "(pcStack_110)" ( identifier ))) ;) (expression_statement "*piVar14 = 0;" (assignment_expression "*piVar14 = 0" (pointer_expression "*piVar14" * identifier) = number_literal) ;) }) (else_clause "else {\n                piVar3 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                pcVar23 = pcStack_10c;\n                if ((iVar18 != 0) ||\n                   (iVar18 = (*pcStack_110)(piVar10), pcVar23 = pcStack_10c, iVar18 == 0))\n                goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                piVar19 = (int *)FUN_00040d14(iVar18);\n                (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n                pcVar23 = pcStack_110;\n                if (((int)piVar19 < 0) ||\n                   (piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108), piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (puVar12 != (undefined4 *)0x0) {\n                  *puVar12 = uStack_108;\n                }\n                if (piVar11 != (int *)0x0) {\n                  iVar4 = (**(code **)(pcStack_118 + -0x7f74))(*(undefined4 *)(iVar4 + 0x30));\n                  *piVar11 = iVar4;\n                }\n              }" else (compound_statement "{\n                piVar3 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                pcVar23 = pcStack_10c;\n                if ((iVar18 != 0) ||\n                   (iVar18 = (*pcStack_110)(piVar10), pcVar23 = pcStack_10c, iVar18 == 0))\n                goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                piVar19 = (int *)FUN_00040d14(iVar18);\n                (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n                pcVar23 = pcStack_110;\n                if (((int)piVar19 < 0) ||\n                   (piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108), piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (puVar12 != (undefined4 *)0x0) {\n                  *puVar12 = uStack_108;\n                }\n                if (piVar11 != (int *)0x0) {\n                  iVar4 = (**(code **)(pcStack_118 + -0x7f74))(*(undefined4 *)(iVar4 + 0x30));\n                  *piVar11 = iVar4;\n                }\n              }" { (expression_statement "piVar3 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);" (assignment_expression "piVar3 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260)" identifier = (cast_expression "(int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_118 + -0x7fc8) + 0x4260)" ( (binary_expression "*(int *)(pcStack_118 + -0x7fc8) + 0x4260" (pointer_expression "*(int *)(pcStack_118 + -0x7fc8)" * (cast_expression "(int *)(pcStack_118 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_118 + -0x7fc8)" ( (binary_expression "pcStack_118 + -0x7fc8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);" (assignment_expression "iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13)" identifier = (call_expression "(**(code **)(pcStack_118 + -0x77cc))(piVar13)" (parenthesized_expression "(**(code **)(pcStack_118 + -0x77cc))" ( (pointer_expression "**(code **)(pcStack_118 + -0x77cc)" * (pointer_expression "*(code **)(pcStack_118 + -0x77cc)" * (cast_expression "(code **)(pcStack_118 + -0x77cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_118 + -0x77cc)" ( (binary_expression "pcStack_118 + -0x77cc" identifier + number_literal) ))))) )) (argument_list "(piVar13)" ( identifier )))) ;) (expression_statement "pcVar23 = pcStack_10c;" (assignment_expression "pcVar23 = pcStack_10c" identifier = identifier) ;) (if_statement "if ((iVar18 != 0) ||\n                   (iVar18 = (*pcStack_110)(piVar10), pcVar23 = pcStack_10c, iVar18 == 0))\n                goto LAB_00043d58;" if (parenthesized_expression "((iVar18 != 0) ||\n                   (iVar18 = (*pcStack_110)(piVar10), pcVar23 = pcStack_10c, iVar18 == 0))" ( (binary_expression "(iVar18 != 0) ||\n                   (iVar18 = (*pcStack_110)(piVar10), pcVar23 = pcStack_10c, iVar18 == 0)" (parenthesized_expression "(iVar18 != 0)" ( (binary_expression "iVar18 != 0" identifier != number_literal) )) || (parenthesized_expression "(iVar18 = (*pcStack_110)(piVar10), pcVar23 = pcStack_10c, iVar18 == 0)" ( (comma_expression "iVar18 = (*pcStack_110)(piVar10), pcVar23 = pcStack_10c, iVar18 == 0" (assignment_expression "iVar18 = (*pcStack_110)(piVar10)" identifier = (call_expression "(*pcStack_110)(piVar10)" (parenthesized_expression "(*pcStack_110)" ( (pointer_expression "*pcStack_110" * identifier) )) (argument_list "(piVar10)" ( identifier )))) , (comma_expression "pcVar23 = pcStack_10c, iVar18 == 0" (assignment_expression "pcVar23 = pcStack_10c" identifier = identifier) , (binary_expression "iVar18 == 0" identifier == number_literal))) ))) )) (goto_statement "goto LAB_00043d58;" goto statement_identifier ;)) (expression_statement "pcStack_110 = pcStack_10c;" (assignment_expression "pcStack_110 = pcStack_10c" identifier = identifier) ;) (expression_statement "piVar19 = (int *)FUN_00040d14(iVar18);" (assignment_expression "piVar19 = (int *)FUN_00040d14(iVar18)" identifier = (cast_expression "(int *)FUN_00040d14(iVar18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00040d14(iVar18)" identifier (argument_list "(iVar18)" ( identifier ))))) ;) (expression_statement "(**(code **)(pcStack_118 + -0x7f80))(iVar18);" (call_expression "(**(code **)(pcStack_118 + -0x7f80))(iVar18)" (parenthesized_expression "(**(code **)(pcStack_118 + -0x7f80))" ( (pointer_expression "**(code **)(pcStack_118 + -0x7f80)" * (pointer_expression "*(code **)(pcStack_118 + -0x7f80)" * (cast_expression "(code **)(pcStack_118 + -0x7f80)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_118 + -0x7f80)" ( (binary_expression "pcStack_118 + -0x7f80" identifier + number_literal) ))))) )) (argument_list "(iVar18)" ( identifier ))) ;) (expression_statement "pcVar23 = pcStack_110;" (assignment_expression "pcVar23 = pcStack_110" identifier = identifier) ;) (if_statement "if (((int)piVar19 < 0) ||\n                   (piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108), piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0)) goto LAB_00043d58;" if (parenthesized_expression "(((int)piVar19 < 0) ||\n                   (piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108), piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0))" ( (binary_expression "((int)piVar19 < 0) ||\n                   (piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108), piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0)" (parenthesized_expression "((int)piVar19 < 0)" ( (binary_expression "(int)piVar19 < 0" (cast_expression "(int)piVar19" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) || (parenthesized_expression "(piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108), piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0)" ( (comma_expression "piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108), piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0" (assignment_expression "piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108)" identifier = (cast_expression "(int *)FUN_00040fc0(piVar10,piVar19,&uStack_108)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00040fc0(piVar10,piVar19,&uStack_108)" identifier (argument_list "(piVar10,piVar19,&uStack_108)" ( identifier , identifier , (pointer_expression "&uStack_108" & identifier) ))))) , (comma_expression "piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0" (assignment_expression "piVar3 = piVar19" identifier = identifier) , (comma_expression "pcVar23 = pcStack_110, piVar21 == (int *)0x0" (assignment_expression "pcVar23 = pcStack_110" identifier = identifier) , (binary_expression "piVar21 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))))) ))) )) (goto_statement "goto LAB_00043d58;" goto statement_identifier ;)) (expression_statement "(**(code **)(pcStack_118 + -0x77e4))(piVar10);" (call_expression "(**(code **)(pcStack_118 + -0x77e4))(piVar10)" (parenthesized_expression "(**(code **)(pcStack_118 + -0x77e4))" ( (pointer_expression "**(code **)(pcStack_118 + -0x77e4)" * (pointer_expression "*(code **)(pcStack_118 + -0x77e4)" * (cast_expression "(code **)(pcStack_118 + -0x77e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_118 + -0x77e4)" ( (binary_expression "pcStack_118 + -0x77e4" identifier + number_literal) ))))) )) (argument_list "(piVar10)" ( identifier ))) ;) (if_statement "if (puVar12 != (undefined4 *)0x0) {\n                  *puVar12 = uStack_108;\n                }" if (parenthesized_expression "(puVar12 != (undefined4 *)0x0)" ( (binary_expression "puVar12 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  *puVar12 = uStack_108;\n                }" { (expression_statement "*puVar12 = uStack_108;" (assignment_expression "*puVar12 = uStack_108" (pointer_expression "*puVar12" * identifier) = identifier) ;) })) (if_statement "if (piVar11 != (int *)0x0) {\n                  iVar4 = (**(code **)(pcStack_118 + -0x7f74))(*(undefined4 *)(iVar4 + 0x30));\n                  *piVar11 = iVar4;\n                }" if (parenthesized_expression "(piVar11 != (int *)0x0)" ( (binary_expression "piVar11 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  iVar4 = (**(code **)(pcStack_118 + -0x7f74))(*(undefined4 *)(iVar4 + 0x30));\n                  *piVar11 = iVar4;\n                }" { (expression_statement "iVar4 = (**(code **)(pcStack_118 + -0x7f74))(*(undefined4 *)(iVar4 + 0x30));" (assignment_expression "iVar4 = (**(code **)(pcStack_118 + -0x7f74))(*(undefined4 *)(iVar4 + 0x30))" identifier = (call_expression "(**(code **)(pcStack_118 + -0x7f74))(*(undefined4 *)(iVar4 + 0x30))" (parenthesized_expression "(**(code **)(pcStack_118 + -0x7f74))" ( (pointer_expression "**(code **)(pcStack_118 + -0x7f74)" * (pointer_expression "*(code **)(pcStack_118 + -0x7f74)" * (cast_expression "(code **)(pcStack_118 + -0x7f74)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_118 + -0x7f74)" ( (binary_expression "pcStack_118 + -0x7f74" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar4 + 0x30))" ( (pointer_expression "*(undefined4 *)(iVar4 + 0x30)" * (cast_expression "(undefined4 *)(iVar4 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x30)" ( (binary_expression "iVar4 + 0x30" identifier + number_literal) )))) )))) ;) (expression_statement "*piVar11 = iVar4;" (assignment_expression "*piVar11 = iVar4" (pointer_expression "*piVar11" * identifier) = identifier) ;) })) }))) (goto_statement "goto LAB_000439f8;" goto statement_identifier ;) })) (expression_statement "pcVar23 = *(code **)(pcStack_118 + -0x7b10);" (assignment_expression "pcVar23 = *(code **)(pcStack_118 + -0x7b10)" identifier = (pointer_expression "*(code **)(pcStack_118 + -0x7b10)" * (cast_expression "(code **)(pcStack_118 + -0x7b10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_118 + -0x7b10)" ( (binary_expression "pcStack_118 + -0x7b10" identifier + number_literal) ))))) ;) }))) (expression_statement "piStack_120 = piVar5;" (assignment_expression "piStack_120 = piVar5" identifier = identifier) ;) (expression_statement "piVar19 = piVar11;" (assignment_expression "piVar19 = piVar11" identifier = identifier) ;) (expression_statement "piVar21 = (int *)(*pcVar23)(piVar10,piVar11,puVar12,piVar14);" (assignment_expression "piVar21 = (int *)(*pcVar23)(piVar10,piVar11,puVar12,piVar14)" identifier = (cast_expression "(int *)(*pcVar23)(piVar10,piVar11,puVar12,piVar14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar23)(piVar10,piVar11,puVar12,piVar14)" (parenthesized_expression "(*pcVar23)" ( (pointer_expression "*pcVar23" * identifier) )) (argument_list "(piVar10,piVar11,puVar12,piVar14)" ( identifier , identifier , identifier , identifier ))))) ;) (expression_statement "(**(code **)(pcStack_118 + -0x77e4))(piVar10);" (call_expression "(**(code **)(pcStack_118 + -0x77e4))(piVar10)" (parenthesized_expression "(**(code **)(pcStack_118 + -0x77e4))" ( (pointer_expression "**(code **)(pcStack_118 + -0x77e4)" * (pointer_expression "*(code **)(pcStack_118 + -0x77e4)" * (cast_expression "(code **)(pcStack_118 + -0x77e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_118 + -0x77e4)" ( (binary_expression "pcStack_118 + -0x77e4" identifier + number_literal) ))))) )) (argument_list "(piVar10)" ( identifier ))) ;) }))) (labeled_statement "LAB_000439f8:\n        if (iStack_dc == *piVar16) {\n          return piVar21;\n        }" statement_identifier : (if_statement "if (iStack_dc == *piVar16) {\n          return piVar21;\n        }" if (parenthesized_expression "(iStack_dc == *piVar16)" ( (binary_expression "iStack_dc == *piVar16" identifier == (pointer_expression "*piVar16" * identifier)) )) (compound_statement "{\n          return piVar21;\n        }" { (return_statement "return piVar21;" return identifier ;) }))) (expression_statement "pcVar23 = *(code **)(pcStack_118 + -0x7880);" (assignment_expression "pcVar23 = *(code **)(pcStack_118 + -0x7880)" identifier = (pointer_expression "*(code **)(pcStack_118 + -0x7880)" * (cast_expression "(code **)(pcStack_118 + -0x7880)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_118 + -0x7880)" ( (binary_expression "pcStack_118 + -0x7880" identifier + number_literal) ))))) ;) (expression_statement "pcVar24 = ssh2_userkey_encrypted;" (assignment_expression "pcVar24 = ssh2_userkey_encrypted" identifier = identifier) ;) (expression_statement "(*pcVar23)();" (call_expression "(*pcVar23)()" (parenthesized_expression "(*pcVar23)" ( (pointer_expression "*pcVar23" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piVar20 = *(int **)(pcVar23 + 0x35b70);" (assignment_expression "piVar20 = *(int **)(pcVar23 + 0x35b70)" identifier = (pointer_expression "*(int **)(pcVar23 + 0x35b70)" * (cast_expression "(int **)(pcVar23 + 0x35b70)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x35b70)" ( (binary_expression "pcVar23 + 0x35b70" identifier + number_literal) ))))) ;) (expression_statement "piStack_150 = piVar5;" (assignment_expression "piStack_150 = piVar5" identifier = identifier) ;) (expression_statement "iStack_15c = *piVar20;" (assignment_expression "iStack_15c = *piVar20" identifier = (pointer_expression "*piVar20" * identifier)) ;) (if_statement "if (piVar19 != (int *)0x0) {\n          *piVar19 = 0;\n        }" if (parenthesized_expression "(piVar19 != (int *)0x0)" ( (binary_expression "piVar19 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          *piVar19 = 0;\n        }" { (expression_statement "*piVar19 = 0;" (assignment_expression "*piVar19 = 0" (pointer_expression "*piVar19" * identifier) = number_literal) ;) })) (expression_statement "piStack_154 = piVar16;" (assignment_expression "piStack_154 = piVar16" identifier = identifier) ;) (expression_statement "piStack_14c = piVar14;" (assignment_expression "piStack_14c = piVar14" identifier = identifier) ;) (expression_statement "piStack_148 = piVar11;" (assignment_expression "piStack_148 = piVar11" identifier = identifier) ;) (expression_statement "puStack_144 = puVar12;" (assignment_expression "puStack_144 = puVar12" identifier = identifier) ;) (expression_statement "piStack_140 = piVar21;" (assignment_expression "piStack_140 = piVar21" identifier = identifier) ;) (expression_statement "piStack_13c = piVar13;" (assignment_expression "piStack_13c = piVar13" identifier = identifier) ;) (expression_statement "piStack_138 = piVar10;" (assignment_expression "piStack_138 = piVar10" identifier = identifier) ;) (expression_statement "pcStack_134 = pcVar24;" (assignment_expression "pcStack_134 = pcVar24" identifier = identifier) ;) (expression_statement "iVar4 = f_open();" (assignment_expression "iVar4 = f_open()" identifier = (call_expression "f_open()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar4 == 0) {\n          piVar10 = (int *)0x0;\n        }\n        else {\n          iVar18 = FUN_00040db0(iVar4,auStack_184);\n          if ((iVar18 != 0) &&\n             (((iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4214), iVar18 == 0\n               || (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                      (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c),\n                  iVar18 == 0)) && (iVar18 = FUN_00040e74(iVar4), iVar18 != 0)))) {\n            (**(code **)(pcVar23 + 0x35330))(iVar18);\n            iVar18 = FUN_00040db0(iVar4,auStack_184);\n            if ((iVar18 != 0) &&\n               (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4244), iVar18 == 0))\n            {\n              iVar18 = FUN_00040e74(iVar4);\n              if (iVar18 == 0) {\n                (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                piVar10 = (int *)0x0;\n              }\n              else {\n                iVar8 = FUN_00040db0(iVar4,auStack_184);\n                if (((iVar8 == 0) ||\n                    (iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0)) || (iVar8 = FUN_00040e74(iVar4), iVar8 == 0)) {\n                  piVar10 = (int *)0x1;\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n                else {\n                  if (piVar19 == (int *)0x0) {\n                    (**(code **)(pcVar23 + 0x35330))(iVar8);\n                  }\n                  else {\n                    *piVar19 = iVar8;\n                  }\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  iVar4 = (**(code **)(pcVar23 + 0x35ae4))\n                                    (iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4);\n                  piVar10 = (int *)(uint)(iVar4 == 0);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n              }\n              goto LAB_00043f04;\n            }\n          }\n          piVar10 = (int *)0x0;\n          (**(code **)(pcVar23 + 0x35acc))(iVar4);\n        }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n          piVar10 = (int *)0x0;\n        }" { (expression_statement "piVar10 = (int *)0x0;" (assignment_expression "piVar10 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n          iVar18 = FUN_00040db0(iVar4,auStack_184);\n          if ((iVar18 != 0) &&\n             (((iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4214), iVar18 == 0\n               || (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                      (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c),\n                  iVar18 == 0)) && (iVar18 = FUN_00040e74(iVar4), iVar18 != 0)))) {\n            (**(code **)(pcVar23 + 0x35330))(iVar18);\n            iVar18 = FUN_00040db0(iVar4,auStack_184);\n            if ((iVar18 != 0) &&\n               (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4244), iVar18 == 0))\n            {\n              iVar18 = FUN_00040e74(iVar4);\n              if (iVar18 == 0) {\n                (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                piVar10 = (int *)0x0;\n              }\n              else {\n                iVar8 = FUN_00040db0(iVar4,auStack_184);\n                if (((iVar8 == 0) ||\n                    (iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0)) || (iVar8 = FUN_00040e74(iVar4), iVar8 == 0)) {\n                  piVar10 = (int *)0x1;\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n                else {\n                  if (piVar19 == (int *)0x0) {\n                    (**(code **)(pcVar23 + 0x35330))(iVar8);\n                  }\n                  else {\n                    *piVar19 = iVar8;\n                  }\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  iVar4 = (**(code **)(pcVar23 + 0x35ae4))\n                                    (iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4);\n                  piVar10 = (int *)(uint)(iVar4 == 0);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n              }\n              goto LAB_00043f04;\n            }\n          }\n          piVar10 = (int *)0x0;\n          (**(code **)(pcVar23 + 0x35acc))(iVar4);\n        }" else (compound_statement "{\n          iVar18 = FUN_00040db0(iVar4,auStack_184);\n          if ((iVar18 != 0) &&\n             (((iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4214), iVar18 == 0\n               || (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                      (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c),\n                  iVar18 == 0)) && (iVar18 = FUN_00040e74(iVar4), iVar18 != 0)))) {\n            (**(code **)(pcVar23 + 0x35330))(iVar18);\n            iVar18 = FUN_00040db0(iVar4,auStack_184);\n            if ((iVar18 != 0) &&\n               (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4244), iVar18 == 0))\n            {\n              iVar18 = FUN_00040e74(iVar4);\n              if (iVar18 == 0) {\n                (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                piVar10 = (int *)0x0;\n              }\n              else {\n                iVar8 = FUN_00040db0(iVar4,auStack_184);\n                if (((iVar8 == 0) ||\n                    (iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0)) || (iVar8 = FUN_00040e74(iVar4), iVar8 == 0)) {\n                  piVar10 = (int *)0x1;\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n                else {\n                  if (piVar19 == (int *)0x0) {\n                    (**(code **)(pcVar23 + 0x35330))(iVar8);\n                  }\n                  else {\n                    *piVar19 = iVar8;\n                  }\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  iVar4 = (**(code **)(pcVar23 + 0x35ae4))\n                                    (iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4);\n                  piVar10 = (int *)(uint)(iVar4 == 0);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n              }\n              goto LAB_00043f04;\n            }\n          }\n          piVar10 = (int *)0x0;\n          (**(code **)(pcVar23 + 0x35acc))(iVar4);\n        }" { (expression_statement "iVar18 = FUN_00040db0(iVar4,auStack_184);" (assignment_expression "iVar18 = FUN_00040db0(iVar4,auStack_184)" identifier = (call_expression "FUN_00040db0(iVar4,auStack_184)" identifier (argument_list "(iVar4,auStack_184)" ( identifier , identifier )))) ;) (if_statement "if ((iVar18 != 0) &&\n             (((iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4214), iVar18 == 0\n               || (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                      (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c),\n                  iVar18 == 0)) && (iVar18 = FUN_00040e74(iVar4), iVar18 != 0)))) {\n            (**(code **)(pcVar23 + 0x35330))(iVar18);\n            iVar18 = FUN_00040db0(iVar4,auStack_184);\n            if ((iVar18 != 0) &&\n               (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4244), iVar18 == 0))\n            {\n              iVar18 = FUN_00040e74(iVar4);\n              if (iVar18 == 0) {\n                (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                piVar10 = (int *)0x0;\n              }\n              else {\n                iVar8 = FUN_00040db0(iVar4,auStack_184);\n                if (((iVar8 == 0) ||\n                    (iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0)) || (iVar8 = FUN_00040e74(iVar4), iVar8 == 0)) {\n                  piVar10 = (int *)0x1;\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n                else {\n                  if (piVar19 == (int *)0x0) {\n                    (**(code **)(pcVar23 + 0x35330))(iVar8);\n                  }\n                  else {\n                    *piVar19 = iVar8;\n                  }\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  iVar4 = (**(code **)(pcVar23 + 0x35ae4))\n                                    (iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4);\n                  piVar10 = (int *)(uint)(iVar4 == 0);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n              }\n              goto LAB_00043f04;\n            }\n          }" if (parenthesized_expression "((iVar18 != 0) &&\n             (((iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4214), iVar18 == 0\n               || (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                      (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c),\n                  iVar18 == 0)) && (iVar18 = FUN_00040e74(iVar4), iVar18 != 0))))" ( (binary_expression "(iVar18 != 0) &&\n             (((iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4214), iVar18 == 0\n               || (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                      (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c),\n                  iVar18 == 0)) && (iVar18 = FUN_00040e74(iVar4), iVar18 != 0)))" (parenthesized_expression "(iVar18 != 0)" ( (binary_expression "iVar18 != 0" identifier != number_literal) )) && (parenthesized_expression "(((iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4214), iVar18 == 0\n               || (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                      (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c),\n                  iVar18 == 0)) && (iVar18 = FUN_00040e74(iVar4), iVar18 != 0)))" ( (parenthesized_expression "((iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4214), iVar18 == 0\n               || (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                      (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c),\n                  iVar18 == 0)) && (iVar18 = FUN_00040e74(iVar4), iVar18 != 0))" ( (binary_expression "(iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4214), iVar18 == 0\n               || (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                      (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c),\n                  iVar18 == 0)) && (iVar18 = FUN_00040e74(iVar4), iVar18 != 0)" (parenthesized_expression "(iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4214), iVar18 == 0\n               || (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                      (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c),\n                  iVar18 == 0))" ( (comma_expression "iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4214), iVar18 == 0\n               || (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                      (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c),\n                  iVar18 == 0)" (assignment_expression "iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4214)" identifier = (call_expression "(**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4214)" (parenthesized_expression "(**(code **)(pcVar23 + 0x35ae4))" ( (pointer_expression "**(code **)(pcVar23 + 0x35ae4)" * (pointer_expression "*(code **)(pcVar23 + 0x35ae4)" * (cast_expression "(code **)(pcVar23 + 0x35ae4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x35ae4)" ( (binary_expression "pcVar23 + 0x35ae4" identifier + number_literal) ))))) )) (argument_list "(auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4214)" ( identifier , (binary_expression "*(int *)(pcVar23 + 0x352e8) + 0x4214" (pointer_expression "*(int *)(pcVar23 + 0x352e8)" * (cast_expression "(int *)(pcVar23 + 0x352e8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar23 + 0x352e8)" ( (binary_expression "pcVar23 + 0x352e8" identifier + number_literal) )))) + number_literal) )))) , (binary_expression "iVar18 == 0\n               || (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                      (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c),\n                  iVar18 == 0)" (binary_expression "iVar18 == 0" identifier == number_literal) || (parenthesized_expression "(iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                      (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c),\n                  iVar18 == 0)" ( (comma_expression "iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                      (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c),\n                  iVar18 == 0" (assignment_expression "iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                      (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c)" identifier = (call_expression "(**(code **)(pcVar23 + 0x35ae4))\n                                      (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c)" (parenthesized_expression "(**(code **)(pcVar23 + 0x35ae4))" ( (pointer_expression "**(code **)(pcVar23 + 0x35ae4)" * (pointer_expression "*(code **)(pcVar23 + 0x35ae4)" * (cast_expression "(code **)(pcVar23 + 0x35ae4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x35ae4)" ( (binary_expression "pcVar23 + 0x35ae4" identifier + number_literal) ))))) )) (argument_list "(auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c)" ( identifier , (binary_expression "*(int *)(pcVar23 + 0x352e8) + 0x422c" (pointer_expression "*(int *)(pcVar23 + 0x352e8)" * (cast_expression "(int *)(pcVar23 + 0x352e8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar23 + 0x352e8)" ( (binary_expression "pcVar23 + 0x352e8" identifier + number_literal) )))) + number_literal) )))) , (binary_expression "iVar18 == 0" identifier == number_literal)) )))) )) && (parenthesized_expression "(iVar18 = FUN_00040e74(iVar4), iVar18 != 0)" ( (comma_expression "iVar18 = FUN_00040e74(iVar4), iVar18 != 0" (assignment_expression "iVar18 = FUN_00040e74(iVar4)" identifier = (call_expression "FUN_00040e74(iVar4)" identifier (argument_list "(iVar4)" ( identifier )))) , (binary_expression "iVar18 != 0" identifier != number_literal)) ))) )) ))) )) (compound_statement "{\n            (**(code **)(pcVar23 + 0x35330))(iVar18);\n            iVar18 = FUN_00040db0(iVar4,auStack_184);\n            if ((iVar18 != 0) &&\n               (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4244), iVar18 == 0))\n            {\n              iVar18 = FUN_00040e74(iVar4);\n              if (iVar18 == 0) {\n                (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                piVar10 = (int *)0x0;\n              }\n              else {\n                iVar8 = FUN_00040db0(iVar4,auStack_184);\n                if (((iVar8 == 0) ||\n                    (iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0)) || (iVar8 = FUN_00040e74(iVar4), iVar8 == 0)) {\n                  piVar10 = (int *)0x1;\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n                else {\n                  if (piVar19 == (int *)0x0) {\n                    (**(code **)(pcVar23 + 0x35330))(iVar8);\n                  }\n                  else {\n                    *piVar19 = iVar8;\n                  }\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  iVar4 = (**(code **)(pcVar23 + 0x35ae4))\n                                    (iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4);\n                  piVar10 = (int *)(uint)(iVar4 == 0);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n              }\n              goto LAB_00043f04;\n            }\n          }" { (expression_statement "(**(code **)(pcVar23 + 0x35330))(iVar18);" (call_expression "(**(code **)(pcVar23 + 0x35330))(iVar18)" (parenthesized_expression "(**(code **)(pcVar23 + 0x35330))" ( (pointer_expression "**(code **)(pcVar23 + 0x35330)" * (pointer_expression "*(code **)(pcVar23 + 0x35330)" * (cast_expression "(code **)(pcVar23 + 0x35330)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x35330)" ( (binary_expression "pcVar23 + 0x35330" identifier + number_literal) ))))) )) (argument_list "(iVar18)" ( identifier ))) ;) (expression_statement "iVar18 = FUN_00040db0(iVar4,auStack_184);" (assignment_expression "iVar18 = FUN_00040db0(iVar4,auStack_184)" identifier = (call_expression "FUN_00040db0(iVar4,auStack_184)" identifier (argument_list "(iVar4,auStack_184)" ( identifier , identifier )))) ;) (if_statement "if ((iVar18 != 0) &&\n               (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4244), iVar18 == 0))\n            {\n              iVar18 = FUN_00040e74(iVar4);\n              if (iVar18 == 0) {\n                (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                piVar10 = (int *)0x0;\n              }\n              else {\n                iVar8 = FUN_00040db0(iVar4,auStack_184);\n                if (((iVar8 == 0) ||\n                    (iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0)) || (iVar8 = FUN_00040e74(iVar4), iVar8 == 0)) {\n                  piVar10 = (int *)0x1;\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n                else {\n                  if (piVar19 == (int *)0x0) {\n                    (**(code **)(pcVar23 + 0x35330))(iVar8);\n                  }\n                  else {\n                    *piVar19 = iVar8;\n                  }\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  iVar4 = (**(code **)(pcVar23 + 0x35ae4))\n                                    (iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4);\n                  piVar10 = (int *)(uint)(iVar4 == 0);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n              }\n              goto LAB_00043f04;\n            }" if (parenthesized_expression "((iVar18 != 0) &&\n               (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4244), iVar18 == 0))" ( (binary_expression "(iVar18 != 0) &&\n               (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4244), iVar18 == 0)" (parenthesized_expression "(iVar18 != 0)" ( (binary_expression "iVar18 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4244), iVar18 == 0)" ( (comma_expression "iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4244), iVar18 == 0" (assignment_expression "iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4244)" identifier = (call_expression "(**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4244)" (parenthesized_expression "(**(code **)(pcVar23 + 0x35ae4))" ( (pointer_expression "**(code **)(pcVar23 + 0x35ae4)" * (pointer_expression "*(code **)(pcVar23 + 0x35ae4)" * (cast_expression "(code **)(pcVar23 + 0x35ae4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x35ae4)" ( (binary_expression "pcVar23 + 0x35ae4" identifier + number_literal) ))))) )) (argument_list "(auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4244)" ( identifier , (binary_expression "*(int *)(pcVar23 + 0x352e8) + 0x4244" (pointer_expression "*(int *)(pcVar23 + 0x352e8)" * (cast_expression "(int *)(pcVar23 + 0x352e8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar23 + 0x352e8)" ( (binary_expression "pcVar23 + 0x352e8" identifier + number_literal) )))) + number_literal) )))) , (binary_expression "iVar18 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n              iVar18 = FUN_00040e74(iVar4);\n              if (iVar18 == 0) {\n                (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                piVar10 = (int *)0x0;\n              }\n              else {\n                iVar8 = FUN_00040db0(iVar4,auStack_184);\n                if (((iVar8 == 0) ||\n                    (iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0)) || (iVar8 = FUN_00040e74(iVar4), iVar8 == 0)) {\n                  piVar10 = (int *)0x1;\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n                else {\n                  if (piVar19 == (int *)0x0) {\n                    (**(code **)(pcVar23 + 0x35330))(iVar8);\n                  }\n                  else {\n                    *piVar19 = iVar8;\n                  }\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  iVar4 = (**(code **)(pcVar23 + 0x35ae4))\n                                    (iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4);\n                  piVar10 = (int *)(uint)(iVar4 == 0);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n              }\n              goto LAB_00043f04;\n            }" { (expression_statement "iVar18 = FUN_00040e74(iVar4);" (assignment_expression "iVar18 = FUN_00040e74(iVar4)" identifier = (call_expression "FUN_00040e74(iVar4)" identifier (argument_list "(iVar4)" ( identifier )))) ;) (if_statement "if (iVar18 == 0) {\n                (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                piVar10 = (int *)0x0;\n              }\n              else {\n                iVar8 = FUN_00040db0(iVar4,auStack_184);\n                if (((iVar8 == 0) ||\n                    (iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0)) || (iVar8 = FUN_00040e74(iVar4), iVar8 == 0)) {\n                  piVar10 = (int *)0x1;\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n                else {\n                  if (piVar19 == (int *)0x0) {\n                    (**(code **)(pcVar23 + 0x35330))(iVar8);\n                  }\n                  else {\n                    *piVar19 = iVar8;\n                  }\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  iVar4 = (**(code **)(pcVar23 + 0x35ae4))\n                                    (iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4);\n                  piVar10 = (int *)(uint)(iVar4 == 0);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n              }" if (parenthesized_expression "(iVar18 == 0)" ( (binary_expression "iVar18 == 0" identifier == number_literal) )) (compound_statement "{\n                (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                piVar10 = (int *)0x0;\n              }" { (expression_statement "(**(code **)(pcVar23 + 0x35acc))(iVar4);" (call_expression "(**(code **)(pcVar23 + 0x35acc))(iVar4)" (parenthesized_expression "(**(code **)(pcVar23 + 0x35acc))" ( (pointer_expression "**(code **)(pcVar23 + 0x35acc)" * (pointer_expression "*(code **)(pcVar23 + 0x35acc)" * (cast_expression "(code **)(pcVar23 + 0x35acc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x35acc)" ( (binary_expression "pcVar23 + 0x35acc" identifier + number_literal) ))))) )) (argument_list "(iVar4)" ( identifier ))) ;) (expression_statement "piVar10 = (int *)0x0;" (assignment_expression "piVar10 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n                iVar8 = FUN_00040db0(iVar4,auStack_184);\n                if (((iVar8 == 0) ||\n                    (iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0)) || (iVar8 = FUN_00040e74(iVar4), iVar8 == 0)) {\n                  piVar10 = (int *)0x1;\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n                else {\n                  if (piVar19 == (int *)0x0) {\n                    (**(code **)(pcVar23 + 0x35330))(iVar8);\n                  }\n                  else {\n                    *piVar19 = iVar8;\n                  }\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  iVar4 = (**(code **)(pcVar23 + 0x35ae4))\n                                    (iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4);\n                  piVar10 = (int *)(uint)(iVar4 == 0);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n              }" else (compound_statement "{\n                iVar8 = FUN_00040db0(iVar4,auStack_184);\n                if (((iVar8 == 0) ||\n                    (iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0)) || (iVar8 = FUN_00040e74(iVar4), iVar8 == 0)) {\n                  piVar10 = (int *)0x1;\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n                else {\n                  if (piVar19 == (int *)0x0) {\n                    (**(code **)(pcVar23 + 0x35330))(iVar8);\n                  }\n                  else {\n                    *piVar19 = iVar8;\n                  }\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  iVar4 = (**(code **)(pcVar23 + 0x35ae4))\n                                    (iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4);\n                  piVar10 = (int *)(uint)(iVar4 == 0);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n              }" { (expression_statement "iVar8 = FUN_00040db0(iVar4,auStack_184);" (assignment_expression "iVar8 = FUN_00040db0(iVar4,auStack_184)" identifier = (call_expression "FUN_00040db0(iVar4,auStack_184)" identifier (argument_list "(iVar4,auStack_184)" ( identifier , identifier )))) ;) (if_statement "if (((iVar8 == 0) ||\n                    (iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0)) || (iVar8 = FUN_00040e74(iVar4), iVar8 == 0)) {\n                  piVar10 = (int *)0x1;\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n                else {\n                  if (piVar19 == (int *)0x0) {\n                    (**(code **)(pcVar23 + 0x35330))(iVar8);\n                  }\n                  else {\n                    *piVar19 = iVar8;\n                  }\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  iVar4 = (**(code **)(pcVar23 + 0x35ae4))\n                                    (iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4);\n                  piVar10 = (int *)(uint)(iVar4 == 0);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }" if (parenthesized_expression "(((iVar8 == 0) ||\n                    (iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0)) || (iVar8 = FUN_00040e74(iVar4), iVar8 == 0))" ( (binary_expression "((iVar8 == 0) ||\n                    (iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0)) || (iVar8 = FUN_00040e74(iVar4), iVar8 == 0)" (parenthesized_expression "((iVar8 == 0) ||\n                    (iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0))" ( (binary_expression "(iVar8 == 0) ||\n                    (iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0)" (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0)" ( (comma_expression "iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0" (assignment_expression "iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258)" identifier = (call_expression "(**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258)" (parenthesized_expression "(**(code **)(pcVar23 + 0x35ae4))" ( (pointer_expression "**(code **)(pcVar23 + 0x35ae4)" * (pointer_expression "*(code **)(pcVar23 + 0x35ae4)" * (cast_expression "(code **)(pcVar23 + 0x35ae4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x35ae4)" ( (binary_expression "pcVar23 + 0x35ae4" identifier + number_literal) ))))) )) (argument_list "(auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258)" ( identifier , (binary_expression "*(int *)(pcVar23 + 0x352e8) + 0x4258" (pointer_expression "*(int *)(pcVar23 + 0x352e8)" * (cast_expression "(int *)(pcVar23 + 0x352e8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar23 + 0x352e8)" ( (binary_expression "pcVar23 + 0x352e8" identifier + number_literal) )))) + number_literal) )))) , (binary_expression "iVar8 != 0" identifier != number_literal)) ))) )) || (parenthesized_expression "(iVar8 = FUN_00040e74(iVar4), iVar8 == 0)" ( (comma_expression "iVar8 = FUN_00040e74(iVar4), iVar8 == 0" (assignment_expression "iVar8 = FUN_00040e74(iVar4)" identifier = (call_expression "FUN_00040e74(iVar4)" identifier (argument_list "(iVar4)" ( identifier )))) , (binary_expression "iVar8 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n                  piVar10 = (int *)0x1;\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }" { (expression_statement "piVar10 = (int *)0x1;" (assignment_expression "piVar10 = (int *)0x1" identifier = (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(pcVar23 + 0x35acc))(iVar4);" (call_expression "(**(code **)(pcVar23 + 0x35acc))(iVar4)" (parenthesized_expression "(**(code **)(pcVar23 + 0x35acc))" ( (pointer_expression "**(code **)(pcVar23 + 0x35acc)" * (pointer_expression "*(code **)(pcVar23 + 0x35acc)" * (cast_expression "(code **)(pcVar23 + 0x35acc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x35acc)" ( (binary_expression "pcVar23 + 0x35acc" identifier + number_literal) ))))) )) (argument_list "(iVar4)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar23 + 0x35330))(iVar18);" (call_expression "(**(code **)(pcVar23 + 0x35330))(iVar18)" (parenthesized_expression "(**(code **)(pcVar23 + 0x35330))" ( (pointer_expression "**(code **)(pcVar23 + 0x35330)" * (pointer_expression "*(code **)(pcVar23 + 0x35330)" * (cast_expression "(code **)(pcVar23 + 0x35330)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x35330)" ( (binary_expression "pcVar23 + 0x35330" identifier + number_literal) ))))) )) (argument_list "(iVar18)" ( identifier ))) ;) }) (else_clause "else {\n                  if (piVar19 == (int *)0x0) {\n                    (**(code **)(pcVar23 + 0x35330))(iVar8);\n                  }\n                  else {\n                    *piVar19 = iVar8;\n                  }\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  iVar4 = (**(code **)(pcVar23 + 0x35ae4))\n                                    (iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4);\n                  piVar10 = (int *)(uint)(iVar4 == 0);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }" else (compound_statement "{\n                  if (piVar19 == (int *)0x0) {\n                    (**(code **)(pcVar23 + 0x35330))(iVar8);\n                  }\n                  else {\n                    *piVar19 = iVar8;\n                  }\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  iVar4 = (**(code **)(pcVar23 + 0x35ae4))\n                                    (iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4);\n                  piVar10 = (int *)(uint)(iVar4 == 0);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }" { (if_statement "if (piVar19 == (int *)0x0) {\n                    (**(code **)(pcVar23 + 0x35330))(iVar8);\n                  }\n                  else {\n                    *piVar19 = iVar8;\n                  }" if (parenthesized_expression "(piVar19 == (int *)0x0)" ( (binary_expression "piVar19 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    (**(code **)(pcVar23 + 0x35330))(iVar8);\n                  }" { (expression_statement "(**(code **)(pcVar23 + 0x35330))(iVar8);" (call_expression "(**(code **)(pcVar23 + 0x35330))(iVar8)" (parenthesized_expression "(**(code **)(pcVar23 + 0x35330))" ( (pointer_expression "**(code **)(pcVar23 + 0x35330)" * (pointer_expression "*(code **)(pcVar23 + 0x35330)" * (cast_expression "(code **)(pcVar23 + 0x35330)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x35330)" ( (binary_expression "pcVar23 + 0x35330" identifier + number_literal) ))))) )) (argument_list "(iVar8)" ( identifier ))) ;) }) (else_clause "else {\n                    *piVar19 = iVar8;\n                  }" else (compound_statement "{\n                    *piVar19 = iVar8;\n                  }" { (expression_statement "*piVar19 = iVar8;" (assignment_expression "*piVar19 = iVar8" (pointer_expression "*piVar19" * identifier) = identifier) ;) }))) (expression_statement "(**(code **)(pcVar23 + 0x35acc))(iVar4);" (call_expression "(**(code **)(pcVar23 + 0x35acc))(iVar4)" (parenthesized_expression "(**(code **)(pcVar23 + 0x35acc))" ( (pointer_expression "**(code **)(pcVar23 + 0x35acc)" * (pointer_expression "*(code **)(pcVar23 + 0x35acc)" * (cast_expression "(code **)(pcVar23 + 0x35acc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x35acc)" ( (binary_expression "pcVar23 + 0x35acc" identifier + number_literal) ))))) )) (argument_list "(iVar4)" ( identifier ))) ;) (expression_statement "iVar4 = (**(code **)(pcVar23 + 0x35ae4))\n                                    (iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4);" (assignment_expression "iVar4 = (**(code **)(pcVar23 + 0x35ae4))\n                                    (iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4)" identifier = (call_expression "(**(code **)(pcVar23 + 0x35ae4))\n                                    (iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4)" (parenthesized_expression "(**(code **)(pcVar23 + 0x35ae4))" ( (pointer_expression "**(code **)(pcVar23 + 0x35ae4)" * (pointer_expression "*(code **)(pcVar23 + 0x35ae4)" * (cast_expression "(code **)(pcVar23 + 0x35ae4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x35ae4)" ( (binary_expression "pcVar23 + 0x35ae4" identifier + number_literal) ))))) )) (argument_list "(iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4)" ( identifier , (binary_expression "*(int *)(pcVar23 + 0x352e8) + 0x7c4" (pointer_expression "*(int *)(pcVar23 + 0x352e8)" * (cast_expression "(int *)(pcVar23 + 0x352e8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar23 + 0x352e8)" ( (binary_expression "pcVar23 + 0x352e8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "piVar10 = (int *)(uint)(iVar4 == 0);" (assignment_expression "piVar10 = (int *)(uint)(iVar4 == 0)" identifier = (cast_expression "(int *)(uint)(iVar4 == 0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(iVar4 == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) ))))) ;) (expression_statement "(**(code **)(pcVar23 + 0x35330))(iVar18);" (call_expression "(**(code **)(pcVar23 + 0x35330))(iVar18)" (parenthesized_expression "(**(code **)(pcVar23 + 0x35330))" ( (pointer_expression "**(code **)(pcVar23 + 0x35330)" * (pointer_expression "*(code **)(pcVar23 + 0x35330)" * (cast_expression "(code **)(pcVar23 + 0x35330)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x35330)" ( (binary_expression "pcVar23 + 0x35330" identifier + number_literal) ))))) )) (argument_list "(iVar18)" ( identifier ))) ;) }))) }))) (goto_statement "goto LAB_00043f04;" goto statement_identifier ;) })) })) (expression_statement "piVar10 = (int *)0x0;" (assignment_expression "piVar10 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(pcVar23 + 0x35acc))(iVar4);" (call_expression "(**(code **)(pcVar23 + 0x35acc))(iVar4)" (parenthesized_expression "(**(code **)(pcVar23 + 0x35acc))" ( (pointer_expression "**(code **)(pcVar23 + 0x35acc)" * (pointer_expression "*(code **)(pcVar23 + 0x35acc)" * (cast_expression "(code **)(pcVar23 + 0x35acc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x35acc)" ( (binary_expression "pcVar23 + 0x35acc" identifier + number_literal) ))))) )) (argument_list "(iVar4)" ( identifier ))) ;) }))) (labeled_statement "LAB_00043f04:\n        if (iStack_15c != *piVar20) {\n          (**(code **)(pcVar23 + 0x35a30))();\n          return (int *)((iStack_15c + 0x2f) / 0x30);\n        }" statement_identifier : (if_statement "if (iStack_15c != *piVar20) {\n          (**(code **)(pcVar23 + 0x35a30))();\n          return (int *)((iStack_15c + 0x2f) / 0x30);\n        }" if (parenthesized_expression "(iStack_15c != *piVar20)" ( (binary_expression "iStack_15c != *piVar20" identifier != (pointer_expression "*piVar20" * identifier)) )) (compound_statement "{\n          (**(code **)(pcVar23 + 0x35a30))();\n          return (int *)((iStack_15c + 0x2f) / 0x30);\n        }" { (expression_statement "(**(code **)(pcVar23 + 0x35a30))();" (call_expression "(**(code **)(pcVar23 + 0x35a30))()" (parenthesized_expression "(**(code **)(pcVar23 + 0x35a30))" ( (pointer_expression "**(code **)(pcVar23 + 0x35a30)" * (pointer_expression "*(code **)(pcVar23 + 0x35a30)" * (cast_expression "(code **)(pcVar23 + 0x35a30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x35a30)" ( (binary_expression "pcVar23 + 0x35a30" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (return_statement "return (int *)((iStack_15c + 0x2f) / 0x30);" return (cast_expression "(int *)((iStack_15c + 0x2f) / 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((iStack_15c + 0x2f) / 0x30)" ( (binary_expression "(iStack_15c + 0x2f) / 0x30" (parenthesized_expression "(iStack_15c + 0x2f)" ( (binary_expression "iStack_15c + 0x2f" identifier + number_literal) )) / number_literal) ))) ;) }))) (return_statement "return piVar10;" return identifier ;) })) (expression_statement "iVar8 = (*(code *)piStack_a0[-0x1f66])(pcVar15,(int)piVar3 + iVar18);" (assignment_expression "iVar8 = (*(code *)piStack_a0[-0x1f66])(pcVar15,(int)piVar3 + iVar18)" identifier = (call_expression "(*(code *)piStack_a0[-0x1f66])(pcVar15,(int)piVar3 + iVar18)" (parenthesized_expression "(*(code *)piStack_a0[-0x1f66])" ( (pointer_expression "*(code *)piStack_a0[-0x1f66]" * (cast_expression "(code *)piStack_a0[-0x1f66]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piStack_a0[-0x1f66]" identifier [ number_literal ]))) )) (argument_list "(pcVar15,(int)piVar3 + iVar18)" ( identifier , (binary_expression "(int)piVar3 + iVar18" (cast_expression "(int)piVar3" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "iVar18 = iVar18 + iVar8;" (assignment_expression "iVar18 = iVar18 + iVar8" identifier = (binary_expression "iVar18 + iVar8" identifier + identifier)) ;) (expression_statement "pcVar15 = pcVar15 + 4;" (assignment_expression "pcVar15 = pcVar15 + 4" identifier = (binary_expression "pcVar15 + 4" identifier + number_literal)) ;) })) (if_statement "if (*pcVar15 == '\0') {\n      iVar4 = (*(code *)piStack_a0[-0x1de8])(uVar2);\n      if (((iVar4 + 3 < iVar18) && (iVar4 == *piVar3)) &&\n         (iVar4 = (*(code *)piStack_a0[-0x1dfd])(piVar3 + 1,uVar2,iVar4), iVar4 == 0)) {\n        if (piVar10 != (int *)0x0) {\n          iVar4 = (*(code *)piStack_a0[-0x1fdd])(uVar2);\n          *piVar10 = iVar4;\n        }\n        if (piVar20 != (int *)0x0) {\n          *piVar20 = iVar18;\n        }\n        if (piVar13 == (int *)0x0) {\n          (*(code *)piStack_a0[-0x1fe0])(puVar6);\n        }\n        else {\n          *piVar13 = (int)puVar6;\n        }\n        (*(code *)piStack_a0[-0x1fe0])(uVar2);\n        return piVar3;\n      }\n      iVar4 = piStack_a0[-0x1ff2] + 0x441c;\n    }\n    else {\n      iVar4 = piStack_a0[-0x1ff2] + 0x4454;\n    }" if (parenthesized_expression "(*pcVar15 == '\0')" ( (binary_expression "*pcVar15 == '\0'" (pointer_expression "*pcVar15" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      iVar4 = (*(code *)piStack_a0[-0x1de8])(uVar2);\n      if (((iVar4 + 3 < iVar18) && (iVar4 == *piVar3)) &&\n         (iVar4 = (*(code *)piStack_a0[-0x1dfd])(piVar3 + 1,uVar2,iVar4), iVar4 == 0)) {\n        if (piVar10 != (int *)0x0) {\n          iVar4 = (*(code *)piStack_a0[-0x1fdd])(uVar2);\n          *piVar10 = iVar4;\n        }\n        if (piVar20 != (int *)0x0) {\n          *piVar20 = iVar18;\n        }\n        if (piVar13 == (int *)0x0) {\n          (*(code *)piStack_a0[-0x1fe0])(puVar6);\n        }\n        else {\n          *piVar13 = (int)puVar6;\n        }\n        (*(code *)piStack_a0[-0x1fe0])(uVar2);\n        return piVar3;\n      }\n      iVar4 = piStack_a0[-0x1ff2] + 0x441c;\n    }" { (expression_statement "iVar4 = (*(code *)piStack_a0[-0x1de8])(uVar2);" (assignment_expression "iVar4 = (*(code *)piStack_a0[-0x1de8])(uVar2)" identifier = (call_expression "(*(code *)piStack_a0[-0x1de8])(uVar2)" (parenthesized_expression "(*(code *)piStack_a0[-0x1de8])" ( (pointer_expression "*(code *)piStack_a0[-0x1de8]" * (cast_expression "(code *)piStack_a0[-0x1de8]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piStack_a0[-0x1de8]" identifier [ number_literal ]))) )) (argument_list "(uVar2)" ( identifier )))) ;) (if_statement "if (((iVar4 + 3 < iVar18) && (iVar4 == *piVar3)) &&\n         (iVar4 = (*(code *)piStack_a0[-0x1dfd])(piVar3 + 1,uVar2,iVar4), iVar4 == 0)) {\n        if (piVar10 != (int *)0x0) {\n          iVar4 = (*(code *)piStack_a0[-0x1fdd])(uVar2);\n          *piVar10 = iVar4;\n        }\n        if (piVar20 != (int *)0x0) {\n          *piVar20 = iVar18;\n        }\n        if (piVar13 == (int *)0x0) {\n          (*(code *)piStack_a0[-0x1fe0])(puVar6);\n        }\n        else {\n          *piVar13 = (int)puVar6;\n        }\n        (*(code *)piStack_a0[-0x1fe0])(uVar2);\n        return piVar3;\n      }" if (parenthesized_expression "(((iVar4 + 3 < iVar18) && (iVar4 == *piVar3)) &&\n         (iVar4 = (*(code *)piStack_a0[-0x1dfd])(piVar3 + 1,uVar2,iVar4), iVar4 == 0))" ( (binary_expression "((iVar4 + 3 < iVar18) && (iVar4 == *piVar3)) &&\n         (iVar4 = (*(code *)piStack_a0[-0x1dfd])(piVar3 + 1,uVar2,iVar4), iVar4 == 0)" (parenthesized_expression "((iVar4 + 3 < iVar18) && (iVar4 == *piVar3))" ( (binary_expression "(iVar4 + 3 < iVar18) && (iVar4 == *piVar3)" (parenthesized_expression "(iVar4 + 3 < iVar18)" ( (binary_expression "iVar4 + 3 < iVar18" (binary_expression "iVar4 + 3" identifier + number_literal) < identifier) )) && (parenthesized_expression "(iVar4 == *piVar3)" ( (binary_expression "iVar4 == *piVar3" identifier == (pointer_expression "*piVar3" * identifier)) ))) )) && (parenthesized_expression "(iVar4 = (*(code *)piStack_a0[-0x1dfd])(piVar3 + 1,uVar2,iVar4), iVar4 == 0)" ( (comma_expression "iVar4 = (*(code *)piStack_a0[-0x1dfd])(piVar3 + 1,uVar2,iVar4), iVar4 == 0" (assignment_expression "iVar4 = (*(code *)piStack_a0[-0x1dfd])(piVar3 + 1,uVar2,iVar4)" identifier = (call_expression "(*(code *)piStack_a0[-0x1dfd])(piVar3 + 1,uVar2,iVar4)" (parenthesized_expression "(*(code *)piStack_a0[-0x1dfd])" ( (pointer_expression "*(code *)piStack_a0[-0x1dfd]" * (cast_expression "(code *)piStack_a0[-0x1dfd]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piStack_a0[-0x1dfd]" identifier [ number_literal ]))) )) (argument_list "(piVar3 + 1,uVar2,iVar4)" ( (binary_expression "piVar3 + 1" identifier + number_literal) , identifier , identifier )))) , (binary_expression "iVar4 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n        if (piVar10 != (int *)0x0) {\n          iVar4 = (*(code *)piStack_a0[-0x1fdd])(uVar2);\n          *piVar10 = iVar4;\n        }\n        if (piVar20 != (int *)0x0) {\n          *piVar20 = iVar18;\n        }\n        if (piVar13 == (int *)0x0) {\n          (*(code *)piStack_a0[-0x1fe0])(puVar6);\n        }\n        else {\n          *piVar13 = (int)puVar6;\n        }\n        (*(code *)piStack_a0[-0x1fe0])(uVar2);\n        return piVar3;\n      }" { (if_statement "if (piVar10 != (int *)0x0) {\n          iVar4 = (*(code *)piStack_a0[-0x1fdd])(uVar2);\n          *piVar10 = iVar4;\n        }" if (parenthesized_expression "(piVar10 != (int *)0x0)" ( (binary_expression "piVar10 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          iVar4 = (*(code *)piStack_a0[-0x1fdd])(uVar2);\n          *piVar10 = iVar4;\n        }" { (expression_statement "iVar4 = (*(code *)piStack_a0[-0x1fdd])(uVar2);" (assignment_expression "iVar4 = (*(code *)piStack_a0[-0x1fdd])(uVar2)" identifier = (call_expression "(*(code *)piStack_a0[-0x1fdd])(uVar2)" (parenthesized_expression "(*(code *)piStack_a0[-0x1fdd])" ( (pointer_expression "*(code *)piStack_a0[-0x1fdd]" * (cast_expression "(code *)piStack_a0[-0x1fdd]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piStack_a0[-0x1fdd]" identifier [ number_literal ]))) )) (argument_list "(uVar2)" ( identifier )))) ;) (expression_statement "*piVar10 = iVar4;" (assignment_expression "*piVar10 = iVar4" (pointer_expression "*piVar10" * identifier) = identifier) ;) })) (if_statement "if (piVar20 != (int *)0x0) {\n          *piVar20 = iVar18;\n        }" 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)) )) (compound_statement "{\n          *piVar20 = iVar18;\n        }" { (expression_statement "*piVar20 = iVar18;" (assignment_expression "*piVar20 = iVar18" (pointer_expression "*piVar20" * identifier) = identifier) ;) })) (if_statement "if (piVar13 == (int *)0x0) {\n          (*(code *)piStack_a0[-0x1fe0])(puVar6);\n        }\n        else {\n          *piVar13 = (int)puVar6;\n        }" if (parenthesized_expression "(piVar13 == (int *)0x0)" ( (binary_expression "piVar13 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          (*(code *)piStack_a0[-0x1fe0])(puVar6);\n        }" { (expression_statement "(*(code *)piStack_a0[-0x1fe0])(puVar6);" (call_expression "(*(code *)piStack_a0[-0x1fe0])(puVar6)" (parenthesized_expression "(*(code *)piStack_a0[-0x1fe0])" ( (pointer_expression "*(code *)piStack_a0[-0x1fe0]" * (cast_expression "(code *)piStack_a0[-0x1fe0]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piStack_a0[-0x1fe0]" identifier [ number_literal ]))) )) (argument_list "(puVar6)" ( identifier ))) ;) }) (else_clause "else {\n          *piVar13 = (int)puVar6;\n        }" else (compound_statement "{\n          *piVar13 = (int)puVar6;\n        }" { (expression_statement "*piVar13 = (int)puVar6;" (assignment_expression "*piVar13 = (int)puVar6" (pointer_expression "*piVar13" * identifier) = (cast_expression "(int)puVar6" ( (type_descriptor "int" primitive_type) ) identifier)) ;) }))) (expression_statement "(*(code *)piStack_a0[-0x1fe0])(uVar2);" (call_expression "(*(code *)piStack_a0[-0x1fe0])(uVar2)" (parenthesized_expression "(*(code *)piStack_a0[-0x1fe0])" ( (pointer_expression "*(code *)piStack_a0[-0x1fe0]" * (cast_expression "(code *)piStack_a0[-0x1fe0]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piStack_a0[-0x1fe0]" identifier [ number_literal ]))) )) (argument_list "(uVar2)" ( identifier ))) ;) (return_statement "return piVar3;" return identifier ;) })) (expression_statement "iVar4 = piStack_a0[-0x1ff2] + 0x441c;" (assignment_expression "iVar4 = piStack_a0[-0x1ff2] + 0x441c" identifier = (binary_expression "piStack_a0[-0x1ff2] + 0x441c" (subscript_expression "piStack_a0[-0x1ff2]" identifier [ number_literal ]) + number_literal)) ;) }) (else_clause "else {\n      iVar4 = piStack_a0[-0x1ff2] + 0x4454;\n    }" else (compound_statement "{\n      iVar4 = piStack_a0[-0x1ff2] + 0x4454;\n    }" { (expression_statement "iVar4 = piStack_a0[-0x1ff2] + 0x4454;" (assignment_expression "iVar4 = piStack_a0[-0x1ff2] + 0x4454" identifier = (binary_expression "piStack_a0[-0x1ff2] + 0x4454" (subscript_expression "piStack_a0[-0x1ff2]" identifier [ number_literal ]) + number_literal)) ;) }))) }))) (expression_statement "(*(code *)piStack_a0[-0x1fe0])(uVar2);" (call_expression "(*(code *)piStack_a0[-0x1fe0])(uVar2)" (parenthesized_expression "(*(code *)piStack_a0[-0x1fe0])" ( (pointer_expression "*(code *)piStack_a0[-0x1fe0]" * (cast_expression "(code *)piStack_a0[-0x1fe0]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piStack_a0[-0x1fe0]" identifier [ number_literal ]))) )) (argument_list "(uVar2)" ( identifier ))) ;) (expression_statement "(*(code *)piStack_a0[-0x1fe0])(puVar6);" (call_expression "(*(code *)piStack_a0[-0x1fe0])(puVar6)" (parenthesized_expression "(*(code *)piStack_a0[-0x1fe0])" ( (pointer_expression "*(code *)piStack_a0[-0x1fe0]" * (cast_expression "(code *)piStack_a0[-0x1fe0]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piStack_a0[-0x1fe0]" identifier [ number_literal ]))) )) (argument_list "(puVar6)" ( identifier ))) ;) (expression_statement "(*(code *)piStack_a0[-0x1fe0])(piVar3);" (call_expression "(*(code *)piStack_a0[-0x1fe0])(piVar3)" (parenthesized_expression "(*(code *)piStack_a0[-0x1fe0])" ( (pointer_expression "*(code *)piStack_a0[-0x1fe0]" * (cast_expression "(code *)piStack_a0[-0x1fe0]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piStack_a0[-0x1fe0]" identifier [ number_literal ]))) )) (argument_list "(piVar3)" ( identifier ))) ;) (expression_statement "__gp_1 = iVar4;" (assignment_expression "__gp_1 = iVar4" identifier = identifier) ;) (return_statement "return (int *)0x0;" return (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })))
(translation_unit "/* WARNING: Removing unreachable block (ram,0x000438ac) */\n/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */\n\nuchar * rfc4716_loadpub(FILE *fp,char **algorithm,int *pub_blob_len,char **commentptr,\n                       char **errorstr)\n\n{\n  undefined *puVar1;\n  int *piVar2;\n  int iVar3;\n  undefined4 uVar4;\n  FILE *pFVar5;\n  int iVar6;\n  uchar uVar13;\n  undefined1 *puVar7;\n  uint uVar8;\n  int *piVar9;\n  int iVar10;\n  ssh_signkey *psVar11;\n  FILE *pFVar12;\n  Filename *pFVar14;\n  char **ppcVar15;\n  char **ppcVar16;\n  char **ppcVar17;\n  FILE *pFVar18;\n  int *piVar19;\n  char **header;\n  int *piVar20;\n  char *pcVar21;\n  int *piVar22;\n  char *pcVar23;\n  undefined *puVar24;\n  uchar *puVar25;\n  char **unaff_s4;\n  FILE *unaff_s5;\n  char **unaff_s6;\n  char **ppcVar26;\n  char **unaff_s7;\n  undefined *puVar27;\n  char *unaff_s8;\n  code *pcVar28;\n  code *pcVar29;\n  char acStack_184 [40];\n  int iStack_15c;\n  int *piStack_154;\n  int *piStack_150;\n  int *piStack_14c;\n  char **ppcStack_148;\n  int *piStack_144;\n  uchar *puStack_140;\n  char **ppcStack_13c;\n  FILE *pFStack_138;\n  code *pcStack_134;\n  int *piStack_120;\n  code *pcStack_118;\n  code *pcStack_110;\n  code *pcStack_10c;\n  int iStack_108;\n  char *apcStack_104 [10];\n  Filename *pFStack_dc;\n  char *pcStack_d8;\n  int iStack_d4;\n  int *piStack_d0;\n  int iStack_cc;\n  char *pcStack_c8;\n  undefined4 uStack_c4;\n  char **ppcStack_c0;\n  FILE *pFStack_bc;\n  char **ppcStack_b8;\n  code *pcStack_b4;\n  int *piStack_a0;\n  FILE *pFStack_98;\n  char *pcStack_94;\n  uchar *puStack_90;\n  FILE *pFStack_8c;\n  char **ppcStack_88;\n  FILE *pFStack_84;\n  char **ppcStack_80;\n  char **ppcStack_7c;\n  char *pcStack_78;\n  code *pcStack_74;\n  char *pcStack_54;\n  uchar base64out [3];\n  char base64in [4];\n  \n  puVar27 = PTR___stack_chk_guard_00079930;\n  iVar3 = *(int *)PTR___stack_chk_guard_00079930;\n  ppcVar15 = algorithm;\n  pFVar12 = (FILE *)pub_blob_len;\n  header = commentptr;\n  uVar4 = (*(code *)PTR_fgetline_00079538)();\n  pFVar5 = (FILE *)(*(code *)PTR_chomp_0007953c)(uVar4);\n  if (pFVar5 != (FILE *)0x0) {\n    ppcVar15 = (char **)(PTR_s_j_000790a8 + 0x43cc);\n    iVar6 = (*(code *)PTR_strcmp_000798a4)(pFVar5);\n    if (iVar6 == 0) {\n      (*(code *)PTR_safefree_000790f0)(pFVar5);\n      pcStack_54 = (char *)0x0;\n      puVar24 = PTR_s_j_000790a8 + 0x43ec;\n      ppcVar17 = (char **)(PTR_s_j_000790a8 + 0x4258);\n      unaff_s4 = (char **)(PTR_s_j_000790a8 + 0x43f0);\n      unaff_s7 = (char **)(PTR_s_j_000790a8 + 0x43f8);\n      while( true ) {\n        uVar4 = (*(code *)PTR_fgetline_00079538)(fp);\n        pFVar5 = (FILE *)(*(code *)PTR_chomp_0007953c)(uVar4);\n        if (pFVar5 == (FILE *)0x0) break;\n        unaff_s8 = (char *)(*(code *)PTR_strstr_00079944)(pFVar5,puVar24);\n        puVar1 = PTR_strcmp_000798a4;\n        if (unaff_s8 == (char *)0x0) {\n          ppcVar15 = (char **)0x1;\n          unaff_s7 = (char **)base64out;\n          puVar25 = (uchar *)(*(code *)PTR_safemalloc_000790d0)(0x1000);\n          unaff_s8 = base64in;\n          iVar6 = 0;\n          unaff_s4 = (char **)0x0;\n          iVar10 = 0x1000;\n          goto LAB_0004340c;\n        }\n        *unaff_s8 = '\0';\n        ppcVar15 = ppcVar17;\n        iVar6 = (*(code *)puVar1)(pFVar5);\n        if (iVar6 == 0) {\n          unaff_s5 = (FILE *)(int)unaff_s8[2];\n          unaff_s6 = (char **)(unaff_s8 + 2);\n          pFVar12 = pFVar5;\n          if (unaff_s5 == (FILE *)0x22) {\n            iVar6 = (*(code *)PTR_strlen_000798d0)(unaff_s6);\n            puVar25 = (uchar *)((int)unaff_s6 + iVar6 + -1);\n            if (*puVar25 == '\"') {\n              *puVar25 = '\0';\n              unaff_s5 = (FILE *)(int)unaff_s8[3];\n              unaff_s6 = (char **)(unaff_s8 + 3);\n              if (unaff_s5 == (FILE *)0x0) goto LAB_00043364;\n            }\nLAB_00043310:\n            header = (char **)0x5c;\n            ppcVar16 = ppcVar15;\n            pFVar18 = pFVar5;\n            ppcVar26 = unaff_s6;\n            do {\n              while ((ppcVar15 = (char **)((int)ppcVar26 + 1), unaff_s5 != (FILE *)0x5c ||\n                     (*(uchar *)((int)ppcVar26 + 1) == '\0'))) {\n                pFVar12 = (FILE *)((int)&pFVar18->_flags + 1);\n                *(uchar *)&pFVar18->_flags = *(uchar *)ppcVar26;\n                unaff_s5 = (FILE *)(int)(char)*(uchar *)((int)ppcVar26 + 1);\n                ppcVar16 = ppcVar15;\n                pFVar18 = pFVar12;\n                unaff_s6 = ppcVar15;\n                ppcVar26 = ppcVar15;\n                if (unaff_s5 == (FILE *)0x0) goto LAB_00043364;\n              }\n              pFVar12 = (FILE *)((int)&pFVar18->_flags + 1);\n              *(uchar *)&pFVar18->_flags = *(uchar *)((int)ppcVar26 + 1);\n              unaff_s5 = (FILE *)(int)(char)*(uchar *)((int)ppcVar26 + 2);\n              ppcVar15 = ppcVar16;\n              pFVar18 = pFVar12;\n              unaff_s6 = (char **)((int)ppcVar26 + 2);\n              ppcVar26 = (char **)((int)ppcVar26 + 2);\n            } while (unaff_s5 != (FILE *)0x0);\n          }\n          else if (unaff_s5 != (FILE *)0x0) goto LAB_00043310;\nLAB_00043364:\n          puVar1 = PTR_safefree_000790f0;\n          *(uchar *)&pFVar12->_flags = '\0';\n          (*(code *)puVar1)(pcStack_54);\n          pcStack_54 = (char *)(*(code *)PTR_dupstr_000790fc)(pFVar5);\n        }\n        else {\n          ppcVar15 = unaff_s4;\n          iVar6 = (*(code *)PTR_strcmp_000798a4)(pFVar5);\n          if (iVar6 != 0) {\n            pFVar12 = (FILE *)0x2;\n            ppcVar15 = unaff_s7;\n            iVar6 = (*(code *)PTR_strncmp_000797c4)(pFVar5);\n            if (iVar6 != 0) {\n              puVar25 = (uchar *)0x0;\n              pcVar23 = PTR_s_j_000790a8 + 0x437c;\n              algorithm = (char **)pFVar5;\n              goto LAB_00043198;\n            }\n          }\n        }\n        (*(code *)PTR_safefree_000790f0)(pFVar5);\n      }\n      puVar25 = (uchar *)0x0;\n      pcVar23 = PTR_s_j_000790a8 + 0x43ac;\n      algorithm = (char **)pFVar5;\n      goto LAB_00043198;\n    }\n  }\n  puVar25 = (uchar *)0x0;\n  pcStack_54 = (char *)0x0;\n  pcVar23 = PTR_s_j_000790a8 + 0x42f0;\n  algorithm = (char **)pFVar5;\n  goto LAB_00043198;\nLAB_0004340c:\n  do {\n    uVar13 = *(uchar *)&pFVar5->_flags;\n    unaff_s5 = pFVar5;\n    if (uVar13 == '-') {\n      ppcVar15 = (char **)(PTR_s_j_000790a8 + 0x43fc);\n      iVar6 = (*(code *)PTR_strcmp_000798a4)(pFVar5);\n      if (iVar6 == 0) {\n        (*(code *)PTR_safefree_000790f0)(pFVar5);\n        if ((int)unaff_s4 < 4) {\n          pcVar23 = PTR_s_j_000790a8 + 0x42c4;\n          algorithm = (char **)(FILE *)0x0;\n          goto LAB_00043198;\n        }\n        ppcVar17 = (char **)(*(code *)PTR_toint_000792c8)(*(undefined4 *)puVar25);\n        pcVar23 = PTR_s_j_000790a8;\n        if (((int)ppcVar17 < 0) || ((int)((int)unaff_s4 + -3) <= (int)ppcVar17)) {\n          pcVar23 = PTR_s_j_000790a8 + 0x431c;\n          algorithm = (char **)(FILE *)0x0;\n          goto LAB_00043198;\n        }\n        pFVar12 = (FILE *)(puVar25 + 4);\n        if (algorithm != (char **)0x0) {\n          pcVar21 = (char *)(*(code *)PTR_dupprintf_000790e8)(PTR_s_j_000790a8 + -0x26d0);\n          *algorithm = pcVar21;\n          ppcVar15 = ppcVar17;\n        }\n        if (pub_blob_len != (int *)0x0) {\n          *pub_blob_len = (int)unaff_s4;\n        }\n        if (commentptr == (char **)0x0) {\n          (*(code *)PTR_safefree_000790f0)(pcStack_54);\n        }\n        else {\n          *commentptr = pcStack_54;\n        }\n        goto LAB_000431d8;\n      }\n      break;\n    }\n    unaff_s6 = (char **)0x4;\n    while (ppcVar17 = unaff_s4, uVar13 != '\0') {\n      while( true ) {\n        base64in[iVar6] = uVar13;\n        if (iVar6 + 1 != 4) break;\n        pFVar12 = (FILE *)(*(code *)PTR_base64_decode_atom_000792d8)(unaff_s8,unaff_s7);\n        unaff_s4 = (char **)((int)ppcVar17 + (int)pFVar12);\n        if (iVar10 < (int)unaff_s4) {\n          iVar10 = ((int)unaff_s4 * 5 >> 2) + 0x400;\n          puVar25 = (uchar *)(*(code *)PTR_saferealloc_000791a0)(puVar25,iVar10,1);\n        }\n        unaff_s5 = (FILE *)((int)&unaff_s5->_flags + 1);\n        ppcVar15 = unaff_s7;\n        (*(code *)PTR_memcpy_000798e0)(puVar25 + (int)ppcVar17);\n        iVar6 = 0;\n        uVar13 = *(uchar *)&unaff_s5->_flags;\n        ppcVar17 = unaff_s4;\n        if (uVar13 == '\0') goto LAB_000434ac;\n      }\n      unaff_s5 = (FILE *)((int)&unaff_s5->_flags + 1);\n      iVar6 = iVar6 + 1;\n      unaff_s4 = ppcVar17;\n      uVar13 = *(uchar *)&unaff_s5->_flags;\n    }\nLAB_000434ac:\n    (*(code *)PTR_safefree_000790f0)(pFVar5);\n    uVar4 = (*(code *)PTR_fgetline_00079538)(fp);\n    pFVar5 = (FILE *)(*(code *)PTR_chomp_0007953c)(uVar4);\n  } while (pFVar5 != (FILE *)0x0);\n  pcVar23 = PTR_s_j_000790a8 + 0x4350;\n  algorithm = (char **)pFVar5;\nLAB_00043198:\n  (*(code *)PTR_safefree_000790f0)(algorithm);\n  (*(code *)PTR_safefree_000790f0)(pcStack_54);\n  (*(code *)PTR_safefree_000790f0)(puVar25);\n  pFVar5 = unaff_s5;\n  if (errorstr == (char **)0x0) {\n    puVar25 = (uchar *)0x0;\n  }\n  else {\n    puVar25 = (uchar *)0x0;\n    *errorstr = pcVar23;\n  }\nLAB_000431d8:\n  if (iVar3 == *(int *)puVar27) {\n    return puVar25;\n  }\n  pcVar28 = openssh_loadpub;\n  puVar27 = PTR___stack_chk_fail_000797f0;\n  (*(code *)PTR___stack_chk_fail_000797f0)();\n  piStack_a0 = (int *)(puVar27 + 0x3da44);\n  pFStack_98 = (FILE *)algorithm;\n  pcStack_94 = pcVar23;\n  puStack_90 = puVar25;\n  pFStack_8c = fp;\n  ppcStack_88 = unaff_s4;\n  pFStack_84 = pFVar5;\n  ppcStack_80 = unaff_s6;\n  ppcStack_7c = unaff_s7;\n  pcStack_78 = unaff_s8;\n  pcStack_74 = pcVar28;\n  uVar4 = (**(code **)(puVar27 + 0x35f0c))();\n  uVar4 = (*(code *)piStack_a0[-0x1ecd])(uVar4);\n  puVar7 = (undefined1 *)(*(code *)piStack_a0[-0x1e0f])(uVar4,0x20);\n  if (puVar7 == (undefined1 *)0x0) {\n    piVar9 = (int *)0x0;\n    iVar3 = piStack_a0[-0x1ff2] + 0x4490;\n    pcVar23 = (char *)0x0;\n  }\n  else {\n    pcVar28 = (code *)piStack_a0[-0x1e0f];\n    pcVar21 = puVar7 + 1;\n    *puVar7 = 0;\n    pcVar23 = (char *)(*pcVar28)(pcVar21,0x20);\n    if (pcVar23 != (char *)0x0) {\n      pcVar28 = (code *)piStack_a0[-0x1fdd];\n      *pcVar23 = '\0';\n      pcVar23 = (char *)(*pcVar28)(pcVar23 + 1);\n    }\n    iVar6 = 0;\n    uVar8 = (*(code *)piStack_a0[-0x1de8])(pcVar21);\n    iVar3 = (uVar8 >> 2) * 3;\n    piVar9 = (int *)(*(code *)piStack_a0[-0x1fe8])(iVar3,1);\n    while (iVar10 = (*(code *)piStack_a0[-0x1df7])(pcVar21,0,4), iVar10 == 0) {\n      if (iVar3 <= iVar6 + 2) {\n        piVar19 = (int *)&DAT_00000441;\n        pcVar28 = (code *)piStack_a0[-0x1e6c];\n        piVar20 = (int *)(piStack_a0[-0x1ff2] + 0x4800);\n        ppcVar16 = (char **)(piStack_a0[-0x1ff2] + 0x4034);\n        pcVar29 = ssh2_userkey_loadpub;\n        pFVar14 = (Filename *)(piStack_a0[-0x1ff2] + 0x44b8);\n        (*pcVar28)();\n        piVar2 = piStack_a0;\n        pcStack_118 = pcVar28 + 0x3d74c;\n        piVar22 = *(int **)(pcVar28 + 0x3600c);\n        ppcVar17 = (char **)(*(int *)(pcVar28 + 0x35784) + 0x4078);\n        pFStack_dc = (Filename *)*piVar22;\n        pcStack_d8 = pcVar21;\n        iStack_d4 = iVar6;\n        piStack_d0 = piVar9;\n        iStack_cc = iVar3;\n        pcStack_c8 = pcVar23;\n        uStack_c4 = uVar4;\n        ppcStack_c0 = header;\n        pFStack_bc = pFVar12;\n        ppcStack_b8 = ppcVar15;\n        pcStack_b4 = pcVar29;\n        pFVar5 = f_open(pFVar14,(char *)ppcVar17,0);\n        if (pFVar5 == (FILE *)0x0) {\n          if (piVar2 != (int *)0x0) {\n            *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x407c;\n          }\nLAB_000439f4:\n          puVar25 = (uchar *)0x0;\n          pFVar5 = pFVar12;\n        }\n        else {\n          iVar3 = key_type_fp(pFVar5);\n          if (iVar3 == 9) {\n            pcVar28 = *(code **)(pcStack_118 + -0x7b14);\n          }\n          else {\n            if (iVar3 != 10) {\n              pFVar12 = pFVar5;\n              if (iVar3 != 3) {\nLAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar2 != (int *)0x0) {\n                  *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }\n                goto LAB_000439f4;\n              }\n              header = apcStack_104;\n              iVar3 = read_header(pFVar5,(char *)header);\n              if (iVar3 == 0) {\nLAB_00043cc0:\n                ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);\n                iVar3 = (**(code **)(pcStack_118 + -0x78ac))(header,ppcVar17,0x14);\n                if (iVar3 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                  if (piVar2 != (int *)0x0) {\n                    *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }\n                goto LAB_000439d4;\n              }\n              ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214);\n              iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n              if (iVar3 != 0) {\n                ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);\n                iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n                if (iVar3 != 0) goto LAB_00043cc0;\n              }\n              pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74);\n              ppcVar15 = (char **)read_body(pFVar5);\n              if (ppcVar15 == (char **)0x0) {\nLAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar2 != (int *)0x0) {\n                  *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                goto LAB_000439f4;\n              }\n              iVar3 = (**(code **)(pcStack_118 + -0x77a0))(ppcVar15);\n              ppcVar17 = ppcVar15;\n              psVar11 = find_pubkey_alg_len(iVar3,(char *)ppcVar15);\n              (**(code **)(pcStack_118 + -0x7f80))(ppcVar15);\n              if ((psVar11 == (ssh_signkey *)0x0) ||\n                 (ppcVar17 = header, iVar3 = read_header(pFVar5,(char *)header), iVar3 == 0))\n              goto LAB_00043c9c;\n              ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244);\n              iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n              if ((iVar3 != 0) || (iVar3 = (*pcStack_110)(pFVar5), iVar3 == 0)) goto LAB_00043c9c;\n              (**(code **)(pcStack_118 + -0x7f80))(iVar3);\n              ppcVar17 = header;\n              iVar3 = read_header(pFVar5,(char *)header);\n              if (iVar3 == 0) goto LAB_00043c9c;\n              ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258);\n              iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n              if ((iVar3 != 0) || (pcVar28 = (code *)(*pcStack_110)(pFVar5), pcVar28 == (code *)0x0)\n                 ) goto LAB_00043c9c;\n              pcStack_10c = pcVar28;\n              if (piVar20 == (int *)0x0) {\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar28);\n              }\n              else {\n                *piVar20 = (int)pcVar28;\n              }\n              ppcVar15 = header;\n              iVar3 = read_header(pFVar5,(char *)header);\n              pcVar28 = pcStack_10c;\n              if (iVar3 == 0) {\nLAB_00043d58:\n                ppcVar17 = ppcVar15;\n                pcStack_110 = pcVar28;\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar2 != (int *)0x0) {\n                  *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                if (piVar20 == (int *)0x0) goto LAB_000439f4;\n                puVar25 = (uchar *)0x0;\n                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);\n                *piVar20 = 0;\n              }\n              else {\n                ppcVar15 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n                pcVar28 = pcStack_10c;\n                if ((iVar3 != 0) ||\n                   (pcVar23 = (char *)(*pcStack_110)(pFVar5), pcVar28 = pcStack_10c,\n                   pcVar23 == (char *)0x0)) goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                ppcVar17 = (char **)userkey_parse_line_counter(pcVar23);\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n                pcVar28 = pcStack_110;\n                if (((int)ppcVar17 < 0) ||\n                   (puVar25 = read_blob(pFVar5,(int)ppcVar17,&iStack_108), ppcVar15 = ppcVar17,\n                   pcVar28 = pcStack_110, puVar25 == (uchar *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar19 != (int *)0x0) {\n                  *piVar19 = iStack_108;\n                }\n                if (ppcVar16 != (char **)0x0) {\n                  pcVar23 = (char *)(**(code **)(pcStack_118 + -0x7f74))(psVar11->name);\n                  *ppcVar16 = pcVar23;\n                }\n              }\n              goto LAB_000439f8;\n            }\n            pcVar28 = *(code **)(pcStack_118 + -0x7b10);\n          }\n          piStack_120 = piVar2;\n          ppcVar17 = ppcVar16;\n          puVar25 = (uchar *)(*pcVar28)(pFVar5,ppcVar16,piVar19,piVar20);\n          (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n        }\nLAB_000439f8:\n        if (pFStack_dc == (Filename *)*piVar22) {\n          return puVar25;\n        }\n        pcVar28 = *(code **)(pcStack_118 + -0x7880);\n        pcVar29 = ssh2_userkey_encrypted;\n        pFVar14 = pFStack_dc;\n        (*pcVar28)();\n        piVar9 = *(int **)(pcVar28 + 0x35b70);\n        piStack_150 = piVar2;\n        iStack_15c = *piVar9;\n        if (ppcVar17 != (char **)0x0) {\n          *ppcVar17 = (char *)0x0;\n        }\n        piStack_154 = piVar22;\n        piStack_14c = piVar20;\n        ppcStack_148 = ppcVar16;\n        piStack_144 = piVar19;\n        puStack_140 = puVar25;\n        ppcStack_13c = header;\n        pFStack_138 = pFVar5;\n        pcStack_134 = pcVar29;\n        pFVar12 = f_open(pFVar14,(char *)(*(int *)(pcVar28 + 0x352e8) + 0x4078),0);\n        if (pFVar12 == (FILE *)0x0) {\n          puVar25 = (uchar *)0x0;\n        }\n        else {\n          iVar3 = read_header(pFVar12,acStack_184);\n          if ((iVar3 != 0) &&\n             (((iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                  (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4214), iVar3 == 0 ||\n               (iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                  (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x422c), iVar3 == 0))\n              && (pcVar23 = read_body(pFVar12), pcVar23 != (char *)0x0)))) {\n            (**(code **)(pcVar28 + 0x35330))(pcVar23);\n            iVar3 = read_header(pFVar12,acStack_184);\n            if ((iVar3 != 0) &&\n               (iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                  (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4244), iVar3 == 0)) {\n              pcVar23 = read_body(pFVar12);\n              if (pcVar23 == (char *)0x0) {\n                (**(code **)(pcVar28 + 0x35acc))(pFVar12);\n                puVar25 = (uchar *)0x0;\n              }\n              else {\n                iVar3 = read_header(pFVar12,acStack_184);\n                if (((iVar3 == 0) ||\n                    (iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                       (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4258),\n                    iVar3 != 0)) || (pcVar21 = read_body(pFVar12), pcVar21 == (char *)0x0)) {\n                  puVar25 = (uchar *)0x1;\n                  (**(code **)(pcVar28 + 0x35acc))(pFVar12);\n                  (**(code **)(pcVar28 + 0x35330))(pcVar23);\n                }\n                else {\n                  if (ppcVar17 == (char **)0x0) {\n                    (**(code **)(pcVar28 + 0x35330))(pcVar21);\n                  }\n                  else {\n                    *ppcVar17 = pcVar21;\n                  }\n                  (**(code **)(pcVar28 + 0x35acc))(pFVar12);\n                  iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                    (pcVar23,*(int *)(pcVar28 + 0x352e8) + 0x7c4);\n                  puVar25 = (uchar *)(uint)(iVar3 == 0);\n                  (**(code **)(pcVar28 + 0x35330))(pcVar23);\n                }\n              }\n              goto LAB_00043f04;\n            }\n          }\n          puVar25 = (uchar *)0x0;\n          (**(code **)(pcVar28 + 0x35acc))(pFVar12);\n        }\nLAB_00043f04:\n        if (iStack_15c != *piVar9) {\n          (**(code **)(pcVar28 + 0x35a30))();\n          return (uchar *)((iStack_15c + 0x2f) / 0x30);\n        }\n        return puVar25;\n      }\n      iVar10 = (*(code *)piStack_a0[-0x1f66])(pcVar21,(uchar *)((int)piVar9 + iVar6));\n      iVar6 = iVar6 + iVar10;\n      pcVar21 = pcVar21 + 4;\n    }\n    if (*pcVar21 == '\0') {\n      iVar3 = (*(code *)piStack_a0[-0x1de8])(uVar4);\n      if (((iVar3 + 3 < iVar6) && (iVar3 == *piVar9)) &&\n         (iVar3 = (*(code *)piStack_a0[-0x1dfd])(piVar9 + 1,uVar4,iVar3), iVar3 == 0)) {\n        if (ppcVar15 != (char **)0x0) {\n          pcVar21 = (char *)(*(code *)piStack_a0[-0x1fdd])(uVar4);\n          *ppcVar15 = pcVar21;\n        }\n        if (pFVar12 != (FILE *)0x0) {\n          pFVar12->_flags = iVar6;\n        }\n        if (header == (char **)0x0) {\n          (*(code *)piStack_a0[-0x1fe0])(pcVar23);\n        }\n        else {\n          *header = pcVar23;\n        }\n        (*(code *)piStack_a0[-0x1fe0])(uVar4);\n        return (uchar *)piVar9;\n      }\n      iVar3 = piStack_a0[-0x1ff2] + 0x441c;\n    }\n    else {\n      iVar3 = piStack_a0[-0x1ff2] + 0x4454;\n    }\n  }\n  (*(code *)piStack_a0[-0x1fe0])(uVar4);\n  (*(code *)piStack_a0[-0x1fe0])(pcVar23);\n  (*(code *)piStack_a0[-0x1fe0])(piVar9);\n  __gp = iVar3;\n  return (uchar *)0x0;\n}\n\n" comment comment (function_definition "uchar * rfc4716_loadpub(FILE *fp,char **algorithm,int *pub_blob_len,char **commentptr,\n                       char **errorstr)\n\n{\n  undefined *puVar1;\n  int *piVar2;\n  int iVar3;\n  undefined4 uVar4;\n  FILE *pFVar5;\n  int iVar6;\n  uchar uVar13;\n  undefined1 *puVar7;\n  uint uVar8;\n  int *piVar9;\n  int iVar10;\n  ssh_signkey *psVar11;\n  FILE *pFVar12;\n  Filename *pFVar14;\n  char **ppcVar15;\n  char **ppcVar16;\n  char **ppcVar17;\n  FILE *pFVar18;\n  int *piVar19;\n  char **header;\n  int *piVar20;\n  char *pcVar21;\n  int *piVar22;\n  char *pcVar23;\n  undefined *puVar24;\n  uchar *puVar25;\n  char **unaff_s4;\n  FILE *unaff_s5;\n  char **unaff_s6;\n  char **ppcVar26;\n  char **unaff_s7;\n  undefined *puVar27;\n  char *unaff_s8;\n  code *pcVar28;\n  code *pcVar29;\n  char acStack_184 [40];\n  int iStack_15c;\n  int *piStack_154;\n  int *piStack_150;\n  int *piStack_14c;\n  char **ppcStack_148;\n  int *piStack_144;\n  uchar *puStack_140;\n  char **ppcStack_13c;\n  FILE *pFStack_138;\n  code *pcStack_134;\n  int *piStack_120;\n  code *pcStack_118;\n  code *pcStack_110;\n  code *pcStack_10c;\n  int iStack_108;\n  char *apcStack_104 [10];\n  Filename *pFStack_dc;\n  char *pcStack_d8;\n  int iStack_d4;\n  int *piStack_d0;\n  int iStack_cc;\n  char *pcStack_c8;\n  undefined4 uStack_c4;\n  char **ppcStack_c0;\n  FILE *pFStack_bc;\n  char **ppcStack_b8;\n  code *pcStack_b4;\n  int *piStack_a0;\n  FILE *pFStack_98;\n  char *pcStack_94;\n  uchar *puStack_90;\n  FILE *pFStack_8c;\n  char **ppcStack_88;\n  FILE *pFStack_84;\n  char **ppcStack_80;\n  char **ppcStack_7c;\n  char *pcStack_78;\n  code *pcStack_74;\n  char *pcStack_54;\n  uchar base64out [3];\n  char base64in [4];\n  \n  puVar27 = PTR___stack_chk_guard_00079930;\n  iVar3 = *(int *)PTR___stack_chk_guard_00079930;\n  ppcVar15 = algorithm;\n  pFVar12 = (FILE *)pub_blob_len;\n  header = commentptr;\n  uVar4 = (*(code *)PTR_fgetline_00079538)();\n  pFVar5 = (FILE *)(*(code *)PTR_chomp_0007953c)(uVar4);\n  if (pFVar5 != (FILE *)0x0) {\n    ppcVar15 = (char **)(PTR_s_j_000790a8 + 0x43cc);\n    iVar6 = (*(code *)PTR_strcmp_000798a4)(pFVar5);\n    if (iVar6 == 0) {\n      (*(code *)PTR_safefree_000790f0)(pFVar5);\n      pcStack_54 = (char *)0x0;\n      puVar24 = PTR_s_j_000790a8 + 0x43ec;\n      ppcVar17 = (char **)(PTR_s_j_000790a8 + 0x4258);\n      unaff_s4 = (char **)(PTR_s_j_000790a8 + 0x43f0);\n      unaff_s7 = (char **)(PTR_s_j_000790a8 + 0x43f8);\n      while( true ) {\n        uVar4 = (*(code *)PTR_fgetline_00079538)(fp);\n        pFVar5 = (FILE *)(*(code *)PTR_chomp_0007953c)(uVar4);\n        if (pFVar5 == (FILE *)0x0) break;\n        unaff_s8 = (char *)(*(code *)PTR_strstr_00079944)(pFVar5,puVar24);\n        puVar1 = PTR_strcmp_000798a4;\n        if (unaff_s8 == (char *)0x0) {\n          ppcVar15 = (char **)0x1;\n          unaff_s7 = (char **)base64out;\n          puVar25 = (uchar *)(*(code *)PTR_safemalloc_000790d0)(0x1000);\n          unaff_s8 = base64in;\n          iVar6 = 0;\n          unaff_s4 = (char **)0x0;\n          iVar10 = 0x1000;\n          goto LAB_0004340c;\n        }\n        *unaff_s8 = '\0';\n        ppcVar15 = ppcVar17;\n        iVar6 = (*(code *)puVar1)(pFVar5);\n        if (iVar6 == 0) {\n          unaff_s5 = (FILE *)(int)unaff_s8[2];\n          unaff_s6 = (char **)(unaff_s8 + 2);\n          pFVar12 = pFVar5;\n          if (unaff_s5 == (FILE *)0x22) {\n            iVar6 = (*(code *)PTR_strlen_000798d0)(unaff_s6);\n            puVar25 = (uchar *)((int)unaff_s6 + iVar6 + -1);\n            if (*puVar25 == '\"') {\n              *puVar25 = '\0';\n              unaff_s5 = (FILE *)(int)unaff_s8[3];\n              unaff_s6 = (char **)(unaff_s8 + 3);\n              if (unaff_s5 == (FILE *)0x0) goto LAB_00043364;\n            }\nLAB_00043310:\n            header = (char **)0x5c;\n            ppcVar16 = ppcVar15;\n            pFVar18 = pFVar5;\n            ppcVar26 = unaff_s6;\n            do {\n              while ((ppcVar15 = (char **)((int)ppcVar26 + 1), unaff_s5 != (FILE *)0x5c ||\n                     (*(uchar *)((int)ppcVar26 + 1) == '\0'))) {\n                pFVar12 = (FILE *)((int)&pFVar18->_flags + 1);\n                *(uchar *)&pFVar18->_flags = *(uchar *)ppcVar26;\n                unaff_s5 = (FILE *)(int)(char)*(uchar *)((int)ppcVar26 + 1);\n                ppcVar16 = ppcVar15;\n                pFVar18 = pFVar12;\n                unaff_s6 = ppcVar15;\n                ppcVar26 = ppcVar15;\n                if (unaff_s5 == (FILE *)0x0) goto LAB_00043364;\n              }\n              pFVar12 = (FILE *)((int)&pFVar18->_flags + 1);\n              *(uchar *)&pFVar18->_flags = *(uchar *)((int)ppcVar26 + 1);\n              unaff_s5 = (FILE *)(int)(char)*(uchar *)((int)ppcVar26 + 2);\n              ppcVar15 = ppcVar16;\n              pFVar18 = pFVar12;\n              unaff_s6 = (char **)((int)ppcVar26 + 2);\n              ppcVar26 = (char **)((int)ppcVar26 + 2);\n            } while (unaff_s5 != (FILE *)0x0);\n          }\n          else if (unaff_s5 != (FILE *)0x0) goto LAB_00043310;\nLAB_00043364:\n          puVar1 = PTR_safefree_000790f0;\n          *(uchar *)&pFVar12->_flags = '\0';\n          (*(code *)puVar1)(pcStack_54);\n          pcStack_54 = (char *)(*(code *)PTR_dupstr_000790fc)(pFVar5);\n        }\n        else {\n          ppcVar15 = unaff_s4;\n          iVar6 = (*(code *)PTR_strcmp_000798a4)(pFVar5);\n          if (iVar6 != 0) {\n            pFVar12 = (FILE *)0x2;\n            ppcVar15 = unaff_s7;\n            iVar6 = (*(code *)PTR_strncmp_000797c4)(pFVar5);\n            if (iVar6 != 0) {\n              puVar25 = (uchar *)0x0;\n              pcVar23 = PTR_s_j_000790a8 + 0x437c;\n              algorithm = (char **)pFVar5;\n              goto LAB_00043198;\n            }\n          }\n        }\n        (*(code *)PTR_safefree_000790f0)(pFVar5);\n      }\n      puVar25 = (uchar *)0x0;\n      pcVar23 = PTR_s_j_000790a8 + 0x43ac;\n      algorithm = (char **)pFVar5;\n      goto LAB_00043198;\n    }\n  }\n  puVar25 = (uchar *)0x0;\n  pcStack_54 = (char *)0x0;\n  pcVar23 = PTR_s_j_000790a8 + 0x42f0;\n  algorithm = (char **)pFVar5;\n  goto LAB_00043198;\nLAB_0004340c:\n  do {\n    uVar13 = *(uchar *)&pFVar5->_flags;\n    unaff_s5 = pFVar5;\n    if (uVar13 == '-') {\n      ppcVar15 = (char **)(PTR_s_j_000790a8 + 0x43fc);\n      iVar6 = (*(code *)PTR_strcmp_000798a4)(pFVar5);\n      if (iVar6 == 0) {\n        (*(code *)PTR_safefree_000790f0)(pFVar5);\n        if ((int)unaff_s4 < 4) {\n          pcVar23 = PTR_s_j_000790a8 + 0x42c4;\n          algorithm = (char **)(FILE *)0x0;\n          goto LAB_00043198;\n        }\n        ppcVar17 = (char **)(*(code *)PTR_toint_000792c8)(*(undefined4 *)puVar25);\n        pcVar23 = PTR_s_j_000790a8;\n        if (((int)ppcVar17 < 0) || ((int)((int)unaff_s4 + -3) <= (int)ppcVar17)) {\n          pcVar23 = PTR_s_j_000790a8 + 0x431c;\n          algorithm = (char **)(FILE *)0x0;\n          goto LAB_00043198;\n        }\n        pFVar12 = (FILE *)(puVar25 + 4);\n        if (algorithm != (char **)0x0) {\n          pcVar21 = (char *)(*(code *)PTR_dupprintf_000790e8)(PTR_s_j_000790a8 + -0x26d0);\n          *algorithm = pcVar21;\n          ppcVar15 = ppcVar17;\n        }\n        if (pub_blob_len != (int *)0x0) {\n          *pub_blob_len = (int)unaff_s4;\n        }\n        if (commentptr == (char **)0x0) {\n          (*(code *)PTR_safefree_000790f0)(pcStack_54);\n        }\n        else {\n          *commentptr = pcStack_54;\n        }\n        goto LAB_000431d8;\n      }\n      break;\n    }\n    unaff_s6 = (char **)0x4;\n    while (ppcVar17 = unaff_s4, uVar13 != '\0') {\n      while( true ) {\n        base64in[iVar6] = uVar13;\n        if (iVar6 + 1 != 4) break;\n        pFVar12 = (FILE *)(*(code *)PTR_base64_decode_atom_000792d8)(unaff_s8,unaff_s7);\n        unaff_s4 = (char **)((int)ppcVar17 + (int)pFVar12);\n        if (iVar10 < (int)unaff_s4) {\n          iVar10 = ((int)unaff_s4 * 5 >> 2) + 0x400;\n          puVar25 = (uchar *)(*(code *)PTR_saferealloc_000791a0)(puVar25,iVar10,1);\n        }\n        unaff_s5 = (FILE *)((int)&unaff_s5->_flags + 1);\n        ppcVar15 = unaff_s7;\n        (*(code *)PTR_memcpy_000798e0)(puVar25 + (int)ppcVar17);\n        iVar6 = 0;\n        uVar13 = *(uchar *)&unaff_s5->_flags;\n        ppcVar17 = unaff_s4;\n        if (uVar13 == '\0') goto LAB_000434ac;\n      }\n      unaff_s5 = (FILE *)((int)&unaff_s5->_flags + 1);\n      iVar6 = iVar6 + 1;\n      unaff_s4 = ppcVar17;\n      uVar13 = *(uchar *)&unaff_s5->_flags;\n    }\nLAB_000434ac:\n    (*(code *)PTR_safefree_000790f0)(pFVar5);\n    uVar4 = (*(code *)PTR_fgetline_00079538)(fp);\n    pFVar5 = (FILE *)(*(code *)PTR_chomp_0007953c)(uVar4);\n  } while (pFVar5 != (FILE *)0x0);\n  pcVar23 = PTR_s_j_000790a8 + 0x4350;\n  algorithm = (char **)pFVar5;\nLAB_00043198:\n  (*(code *)PTR_safefree_000790f0)(algorithm);\n  (*(code *)PTR_safefree_000790f0)(pcStack_54);\n  (*(code *)PTR_safefree_000790f0)(puVar25);\n  pFVar5 = unaff_s5;\n  if (errorstr == (char **)0x0) {\n    puVar25 = (uchar *)0x0;\n  }\n  else {\n    puVar25 = (uchar *)0x0;\n    *errorstr = pcVar23;\n  }\nLAB_000431d8:\n  if (iVar3 == *(int *)puVar27) {\n    return puVar25;\n  }\n  pcVar28 = openssh_loadpub;\n  puVar27 = PTR___stack_chk_fail_000797f0;\n  (*(code *)PTR___stack_chk_fail_000797f0)();\n  piStack_a0 = (int *)(puVar27 + 0x3da44);\n  pFStack_98 = (FILE *)algorithm;\n  pcStack_94 = pcVar23;\n  puStack_90 = puVar25;\n  pFStack_8c = fp;\n  ppcStack_88 = unaff_s4;\n  pFStack_84 = pFVar5;\n  ppcStack_80 = unaff_s6;\n  ppcStack_7c = unaff_s7;\n  pcStack_78 = unaff_s8;\n  pcStack_74 = pcVar28;\n  uVar4 = (**(code **)(puVar27 + 0x35f0c))();\n  uVar4 = (*(code *)piStack_a0[-0x1ecd])(uVar4);\n  puVar7 = (undefined1 *)(*(code *)piStack_a0[-0x1e0f])(uVar4,0x20);\n  if (puVar7 == (undefined1 *)0x0) {\n    piVar9 = (int *)0x0;\n    iVar3 = piStack_a0[-0x1ff2] + 0x4490;\n    pcVar23 = (char *)0x0;\n  }\n  else {\n    pcVar28 = (code *)piStack_a0[-0x1e0f];\n    pcVar21 = puVar7 + 1;\n    *puVar7 = 0;\n    pcVar23 = (char *)(*pcVar28)(pcVar21,0x20);\n    if (pcVar23 != (char *)0x0) {\n      pcVar28 = (code *)piStack_a0[-0x1fdd];\n      *pcVar23 = '\0';\n      pcVar23 = (char *)(*pcVar28)(pcVar23 + 1);\n    }\n    iVar6 = 0;\n    uVar8 = (*(code *)piStack_a0[-0x1de8])(pcVar21);\n    iVar3 = (uVar8 >> 2) * 3;\n    piVar9 = (int *)(*(code *)piStack_a0[-0x1fe8])(iVar3,1);\n    while (iVar10 = (*(code *)piStack_a0[-0x1df7])(pcVar21,0,4), iVar10 == 0) {\n      if (iVar3 <= iVar6 + 2) {\n        piVar19 = (int *)&DAT_00000441;\n        pcVar28 = (code *)piStack_a0[-0x1e6c];\n        piVar20 = (int *)(piStack_a0[-0x1ff2] + 0x4800);\n        ppcVar16 = (char **)(piStack_a0[-0x1ff2] + 0x4034);\n        pcVar29 = ssh2_userkey_loadpub;\n        pFVar14 = (Filename *)(piStack_a0[-0x1ff2] + 0x44b8);\n        (*pcVar28)();\n        piVar2 = piStack_a0;\n        pcStack_118 = pcVar28 + 0x3d74c;\n        piVar22 = *(int **)(pcVar28 + 0x3600c);\n        ppcVar17 = (char **)(*(int *)(pcVar28 + 0x35784) + 0x4078);\n        pFStack_dc = (Filename *)*piVar22;\n        pcStack_d8 = pcVar21;\n        iStack_d4 = iVar6;\n        piStack_d0 = piVar9;\n        iStack_cc = iVar3;\n        pcStack_c8 = pcVar23;\n        uStack_c4 = uVar4;\n        ppcStack_c0 = header;\n        pFStack_bc = pFVar12;\n        ppcStack_b8 = ppcVar15;\n        pcStack_b4 = pcVar29;\n        pFVar5 = f_open(pFVar14,(char *)ppcVar17,0);\n        if (pFVar5 == (FILE *)0x0) {\n          if (piVar2 != (int *)0x0) {\n            *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x407c;\n          }\nLAB_000439f4:\n          puVar25 = (uchar *)0x0;\n          pFVar5 = pFVar12;\n        }\n        else {\n          iVar3 = key_type_fp(pFVar5);\n          if (iVar3 == 9) {\n            pcVar28 = *(code **)(pcStack_118 + -0x7b14);\n          }\n          else {\n            if (iVar3 != 10) {\n              pFVar12 = pFVar5;\n              if (iVar3 != 3) {\nLAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar2 != (int *)0x0) {\n                  *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }\n                goto LAB_000439f4;\n              }\n              header = apcStack_104;\n              iVar3 = read_header(pFVar5,(char *)header);\n              if (iVar3 == 0) {\nLAB_00043cc0:\n                ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);\n                iVar3 = (**(code **)(pcStack_118 + -0x78ac))(header,ppcVar17,0x14);\n                if (iVar3 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                  if (piVar2 != (int *)0x0) {\n                    *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }\n                goto LAB_000439d4;\n              }\n              ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214);\n              iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n              if (iVar3 != 0) {\n                ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);\n                iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n                if (iVar3 != 0) goto LAB_00043cc0;\n              }\n              pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74);\n              ppcVar15 = (char **)read_body(pFVar5);\n              if (ppcVar15 == (char **)0x0) {\nLAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar2 != (int *)0x0) {\n                  *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                goto LAB_000439f4;\n              }\n              iVar3 = (**(code **)(pcStack_118 + -0x77a0))(ppcVar15);\n              ppcVar17 = ppcVar15;\n              psVar11 = find_pubkey_alg_len(iVar3,(char *)ppcVar15);\n              (**(code **)(pcStack_118 + -0x7f80))(ppcVar15);\n              if ((psVar11 == (ssh_signkey *)0x0) ||\n                 (ppcVar17 = header, iVar3 = read_header(pFVar5,(char *)header), iVar3 == 0))\n              goto LAB_00043c9c;\n              ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244);\n              iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n              if ((iVar3 != 0) || (iVar3 = (*pcStack_110)(pFVar5), iVar3 == 0)) goto LAB_00043c9c;\n              (**(code **)(pcStack_118 + -0x7f80))(iVar3);\n              ppcVar17 = header;\n              iVar3 = read_header(pFVar5,(char *)header);\n              if (iVar3 == 0) goto LAB_00043c9c;\n              ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258);\n              iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n              if ((iVar3 != 0) || (pcVar28 = (code *)(*pcStack_110)(pFVar5), pcVar28 == (code *)0x0)\n                 ) goto LAB_00043c9c;\n              pcStack_10c = pcVar28;\n              if (piVar20 == (int *)0x0) {\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar28);\n              }\n              else {\n                *piVar20 = (int)pcVar28;\n              }\n              ppcVar15 = header;\n              iVar3 = read_header(pFVar5,(char *)header);\n              pcVar28 = pcStack_10c;\n              if (iVar3 == 0) {\nLAB_00043d58:\n                ppcVar17 = ppcVar15;\n                pcStack_110 = pcVar28;\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar2 != (int *)0x0) {\n                  *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                if (piVar20 == (int *)0x0) goto LAB_000439f4;\n                puVar25 = (uchar *)0x0;\n                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);\n                *piVar20 = 0;\n              }\n              else {\n                ppcVar15 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n                pcVar28 = pcStack_10c;\n                if ((iVar3 != 0) ||\n                   (pcVar23 = (char *)(*pcStack_110)(pFVar5), pcVar28 = pcStack_10c,\n                   pcVar23 == (char *)0x0)) goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                ppcVar17 = (char **)userkey_parse_line_counter(pcVar23);\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n                pcVar28 = pcStack_110;\n                if (((int)ppcVar17 < 0) ||\n                   (puVar25 = read_blob(pFVar5,(int)ppcVar17,&iStack_108), ppcVar15 = ppcVar17,\n                   pcVar28 = pcStack_110, puVar25 == (uchar *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar19 != (int *)0x0) {\n                  *piVar19 = iStack_108;\n                }\n                if (ppcVar16 != (char **)0x0) {\n                  pcVar23 = (char *)(**(code **)(pcStack_118 + -0x7f74))(psVar11->name);\n                  *ppcVar16 = pcVar23;\n                }\n              }\n              goto LAB_000439f8;\n            }\n            pcVar28 = *(code **)(pcStack_118 + -0x7b10);\n          }\n          piStack_120 = piVar2;\n          ppcVar17 = ppcVar16;\n          puVar25 = (uchar *)(*pcVar28)(pFVar5,ppcVar16,piVar19,piVar20);\n          (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n        }\nLAB_000439f8:\n        if (pFStack_dc == (Filename *)*piVar22) {\n          return puVar25;\n        }\n        pcVar28 = *(code **)(pcStack_118 + -0x7880);\n        pcVar29 = ssh2_userkey_encrypted;\n        pFVar14 = pFStack_dc;\n        (*pcVar28)();\n        piVar9 = *(int **)(pcVar28 + 0x35b70);\n        piStack_150 = piVar2;\n        iStack_15c = *piVar9;\n        if (ppcVar17 != (char **)0x0) {\n          *ppcVar17 = (char *)0x0;\n        }\n        piStack_154 = piVar22;\n        piStack_14c = piVar20;\n        ppcStack_148 = ppcVar16;\n        piStack_144 = piVar19;\n        puStack_140 = puVar25;\n        ppcStack_13c = header;\n        pFStack_138 = pFVar5;\n        pcStack_134 = pcVar29;\n        pFVar12 = f_open(pFVar14,(char *)(*(int *)(pcVar28 + 0x352e8) + 0x4078),0);\n        if (pFVar12 == (FILE *)0x0) {\n          puVar25 = (uchar *)0x0;\n        }\n        else {\n          iVar3 = read_header(pFVar12,acStack_184);\n          if ((iVar3 != 0) &&\n             (((iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                  (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4214), iVar3 == 0 ||\n               (iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                  (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x422c), iVar3 == 0))\n              && (pcVar23 = read_body(pFVar12), pcVar23 != (char *)0x0)))) {\n            (**(code **)(pcVar28 + 0x35330))(pcVar23);\n            iVar3 = read_header(pFVar12,acStack_184);\n            if ((iVar3 != 0) &&\n               (iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                  (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4244), iVar3 == 0)) {\n              pcVar23 = read_body(pFVar12);\n              if (pcVar23 == (char *)0x0) {\n                (**(code **)(pcVar28 + 0x35acc))(pFVar12);\n                puVar25 = (uchar *)0x0;\n              }\n              else {\n                iVar3 = read_header(pFVar12,acStack_184);\n                if (((iVar3 == 0) ||\n                    (iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                       (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4258),\n                    iVar3 != 0)) || (pcVar21 = read_body(pFVar12), pcVar21 == (char *)0x0)) {\n                  puVar25 = (uchar *)0x1;\n                  (**(code **)(pcVar28 + 0x35acc))(pFVar12);\n                  (**(code **)(pcVar28 + 0x35330))(pcVar23);\n                }\n                else {\n                  if (ppcVar17 == (char **)0x0) {\n                    (**(code **)(pcVar28 + 0x35330))(pcVar21);\n                  }\n                  else {\n                    *ppcVar17 = pcVar21;\n                  }\n                  (**(code **)(pcVar28 + 0x35acc))(pFVar12);\n                  iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                    (pcVar23,*(int *)(pcVar28 + 0x352e8) + 0x7c4);\n                  puVar25 = (uchar *)(uint)(iVar3 == 0);\n                  (**(code **)(pcVar28 + 0x35330))(pcVar23);\n                }\n              }\n              goto LAB_00043f04;\n            }\n          }\n          puVar25 = (uchar *)0x0;\n          (**(code **)(pcVar28 + 0x35acc))(pFVar12);\n        }\nLAB_00043f04:\n        if (iStack_15c != *piVar9) {\n          (**(code **)(pcVar28 + 0x35a30))();\n          return (uchar *)((iStack_15c + 0x2f) / 0x30);\n        }\n        return puVar25;\n      }\n      iVar10 = (*(code *)piStack_a0[-0x1f66])(pcVar21,(uchar *)((int)piVar9 + iVar6));\n      iVar6 = iVar6 + iVar10;\n      pcVar21 = pcVar21 + 4;\n    }\n    if (*pcVar21 == '\0') {\n      iVar3 = (*(code *)piStack_a0[-0x1de8])(uVar4);\n      if (((iVar3 + 3 < iVar6) && (iVar3 == *piVar9)) &&\n         (iVar3 = (*(code *)piStack_a0[-0x1dfd])(piVar9 + 1,uVar4,iVar3), iVar3 == 0)) {\n        if (ppcVar15 != (char **)0x0) {\n          pcVar21 = (char *)(*(code *)piStack_a0[-0x1fdd])(uVar4);\n          *ppcVar15 = pcVar21;\n        }\n        if (pFVar12 != (FILE *)0x0) {\n          pFVar12->_flags = iVar6;\n        }\n        if (header == (char **)0x0) {\n          (*(code *)piStack_a0[-0x1fe0])(pcVar23);\n        }\n        else {\n          *header = pcVar23;\n        }\n        (*(code *)piStack_a0[-0x1fe0])(uVar4);\n        return (uchar *)piVar9;\n      }\n      iVar3 = piStack_a0[-0x1ff2] + 0x441c;\n    }\n    else {\n      iVar3 = piStack_a0[-0x1ff2] + 0x4454;\n    }\n  }\n  (*(code *)piStack_a0[-0x1fe0])(uVar4);\n  (*(code *)piStack_a0[-0x1fe0])(pcVar23);\n  (*(code *)piStack_a0[-0x1fe0])(piVar9);\n  __gp = iVar3;\n  return (uchar *)0x0;\n}" type_identifier (pointer_declarator "* rfc4716_loadpub(FILE *fp,char **algorithm,int *pub_blob_len,char **commentptr,\n                       char **errorstr)" * (function_declarator "rfc4716_loadpub(FILE *fp,char **algorithm,int *pub_blob_len,char **commentptr,\n                       char **errorstr)" identifier (parameter_list "(FILE *fp,char **algorithm,int *pub_blob_len,char **commentptr,\n                       char **errorstr)" ( (parameter_declaration "FILE *fp" type_identifier (pointer_declarator "*fp" * identifier)) , (parameter_declaration "char **algorithm" primitive_type (pointer_declarator "**algorithm" * (pointer_declarator "*algorithm" * identifier))) , (parameter_declaration "int *pub_blob_len" primitive_type (pointer_declarator "*pub_blob_len" * identifier)) , (parameter_declaration "char **commentptr" primitive_type (pointer_declarator "**commentptr" * (pointer_declarator "*commentptr" * identifier))) , (parameter_declaration "char **errorstr" primitive_type (pointer_declarator "**errorstr" * (pointer_declarator "*errorstr" * identifier))) )))) (compound_statement "{\n  undefined *puVar1;\n  int *piVar2;\n  int iVar3;\n  undefined4 uVar4;\n  FILE *pFVar5;\n  int iVar6;\n  uchar uVar13;\n  undefined1 *puVar7;\n  uint uVar8;\n  int *piVar9;\n  int iVar10;\n  ssh_signkey *psVar11;\n  FILE *pFVar12;\n  Filename *pFVar14;\n  char **ppcVar15;\n  char **ppcVar16;\n  char **ppcVar17;\n  FILE *pFVar18;\n  int *piVar19;\n  char **header;\n  int *piVar20;\n  char *pcVar21;\n  int *piVar22;\n  char *pcVar23;\n  undefined *puVar24;\n  uchar *puVar25;\n  char **unaff_s4;\n  FILE *unaff_s5;\n  char **unaff_s6;\n  char **ppcVar26;\n  char **unaff_s7;\n  undefined *puVar27;\n  char *unaff_s8;\n  code *pcVar28;\n  code *pcVar29;\n  char acStack_184 [40];\n  int iStack_15c;\n  int *piStack_154;\n  int *piStack_150;\n  int *piStack_14c;\n  char **ppcStack_148;\n  int *piStack_144;\n  uchar *puStack_140;\n  char **ppcStack_13c;\n  FILE *pFStack_138;\n  code *pcStack_134;\n  int *piStack_120;\n  code *pcStack_118;\n  code *pcStack_110;\n  code *pcStack_10c;\n  int iStack_108;\n  char *apcStack_104 [10];\n  Filename *pFStack_dc;\n  char *pcStack_d8;\n  int iStack_d4;\n  int *piStack_d0;\n  int iStack_cc;\n  char *pcStack_c8;\n  undefined4 uStack_c4;\n  char **ppcStack_c0;\n  FILE *pFStack_bc;\n  char **ppcStack_b8;\n  code *pcStack_b4;\n  int *piStack_a0;\n  FILE *pFStack_98;\n  char *pcStack_94;\n  uchar *puStack_90;\n  FILE *pFStack_8c;\n  char **ppcStack_88;\n  FILE *pFStack_84;\n  char **ppcStack_80;\n  char **ppcStack_7c;\n  char *pcStack_78;\n  code *pcStack_74;\n  char *pcStack_54;\n  uchar base64out [3];\n  char base64in [4];\n  \n  puVar27 = PTR___stack_chk_guard_00079930;\n  iVar3 = *(int *)PTR___stack_chk_guard_00079930;\n  ppcVar15 = algorithm;\n  pFVar12 = (FILE *)pub_blob_len;\n  header = commentptr;\n  uVar4 = (*(code *)PTR_fgetline_00079538)();\n  pFVar5 = (FILE *)(*(code *)PTR_chomp_0007953c)(uVar4);\n  if (pFVar5 != (FILE *)0x0) {\n    ppcVar15 = (char **)(PTR_s_j_000790a8 + 0x43cc);\n    iVar6 = (*(code *)PTR_strcmp_000798a4)(pFVar5);\n    if (iVar6 == 0) {\n      (*(code *)PTR_safefree_000790f0)(pFVar5);\n      pcStack_54 = (char *)0x0;\n      puVar24 = PTR_s_j_000790a8 + 0x43ec;\n      ppcVar17 = (char **)(PTR_s_j_000790a8 + 0x4258);\n      unaff_s4 = (char **)(PTR_s_j_000790a8 + 0x43f0);\n      unaff_s7 = (char **)(PTR_s_j_000790a8 + 0x43f8);\n      while( true ) {\n        uVar4 = (*(code *)PTR_fgetline_00079538)(fp);\n        pFVar5 = (FILE *)(*(code *)PTR_chomp_0007953c)(uVar4);\n        if (pFVar5 == (FILE *)0x0) break;\n        unaff_s8 = (char *)(*(code *)PTR_strstr_00079944)(pFVar5,puVar24);\n        puVar1 = PTR_strcmp_000798a4;\n        if (unaff_s8 == (char *)0x0) {\n          ppcVar15 = (char **)0x1;\n          unaff_s7 = (char **)base64out;\n          puVar25 = (uchar *)(*(code *)PTR_safemalloc_000790d0)(0x1000);\n          unaff_s8 = base64in;\n          iVar6 = 0;\n          unaff_s4 = (char **)0x0;\n          iVar10 = 0x1000;\n          goto LAB_0004340c;\n        }\n        *unaff_s8 = '\0';\n        ppcVar15 = ppcVar17;\n        iVar6 = (*(code *)puVar1)(pFVar5);\n        if (iVar6 == 0) {\n          unaff_s5 = (FILE *)(int)unaff_s8[2];\n          unaff_s6 = (char **)(unaff_s8 + 2);\n          pFVar12 = pFVar5;\n          if (unaff_s5 == (FILE *)0x22) {\n            iVar6 = (*(code *)PTR_strlen_000798d0)(unaff_s6);\n            puVar25 = (uchar *)((int)unaff_s6 + iVar6 + -1);\n            if (*puVar25 == '\"') {\n              *puVar25 = '\0';\n              unaff_s5 = (FILE *)(int)unaff_s8[3];\n              unaff_s6 = (char **)(unaff_s8 + 3);\n              if (unaff_s5 == (FILE *)0x0) goto LAB_00043364;\n            }\nLAB_00043310:\n            header = (char **)0x5c;\n            ppcVar16 = ppcVar15;\n            pFVar18 = pFVar5;\n            ppcVar26 = unaff_s6;\n            do {\n              while ((ppcVar15 = (char **)((int)ppcVar26 + 1), unaff_s5 != (FILE *)0x5c ||\n                     (*(uchar *)((int)ppcVar26 + 1) == '\0'))) {\n                pFVar12 = (FILE *)((int)&pFVar18->_flags + 1);\n                *(uchar *)&pFVar18->_flags = *(uchar *)ppcVar26;\n                unaff_s5 = (FILE *)(int)(char)*(uchar *)((int)ppcVar26 + 1);\n                ppcVar16 = ppcVar15;\n                pFVar18 = pFVar12;\n                unaff_s6 = ppcVar15;\n                ppcVar26 = ppcVar15;\n                if (unaff_s5 == (FILE *)0x0) goto LAB_00043364;\n              }\n              pFVar12 = (FILE *)((int)&pFVar18->_flags + 1);\n              *(uchar *)&pFVar18->_flags = *(uchar *)((int)ppcVar26 + 1);\n              unaff_s5 = (FILE *)(int)(char)*(uchar *)((int)ppcVar26 + 2);\n              ppcVar15 = ppcVar16;\n              pFVar18 = pFVar12;\n              unaff_s6 = (char **)((int)ppcVar26 + 2);\n              ppcVar26 = (char **)((int)ppcVar26 + 2);\n            } while (unaff_s5 != (FILE *)0x0);\n          }\n          else if (unaff_s5 != (FILE *)0x0) goto LAB_00043310;\nLAB_00043364:\n          puVar1 = PTR_safefree_000790f0;\n          *(uchar *)&pFVar12->_flags = '\0';\n          (*(code *)puVar1)(pcStack_54);\n          pcStack_54 = (char *)(*(code *)PTR_dupstr_000790fc)(pFVar5);\n        }\n        else {\n          ppcVar15 = unaff_s4;\n          iVar6 = (*(code *)PTR_strcmp_000798a4)(pFVar5);\n          if (iVar6 != 0) {\n            pFVar12 = (FILE *)0x2;\n            ppcVar15 = unaff_s7;\n            iVar6 = (*(code *)PTR_strncmp_000797c4)(pFVar5);\n            if (iVar6 != 0) {\n              puVar25 = (uchar *)0x0;\n              pcVar23 = PTR_s_j_000790a8 + 0x437c;\n              algorithm = (char **)pFVar5;\n              goto LAB_00043198;\n            }\n          }\n        }\n        (*(code *)PTR_safefree_000790f0)(pFVar5);\n      }\n      puVar25 = (uchar *)0x0;\n      pcVar23 = PTR_s_j_000790a8 + 0x43ac;\n      algorithm = (char **)pFVar5;\n      goto LAB_00043198;\n    }\n  }\n  puVar25 = (uchar *)0x0;\n  pcStack_54 = (char *)0x0;\n  pcVar23 = PTR_s_j_000790a8 + 0x42f0;\n  algorithm = (char **)pFVar5;\n  goto LAB_00043198;\nLAB_0004340c:\n  do {\n    uVar13 = *(uchar *)&pFVar5->_flags;\n    unaff_s5 = pFVar5;\n    if (uVar13 == '-') {\n      ppcVar15 = (char **)(PTR_s_j_000790a8 + 0x43fc);\n      iVar6 = (*(code *)PTR_strcmp_000798a4)(pFVar5);\n      if (iVar6 == 0) {\n        (*(code *)PTR_safefree_000790f0)(pFVar5);\n        if ((int)unaff_s4 < 4) {\n          pcVar23 = PTR_s_j_000790a8 + 0x42c4;\n          algorithm = (char **)(FILE *)0x0;\n          goto LAB_00043198;\n        }\n        ppcVar17 = (char **)(*(code *)PTR_toint_000792c8)(*(undefined4 *)puVar25);\n        pcVar23 = PTR_s_j_000790a8;\n        if (((int)ppcVar17 < 0) || ((int)((int)unaff_s4 + -3) <= (int)ppcVar17)) {\n          pcVar23 = PTR_s_j_000790a8 + 0x431c;\n          algorithm = (char **)(FILE *)0x0;\n          goto LAB_00043198;\n        }\n        pFVar12 = (FILE *)(puVar25 + 4);\n        if (algorithm != (char **)0x0) {\n          pcVar21 = (char *)(*(code *)PTR_dupprintf_000790e8)(PTR_s_j_000790a8 + -0x26d0);\n          *algorithm = pcVar21;\n          ppcVar15 = ppcVar17;\n        }\n        if (pub_blob_len != (int *)0x0) {\n          *pub_blob_len = (int)unaff_s4;\n        }\n        if (commentptr == (char **)0x0) {\n          (*(code *)PTR_safefree_000790f0)(pcStack_54);\n        }\n        else {\n          *commentptr = pcStack_54;\n        }\n        goto LAB_000431d8;\n      }\n      break;\n    }\n    unaff_s6 = (char **)0x4;\n    while (ppcVar17 = unaff_s4, uVar13 != '\0') {\n      while( true ) {\n        base64in[iVar6] = uVar13;\n        if (iVar6 + 1 != 4) break;\n        pFVar12 = (FILE *)(*(code *)PTR_base64_decode_atom_000792d8)(unaff_s8,unaff_s7);\n        unaff_s4 = (char **)((int)ppcVar17 + (int)pFVar12);\n        if (iVar10 < (int)unaff_s4) {\n          iVar10 = ((int)unaff_s4 * 5 >> 2) + 0x400;\n          puVar25 = (uchar *)(*(code *)PTR_saferealloc_000791a0)(puVar25,iVar10,1);\n        }\n        unaff_s5 = (FILE *)((int)&unaff_s5->_flags + 1);\n        ppcVar15 = unaff_s7;\n        (*(code *)PTR_memcpy_000798e0)(puVar25 + (int)ppcVar17);\n        iVar6 = 0;\n        uVar13 = *(uchar *)&unaff_s5->_flags;\n        ppcVar17 = unaff_s4;\n        if (uVar13 == '\0') goto LAB_000434ac;\n      }\n      unaff_s5 = (FILE *)((int)&unaff_s5->_flags + 1);\n      iVar6 = iVar6 + 1;\n      unaff_s4 = ppcVar17;\n      uVar13 = *(uchar *)&unaff_s5->_flags;\n    }\nLAB_000434ac:\n    (*(code *)PTR_safefree_000790f0)(pFVar5);\n    uVar4 = (*(code *)PTR_fgetline_00079538)(fp);\n    pFVar5 = (FILE *)(*(code *)PTR_chomp_0007953c)(uVar4);\n  } while (pFVar5 != (FILE *)0x0);\n  pcVar23 = PTR_s_j_000790a8 + 0x4350;\n  algorithm = (char **)pFVar5;\nLAB_00043198:\n  (*(code *)PTR_safefree_000790f0)(algorithm);\n  (*(code *)PTR_safefree_000790f0)(pcStack_54);\n  (*(code *)PTR_safefree_000790f0)(puVar25);\n  pFVar5 = unaff_s5;\n  if (errorstr == (char **)0x0) {\n    puVar25 = (uchar *)0x0;\n  }\n  else {\n    puVar25 = (uchar *)0x0;\n    *errorstr = pcVar23;\n  }\nLAB_000431d8:\n  if (iVar3 == *(int *)puVar27) {\n    return puVar25;\n  }\n  pcVar28 = openssh_loadpub;\n  puVar27 = PTR___stack_chk_fail_000797f0;\n  (*(code *)PTR___stack_chk_fail_000797f0)();\n  piStack_a0 = (int *)(puVar27 + 0x3da44);\n  pFStack_98 = (FILE *)algorithm;\n  pcStack_94 = pcVar23;\n  puStack_90 = puVar25;\n  pFStack_8c = fp;\n  ppcStack_88 = unaff_s4;\n  pFStack_84 = pFVar5;\n  ppcStack_80 = unaff_s6;\n  ppcStack_7c = unaff_s7;\n  pcStack_78 = unaff_s8;\n  pcStack_74 = pcVar28;\n  uVar4 = (**(code **)(puVar27 + 0x35f0c))();\n  uVar4 = (*(code *)piStack_a0[-0x1ecd])(uVar4);\n  puVar7 = (undefined1 *)(*(code *)piStack_a0[-0x1e0f])(uVar4,0x20);\n  if (puVar7 == (undefined1 *)0x0) {\n    piVar9 = (int *)0x0;\n    iVar3 = piStack_a0[-0x1ff2] + 0x4490;\n    pcVar23 = (char *)0x0;\n  }\n  else {\n    pcVar28 = (code *)piStack_a0[-0x1e0f];\n    pcVar21 = puVar7 + 1;\n    *puVar7 = 0;\n    pcVar23 = (char *)(*pcVar28)(pcVar21,0x20);\n    if (pcVar23 != (char *)0x0) {\n      pcVar28 = (code *)piStack_a0[-0x1fdd];\n      *pcVar23 = '\0';\n      pcVar23 = (char *)(*pcVar28)(pcVar23 + 1);\n    }\n    iVar6 = 0;\n    uVar8 = (*(code *)piStack_a0[-0x1de8])(pcVar21);\n    iVar3 = (uVar8 >> 2) * 3;\n    piVar9 = (int *)(*(code *)piStack_a0[-0x1fe8])(iVar3,1);\n    while (iVar10 = (*(code *)piStack_a0[-0x1df7])(pcVar21,0,4), iVar10 == 0) {\n      if (iVar3 <= iVar6 + 2) {\n        piVar19 = (int *)&DAT_00000441;\n        pcVar28 = (code *)piStack_a0[-0x1e6c];\n        piVar20 = (int *)(piStack_a0[-0x1ff2] + 0x4800);\n        ppcVar16 = (char **)(piStack_a0[-0x1ff2] + 0x4034);\n        pcVar29 = ssh2_userkey_loadpub;\n        pFVar14 = (Filename *)(piStack_a0[-0x1ff2] + 0x44b8);\n        (*pcVar28)();\n        piVar2 = piStack_a0;\n        pcStack_118 = pcVar28 + 0x3d74c;\n        piVar22 = *(int **)(pcVar28 + 0x3600c);\n        ppcVar17 = (char **)(*(int *)(pcVar28 + 0x35784) + 0x4078);\n        pFStack_dc = (Filename *)*piVar22;\n        pcStack_d8 = pcVar21;\n        iStack_d4 = iVar6;\n        piStack_d0 = piVar9;\n        iStack_cc = iVar3;\n        pcStack_c8 = pcVar23;\n        uStack_c4 = uVar4;\n        ppcStack_c0 = header;\n        pFStack_bc = pFVar12;\n        ppcStack_b8 = ppcVar15;\n        pcStack_b4 = pcVar29;\n        pFVar5 = f_open(pFVar14,(char *)ppcVar17,0);\n        if (pFVar5 == (FILE *)0x0) {\n          if (piVar2 != (int *)0x0) {\n            *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x407c;\n          }\nLAB_000439f4:\n          puVar25 = (uchar *)0x0;\n          pFVar5 = pFVar12;\n        }\n        else {\n          iVar3 = key_type_fp(pFVar5);\n          if (iVar3 == 9) {\n            pcVar28 = *(code **)(pcStack_118 + -0x7b14);\n          }\n          else {\n            if (iVar3 != 10) {\n              pFVar12 = pFVar5;\n              if (iVar3 != 3) {\nLAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar2 != (int *)0x0) {\n                  *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }\n                goto LAB_000439f4;\n              }\n              header = apcStack_104;\n              iVar3 = read_header(pFVar5,(char *)header);\n              if (iVar3 == 0) {\nLAB_00043cc0:\n                ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);\n                iVar3 = (**(code **)(pcStack_118 + -0x78ac))(header,ppcVar17,0x14);\n                if (iVar3 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                  if (piVar2 != (int *)0x0) {\n                    *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }\n                goto LAB_000439d4;\n              }\n              ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214);\n              iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n              if (iVar3 != 0) {\n                ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);\n                iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n                if (iVar3 != 0) goto LAB_00043cc0;\n              }\n              pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74);\n              ppcVar15 = (char **)read_body(pFVar5);\n              if (ppcVar15 == (char **)0x0) {\nLAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar2 != (int *)0x0) {\n                  *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                goto LAB_000439f4;\n              }\n              iVar3 = (**(code **)(pcStack_118 + -0x77a0))(ppcVar15);\n              ppcVar17 = ppcVar15;\n              psVar11 = find_pubkey_alg_len(iVar3,(char *)ppcVar15);\n              (**(code **)(pcStack_118 + -0x7f80))(ppcVar15);\n              if ((psVar11 == (ssh_signkey *)0x0) ||\n                 (ppcVar17 = header, iVar3 = read_header(pFVar5,(char *)header), iVar3 == 0))\n              goto LAB_00043c9c;\n              ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244);\n              iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n              if ((iVar3 != 0) || (iVar3 = (*pcStack_110)(pFVar5), iVar3 == 0)) goto LAB_00043c9c;\n              (**(code **)(pcStack_118 + -0x7f80))(iVar3);\n              ppcVar17 = header;\n              iVar3 = read_header(pFVar5,(char *)header);\n              if (iVar3 == 0) goto LAB_00043c9c;\n              ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258);\n              iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n              if ((iVar3 != 0) || (pcVar28 = (code *)(*pcStack_110)(pFVar5), pcVar28 == (code *)0x0)\n                 ) goto LAB_00043c9c;\n              pcStack_10c = pcVar28;\n              if (piVar20 == (int *)0x0) {\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar28);\n              }\n              else {\n                *piVar20 = (int)pcVar28;\n              }\n              ppcVar15 = header;\n              iVar3 = read_header(pFVar5,(char *)header);\n              pcVar28 = pcStack_10c;\n              if (iVar3 == 0) {\nLAB_00043d58:\n                ppcVar17 = ppcVar15;\n                pcStack_110 = pcVar28;\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar2 != (int *)0x0) {\n                  *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                if (piVar20 == (int *)0x0) goto LAB_000439f4;\n                puVar25 = (uchar *)0x0;\n                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);\n                *piVar20 = 0;\n              }\n              else {\n                ppcVar15 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n                pcVar28 = pcStack_10c;\n                if ((iVar3 != 0) ||\n                   (pcVar23 = (char *)(*pcStack_110)(pFVar5), pcVar28 = pcStack_10c,\n                   pcVar23 == (char *)0x0)) goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                ppcVar17 = (char **)userkey_parse_line_counter(pcVar23);\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n                pcVar28 = pcStack_110;\n                if (((int)ppcVar17 < 0) ||\n                   (puVar25 = read_blob(pFVar5,(int)ppcVar17,&iStack_108), ppcVar15 = ppcVar17,\n                   pcVar28 = pcStack_110, puVar25 == (uchar *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar19 != (int *)0x0) {\n                  *piVar19 = iStack_108;\n                }\n                if (ppcVar16 != (char **)0x0) {\n                  pcVar23 = (char *)(**(code **)(pcStack_118 + -0x7f74))(psVar11->name);\n                  *ppcVar16 = pcVar23;\n                }\n              }\n              goto LAB_000439f8;\n            }\n            pcVar28 = *(code **)(pcStack_118 + -0x7b10);\n          }\n          piStack_120 = piVar2;\n          ppcVar17 = ppcVar16;\n          puVar25 = (uchar *)(*pcVar28)(pFVar5,ppcVar16,piVar19,piVar20);\n          (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n        }\nLAB_000439f8:\n        if (pFStack_dc == (Filename *)*piVar22) {\n          return puVar25;\n        }\n        pcVar28 = *(code **)(pcStack_118 + -0x7880);\n        pcVar29 = ssh2_userkey_encrypted;\n        pFVar14 = pFStack_dc;\n        (*pcVar28)();\n        piVar9 = *(int **)(pcVar28 + 0x35b70);\n        piStack_150 = piVar2;\n        iStack_15c = *piVar9;\n        if (ppcVar17 != (char **)0x0) {\n          *ppcVar17 = (char *)0x0;\n        }\n        piStack_154 = piVar22;\n        piStack_14c = piVar20;\n        ppcStack_148 = ppcVar16;\n        piStack_144 = piVar19;\n        puStack_140 = puVar25;\n        ppcStack_13c = header;\n        pFStack_138 = pFVar5;\n        pcStack_134 = pcVar29;\n        pFVar12 = f_open(pFVar14,(char *)(*(int *)(pcVar28 + 0x352e8) + 0x4078),0);\n        if (pFVar12 == (FILE *)0x0) {\n          puVar25 = (uchar *)0x0;\n        }\n        else {\n          iVar3 = read_header(pFVar12,acStack_184);\n          if ((iVar3 != 0) &&\n             (((iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                  (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4214), iVar3 == 0 ||\n               (iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                  (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x422c), iVar3 == 0))\n              && (pcVar23 = read_body(pFVar12), pcVar23 != (char *)0x0)))) {\n            (**(code **)(pcVar28 + 0x35330))(pcVar23);\n            iVar3 = read_header(pFVar12,acStack_184);\n            if ((iVar3 != 0) &&\n               (iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                  (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4244), iVar3 == 0)) {\n              pcVar23 = read_body(pFVar12);\n              if (pcVar23 == (char *)0x0) {\n                (**(code **)(pcVar28 + 0x35acc))(pFVar12);\n                puVar25 = (uchar *)0x0;\n              }\n              else {\n                iVar3 = read_header(pFVar12,acStack_184);\n                if (((iVar3 == 0) ||\n                    (iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                       (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4258),\n                    iVar3 != 0)) || (pcVar21 = read_body(pFVar12), pcVar21 == (char *)0x0)) {\n                  puVar25 = (uchar *)0x1;\n                  (**(code **)(pcVar28 + 0x35acc))(pFVar12);\n                  (**(code **)(pcVar28 + 0x35330))(pcVar23);\n                }\n                else {\n                  if (ppcVar17 == (char **)0x0) {\n                    (**(code **)(pcVar28 + 0x35330))(pcVar21);\n                  }\n                  else {\n                    *ppcVar17 = pcVar21;\n                  }\n                  (**(code **)(pcVar28 + 0x35acc))(pFVar12);\n                  iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                    (pcVar23,*(int *)(pcVar28 + 0x352e8) + 0x7c4);\n                  puVar25 = (uchar *)(uint)(iVar3 == 0);\n                  (**(code **)(pcVar28 + 0x35330))(pcVar23);\n                }\n              }\n              goto LAB_00043f04;\n            }\n          }\n          puVar25 = (uchar *)0x0;\n          (**(code **)(pcVar28 + 0x35acc))(pFVar12);\n        }\nLAB_00043f04:\n        if (iStack_15c != *piVar9) {\n          (**(code **)(pcVar28 + 0x35a30))();\n          return (uchar *)((iStack_15c + 0x2f) / 0x30);\n        }\n        return puVar25;\n      }\n      iVar10 = (*(code *)piStack_a0[-0x1f66])(pcVar21,(uchar *)((int)piVar9 + iVar6));\n      iVar6 = iVar6 + iVar10;\n      pcVar21 = pcVar21 + 4;\n    }\n    if (*pcVar21 == '\0') {\n      iVar3 = (*(code *)piStack_a0[-0x1de8])(uVar4);\n      if (((iVar3 + 3 < iVar6) && (iVar3 == *piVar9)) &&\n         (iVar3 = (*(code *)piStack_a0[-0x1dfd])(piVar9 + 1,uVar4,iVar3), iVar3 == 0)) {\n        if (ppcVar15 != (char **)0x0) {\n          pcVar21 = (char *)(*(code *)piStack_a0[-0x1fdd])(uVar4);\n          *ppcVar15 = pcVar21;\n        }\n        if (pFVar12 != (FILE *)0x0) {\n          pFVar12->_flags = iVar6;\n        }\n        if (header == (char **)0x0) {\n          (*(code *)piStack_a0[-0x1fe0])(pcVar23);\n        }\n        else {\n          *header = pcVar23;\n        }\n        (*(code *)piStack_a0[-0x1fe0])(uVar4);\n        return (uchar *)piVar9;\n      }\n      iVar3 = piStack_a0[-0x1ff2] + 0x441c;\n    }\n    else {\n      iVar3 = piStack_a0[-0x1ff2] + 0x4454;\n    }\n  }\n  (*(code *)piStack_a0[-0x1fe0])(uVar4);\n  (*(code *)piStack_a0[-0x1fe0])(pcVar23);\n  (*(code *)piStack_a0[-0x1fe0])(piVar9);\n  __gp = iVar3;\n  return (uchar *)0x0;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "FILE *pFVar5;" type_identifier (pointer_declarator "*pFVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "uchar uVar13;" type_identifier identifier ;) (declaration "undefined1 *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "ssh_signkey *psVar11;" type_identifier (pointer_declarator "*psVar11" * identifier) ;) (declaration "FILE *pFVar12;" type_identifier (pointer_declarator "*pFVar12" * identifier) ;) (declaration "Filename *pFVar14;" type_identifier (pointer_declarator "*pFVar14" * identifier) ;) (declaration "char **ppcVar15;" primitive_type (pointer_declarator "**ppcVar15" * (pointer_declarator "*ppcVar15" * identifier)) ;) (declaration "char **ppcVar16;" primitive_type (pointer_declarator "**ppcVar16" * (pointer_declarator "*ppcVar16" * identifier)) ;) (declaration "char **ppcVar17;" primitive_type (pointer_declarator "**ppcVar17" * (pointer_declarator "*ppcVar17" * identifier)) ;) (declaration "FILE *pFVar18;" type_identifier (pointer_declarator "*pFVar18" * identifier) ;) (declaration "int *piVar19;" primitive_type (pointer_declarator "*piVar19" * identifier) ;) (declaration "char **header;" primitive_type (pointer_declarator "**header" * (pointer_declarator "*header" * identifier)) ;) (declaration "int *piVar20;" primitive_type (pointer_declarator "*piVar20" * identifier) ;) (declaration "char *pcVar21;" primitive_type (pointer_declarator "*pcVar21" * identifier) ;) (declaration "int *piVar22;" primitive_type (pointer_declarator "*piVar22" * identifier) ;) (declaration "char *pcVar23;" primitive_type (pointer_declarator "*pcVar23" * identifier) ;) (declaration "undefined *puVar24;" type_identifier (pointer_declarator "*puVar24" * identifier) ;) (declaration "uchar *puVar25;" type_identifier (pointer_declarator "*puVar25" * identifier) ;) (declaration "char **unaff_s4;" primitive_type (pointer_declarator "**unaff_s4" * (pointer_declarator "*unaff_s4" * identifier)) ;) (declaration "FILE *unaff_s5;" type_identifier (pointer_declarator "*unaff_s5" * identifier) ;) (declaration "char **unaff_s6;" primitive_type (pointer_declarator "**unaff_s6" * (pointer_declarator "*unaff_s6" * identifier)) ;) (declaration "char **ppcVar26;" primitive_type (pointer_declarator "**ppcVar26" * (pointer_declarator "*ppcVar26" * identifier)) ;) (declaration "char **unaff_s7;" primitive_type (pointer_declarator "**unaff_s7" * (pointer_declarator "*unaff_s7" * identifier)) ;) (declaration "undefined *puVar27;" type_identifier (pointer_declarator "*puVar27" * identifier) ;) (declaration "char *unaff_s8;" primitive_type (pointer_declarator "*unaff_s8" * identifier) ;) (declaration "code *pcVar28;" type_identifier (pointer_declarator "*pcVar28" * identifier) ;) (declaration "code *pcVar29;" type_identifier (pointer_declarator "*pcVar29" * identifier) ;) (declaration "char acStack_184 [40];" primitive_type (array_declarator "acStack_184 [40]" identifier [ number_literal ]) ;) (declaration "int iStack_15c;" primitive_type identifier ;) (declaration "int *piStack_154;" primitive_type (pointer_declarator "*piStack_154" * identifier) ;) (declaration "int *piStack_150;" primitive_type (pointer_declarator "*piStack_150" * identifier) ;) (declaration "int *piStack_14c;" primitive_type (pointer_declarator "*piStack_14c" * identifier) ;) (declaration "char **ppcStack_148;" primitive_type (pointer_declarator "**ppcStack_148" * (pointer_declarator "*ppcStack_148" * identifier)) ;) (declaration "int *piStack_144;" primitive_type (pointer_declarator "*piStack_144" * identifier) ;) (declaration "uchar *puStack_140;" type_identifier (pointer_declarator "*puStack_140" * identifier) ;) (declaration "char **ppcStack_13c;" primitive_type (pointer_declarator "**ppcStack_13c" * (pointer_declarator "*ppcStack_13c" * identifier)) ;) (declaration "FILE *pFStack_138;" type_identifier (pointer_declarator "*pFStack_138" * identifier) ;) (declaration "code *pcStack_134;" type_identifier (pointer_declarator "*pcStack_134" * identifier) ;) (declaration "int *piStack_120;" primitive_type (pointer_declarator "*piStack_120" * identifier) ;) (declaration "code *pcStack_118;" type_identifier (pointer_declarator "*pcStack_118" * identifier) ;) (declaration "code *pcStack_110;" type_identifier (pointer_declarator "*pcStack_110" * identifier) ;) (declaration "code *pcStack_10c;" type_identifier (pointer_declarator "*pcStack_10c" * identifier) ;) (declaration "int iStack_108;" primitive_type identifier ;) (declaration "char *apcStack_104 [10];" primitive_type (pointer_declarator "*apcStack_104 [10]" * (array_declarator "apcStack_104 [10]" identifier [ number_literal ])) ;) (declaration "Filename *pFStack_dc;" type_identifier (pointer_declarator "*pFStack_dc" * identifier) ;) (declaration "char *pcStack_d8;" primitive_type (pointer_declarator "*pcStack_d8" * identifier) ;) (declaration "int iStack_d4;" primitive_type identifier ;) (declaration "int *piStack_d0;" primitive_type (pointer_declarator "*piStack_d0" * identifier) ;) (declaration "int iStack_cc;" primitive_type identifier ;) (declaration "char *pcStack_c8;" primitive_type (pointer_declarator "*pcStack_c8" * identifier) ;) (declaration "undefined4 uStack_c4;" type_identifier identifier ;) (declaration "char **ppcStack_c0;" primitive_type (pointer_declarator "**ppcStack_c0" * (pointer_declarator "*ppcStack_c0" * identifier)) ;) (declaration "FILE *pFStack_bc;" type_identifier (pointer_declarator "*pFStack_bc" * identifier) ;) (declaration "char **ppcStack_b8;" primitive_type (pointer_declarator "**ppcStack_b8" * (pointer_declarator "*ppcStack_b8" * identifier)) ;) (declaration "code *pcStack_b4;" type_identifier (pointer_declarator "*pcStack_b4" * identifier) ;) (declaration "int *piStack_a0;" primitive_type (pointer_declarator "*piStack_a0" * identifier) ;) (declaration "FILE *pFStack_98;" type_identifier (pointer_declarator "*pFStack_98" * identifier) ;) (declaration "char *pcStack_94;" primitive_type (pointer_declarator "*pcStack_94" * identifier) ;) (declaration "uchar *puStack_90;" type_identifier (pointer_declarator "*puStack_90" * identifier) ;) (declaration "FILE *pFStack_8c;" type_identifier (pointer_declarator "*pFStack_8c" * identifier) ;) (declaration "char **ppcStack_88;" primitive_type (pointer_declarator "**ppcStack_88" * (pointer_declarator "*ppcStack_88" * identifier)) ;) (declaration "FILE *pFStack_84;" type_identifier (pointer_declarator "*pFStack_84" * identifier) ;) (declaration "char **ppcStack_80;" primitive_type (pointer_declarator "**ppcStack_80" * (pointer_declarator "*ppcStack_80" * identifier)) ;) (declaration "char **ppcStack_7c;" primitive_type (pointer_declarator "**ppcStack_7c" * (pointer_declarator "*ppcStack_7c" * identifier)) ;) (declaration "char *pcStack_78;" primitive_type (pointer_declarator "*pcStack_78" * identifier) ;) (declaration "code *pcStack_74;" type_identifier (pointer_declarator "*pcStack_74" * identifier) ;) (declaration "char *pcStack_54;" primitive_type (pointer_declarator "*pcStack_54" * identifier) ;) (declaration "uchar base64out [3];" type_identifier (array_declarator "base64out [3]" identifier [ number_literal ]) ;) (declaration "char base64in [4];" primitive_type (array_declarator "base64in [4]" identifier [ number_literal ]) ;) (expression_statement "puVar27 = PTR___stack_chk_guard_00079930;" (assignment_expression "puVar27 = PTR___stack_chk_guard_00079930" identifier = identifier) ;) (expression_statement "iVar3 = *(int *)PTR___stack_chk_guard_00079930;" (assignment_expression "iVar3 = *(int *)PTR___stack_chk_guard_00079930" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_00079930" * (cast_expression "(int *)PTR___stack_chk_guard_00079930" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "ppcVar15 = algorithm;" (assignment_expression "ppcVar15 = algorithm" identifier = identifier) ;) (expression_statement "pFVar12 = (FILE *)pub_blob_len;" (assignment_expression "pFVar12 = (FILE *)pub_blob_len" identifier = (cast_expression "(FILE *)pub_blob_len" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "header = commentptr;" (assignment_expression "header = commentptr" identifier = identifier) ;) (expression_statement "uVar4 = (*(code *)PTR_fgetline_00079538)();" (assignment_expression "uVar4 = (*(code *)PTR_fgetline_00079538)()" identifier = (call_expression "(*(code *)PTR_fgetline_00079538)()" (parenthesized_expression "(*(code *)PTR_fgetline_00079538)" ( (pointer_expression "*(code *)PTR_fgetline_00079538" * (cast_expression "(code *)PTR_fgetline_00079538" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "pFVar5 = (FILE *)(*(code *)PTR_chomp_0007953c)(uVar4);" (assignment_expression "pFVar5 = (FILE *)(*(code *)PTR_chomp_0007953c)(uVar4)" identifier = (cast_expression "(FILE *)(*(code *)PTR_chomp_0007953c)(uVar4)" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_chomp_0007953c)(uVar4)" (parenthesized_expression "(*(code *)PTR_chomp_0007953c)" ( (pointer_expression "*(code *)PTR_chomp_0007953c" * (cast_expression "(code *)PTR_chomp_0007953c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar4)" ( identifier ))))) ;) (if_statement "if (pFVar5 != (FILE *)0x0) {\n    ppcVar15 = (char **)(PTR_s_j_000790a8 + 0x43cc);\n    iVar6 = (*(code *)PTR_strcmp_000798a4)(pFVar5);\n    if (iVar6 == 0) {\n      (*(code *)PTR_safefree_000790f0)(pFVar5);\n      pcStack_54 = (char *)0x0;\n      puVar24 = PTR_s_j_000790a8 + 0x43ec;\n      ppcVar17 = (char **)(PTR_s_j_000790a8 + 0x4258);\n      unaff_s4 = (char **)(PTR_s_j_000790a8 + 0x43f0);\n      unaff_s7 = (char **)(PTR_s_j_000790a8 + 0x43f8);\n      while( true ) {\n        uVar4 = (*(code *)PTR_fgetline_00079538)(fp);\n        pFVar5 = (FILE *)(*(code *)PTR_chomp_0007953c)(uVar4);\n        if (pFVar5 == (FILE *)0x0) break;\n        unaff_s8 = (char *)(*(code *)PTR_strstr_00079944)(pFVar5,puVar24);\n        puVar1 = PTR_strcmp_000798a4;\n        if (unaff_s8 == (char *)0x0) {\n          ppcVar15 = (char **)0x1;\n          unaff_s7 = (char **)base64out;\n          puVar25 = (uchar *)(*(code *)PTR_safemalloc_000790d0)(0x1000);\n          unaff_s8 = base64in;\n          iVar6 = 0;\n          unaff_s4 = (char **)0x0;\n          iVar10 = 0x1000;\n          goto LAB_0004340c;\n        }\n        *unaff_s8 = '\0';\n        ppcVar15 = ppcVar17;\n        iVar6 = (*(code *)puVar1)(pFVar5);\n        if (iVar6 == 0) {\n          unaff_s5 = (FILE *)(int)unaff_s8[2];\n          unaff_s6 = (char **)(unaff_s8 + 2);\n          pFVar12 = pFVar5;\n          if (unaff_s5 == (FILE *)0x22) {\n            iVar6 = (*(code *)PTR_strlen_000798d0)(unaff_s6);\n            puVar25 = (uchar *)((int)unaff_s6 + iVar6 + -1);\n            if (*puVar25 == '\"') {\n              *puVar25 = '\0';\n              unaff_s5 = (FILE *)(int)unaff_s8[3];\n              unaff_s6 = (char **)(unaff_s8 + 3);\n              if (unaff_s5 == (FILE *)0x0) goto LAB_00043364;\n            }\nLAB_00043310:\n            header = (char **)0x5c;\n            ppcVar16 = ppcVar15;\n            pFVar18 = pFVar5;\n            ppcVar26 = unaff_s6;\n            do {\n              while ((ppcVar15 = (char **)((int)ppcVar26 + 1), unaff_s5 != (FILE *)0x5c ||\n                     (*(uchar *)((int)ppcVar26 + 1) == '\0'))) {\n                pFVar12 = (FILE *)((int)&pFVar18->_flags + 1);\n                *(uchar *)&pFVar18->_flags = *(uchar *)ppcVar26;\n                unaff_s5 = (FILE *)(int)(char)*(uchar *)((int)ppcVar26 + 1);\n                ppcVar16 = ppcVar15;\n                pFVar18 = pFVar12;\n                unaff_s6 = ppcVar15;\n                ppcVar26 = ppcVar15;\n                if (unaff_s5 == (FILE *)0x0) goto LAB_00043364;\n              }\n              pFVar12 = (FILE *)((int)&pFVar18->_flags + 1);\n              *(uchar *)&pFVar18->_flags = *(uchar *)((int)ppcVar26 + 1);\n              unaff_s5 = (FILE *)(int)(char)*(uchar *)((int)ppcVar26 + 2);\n              ppcVar15 = ppcVar16;\n              pFVar18 = pFVar12;\n              unaff_s6 = (char **)((int)ppcVar26 + 2);\n              ppcVar26 = (char **)((int)ppcVar26 + 2);\n            } while (unaff_s5 != (FILE *)0x0);\n          }\n          else if (unaff_s5 != (FILE *)0x0) goto LAB_00043310;\nLAB_00043364:\n          puVar1 = PTR_safefree_000790f0;\n          *(uchar *)&pFVar12->_flags = '\0';\n          (*(code *)puVar1)(pcStack_54);\n          pcStack_54 = (char *)(*(code *)PTR_dupstr_000790fc)(pFVar5);\n        }\n        else {\n          ppcVar15 = unaff_s4;\n          iVar6 = (*(code *)PTR_strcmp_000798a4)(pFVar5);\n          if (iVar6 != 0) {\n            pFVar12 = (FILE *)0x2;\n            ppcVar15 = unaff_s7;\n            iVar6 = (*(code *)PTR_strncmp_000797c4)(pFVar5);\n            if (iVar6 != 0) {\n              puVar25 = (uchar *)0x0;\n              pcVar23 = PTR_s_j_000790a8 + 0x437c;\n              algorithm = (char **)pFVar5;\n              goto LAB_00043198;\n            }\n          }\n        }\n        (*(code *)PTR_safefree_000790f0)(pFVar5);\n      }\n      puVar25 = (uchar *)0x0;\n      pcVar23 = PTR_s_j_000790a8 + 0x43ac;\n      algorithm = (char **)pFVar5;\n      goto LAB_00043198;\n    }\n  }" if (parenthesized_expression "(pFVar5 != (FILE *)0x0)" ( (binary_expression "pFVar5 != (FILE *)0x0" identifier != (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    ppcVar15 = (char **)(PTR_s_j_000790a8 + 0x43cc);\n    iVar6 = (*(code *)PTR_strcmp_000798a4)(pFVar5);\n    if (iVar6 == 0) {\n      (*(code *)PTR_safefree_000790f0)(pFVar5);\n      pcStack_54 = (char *)0x0;\n      puVar24 = PTR_s_j_000790a8 + 0x43ec;\n      ppcVar17 = (char **)(PTR_s_j_000790a8 + 0x4258);\n      unaff_s4 = (char **)(PTR_s_j_000790a8 + 0x43f0);\n      unaff_s7 = (char **)(PTR_s_j_000790a8 + 0x43f8);\n      while( true ) {\n        uVar4 = (*(code *)PTR_fgetline_00079538)(fp);\n        pFVar5 = (FILE *)(*(code *)PTR_chomp_0007953c)(uVar4);\n        if (pFVar5 == (FILE *)0x0) break;\n        unaff_s8 = (char *)(*(code *)PTR_strstr_00079944)(pFVar5,puVar24);\n        puVar1 = PTR_strcmp_000798a4;\n        if (unaff_s8 == (char *)0x0) {\n          ppcVar15 = (char **)0x1;\n          unaff_s7 = (char **)base64out;\n          puVar25 = (uchar *)(*(code *)PTR_safemalloc_000790d0)(0x1000);\n          unaff_s8 = base64in;\n          iVar6 = 0;\n          unaff_s4 = (char **)0x0;\n          iVar10 = 0x1000;\n          goto LAB_0004340c;\n        }\n        *unaff_s8 = '\0';\n        ppcVar15 = ppcVar17;\n        iVar6 = (*(code *)puVar1)(pFVar5);\n        if (iVar6 == 0) {\n          unaff_s5 = (FILE *)(int)unaff_s8[2];\n          unaff_s6 = (char **)(unaff_s8 + 2);\n          pFVar12 = pFVar5;\n          if (unaff_s5 == (FILE *)0x22) {\n            iVar6 = (*(code *)PTR_strlen_000798d0)(unaff_s6);\n            puVar25 = (uchar *)((int)unaff_s6 + iVar6 + -1);\n            if (*puVar25 == '\"') {\n              *puVar25 = '\0';\n              unaff_s5 = (FILE *)(int)unaff_s8[3];\n              unaff_s6 = (char **)(unaff_s8 + 3);\n              if (unaff_s5 == (FILE *)0x0) goto LAB_00043364;\n            }\nLAB_00043310:\n            header = (char **)0x5c;\n            ppcVar16 = ppcVar15;\n            pFVar18 = pFVar5;\n            ppcVar26 = unaff_s6;\n            do {\n              while ((ppcVar15 = (char **)((int)ppcVar26 + 1), unaff_s5 != (FILE *)0x5c ||\n                     (*(uchar *)((int)ppcVar26 + 1) == '\0'))) {\n                pFVar12 = (FILE *)((int)&pFVar18->_flags + 1);\n                *(uchar *)&pFVar18->_flags = *(uchar *)ppcVar26;\n                unaff_s5 = (FILE *)(int)(char)*(uchar *)((int)ppcVar26 + 1);\n                ppcVar16 = ppcVar15;\n                pFVar18 = pFVar12;\n                unaff_s6 = ppcVar15;\n                ppcVar26 = ppcVar15;\n                if (unaff_s5 == (FILE *)0x0) goto LAB_00043364;\n              }\n              pFVar12 = (FILE *)((int)&pFVar18->_flags + 1);\n              *(uchar *)&pFVar18->_flags = *(uchar *)((int)ppcVar26 + 1);\n              unaff_s5 = (FILE *)(int)(char)*(uchar *)((int)ppcVar26 + 2);\n              ppcVar15 = ppcVar16;\n              pFVar18 = pFVar12;\n              unaff_s6 = (char **)((int)ppcVar26 + 2);\n              ppcVar26 = (char **)((int)ppcVar26 + 2);\n            } while (unaff_s5 != (FILE *)0x0);\n          }\n          else if (unaff_s5 != (FILE *)0x0) goto LAB_00043310;\nLAB_00043364:\n          puVar1 = PTR_safefree_000790f0;\n          *(uchar *)&pFVar12->_flags = '\0';\n          (*(code *)puVar1)(pcStack_54);\n          pcStack_54 = (char *)(*(code *)PTR_dupstr_000790fc)(pFVar5);\n        }\n        else {\n          ppcVar15 = unaff_s4;\n          iVar6 = (*(code *)PTR_strcmp_000798a4)(pFVar5);\n          if (iVar6 != 0) {\n            pFVar12 = (FILE *)0x2;\n            ppcVar15 = unaff_s7;\n            iVar6 = (*(code *)PTR_strncmp_000797c4)(pFVar5);\n            if (iVar6 != 0) {\n              puVar25 = (uchar *)0x0;\n              pcVar23 = PTR_s_j_000790a8 + 0x437c;\n              algorithm = (char **)pFVar5;\n              goto LAB_00043198;\n            }\n          }\n        }\n        (*(code *)PTR_safefree_000790f0)(pFVar5);\n      }\n      puVar25 = (uchar *)0x0;\n      pcVar23 = PTR_s_j_000790a8 + 0x43ac;\n      algorithm = (char **)pFVar5;\n      goto LAB_00043198;\n    }\n  }" { (expression_statement "ppcVar15 = (char **)(PTR_s_j_000790a8 + 0x43cc);" (assignment_expression "ppcVar15 = (char **)(PTR_s_j_000790a8 + 0x43cc)" identifier = (cast_expression "(char **)(PTR_s_j_000790a8 + 0x43cc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_s_j_000790a8 + 0x43cc)" ( (binary_expression "PTR_s_j_000790a8 + 0x43cc" identifier + number_literal) )))) ;) (expression_statement "iVar6 = (*(code *)PTR_strcmp_000798a4)(pFVar5);" (assignment_expression "iVar6 = (*(code *)PTR_strcmp_000798a4)(pFVar5)" identifier = (call_expression "(*(code *)PTR_strcmp_000798a4)(pFVar5)" (parenthesized_expression "(*(code *)PTR_strcmp_000798a4)" ( (pointer_expression "*(code *)PTR_strcmp_000798a4" * (cast_expression "(code *)PTR_strcmp_000798a4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pFVar5)" ( identifier )))) ;) (if_statement "if (iVar6 == 0) {\n      (*(code *)PTR_safefree_000790f0)(pFVar5);\n      pcStack_54 = (char *)0x0;\n      puVar24 = PTR_s_j_000790a8 + 0x43ec;\n      ppcVar17 = (char **)(PTR_s_j_000790a8 + 0x4258);\n      unaff_s4 = (char **)(PTR_s_j_000790a8 + 0x43f0);\n      unaff_s7 = (char **)(PTR_s_j_000790a8 + 0x43f8);\n      while( true ) {\n        uVar4 = (*(code *)PTR_fgetline_00079538)(fp);\n        pFVar5 = (FILE *)(*(code *)PTR_chomp_0007953c)(uVar4);\n        if (pFVar5 == (FILE *)0x0) break;\n        unaff_s8 = (char *)(*(code *)PTR_strstr_00079944)(pFVar5,puVar24);\n        puVar1 = PTR_strcmp_000798a4;\n        if (unaff_s8 == (char *)0x0) {\n          ppcVar15 = (char **)0x1;\n          unaff_s7 = (char **)base64out;\n          puVar25 = (uchar *)(*(code *)PTR_safemalloc_000790d0)(0x1000);\n          unaff_s8 = base64in;\n          iVar6 = 0;\n          unaff_s4 = (char **)0x0;\n          iVar10 = 0x1000;\n          goto LAB_0004340c;\n        }\n        *unaff_s8 = '\0';\n        ppcVar15 = ppcVar17;\n        iVar6 = (*(code *)puVar1)(pFVar5);\n        if (iVar6 == 0) {\n          unaff_s5 = (FILE *)(int)unaff_s8[2];\n          unaff_s6 = (char **)(unaff_s8 + 2);\n          pFVar12 = pFVar5;\n          if (unaff_s5 == (FILE *)0x22) {\n            iVar6 = (*(code *)PTR_strlen_000798d0)(unaff_s6);\n            puVar25 = (uchar *)((int)unaff_s6 + iVar6 + -1);\n            if (*puVar25 == '\"') {\n              *puVar25 = '\0';\n              unaff_s5 = (FILE *)(int)unaff_s8[3];\n              unaff_s6 = (char **)(unaff_s8 + 3);\n              if (unaff_s5 == (FILE *)0x0) goto LAB_00043364;\n            }\nLAB_00043310:\n            header = (char **)0x5c;\n            ppcVar16 = ppcVar15;\n            pFVar18 = pFVar5;\n            ppcVar26 = unaff_s6;\n            do {\n              while ((ppcVar15 = (char **)((int)ppcVar26 + 1), unaff_s5 != (FILE *)0x5c ||\n                     (*(uchar *)((int)ppcVar26 + 1) == '\0'))) {\n                pFVar12 = (FILE *)((int)&pFVar18->_flags + 1);\n                *(uchar *)&pFVar18->_flags = *(uchar *)ppcVar26;\n                unaff_s5 = (FILE *)(int)(char)*(uchar *)((int)ppcVar26 + 1);\n                ppcVar16 = ppcVar15;\n                pFVar18 = pFVar12;\n                unaff_s6 = ppcVar15;\n                ppcVar26 = ppcVar15;\n                if (unaff_s5 == (FILE *)0x0) goto LAB_00043364;\n              }\n              pFVar12 = (FILE *)((int)&pFVar18->_flags + 1);\n              *(uchar *)&pFVar18->_flags = *(uchar *)((int)ppcVar26 + 1);\n              unaff_s5 = (FILE *)(int)(char)*(uchar *)((int)ppcVar26 + 2);\n              ppcVar15 = ppcVar16;\n              pFVar18 = pFVar12;\n              unaff_s6 = (char **)((int)ppcVar26 + 2);\n              ppcVar26 = (char **)((int)ppcVar26 + 2);\n            } while (unaff_s5 != (FILE *)0x0);\n          }\n          else if (unaff_s5 != (FILE *)0x0) goto LAB_00043310;\nLAB_00043364:\n          puVar1 = PTR_safefree_000790f0;\n          *(uchar *)&pFVar12->_flags = '\0';\n          (*(code *)puVar1)(pcStack_54);\n          pcStack_54 = (char *)(*(code *)PTR_dupstr_000790fc)(pFVar5);\n        }\n        else {\n          ppcVar15 = unaff_s4;\n          iVar6 = (*(code *)PTR_strcmp_000798a4)(pFVar5);\n          if (iVar6 != 0) {\n            pFVar12 = (FILE *)0x2;\n            ppcVar15 = unaff_s7;\n            iVar6 = (*(code *)PTR_strncmp_000797c4)(pFVar5);\n            if (iVar6 != 0) {\n              puVar25 = (uchar *)0x0;\n              pcVar23 = PTR_s_j_000790a8 + 0x437c;\n              algorithm = (char **)pFVar5;\n              goto LAB_00043198;\n            }\n          }\n        }\n        (*(code *)PTR_safefree_000790f0)(pFVar5);\n      }\n      puVar25 = (uchar *)0x0;\n      pcVar23 = PTR_s_j_000790a8 + 0x43ac;\n      algorithm = (char **)pFVar5;\n      goto LAB_00043198;\n    }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n      (*(code *)PTR_safefree_000790f0)(pFVar5);\n      pcStack_54 = (char *)0x0;\n      puVar24 = PTR_s_j_000790a8 + 0x43ec;\n      ppcVar17 = (char **)(PTR_s_j_000790a8 + 0x4258);\n      unaff_s4 = (char **)(PTR_s_j_000790a8 + 0x43f0);\n      unaff_s7 = (char **)(PTR_s_j_000790a8 + 0x43f8);\n      while( true ) {\n        uVar4 = (*(code *)PTR_fgetline_00079538)(fp);\n        pFVar5 = (FILE *)(*(code *)PTR_chomp_0007953c)(uVar4);\n        if (pFVar5 == (FILE *)0x0) break;\n        unaff_s8 = (char *)(*(code *)PTR_strstr_00079944)(pFVar5,puVar24);\n        puVar1 = PTR_strcmp_000798a4;\n        if (unaff_s8 == (char *)0x0) {\n          ppcVar15 = (char **)0x1;\n          unaff_s7 = (char **)base64out;\n          puVar25 = (uchar *)(*(code *)PTR_safemalloc_000790d0)(0x1000);\n          unaff_s8 = base64in;\n          iVar6 = 0;\n          unaff_s4 = (char **)0x0;\n          iVar10 = 0x1000;\n          goto LAB_0004340c;\n        }\n        *unaff_s8 = '\0';\n        ppcVar15 = ppcVar17;\n        iVar6 = (*(code *)puVar1)(pFVar5);\n        if (iVar6 == 0) {\n          unaff_s5 = (FILE *)(int)unaff_s8[2];\n          unaff_s6 = (char **)(unaff_s8 + 2);\n          pFVar12 = pFVar5;\n          if (unaff_s5 == (FILE *)0x22) {\n            iVar6 = (*(code *)PTR_strlen_000798d0)(unaff_s6);\n            puVar25 = (uchar *)((int)unaff_s6 + iVar6 + -1);\n            if (*puVar25 == '\"') {\n              *puVar25 = '\0';\n              unaff_s5 = (FILE *)(int)unaff_s8[3];\n              unaff_s6 = (char **)(unaff_s8 + 3);\n              if (unaff_s5 == (FILE *)0x0) goto LAB_00043364;\n            }\nLAB_00043310:\n            header = (char **)0x5c;\n            ppcVar16 = ppcVar15;\n            pFVar18 = pFVar5;\n            ppcVar26 = unaff_s6;\n            do {\n              while ((ppcVar15 = (char **)((int)ppcVar26 + 1), unaff_s5 != (FILE *)0x5c ||\n                     (*(uchar *)((int)ppcVar26 + 1) == '\0'))) {\n                pFVar12 = (FILE *)((int)&pFVar18->_flags + 1);\n                *(uchar *)&pFVar18->_flags = *(uchar *)ppcVar26;\n                unaff_s5 = (FILE *)(int)(char)*(uchar *)((int)ppcVar26 + 1);\n                ppcVar16 = ppcVar15;\n                pFVar18 = pFVar12;\n                unaff_s6 = ppcVar15;\n                ppcVar26 = ppcVar15;\n                if (unaff_s5 == (FILE *)0x0) goto LAB_00043364;\n              }\n              pFVar12 = (FILE *)((int)&pFVar18->_flags + 1);\n              *(uchar *)&pFVar18->_flags = *(uchar *)((int)ppcVar26 + 1);\n              unaff_s5 = (FILE *)(int)(char)*(uchar *)((int)ppcVar26 + 2);\n              ppcVar15 = ppcVar16;\n              pFVar18 = pFVar12;\n              unaff_s6 = (char **)((int)ppcVar26 + 2);\n              ppcVar26 = (char **)((int)ppcVar26 + 2);\n            } while (unaff_s5 != (FILE *)0x0);\n          }\n          else if (unaff_s5 != (FILE *)0x0) goto LAB_00043310;\nLAB_00043364:\n          puVar1 = PTR_safefree_000790f0;\n          *(uchar *)&pFVar12->_flags = '\0';\n          (*(code *)puVar1)(pcStack_54);\n          pcStack_54 = (char *)(*(code *)PTR_dupstr_000790fc)(pFVar5);\n        }\n        else {\n          ppcVar15 = unaff_s4;\n          iVar6 = (*(code *)PTR_strcmp_000798a4)(pFVar5);\n          if (iVar6 != 0) {\n            pFVar12 = (FILE *)0x2;\n            ppcVar15 = unaff_s7;\n            iVar6 = (*(code *)PTR_strncmp_000797c4)(pFVar5);\n            if (iVar6 != 0) {\n              puVar25 = (uchar *)0x0;\n              pcVar23 = PTR_s_j_000790a8 + 0x437c;\n              algorithm = (char **)pFVar5;\n              goto LAB_00043198;\n            }\n          }\n        }\n        (*(code *)PTR_safefree_000790f0)(pFVar5);\n      }\n      puVar25 = (uchar *)0x0;\n      pcVar23 = PTR_s_j_000790a8 + 0x43ac;\n      algorithm = (char **)pFVar5;\n      goto LAB_00043198;\n    }" { (expression_statement "(*(code *)PTR_safefree_000790f0)(pFVar5);" (call_expression "(*(code *)PTR_safefree_000790f0)(pFVar5)" (parenthesized_expression "(*(code *)PTR_safefree_000790f0)" ( (pointer_expression "*(code *)PTR_safefree_000790f0" * (cast_expression "(code *)PTR_safefree_000790f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pFVar5)" ( identifier ))) ;) (expression_statement "pcStack_54 = (char *)0x0;" (assignment_expression "pcStack_54 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar24 = PTR_s_j_000790a8 + 0x43ec;" (assignment_expression "puVar24 = PTR_s_j_000790a8 + 0x43ec" identifier = (binary_expression "PTR_s_j_000790a8 + 0x43ec" identifier + number_literal)) ;) (expression_statement "ppcVar17 = (char **)(PTR_s_j_000790a8 + 0x4258);" (assignment_expression "ppcVar17 = (char **)(PTR_s_j_000790a8 + 0x4258)" identifier = (cast_expression "(char **)(PTR_s_j_000790a8 + 0x4258)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_s_j_000790a8 + 0x4258)" ( (binary_expression "PTR_s_j_000790a8 + 0x4258" identifier + number_literal) )))) ;) (expression_statement "unaff_s4 = (char **)(PTR_s_j_000790a8 + 0x43f0);" (assignment_expression "unaff_s4 = (char **)(PTR_s_j_000790a8 + 0x43f0)" identifier = (cast_expression "(char **)(PTR_s_j_000790a8 + 0x43f0)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_s_j_000790a8 + 0x43f0)" ( (binary_expression "PTR_s_j_000790a8 + 0x43f0" identifier + number_literal) )))) ;) (expression_statement "unaff_s7 = (char **)(PTR_s_j_000790a8 + 0x43f8);" (assignment_expression "unaff_s7 = (char **)(PTR_s_j_000790a8 + 0x43f8)" identifier = (cast_expression "(char **)(PTR_s_j_000790a8 + 0x43f8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_s_j_000790a8 + 0x43f8)" ( (binary_expression "PTR_s_j_000790a8 + 0x43f8" identifier + number_literal) )))) ;) (while_statement "while( true ) {\n        uVar4 = (*(code *)PTR_fgetline_00079538)(fp);\n        pFVar5 = (FILE *)(*(code *)PTR_chomp_0007953c)(uVar4);\n        if (pFVar5 == (FILE *)0x0) break;\n        unaff_s8 = (char *)(*(code *)PTR_strstr_00079944)(pFVar5,puVar24);\n        puVar1 = PTR_strcmp_000798a4;\n        if (unaff_s8 == (char *)0x0) {\n          ppcVar15 = (char **)0x1;\n          unaff_s7 = (char **)base64out;\n          puVar25 = (uchar *)(*(code *)PTR_safemalloc_000790d0)(0x1000);\n          unaff_s8 = base64in;\n          iVar6 = 0;\n          unaff_s4 = (char **)0x0;\n          iVar10 = 0x1000;\n          goto LAB_0004340c;\n        }\n        *unaff_s8 = '\0';\n        ppcVar15 = ppcVar17;\n        iVar6 = (*(code *)puVar1)(pFVar5);\n        if (iVar6 == 0) {\n          unaff_s5 = (FILE *)(int)unaff_s8[2];\n          unaff_s6 = (char **)(unaff_s8 + 2);\n          pFVar12 = pFVar5;\n          if (unaff_s5 == (FILE *)0x22) {\n            iVar6 = (*(code *)PTR_strlen_000798d0)(unaff_s6);\n            puVar25 = (uchar *)((int)unaff_s6 + iVar6 + -1);\n            if (*puVar25 == '\"') {\n              *puVar25 = '\0';\n              unaff_s5 = (FILE *)(int)unaff_s8[3];\n              unaff_s6 = (char **)(unaff_s8 + 3);\n              if (unaff_s5 == (FILE *)0x0) goto LAB_00043364;\n            }\nLAB_00043310:\n            header = (char **)0x5c;\n            ppcVar16 = ppcVar15;\n            pFVar18 = pFVar5;\n            ppcVar26 = unaff_s6;\n            do {\n              while ((ppcVar15 = (char **)((int)ppcVar26 + 1), unaff_s5 != (FILE *)0x5c ||\n                     (*(uchar *)((int)ppcVar26 + 1) == '\0'))) {\n                pFVar12 = (FILE *)((int)&pFVar18->_flags + 1);\n                *(uchar *)&pFVar18->_flags = *(uchar *)ppcVar26;\n                unaff_s5 = (FILE *)(int)(char)*(uchar *)((int)ppcVar26 + 1);\n                ppcVar16 = ppcVar15;\n                pFVar18 = pFVar12;\n                unaff_s6 = ppcVar15;\n                ppcVar26 = ppcVar15;\n                if (unaff_s5 == (FILE *)0x0) goto LAB_00043364;\n              }\n              pFVar12 = (FILE *)((int)&pFVar18->_flags + 1);\n              *(uchar *)&pFVar18->_flags = *(uchar *)((int)ppcVar26 + 1);\n              unaff_s5 = (FILE *)(int)(char)*(uchar *)((int)ppcVar26 + 2);\n              ppcVar15 = ppcVar16;\n              pFVar18 = pFVar12;\n              unaff_s6 = (char **)((int)ppcVar26 + 2);\n              ppcVar26 = (char **)((int)ppcVar26 + 2);\n            } while (unaff_s5 != (FILE *)0x0);\n          }\n          else if (unaff_s5 != (FILE *)0x0) goto LAB_00043310;\nLAB_00043364:\n          puVar1 = PTR_safefree_000790f0;\n          *(uchar *)&pFVar12->_flags = '\0';\n          (*(code *)puVar1)(pcStack_54);\n          pcStack_54 = (char *)(*(code *)PTR_dupstr_000790fc)(pFVar5);\n        }\n        else {\n          ppcVar15 = unaff_s4;\n          iVar6 = (*(code *)PTR_strcmp_000798a4)(pFVar5);\n          if (iVar6 != 0) {\n            pFVar12 = (FILE *)0x2;\n            ppcVar15 = unaff_s7;\n            iVar6 = (*(code *)PTR_strncmp_000797c4)(pFVar5);\n            if (iVar6 != 0) {\n              puVar25 = (uchar *)0x0;\n              pcVar23 = PTR_s_j_000790a8 + 0x437c;\n              algorithm = (char **)pFVar5;\n              goto LAB_00043198;\n            }\n          }\n        }\n        (*(code *)PTR_safefree_000790f0)(pFVar5);\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        uVar4 = (*(code *)PTR_fgetline_00079538)(fp);\n        pFVar5 = (FILE *)(*(code *)PTR_chomp_0007953c)(uVar4);\n        if (pFVar5 == (FILE *)0x0) break;\n        unaff_s8 = (char *)(*(code *)PTR_strstr_00079944)(pFVar5,puVar24);\n        puVar1 = PTR_strcmp_000798a4;\n        if (unaff_s8 == (char *)0x0) {\n          ppcVar15 = (char **)0x1;\n          unaff_s7 = (char **)base64out;\n          puVar25 = (uchar *)(*(code *)PTR_safemalloc_000790d0)(0x1000);\n          unaff_s8 = base64in;\n          iVar6 = 0;\n          unaff_s4 = (char **)0x0;\n          iVar10 = 0x1000;\n          goto LAB_0004340c;\n        }\n        *unaff_s8 = '\0';\n        ppcVar15 = ppcVar17;\n        iVar6 = (*(code *)puVar1)(pFVar5);\n        if (iVar6 == 0) {\n          unaff_s5 = (FILE *)(int)unaff_s8[2];\n          unaff_s6 = (char **)(unaff_s8 + 2);\n          pFVar12 = pFVar5;\n          if (unaff_s5 == (FILE *)0x22) {\n            iVar6 = (*(code *)PTR_strlen_000798d0)(unaff_s6);\n            puVar25 = (uchar *)((int)unaff_s6 + iVar6 + -1);\n            if (*puVar25 == '\"') {\n              *puVar25 = '\0';\n              unaff_s5 = (FILE *)(int)unaff_s8[3];\n              unaff_s6 = (char **)(unaff_s8 + 3);\n              if (unaff_s5 == (FILE *)0x0) goto LAB_00043364;\n            }\nLAB_00043310:\n            header = (char **)0x5c;\n            ppcVar16 = ppcVar15;\n            pFVar18 = pFVar5;\n            ppcVar26 = unaff_s6;\n            do {\n              while ((ppcVar15 = (char **)((int)ppcVar26 + 1), unaff_s5 != (FILE *)0x5c ||\n                     (*(uchar *)((int)ppcVar26 + 1) == '\0'))) {\n                pFVar12 = (FILE *)((int)&pFVar18->_flags + 1);\n                *(uchar *)&pFVar18->_flags = *(uchar *)ppcVar26;\n                unaff_s5 = (FILE *)(int)(char)*(uchar *)((int)ppcVar26 + 1);\n                ppcVar16 = ppcVar15;\n                pFVar18 = pFVar12;\n                unaff_s6 = ppcVar15;\n                ppcVar26 = ppcVar15;\n                if (unaff_s5 == (FILE *)0x0) goto LAB_00043364;\n              }\n              pFVar12 = (FILE *)((int)&pFVar18->_flags + 1);\n              *(uchar *)&pFVar18->_flags = *(uchar *)((int)ppcVar26 + 1);\n              unaff_s5 = (FILE *)(int)(char)*(uchar *)((int)ppcVar26 + 2);\n              ppcVar15 = ppcVar16;\n              pFVar18 = pFVar12;\n              unaff_s6 = (char **)((int)ppcVar26 + 2);\n              ppcVar26 = (char **)((int)ppcVar26 + 2);\n            } while (unaff_s5 != (FILE *)0x0);\n          }\n          else if (unaff_s5 != (FILE *)0x0) goto LAB_00043310;\nLAB_00043364:\n          puVar1 = PTR_safefree_000790f0;\n          *(uchar *)&pFVar12->_flags = '\0';\n          (*(code *)puVar1)(pcStack_54);\n          pcStack_54 = (char *)(*(code *)PTR_dupstr_000790fc)(pFVar5);\n        }\n        else {\n          ppcVar15 = unaff_s4;\n          iVar6 = (*(code *)PTR_strcmp_000798a4)(pFVar5);\n          if (iVar6 != 0) {\n            pFVar12 = (FILE *)0x2;\n            ppcVar15 = unaff_s7;\n            iVar6 = (*(code *)PTR_strncmp_000797c4)(pFVar5);\n            if (iVar6 != 0) {\n              puVar25 = (uchar *)0x0;\n              pcVar23 = PTR_s_j_000790a8 + 0x437c;\n              algorithm = (char **)pFVar5;\n              goto LAB_00043198;\n            }\n          }\n        }\n        (*(code *)PTR_safefree_000790f0)(pFVar5);\n      }" { (expression_statement "uVar4 = (*(code *)PTR_fgetline_00079538)(fp);" (assignment_expression "uVar4 = (*(code *)PTR_fgetline_00079538)(fp)" identifier = (call_expression "(*(code *)PTR_fgetline_00079538)(fp)" (parenthesized_expression "(*(code *)PTR_fgetline_00079538)" ( (pointer_expression "*(code *)PTR_fgetline_00079538" * (cast_expression "(code *)PTR_fgetline_00079538" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(fp)" ( identifier )))) ;) (expression_statement "pFVar5 = (FILE *)(*(code *)PTR_chomp_0007953c)(uVar4);" (assignment_expression "pFVar5 = (FILE *)(*(code *)PTR_chomp_0007953c)(uVar4)" identifier = (cast_expression "(FILE *)(*(code *)PTR_chomp_0007953c)(uVar4)" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_chomp_0007953c)(uVar4)" (parenthesized_expression "(*(code *)PTR_chomp_0007953c)" ( (pointer_expression "*(code *)PTR_chomp_0007953c" * (cast_expression "(code *)PTR_chomp_0007953c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar4)" ( identifier ))))) ;) (if_statement "if (pFVar5 == (FILE *)0x0) break;" if (parenthesized_expression "(pFVar5 == (FILE *)0x0)" ( (binary_expression "pFVar5 == (FILE *)0x0" identifier == (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "unaff_s8 = (char *)(*(code *)PTR_strstr_00079944)(pFVar5,puVar24);" (assignment_expression "unaff_s8 = (char *)(*(code *)PTR_strstr_00079944)(pFVar5,puVar24)" identifier = (cast_expression "(char *)(*(code *)PTR_strstr_00079944)(pFVar5,puVar24)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_strstr_00079944)(pFVar5,puVar24)" (parenthesized_expression "(*(code *)PTR_strstr_00079944)" ( (pointer_expression "*(code *)PTR_strstr_00079944" * (cast_expression "(code *)PTR_strstr_00079944" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pFVar5,puVar24)" ( identifier , identifier ))))) ;) (expression_statement "puVar1 = PTR_strcmp_000798a4;" (assignment_expression "puVar1 = PTR_strcmp_000798a4" identifier = identifier) ;) (if_statement "if (unaff_s8 == (char *)0x0) {\n          ppcVar15 = (char **)0x1;\n          unaff_s7 = (char **)base64out;\n          puVar25 = (uchar *)(*(code *)PTR_safemalloc_000790d0)(0x1000);\n          unaff_s8 = base64in;\n          iVar6 = 0;\n          unaff_s4 = (char **)0x0;\n          iVar10 = 0x1000;\n          goto LAB_0004340c;\n        }" if (parenthesized_expression "(unaff_s8 == (char *)0x0)" ( (binary_expression "unaff_s8 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          ppcVar15 = (char **)0x1;\n          unaff_s7 = (char **)base64out;\n          puVar25 = (uchar *)(*(code *)PTR_safemalloc_000790d0)(0x1000);\n          unaff_s8 = base64in;\n          iVar6 = 0;\n          unaff_s4 = (char **)0x0;\n          iVar10 = 0x1000;\n          goto LAB_0004340c;\n        }" { (expression_statement "ppcVar15 = (char **)0x1;" (assignment_expression "ppcVar15 = (char **)0x1" identifier = (cast_expression "(char **)0x1" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "unaff_s7 = (char **)base64out;" (assignment_expression "unaff_s7 = (char **)base64out" identifier = (cast_expression "(char **)base64out" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "puVar25 = (uchar *)(*(code *)PTR_safemalloc_000790d0)(0x1000);" (assignment_expression "puVar25 = (uchar *)(*(code *)PTR_safemalloc_000790d0)(0x1000)" identifier = (cast_expression "(uchar *)(*(code *)PTR_safemalloc_000790d0)(0x1000)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_safemalloc_000790d0)(0x1000)" (parenthesized_expression "(*(code *)PTR_safemalloc_000790d0)" ( (pointer_expression "*(code *)PTR_safemalloc_000790d0" * (cast_expression "(code *)PTR_safemalloc_000790d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x1000)" ( number_literal ))))) ;) (expression_statement "unaff_s8 = base64in;" (assignment_expression "unaff_s8 = base64in" identifier = identifier) ;) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (expression_statement "unaff_s4 = (char **)0x0;" (assignment_expression "unaff_s4 = (char **)0x0" identifier = (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "iVar10 = 0x1000;" (assignment_expression "iVar10 = 0x1000" identifier = number_literal) ;) (goto_statement "goto LAB_0004340c;" goto statement_identifier ;) })) (expression_statement "*unaff_s8 = '\0';" (assignment_expression "*unaff_s8 = '\0'" (pointer_expression "*unaff_s8" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "ppcVar15 = ppcVar17;" (assignment_expression "ppcVar15 = ppcVar17" identifier = identifier) ;) (expression_statement "iVar6 = (*(code *)puVar1)(pFVar5);" (assignment_expression "iVar6 = (*(code *)puVar1)(pFVar5)" identifier = (call_expression "(*(code *)puVar1)(pFVar5)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pFVar5)" ( identifier )))) ;) (if_statement "if (iVar6 == 0) {\n          unaff_s5 = (FILE *)(int)unaff_s8[2];\n          unaff_s6 = (char **)(unaff_s8 + 2);\n          pFVar12 = pFVar5;\n          if (unaff_s5 == (FILE *)0x22) {\n            iVar6 = (*(code *)PTR_strlen_000798d0)(unaff_s6);\n            puVar25 = (uchar *)((int)unaff_s6 + iVar6 + -1);\n            if (*puVar25 == '\"') {\n              *puVar25 = '\0';\n              unaff_s5 = (FILE *)(int)unaff_s8[3];\n              unaff_s6 = (char **)(unaff_s8 + 3);\n              if (unaff_s5 == (FILE *)0x0) goto LAB_00043364;\n            }\nLAB_00043310:\n            header = (char **)0x5c;\n            ppcVar16 = ppcVar15;\n            pFVar18 = pFVar5;\n            ppcVar26 = unaff_s6;\n            do {\n              while ((ppcVar15 = (char **)((int)ppcVar26 + 1), unaff_s5 != (FILE *)0x5c ||\n                     (*(uchar *)((int)ppcVar26 + 1) == '\0'))) {\n                pFVar12 = (FILE *)((int)&pFVar18->_flags + 1);\n                *(uchar *)&pFVar18->_flags = *(uchar *)ppcVar26;\n                unaff_s5 = (FILE *)(int)(char)*(uchar *)((int)ppcVar26 + 1);\n                ppcVar16 = ppcVar15;\n                pFVar18 = pFVar12;\n                unaff_s6 = ppcVar15;\n                ppcVar26 = ppcVar15;\n                if (unaff_s5 == (FILE *)0x0) goto LAB_00043364;\n              }\n              pFVar12 = (FILE *)((int)&pFVar18->_flags + 1);\n              *(uchar *)&pFVar18->_flags = *(uchar *)((int)ppcVar26 + 1);\n              unaff_s5 = (FILE *)(int)(char)*(uchar *)((int)ppcVar26 + 2);\n              ppcVar15 = ppcVar16;\n              pFVar18 = pFVar12;\n              unaff_s6 = (char **)((int)ppcVar26 + 2);\n              ppcVar26 = (char **)((int)ppcVar26 + 2);\n            } while (unaff_s5 != (FILE *)0x0);\n          }\n          else if (unaff_s5 != (FILE *)0x0) goto LAB_00043310;\nLAB_00043364:\n          puVar1 = PTR_safefree_000790f0;\n          *(uchar *)&pFVar12->_flags = '\0';\n          (*(code *)puVar1)(pcStack_54);\n          pcStack_54 = (char *)(*(code *)PTR_dupstr_000790fc)(pFVar5);\n        }\n        else {\n          ppcVar15 = unaff_s4;\n          iVar6 = (*(code *)PTR_strcmp_000798a4)(pFVar5);\n          if (iVar6 != 0) {\n            pFVar12 = (FILE *)0x2;\n            ppcVar15 = unaff_s7;\n            iVar6 = (*(code *)PTR_strncmp_000797c4)(pFVar5);\n            if (iVar6 != 0) {\n              puVar25 = (uchar *)0x0;\n              pcVar23 = PTR_s_j_000790a8 + 0x437c;\n              algorithm = (char **)pFVar5;\n              goto LAB_00043198;\n            }\n          }\n        }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n          unaff_s5 = (FILE *)(int)unaff_s8[2];\n          unaff_s6 = (char **)(unaff_s8 + 2);\n          pFVar12 = pFVar5;\n          if (unaff_s5 == (FILE *)0x22) {\n            iVar6 = (*(code *)PTR_strlen_000798d0)(unaff_s6);\n            puVar25 = (uchar *)((int)unaff_s6 + iVar6 + -1);\n            if (*puVar25 == '\"') {\n              *puVar25 = '\0';\n              unaff_s5 = (FILE *)(int)unaff_s8[3];\n              unaff_s6 = (char **)(unaff_s8 + 3);\n              if (unaff_s5 == (FILE *)0x0) goto LAB_00043364;\n            }\nLAB_00043310:\n            header = (char **)0x5c;\n            ppcVar16 = ppcVar15;\n            pFVar18 = pFVar5;\n            ppcVar26 = unaff_s6;\n            do {\n              while ((ppcVar15 = (char **)((int)ppcVar26 + 1), unaff_s5 != (FILE *)0x5c ||\n                     (*(uchar *)((int)ppcVar26 + 1) == '\0'))) {\n                pFVar12 = (FILE *)((int)&pFVar18->_flags + 1);\n                *(uchar *)&pFVar18->_flags = *(uchar *)ppcVar26;\n                unaff_s5 = (FILE *)(int)(char)*(uchar *)((int)ppcVar26 + 1);\n                ppcVar16 = ppcVar15;\n                pFVar18 = pFVar12;\n                unaff_s6 = ppcVar15;\n                ppcVar26 = ppcVar15;\n                if (unaff_s5 == (FILE *)0x0) goto LAB_00043364;\n              }\n              pFVar12 = (FILE *)((int)&pFVar18->_flags + 1);\n              *(uchar *)&pFVar18->_flags = *(uchar *)((int)ppcVar26 + 1);\n              unaff_s5 = (FILE *)(int)(char)*(uchar *)((int)ppcVar26 + 2);\n              ppcVar15 = ppcVar16;\n              pFVar18 = pFVar12;\n              unaff_s6 = (char **)((int)ppcVar26 + 2);\n              ppcVar26 = (char **)((int)ppcVar26 + 2);\n            } while (unaff_s5 != (FILE *)0x0);\n          }\n          else if (unaff_s5 != (FILE *)0x0) goto LAB_00043310;\nLAB_00043364:\n          puVar1 = PTR_safefree_000790f0;\n          *(uchar *)&pFVar12->_flags = '\0';\n          (*(code *)puVar1)(pcStack_54);\n          pcStack_54 = (char *)(*(code *)PTR_dupstr_000790fc)(pFVar5);\n        }" { (expression_statement "unaff_s5 = (FILE *)(int)unaff_s8[2];" (assignment_expression "unaff_s5 = (FILE *)(int)unaff_s8[2]" identifier = (cast_expression "(FILE *)(int)unaff_s8[2]" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(int)unaff_s8[2]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "unaff_s8[2]" identifier [ number_literal ])))) ;) (expression_statement "unaff_s6 = (char **)(unaff_s8 + 2);" (assignment_expression "unaff_s6 = (char **)(unaff_s8 + 2)" identifier = (cast_expression "(char **)(unaff_s8 + 2)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_s8 + 2)" ( (binary_expression "unaff_s8 + 2" identifier + number_literal) )))) ;) (expression_statement "pFVar12 = pFVar5;" (assignment_expression "pFVar12 = pFVar5" identifier = identifier) ;) (if_statement "if (unaff_s5 == (FILE *)0x22) {\n            iVar6 = (*(code *)PTR_strlen_000798d0)(unaff_s6);\n            puVar25 = (uchar *)((int)unaff_s6 + iVar6 + -1);\n            if (*puVar25 == '\"') {\n              *puVar25 = '\0';\n              unaff_s5 = (FILE *)(int)unaff_s8[3];\n              unaff_s6 = (char **)(unaff_s8 + 3);\n              if (unaff_s5 == (FILE *)0x0) goto LAB_00043364;\n            }\nLAB_00043310:\n            header = (char **)0x5c;\n            ppcVar16 = ppcVar15;\n            pFVar18 = pFVar5;\n            ppcVar26 = unaff_s6;\n            do {\n              while ((ppcVar15 = (char **)((int)ppcVar26 + 1), unaff_s5 != (FILE *)0x5c ||\n                     (*(uchar *)((int)ppcVar26 + 1) == '\0'))) {\n                pFVar12 = (FILE *)((int)&pFVar18->_flags + 1);\n                *(uchar *)&pFVar18->_flags = *(uchar *)ppcVar26;\n                unaff_s5 = (FILE *)(int)(char)*(uchar *)((int)ppcVar26 + 1);\n                ppcVar16 = ppcVar15;\n                pFVar18 = pFVar12;\n                unaff_s6 = ppcVar15;\n                ppcVar26 = ppcVar15;\n                if (unaff_s5 == (FILE *)0x0) goto LAB_00043364;\n              }\n              pFVar12 = (FILE *)((int)&pFVar18->_flags + 1);\n              *(uchar *)&pFVar18->_flags = *(uchar *)((int)ppcVar26 + 1);\n              unaff_s5 = (FILE *)(int)(char)*(uchar *)((int)ppcVar26 + 2);\n              ppcVar15 = ppcVar16;\n              pFVar18 = pFVar12;\n              unaff_s6 = (char **)((int)ppcVar26 + 2);\n              ppcVar26 = (char **)((int)ppcVar26 + 2);\n            } while (unaff_s5 != (FILE *)0x0);\n          }\n          else if (unaff_s5 != (FILE *)0x0) goto LAB_00043310;" if (parenthesized_expression "(unaff_s5 == (FILE *)0x22)" ( (binary_expression "unaff_s5 == (FILE *)0x22" identifier == (cast_expression "(FILE *)0x22" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            iVar6 = (*(code *)PTR_strlen_000798d0)(unaff_s6);\n            puVar25 = (uchar *)((int)unaff_s6 + iVar6 + -1);\n            if (*puVar25 == '\"') {\n              *puVar25 = '\0';\n              unaff_s5 = (FILE *)(int)unaff_s8[3];\n              unaff_s6 = (char **)(unaff_s8 + 3);\n              if (unaff_s5 == (FILE *)0x0) goto LAB_00043364;\n            }\nLAB_00043310:\n            header = (char **)0x5c;\n            ppcVar16 = ppcVar15;\n            pFVar18 = pFVar5;\n            ppcVar26 = unaff_s6;\n            do {\n              while ((ppcVar15 = (char **)((int)ppcVar26 + 1), unaff_s5 != (FILE *)0x5c ||\n                     (*(uchar *)((int)ppcVar26 + 1) == '\0'))) {\n                pFVar12 = (FILE *)((int)&pFVar18->_flags + 1);\n                *(uchar *)&pFVar18->_flags = *(uchar *)ppcVar26;\n                unaff_s5 = (FILE *)(int)(char)*(uchar *)((int)ppcVar26 + 1);\n                ppcVar16 = ppcVar15;\n                pFVar18 = pFVar12;\n                unaff_s6 = ppcVar15;\n                ppcVar26 = ppcVar15;\n                if (unaff_s5 == (FILE *)0x0) goto LAB_00043364;\n              }\n              pFVar12 = (FILE *)((int)&pFVar18->_flags + 1);\n              *(uchar *)&pFVar18->_flags = *(uchar *)((int)ppcVar26 + 1);\n              unaff_s5 = (FILE *)(int)(char)*(uchar *)((int)ppcVar26 + 2);\n              ppcVar15 = ppcVar16;\n              pFVar18 = pFVar12;\n              unaff_s6 = (char **)((int)ppcVar26 + 2);\n              ppcVar26 = (char **)((int)ppcVar26 + 2);\n            } while (unaff_s5 != (FILE *)0x0);\n          }" { (expression_statement "iVar6 = (*(code *)PTR_strlen_000798d0)(unaff_s6);" (assignment_expression "iVar6 = (*(code *)PTR_strlen_000798d0)(unaff_s6)" identifier = (call_expression "(*(code *)PTR_strlen_000798d0)(unaff_s6)" (parenthesized_expression "(*(code *)PTR_strlen_000798d0)" ( (pointer_expression "*(code *)PTR_strlen_000798d0" * (cast_expression "(code *)PTR_strlen_000798d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s6)" ( identifier )))) ;) (expression_statement "puVar25 = (uchar *)((int)unaff_s6 + iVar6 + -1);" (assignment_expression "puVar25 = (uchar *)((int)unaff_s6 + iVar6 + -1)" identifier = (cast_expression "(uchar *)((int)unaff_s6 + iVar6 + -1)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s6 + iVar6 + -1)" ( (binary_expression "(int)unaff_s6 + iVar6 + -1" (binary_expression "(int)unaff_s6 + iVar6" (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) ;) (if_statement "if (*puVar25 == '\"') {\n              *puVar25 = '\0';\n              unaff_s5 = (FILE *)(int)unaff_s8[3];\n              unaff_s6 = (char **)(unaff_s8 + 3);\n              if (unaff_s5 == (FILE *)0x0) goto LAB_00043364;\n            }" if (parenthesized_expression "(*puVar25 == '\"')" ( (binary_expression "*puVar25 == '\"'" (pointer_expression "*puVar25" * identifier) == (char_literal "'\"'" ' escape_sequence ')) )) (compound_statement "{\n              *puVar25 = '\0';\n              unaff_s5 = (FILE *)(int)unaff_s8[3];\n              unaff_s6 = (char **)(unaff_s8 + 3);\n              if (unaff_s5 == (FILE *)0x0) goto LAB_00043364;\n            }" { (expression_statement "*puVar25 = '\0';" (assignment_expression "*puVar25 = '\0'" (pointer_expression "*puVar25" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "unaff_s5 = (FILE *)(int)unaff_s8[3];" (assignment_expression "unaff_s5 = (FILE *)(int)unaff_s8[3]" identifier = (cast_expression "(FILE *)(int)unaff_s8[3]" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(int)unaff_s8[3]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "unaff_s8[3]" identifier [ number_literal ])))) ;) (expression_statement "unaff_s6 = (char **)(unaff_s8 + 3);" (assignment_expression "unaff_s6 = (char **)(unaff_s8 + 3)" identifier = (cast_expression "(char **)(unaff_s8 + 3)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_s8 + 3)" ( (binary_expression "unaff_s8 + 3" identifier + number_literal) )))) ;) (if_statement "if (unaff_s5 == (FILE *)0x0) goto LAB_00043364;" if (parenthesized_expression "(unaff_s5 == (FILE *)0x0)" ( (binary_expression "unaff_s5 == (FILE *)0x0" identifier == (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00043364;" goto statement_identifier ;)) })) (labeled_statement "LAB_00043310:\n            header = (char **)0x5c;" statement_identifier : (expression_statement "header = (char **)0x5c;" (assignment_expression "header = (char **)0x5c" identifier = (cast_expression "(char **)0x5c" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;)) (expression_statement "ppcVar16 = ppcVar15;" (assignment_expression "ppcVar16 = ppcVar15" identifier = identifier) ;) (expression_statement "pFVar18 = pFVar5;" (assignment_expression "pFVar18 = pFVar5" identifier = identifier) ;) (expression_statement "ppcVar26 = unaff_s6;" (assignment_expression "ppcVar26 = unaff_s6" identifier = identifier) ;) (do_statement "do {\n              while ((ppcVar15 = (char **)((int)ppcVar26 + 1), unaff_s5 != (FILE *)0x5c ||\n                     (*(uchar *)((int)ppcVar26 + 1) == '\0'))) {\n                pFVar12 = (FILE *)((int)&pFVar18->_flags + 1);\n                *(uchar *)&pFVar18->_flags = *(uchar *)ppcVar26;\n                unaff_s5 = (FILE *)(int)(char)*(uchar *)((int)ppcVar26 + 1);\n                ppcVar16 = ppcVar15;\n                pFVar18 = pFVar12;\n                unaff_s6 = ppcVar15;\n                ppcVar26 = ppcVar15;\n                if (unaff_s5 == (FILE *)0x0) goto LAB_00043364;\n              }\n              pFVar12 = (FILE *)((int)&pFVar18->_flags + 1);\n              *(uchar *)&pFVar18->_flags = *(uchar *)((int)ppcVar26 + 1);\n              unaff_s5 = (FILE *)(int)(char)*(uchar *)((int)ppcVar26 + 2);\n              ppcVar15 = ppcVar16;\n              pFVar18 = pFVar12;\n              unaff_s6 = (char **)((int)ppcVar26 + 2);\n              ppcVar26 = (char **)((int)ppcVar26 + 2);\n            } while (unaff_s5 != (FILE *)0x0);" do (compound_statement "{\n              while ((ppcVar15 = (char **)((int)ppcVar26 + 1), unaff_s5 != (FILE *)0x5c ||\n                     (*(uchar *)((int)ppcVar26 + 1) == '\0'))) {\n                pFVar12 = (FILE *)((int)&pFVar18->_flags + 1);\n                *(uchar *)&pFVar18->_flags = *(uchar *)ppcVar26;\n                unaff_s5 = (FILE *)(int)(char)*(uchar *)((int)ppcVar26 + 1);\n                ppcVar16 = ppcVar15;\n                pFVar18 = pFVar12;\n                unaff_s6 = ppcVar15;\n                ppcVar26 = ppcVar15;\n                if (unaff_s5 == (FILE *)0x0) goto LAB_00043364;\n              }\n              pFVar12 = (FILE *)((int)&pFVar18->_flags + 1);\n              *(uchar *)&pFVar18->_flags = *(uchar *)((int)ppcVar26 + 1);\n              unaff_s5 = (FILE *)(int)(char)*(uchar *)((int)ppcVar26 + 2);\n              ppcVar15 = ppcVar16;\n              pFVar18 = pFVar12;\n              unaff_s6 = (char **)((int)ppcVar26 + 2);\n              ppcVar26 = (char **)((int)ppcVar26 + 2);\n            }" { (while_statement "while ((ppcVar15 = (char **)((int)ppcVar26 + 1), unaff_s5 != (FILE *)0x5c ||\n                     (*(uchar *)((int)ppcVar26 + 1) == '\0'))) {\n                pFVar12 = (FILE *)((int)&pFVar18->_flags + 1);\n                *(uchar *)&pFVar18->_flags = *(uchar *)ppcVar26;\n                unaff_s5 = (FILE *)(int)(char)*(uchar *)((int)ppcVar26 + 1);\n                ppcVar16 = ppcVar15;\n                pFVar18 = pFVar12;\n                unaff_s6 = ppcVar15;\n                ppcVar26 = ppcVar15;\n                if (unaff_s5 == (FILE *)0x0) goto LAB_00043364;\n              }" while (parenthesized_expression "((ppcVar15 = (char **)((int)ppcVar26 + 1), unaff_s5 != (FILE *)0x5c ||\n                     (*(uchar *)((int)ppcVar26 + 1) == '\0')))" ( (parenthesized_expression "(ppcVar15 = (char **)((int)ppcVar26 + 1), unaff_s5 != (FILE *)0x5c ||\n                     (*(uchar *)((int)ppcVar26 + 1) == '\0'))" ( (comma_expression "ppcVar15 = (char **)((int)ppcVar26 + 1), unaff_s5 != (FILE *)0x5c ||\n                     (*(uchar *)((int)ppcVar26 + 1) == '\0')" (assignment_expression "ppcVar15 = (char **)((int)ppcVar26 + 1)" identifier = (cast_expression "(char **)((int)ppcVar26 + 1)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppcVar26 + 1)" ( (binary_expression "(int)ppcVar26 + 1" (cast_expression "(int)ppcVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (binary_expression "unaff_s5 != (FILE *)0x5c ||\n                     (*(uchar *)((int)ppcVar26 + 1) == '\0')" (binary_expression "unaff_s5 != (FILE *)0x5c" identifier != (cast_expression "(FILE *)0x5c" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) || (parenthesized_expression "(*(uchar *)((int)ppcVar26 + 1) == '\0')" ( (binary_expression "*(uchar *)((int)ppcVar26 + 1) == '\0'" (pointer_expression "*(uchar *)((int)ppcVar26 + 1)" * (cast_expression "(uchar *)((int)ppcVar26 + 1)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppcVar26 + 1)" ( (binary_expression "(int)ppcVar26 + 1" (cast_expression "(int)ppcVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )))) )) )) (compound_statement "{\n                pFVar12 = (FILE *)((int)&pFVar18->_flags + 1);\n                *(uchar *)&pFVar18->_flags = *(uchar *)ppcVar26;\n                unaff_s5 = (FILE *)(int)(char)*(uchar *)((int)ppcVar26 + 1);\n                ppcVar16 = ppcVar15;\n                pFVar18 = pFVar12;\n                unaff_s6 = ppcVar15;\n                ppcVar26 = ppcVar15;\n                if (unaff_s5 == (FILE *)0x0) goto LAB_00043364;\n              }" { (expression_statement "pFVar12 = (FILE *)((int)&pFVar18->_flags + 1);" (assignment_expression "pFVar12 = (FILE *)((int)&pFVar18->_flags + 1)" identifier = (cast_expression "(FILE *)((int)&pFVar18->_flags + 1)" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pFVar18->_flags + 1)" ( (binary_expression "(int)&pFVar18->_flags + 1" (cast_expression "(int)&pFVar18->_flags" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pFVar18->_flags" & (field_expression "pFVar18->_flags" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "*(uchar *)&pFVar18->_flags = *(uchar *)ppcVar26;" (assignment_expression "*(uchar *)&pFVar18->_flags = *(uchar *)ppcVar26" (pointer_expression "*(uchar *)&pFVar18->_flags" * (cast_expression "(uchar *)&pFVar18->_flags" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pFVar18->_flags" & (field_expression "pFVar18->_flags" identifier -> field_identifier)))) = (pointer_expression "*(uchar *)ppcVar26" * (cast_expression "(uchar *)ppcVar26" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "unaff_s5 = (FILE *)(int)(char)*(uchar *)((int)ppcVar26 + 1);" (assignment_expression "unaff_s5 = (FILE *)(int)(char)*(uchar *)((int)ppcVar26 + 1)" identifier = (cast_expression "(FILE *)(int)(char)*(uchar *)((int)ppcVar26 + 1)" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(int)(char)*(uchar *)((int)ppcVar26 + 1)" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)*(uchar *)((int)ppcVar26 + 1)" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(uchar *)((int)ppcVar26 + 1)" * (cast_expression "(uchar *)((int)ppcVar26 + 1)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppcVar26 + 1)" ( (binary_expression "(int)ppcVar26 + 1" (cast_expression "(int)ppcVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))))))) ;) (expression_statement "ppcVar16 = ppcVar15;" (assignment_expression "ppcVar16 = ppcVar15" identifier = identifier) ;) (expression_statement "pFVar18 = pFVar12;" (assignment_expression "pFVar18 = pFVar12" identifier = identifier) ;) (expression_statement "unaff_s6 = ppcVar15;" (assignment_expression "unaff_s6 = ppcVar15" identifier = identifier) ;) (expression_statement "ppcVar26 = ppcVar15;" (assignment_expression "ppcVar26 = ppcVar15" identifier = identifier) ;) (if_statement "if (unaff_s5 == (FILE *)0x0) goto LAB_00043364;" if (parenthesized_expression "(unaff_s5 == (FILE *)0x0)" ( (binary_expression "unaff_s5 == (FILE *)0x0" identifier == (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00043364;" goto statement_identifier ;)) })) (expression_statement "pFVar12 = (FILE *)((int)&pFVar18->_flags + 1);" (assignment_expression "pFVar12 = (FILE *)((int)&pFVar18->_flags + 1)" identifier = (cast_expression "(FILE *)((int)&pFVar18->_flags + 1)" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pFVar18->_flags + 1)" ( (binary_expression "(int)&pFVar18->_flags + 1" (cast_expression "(int)&pFVar18->_flags" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pFVar18->_flags" & (field_expression "pFVar18->_flags" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "*(uchar *)&pFVar18->_flags = *(uchar *)((int)ppcVar26 + 1);" (assignment_expression "*(uchar *)&pFVar18->_flags = *(uchar *)((int)ppcVar26 + 1)" (pointer_expression "*(uchar *)&pFVar18->_flags" * (cast_expression "(uchar *)&pFVar18->_flags" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pFVar18->_flags" & (field_expression "pFVar18->_flags" identifier -> field_identifier)))) = (pointer_expression "*(uchar *)((int)ppcVar26 + 1)" * (cast_expression "(uchar *)((int)ppcVar26 + 1)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppcVar26 + 1)" ( (binary_expression "(int)ppcVar26 + 1" (cast_expression "(int)ppcVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "unaff_s5 = (FILE *)(int)(char)*(uchar *)((int)ppcVar26 + 2);" (assignment_expression "unaff_s5 = (FILE *)(int)(char)*(uchar *)((int)ppcVar26 + 2)" identifier = (cast_expression "(FILE *)(int)(char)*(uchar *)((int)ppcVar26 + 2)" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(int)(char)*(uchar *)((int)ppcVar26 + 2)" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)*(uchar *)((int)ppcVar26 + 2)" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(uchar *)((int)ppcVar26 + 2)" * (cast_expression "(uchar *)((int)ppcVar26 + 2)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppcVar26 + 2)" ( (binary_expression "(int)ppcVar26 + 2" (cast_expression "(int)ppcVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))))))) ;) (expression_statement "ppcVar15 = ppcVar16;" (assignment_expression "ppcVar15 = ppcVar16" identifier = identifier) ;) (expression_statement "pFVar18 = pFVar12;" (assignment_expression "pFVar18 = pFVar12" identifier = identifier) ;) (expression_statement "unaff_s6 = (char **)((int)ppcVar26 + 2);" (assignment_expression "unaff_s6 = (char **)((int)ppcVar26 + 2)" identifier = (cast_expression "(char **)((int)ppcVar26 + 2)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppcVar26 + 2)" ( (binary_expression "(int)ppcVar26 + 2" (cast_expression "(int)ppcVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "ppcVar26 = (char **)((int)ppcVar26 + 2);" (assignment_expression "ppcVar26 = (char **)((int)ppcVar26 + 2)" identifier = (cast_expression "(char **)((int)ppcVar26 + 2)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppcVar26 + 2)" ( (binary_expression "(int)ppcVar26 + 2" (cast_expression "(int)ppcVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(unaff_s5 != (FILE *)0x0)" ( (binary_expression "unaff_s5 != (FILE *)0x0" identifier != (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) }) (else_clause "else if (unaff_s5 != (FILE *)0x0) goto LAB_00043310;" else (if_statement "if (unaff_s5 != (FILE *)0x0) goto LAB_00043310;" if (parenthesized_expression "(unaff_s5 != (FILE *)0x0)" ( (binary_expression "unaff_s5 != (FILE *)0x0" identifier != (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00043310;" goto statement_identifier ;)))) (labeled_statement "LAB_00043364:\n          puVar1 = PTR_safefree_000790f0;" statement_identifier : (expression_statement "puVar1 = PTR_safefree_000790f0;" (assignment_expression "puVar1 = PTR_safefree_000790f0" identifier = identifier) ;)) (expression_statement "*(uchar *)&pFVar12->_flags = '\0';" (assignment_expression "*(uchar *)&pFVar12->_flags = '\0'" (pointer_expression "*(uchar *)&pFVar12->_flags" * (cast_expression "(uchar *)&pFVar12->_flags" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pFVar12->_flags" & (field_expression "pFVar12->_flags" identifier -> field_identifier)))) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "(*(code *)puVar1)(pcStack_54);" (call_expression "(*(code *)puVar1)(pcStack_54)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcStack_54)" ( identifier ))) ;) (expression_statement "pcStack_54 = (char *)(*(code *)PTR_dupstr_000790fc)(pFVar5);" (assignment_expression "pcStack_54 = (char *)(*(code *)PTR_dupstr_000790fc)(pFVar5)" identifier = (cast_expression "(char *)(*(code *)PTR_dupstr_000790fc)(pFVar5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_dupstr_000790fc)(pFVar5)" (parenthesized_expression "(*(code *)PTR_dupstr_000790fc)" ( (pointer_expression "*(code *)PTR_dupstr_000790fc" * (cast_expression "(code *)PTR_dupstr_000790fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pFVar5)" ( identifier ))))) ;) }) (else_clause "else {\n          ppcVar15 = unaff_s4;\n          iVar6 = (*(code *)PTR_strcmp_000798a4)(pFVar5);\n          if (iVar6 != 0) {\n            pFVar12 = (FILE *)0x2;\n            ppcVar15 = unaff_s7;\n            iVar6 = (*(code *)PTR_strncmp_000797c4)(pFVar5);\n            if (iVar6 != 0) {\n              puVar25 = (uchar *)0x0;\n              pcVar23 = PTR_s_j_000790a8 + 0x437c;\n              algorithm = (char **)pFVar5;\n              goto LAB_00043198;\n            }\n          }\n        }" else (compound_statement "{\n          ppcVar15 = unaff_s4;\n          iVar6 = (*(code *)PTR_strcmp_000798a4)(pFVar5);\n          if (iVar6 != 0) {\n            pFVar12 = (FILE *)0x2;\n            ppcVar15 = unaff_s7;\n            iVar6 = (*(code *)PTR_strncmp_000797c4)(pFVar5);\n            if (iVar6 != 0) {\n              puVar25 = (uchar *)0x0;\n              pcVar23 = PTR_s_j_000790a8 + 0x437c;\n              algorithm = (char **)pFVar5;\n              goto LAB_00043198;\n            }\n          }\n        }" { (expression_statement "ppcVar15 = unaff_s4;" (assignment_expression "ppcVar15 = unaff_s4" identifier = identifier) ;) (expression_statement "iVar6 = (*(code *)PTR_strcmp_000798a4)(pFVar5);" (assignment_expression "iVar6 = (*(code *)PTR_strcmp_000798a4)(pFVar5)" identifier = (call_expression "(*(code *)PTR_strcmp_000798a4)(pFVar5)" (parenthesized_expression "(*(code *)PTR_strcmp_000798a4)" ( (pointer_expression "*(code *)PTR_strcmp_000798a4" * (cast_expression "(code *)PTR_strcmp_000798a4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pFVar5)" ( identifier )))) ;) (if_statement "if (iVar6 != 0) {\n            pFVar12 = (FILE *)0x2;\n            ppcVar15 = unaff_s7;\n            iVar6 = (*(code *)PTR_strncmp_000797c4)(pFVar5);\n            if (iVar6 != 0) {\n              puVar25 = (uchar *)0x0;\n              pcVar23 = PTR_s_j_000790a8 + 0x437c;\n              algorithm = (char **)pFVar5;\n              goto LAB_00043198;\n            }\n          }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n            pFVar12 = (FILE *)0x2;\n            ppcVar15 = unaff_s7;\n            iVar6 = (*(code *)PTR_strncmp_000797c4)(pFVar5);\n            if (iVar6 != 0) {\n              puVar25 = (uchar *)0x0;\n              pcVar23 = PTR_s_j_000790a8 + 0x437c;\n              algorithm = (char **)pFVar5;\n              goto LAB_00043198;\n            }\n          }" { (expression_statement "pFVar12 = (FILE *)0x2;" (assignment_expression "pFVar12 = (FILE *)0x2" identifier = (cast_expression "(FILE *)0x2" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppcVar15 = unaff_s7;" (assignment_expression "ppcVar15 = unaff_s7" identifier = identifier) ;) (expression_statement "iVar6 = (*(code *)PTR_strncmp_000797c4)(pFVar5);" (assignment_expression "iVar6 = (*(code *)PTR_strncmp_000797c4)(pFVar5)" identifier = (call_expression "(*(code *)PTR_strncmp_000797c4)(pFVar5)" (parenthesized_expression "(*(code *)PTR_strncmp_000797c4)" ( (pointer_expression "*(code *)PTR_strncmp_000797c4" * (cast_expression "(code *)PTR_strncmp_000797c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pFVar5)" ( identifier )))) ;) (if_statement "if (iVar6 != 0) {\n              puVar25 = (uchar *)0x0;\n              pcVar23 = PTR_s_j_000790a8 + 0x437c;\n              algorithm = (char **)pFVar5;\n              goto LAB_00043198;\n            }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n              puVar25 = (uchar *)0x0;\n              pcVar23 = PTR_s_j_000790a8 + 0x437c;\n              algorithm = (char **)pFVar5;\n              goto LAB_00043198;\n            }" { (expression_statement "puVar25 = (uchar *)0x0;" (assignment_expression "puVar25 = (uchar *)0x0" identifier = (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar23 = PTR_s_j_000790a8 + 0x437c;" (assignment_expression "pcVar23 = PTR_s_j_000790a8 + 0x437c" identifier = (binary_expression "PTR_s_j_000790a8 + 0x437c" identifier + number_literal)) ;) (expression_statement "algorithm = (char **)pFVar5;" (assignment_expression "algorithm = (char **)pFVar5" identifier = (cast_expression "(char **)pFVar5" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (goto_statement "goto LAB_00043198;" goto statement_identifier ;) })) })) }))) (expression_statement "(*(code *)PTR_safefree_000790f0)(pFVar5);" (call_expression "(*(code *)PTR_safefree_000790f0)(pFVar5)" (parenthesized_expression "(*(code *)PTR_safefree_000790f0)" ( (pointer_expression "*(code *)PTR_safefree_000790f0" * (cast_expression "(code *)PTR_safefree_000790f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pFVar5)" ( identifier ))) ;) })) (expression_statement "puVar25 = (uchar *)0x0;" (assignment_expression "puVar25 = (uchar *)0x0" identifier = (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar23 = PTR_s_j_000790a8 + 0x43ac;" (assignment_expression "pcVar23 = PTR_s_j_000790a8 + 0x43ac" identifier = (binary_expression "PTR_s_j_000790a8 + 0x43ac" identifier + number_literal)) ;) (expression_statement "algorithm = (char **)pFVar5;" (assignment_expression "algorithm = (char **)pFVar5" identifier = (cast_expression "(char **)pFVar5" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (goto_statement "goto LAB_00043198;" goto statement_identifier ;) })) })) (expression_statement "puVar25 = (uchar *)0x0;" (assignment_expression "puVar25 = (uchar *)0x0" identifier = (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcStack_54 = (char *)0x0;" (assignment_expression "pcStack_54 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar23 = PTR_s_j_000790a8 + 0x42f0;" (assignment_expression "pcVar23 = PTR_s_j_000790a8 + 0x42f0" identifier = (binary_expression "PTR_s_j_000790a8 + 0x42f0" identifier + number_literal)) ;) (expression_statement "algorithm = (char **)pFVar5;" (assignment_expression "algorithm = (char **)pFVar5" identifier = (cast_expression "(char **)pFVar5" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (goto_statement "goto LAB_00043198;" goto statement_identifier ;) (labeled_statement "LAB_0004340c:\n  do {\n    uVar13 = *(uchar *)&pFVar5->_flags;\n    unaff_s5 = pFVar5;\n    if (uVar13 == '-') {\n      ppcVar15 = (char **)(PTR_s_j_000790a8 + 0x43fc);\n      iVar6 = (*(code *)PTR_strcmp_000798a4)(pFVar5);\n      if (iVar6 == 0) {\n        (*(code *)PTR_safefree_000790f0)(pFVar5);\n        if ((int)unaff_s4 < 4) {\n          pcVar23 = PTR_s_j_000790a8 + 0x42c4;\n          algorithm = (char **)(FILE *)0x0;\n          goto LAB_00043198;\n        }\n        ppcVar17 = (char **)(*(code *)PTR_toint_000792c8)(*(undefined4 *)puVar25);\n        pcVar23 = PTR_s_j_000790a8;\n        if (((int)ppcVar17 < 0) || ((int)((int)unaff_s4 + -3) <= (int)ppcVar17)) {\n          pcVar23 = PTR_s_j_000790a8 + 0x431c;\n          algorithm = (char **)(FILE *)0x0;\n          goto LAB_00043198;\n        }\n        pFVar12 = (FILE *)(puVar25 + 4);\n        if (algorithm != (char **)0x0) {\n          pcVar21 = (char *)(*(code *)PTR_dupprintf_000790e8)(PTR_s_j_000790a8 + -0x26d0);\n          *algorithm = pcVar21;\n          ppcVar15 = ppcVar17;\n        }\n        if (pub_blob_len != (int *)0x0) {\n          *pub_blob_len = (int)unaff_s4;\n        }\n        if (commentptr == (char **)0x0) {\n          (*(code *)PTR_safefree_000790f0)(pcStack_54);\n        }\n        else {\n          *commentptr = pcStack_54;\n        }\n        goto LAB_000431d8;\n      }\n      break;\n    }\n    unaff_s6 = (char **)0x4;\n    while (ppcVar17 = unaff_s4, uVar13 != '\0') {\n      while( true ) {\n        base64in[iVar6] = uVar13;\n        if (iVar6 + 1 != 4) break;\n        pFVar12 = (FILE *)(*(code *)PTR_base64_decode_atom_000792d8)(unaff_s8,unaff_s7);\n        unaff_s4 = (char **)((int)ppcVar17 + (int)pFVar12);\n        if (iVar10 < (int)unaff_s4) {\n          iVar10 = ((int)unaff_s4 * 5 >> 2) + 0x400;\n          puVar25 = (uchar *)(*(code *)PTR_saferealloc_000791a0)(puVar25,iVar10,1);\n        }\n        unaff_s5 = (FILE *)((int)&unaff_s5->_flags + 1);\n        ppcVar15 = unaff_s7;\n        (*(code *)PTR_memcpy_000798e0)(puVar25 + (int)ppcVar17);\n        iVar6 = 0;\n        uVar13 = *(uchar *)&unaff_s5->_flags;\n        ppcVar17 = unaff_s4;\n        if (uVar13 == '\0') goto LAB_000434ac;\n      }\n      unaff_s5 = (FILE *)((int)&unaff_s5->_flags + 1);\n      iVar6 = iVar6 + 1;\n      unaff_s4 = ppcVar17;\n      uVar13 = *(uchar *)&unaff_s5->_flags;\n    }\nLAB_000434ac:\n    (*(code *)PTR_safefree_000790f0)(pFVar5);\n    uVar4 = (*(code *)PTR_fgetline_00079538)(fp);\n    pFVar5 = (FILE *)(*(code *)PTR_chomp_0007953c)(uVar4);\n  } while (pFVar5 != (FILE *)0x0);" statement_identifier : (do_statement "do {\n    uVar13 = *(uchar *)&pFVar5->_flags;\n    unaff_s5 = pFVar5;\n    if (uVar13 == '-') {\n      ppcVar15 = (char **)(PTR_s_j_000790a8 + 0x43fc);\n      iVar6 = (*(code *)PTR_strcmp_000798a4)(pFVar5);\n      if (iVar6 == 0) {\n        (*(code *)PTR_safefree_000790f0)(pFVar5);\n        if ((int)unaff_s4 < 4) {\n          pcVar23 = PTR_s_j_000790a8 + 0x42c4;\n          algorithm = (char **)(FILE *)0x0;\n          goto LAB_00043198;\n        }\n        ppcVar17 = (char **)(*(code *)PTR_toint_000792c8)(*(undefined4 *)puVar25);\n        pcVar23 = PTR_s_j_000790a8;\n        if (((int)ppcVar17 < 0) || ((int)((int)unaff_s4 + -3) <= (int)ppcVar17)) {\n          pcVar23 = PTR_s_j_000790a8 + 0x431c;\n          algorithm = (char **)(FILE *)0x0;\n          goto LAB_00043198;\n        }\n        pFVar12 = (FILE *)(puVar25 + 4);\n        if (algorithm != (char **)0x0) {\n          pcVar21 = (char *)(*(code *)PTR_dupprintf_000790e8)(PTR_s_j_000790a8 + -0x26d0);\n          *algorithm = pcVar21;\n          ppcVar15 = ppcVar17;\n        }\n        if (pub_blob_len != (int *)0x0) {\n          *pub_blob_len = (int)unaff_s4;\n        }\n        if (commentptr == (char **)0x0) {\n          (*(code *)PTR_safefree_000790f0)(pcStack_54);\n        }\n        else {\n          *commentptr = pcStack_54;\n        }\n        goto LAB_000431d8;\n      }\n      break;\n    }\n    unaff_s6 = (char **)0x4;\n    while (ppcVar17 = unaff_s4, uVar13 != '\0') {\n      while( true ) {\n        base64in[iVar6] = uVar13;\n        if (iVar6 + 1 != 4) break;\n        pFVar12 = (FILE *)(*(code *)PTR_base64_decode_atom_000792d8)(unaff_s8,unaff_s7);\n        unaff_s4 = (char **)((int)ppcVar17 + (int)pFVar12);\n        if (iVar10 < (int)unaff_s4) {\n          iVar10 = ((int)unaff_s4 * 5 >> 2) + 0x400;\n          puVar25 = (uchar *)(*(code *)PTR_saferealloc_000791a0)(puVar25,iVar10,1);\n        }\n        unaff_s5 = (FILE *)((int)&unaff_s5->_flags + 1);\n        ppcVar15 = unaff_s7;\n        (*(code *)PTR_memcpy_000798e0)(puVar25 + (int)ppcVar17);\n        iVar6 = 0;\n        uVar13 = *(uchar *)&unaff_s5->_flags;\n        ppcVar17 = unaff_s4;\n        if (uVar13 == '\0') goto LAB_000434ac;\n      }\n      unaff_s5 = (FILE *)((int)&unaff_s5->_flags + 1);\n      iVar6 = iVar6 + 1;\n      unaff_s4 = ppcVar17;\n      uVar13 = *(uchar *)&unaff_s5->_flags;\n    }\nLAB_000434ac:\n    (*(code *)PTR_safefree_000790f0)(pFVar5);\n    uVar4 = (*(code *)PTR_fgetline_00079538)(fp);\n    pFVar5 = (FILE *)(*(code *)PTR_chomp_0007953c)(uVar4);\n  } while (pFVar5 != (FILE *)0x0);" do (compound_statement "{\n    uVar13 = *(uchar *)&pFVar5->_flags;\n    unaff_s5 = pFVar5;\n    if (uVar13 == '-') {\n      ppcVar15 = (char **)(PTR_s_j_000790a8 + 0x43fc);\n      iVar6 = (*(code *)PTR_strcmp_000798a4)(pFVar5);\n      if (iVar6 == 0) {\n        (*(code *)PTR_safefree_000790f0)(pFVar5);\n        if ((int)unaff_s4 < 4) {\n          pcVar23 = PTR_s_j_000790a8 + 0x42c4;\n          algorithm = (char **)(FILE *)0x0;\n          goto LAB_00043198;\n        }\n        ppcVar17 = (char **)(*(code *)PTR_toint_000792c8)(*(undefined4 *)puVar25);\n        pcVar23 = PTR_s_j_000790a8;\n        if (((int)ppcVar17 < 0) || ((int)((int)unaff_s4 + -3) <= (int)ppcVar17)) {\n          pcVar23 = PTR_s_j_000790a8 + 0x431c;\n          algorithm = (char **)(FILE *)0x0;\n          goto LAB_00043198;\n        }\n        pFVar12 = (FILE *)(puVar25 + 4);\n        if (algorithm != (char **)0x0) {\n          pcVar21 = (char *)(*(code *)PTR_dupprintf_000790e8)(PTR_s_j_000790a8 + -0x26d0);\n          *algorithm = pcVar21;\n          ppcVar15 = ppcVar17;\n        }\n        if (pub_blob_len != (int *)0x0) {\n          *pub_blob_len = (int)unaff_s4;\n        }\n        if (commentptr == (char **)0x0) {\n          (*(code *)PTR_safefree_000790f0)(pcStack_54);\n        }\n        else {\n          *commentptr = pcStack_54;\n        }\n        goto LAB_000431d8;\n      }\n      break;\n    }\n    unaff_s6 = (char **)0x4;\n    while (ppcVar17 = unaff_s4, uVar13 != '\0') {\n      while( true ) {\n        base64in[iVar6] = uVar13;\n        if (iVar6 + 1 != 4) break;\n        pFVar12 = (FILE *)(*(code *)PTR_base64_decode_atom_000792d8)(unaff_s8,unaff_s7);\n        unaff_s4 = (char **)((int)ppcVar17 + (int)pFVar12);\n        if (iVar10 < (int)unaff_s4) {\n          iVar10 = ((int)unaff_s4 * 5 >> 2) + 0x400;\n          puVar25 = (uchar *)(*(code *)PTR_saferealloc_000791a0)(puVar25,iVar10,1);\n        }\n        unaff_s5 = (FILE *)((int)&unaff_s5->_flags + 1);\n        ppcVar15 = unaff_s7;\n        (*(code *)PTR_memcpy_000798e0)(puVar25 + (int)ppcVar17);\n        iVar6 = 0;\n        uVar13 = *(uchar *)&unaff_s5->_flags;\n        ppcVar17 = unaff_s4;\n        if (uVar13 == '\0') goto LAB_000434ac;\n      }\n      unaff_s5 = (FILE *)((int)&unaff_s5->_flags + 1);\n      iVar6 = iVar6 + 1;\n      unaff_s4 = ppcVar17;\n      uVar13 = *(uchar *)&unaff_s5->_flags;\n    }\nLAB_000434ac:\n    (*(code *)PTR_safefree_000790f0)(pFVar5);\n    uVar4 = (*(code *)PTR_fgetline_00079538)(fp);\n    pFVar5 = (FILE *)(*(code *)PTR_chomp_0007953c)(uVar4);\n  }" { (expression_statement "uVar13 = *(uchar *)&pFVar5->_flags;" (assignment_expression "uVar13 = *(uchar *)&pFVar5->_flags" identifier = (pointer_expression "*(uchar *)&pFVar5->_flags" * (cast_expression "(uchar *)&pFVar5->_flags" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pFVar5->_flags" & (field_expression "pFVar5->_flags" identifier -> field_identifier))))) ;) (expression_statement "unaff_s5 = pFVar5;" (assignment_expression "unaff_s5 = pFVar5" identifier = identifier) ;) (if_statement "if (uVar13 == '-') {\n      ppcVar15 = (char **)(PTR_s_j_000790a8 + 0x43fc);\n      iVar6 = (*(code *)PTR_strcmp_000798a4)(pFVar5);\n      if (iVar6 == 0) {\n        (*(code *)PTR_safefree_000790f0)(pFVar5);\n        if ((int)unaff_s4 < 4) {\n          pcVar23 = PTR_s_j_000790a8 + 0x42c4;\n          algorithm = (char **)(FILE *)0x0;\n          goto LAB_00043198;\n        }\n        ppcVar17 = (char **)(*(code *)PTR_toint_000792c8)(*(undefined4 *)puVar25);\n        pcVar23 = PTR_s_j_000790a8;\n        if (((int)ppcVar17 < 0) || ((int)((int)unaff_s4 + -3) <= (int)ppcVar17)) {\n          pcVar23 = PTR_s_j_000790a8 + 0x431c;\n          algorithm = (char **)(FILE *)0x0;\n          goto LAB_00043198;\n        }\n        pFVar12 = (FILE *)(puVar25 + 4);\n        if (algorithm != (char **)0x0) {\n          pcVar21 = (char *)(*(code *)PTR_dupprintf_000790e8)(PTR_s_j_000790a8 + -0x26d0);\n          *algorithm = pcVar21;\n          ppcVar15 = ppcVar17;\n        }\n        if (pub_blob_len != (int *)0x0) {\n          *pub_blob_len = (int)unaff_s4;\n        }\n        if (commentptr == (char **)0x0) {\n          (*(code *)PTR_safefree_000790f0)(pcStack_54);\n        }\n        else {\n          *commentptr = pcStack_54;\n        }\n        goto LAB_000431d8;\n      }\n      break;\n    }" if (parenthesized_expression "(uVar13 == '-')" ( (binary_expression "uVar13 == '-'" identifier == (char_literal "'-'" ' character ')) )) (compound_statement "{\n      ppcVar15 = (char **)(PTR_s_j_000790a8 + 0x43fc);\n      iVar6 = (*(code *)PTR_strcmp_000798a4)(pFVar5);\n      if (iVar6 == 0) {\n        (*(code *)PTR_safefree_000790f0)(pFVar5);\n        if ((int)unaff_s4 < 4) {\n          pcVar23 = PTR_s_j_000790a8 + 0x42c4;\n          algorithm = (char **)(FILE *)0x0;\n          goto LAB_00043198;\n        }\n        ppcVar17 = (char **)(*(code *)PTR_toint_000792c8)(*(undefined4 *)puVar25);\n        pcVar23 = PTR_s_j_000790a8;\n        if (((int)ppcVar17 < 0) || ((int)((int)unaff_s4 + -3) <= (int)ppcVar17)) {\n          pcVar23 = PTR_s_j_000790a8 + 0x431c;\n          algorithm = (char **)(FILE *)0x0;\n          goto LAB_00043198;\n        }\n        pFVar12 = (FILE *)(puVar25 + 4);\n        if (algorithm != (char **)0x0) {\n          pcVar21 = (char *)(*(code *)PTR_dupprintf_000790e8)(PTR_s_j_000790a8 + -0x26d0);\n          *algorithm = pcVar21;\n          ppcVar15 = ppcVar17;\n        }\n        if (pub_blob_len != (int *)0x0) {\n          *pub_blob_len = (int)unaff_s4;\n        }\n        if (commentptr == (char **)0x0) {\n          (*(code *)PTR_safefree_000790f0)(pcStack_54);\n        }\n        else {\n          *commentptr = pcStack_54;\n        }\n        goto LAB_000431d8;\n      }\n      break;\n    }" { (expression_statement "ppcVar15 = (char **)(PTR_s_j_000790a8 + 0x43fc);" (assignment_expression "ppcVar15 = (char **)(PTR_s_j_000790a8 + 0x43fc)" identifier = (cast_expression "(char **)(PTR_s_j_000790a8 + 0x43fc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_s_j_000790a8 + 0x43fc)" ( (binary_expression "PTR_s_j_000790a8 + 0x43fc" identifier + number_literal) )))) ;) (expression_statement "iVar6 = (*(code *)PTR_strcmp_000798a4)(pFVar5);" (assignment_expression "iVar6 = (*(code *)PTR_strcmp_000798a4)(pFVar5)" identifier = (call_expression "(*(code *)PTR_strcmp_000798a4)(pFVar5)" (parenthesized_expression "(*(code *)PTR_strcmp_000798a4)" ( (pointer_expression "*(code *)PTR_strcmp_000798a4" * (cast_expression "(code *)PTR_strcmp_000798a4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pFVar5)" ( identifier )))) ;) (if_statement "if (iVar6 == 0) {\n        (*(code *)PTR_safefree_000790f0)(pFVar5);\n        if ((int)unaff_s4 < 4) {\n          pcVar23 = PTR_s_j_000790a8 + 0x42c4;\n          algorithm = (char **)(FILE *)0x0;\n          goto LAB_00043198;\n        }\n        ppcVar17 = (char **)(*(code *)PTR_toint_000792c8)(*(undefined4 *)puVar25);\n        pcVar23 = PTR_s_j_000790a8;\n        if (((int)ppcVar17 < 0) || ((int)((int)unaff_s4 + -3) <= (int)ppcVar17)) {\n          pcVar23 = PTR_s_j_000790a8 + 0x431c;\n          algorithm = (char **)(FILE *)0x0;\n          goto LAB_00043198;\n        }\n        pFVar12 = (FILE *)(puVar25 + 4);\n        if (algorithm != (char **)0x0) {\n          pcVar21 = (char *)(*(code *)PTR_dupprintf_000790e8)(PTR_s_j_000790a8 + -0x26d0);\n          *algorithm = pcVar21;\n          ppcVar15 = ppcVar17;\n        }\n        if (pub_blob_len != (int *)0x0) {\n          *pub_blob_len = (int)unaff_s4;\n        }\n        if (commentptr == (char **)0x0) {\n          (*(code *)PTR_safefree_000790f0)(pcStack_54);\n        }\n        else {\n          *commentptr = pcStack_54;\n        }\n        goto LAB_000431d8;\n      }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n        (*(code *)PTR_safefree_000790f0)(pFVar5);\n        if ((int)unaff_s4 < 4) {\n          pcVar23 = PTR_s_j_000790a8 + 0x42c4;\n          algorithm = (char **)(FILE *)0x0;\n          goto LAB_00043198;\n        }\n        ppcVar17 = (char **)(*(code *)PTR_toint_000792c8)(*(undefined4 *)puVar25);\n        pcVar23 = PTR_s_j_000790a8;\n        if (((int)ppcVar17 < 0) || ((int)((int)unaff_s4 + -3) <= (int)ppcVar17)) {\n          pcVar23 = PTR_s_j_000790a8 + 0x431c;\n          algorithm = (char **)(FILE *)0x0;\n          goto LAB_00043198;\n        }\n        pFVar12 = (FILE *)(puVar25 + 4);\n        if (algorithm != (char **)0x0) {\n          pcVar21 = (char *)(*(code *)PTR_dupprintf_000790e8)(PTR_s_j_000790a8 + -0x26d0);\n          *algorithm = pcVar21;\n          ppcVar15 = ppcVar17;\n        }\n        if (pub_blob_len != (int *)0x0) {\n          *pub_blob_len = (int)unaff_s4;\n        }\n        if (commentptr == (char **)0x0) {\n          (*(code *)PTR_safefree_000790f0)(pcStack_54);\n        }\n        else {\n          *commentptr = pcStack_54;\n        }\n        goto LAB_000431d8;\n      }" { (expression_statement "(*(code *)PTR_safefree_000790f0)(pFVar5);" (call_expression "(*(code *)PTR_safefree_000790f0)(pFVar5)" (parenthesized_expression "(*(code *)PTR_safefree_000790f0)" ( (pointer_expression "*(code *)PTR_safefree_000790f0" * (cast_expression "(code *)PTR_safefree_000790f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pFVar5)" ( identifier ))) ;) (if_statement "if ((int)unaff_s4 < 4) {\n          pcVar23 = PTR_s_j_000790a8 + 0x42c4;\n          algorithm = (char **)(FILE *)0x0;\n          goto LAB_00043198;\n        }" if (parenthesized_expression "((int)unaff_s4 < 4)" ( (binary_expression "(int)unaff_s4 < 4" (cast_expression "(int)unaff_s4" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n          pcVar23 = PTR_s_j_000790a8 + 0x42c4;\n          algorithm = (char **)(FILE *)0x0;\n          goto LAB_00043198;\n        }" { (expression_statement "pcVar23 = PTR_s_j_000790a8 + 0x42c4;" (assignment_expression "pcVar23 = PTR_s_j_000790a8 + 0x42c4" identifier = (binary_expression "PTR_s_j_000790a8 + 0x42c4" identifier + number_literal)) ;) (expression_statement "algorithm = (char **)(FILE *)0x0;" (assignment_expression "algorithm = (char **)(FILE *)0x0" identifier = (cast_expression "(char **)(FILE *)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (goto_statement "goto LAB_00043198;" goto statement_identifier ;) })) (expression_statement "ppcVar17 = (char **)(*(code *)PTR_toint_000792c8)(*(undefined4 *)puVar25);" (assignment_expression "ppcVar17 = (char **)(*(code *)PTR_toint_000792c8)(*(undefined4 *)puVar25)" identifier = (cast_expression "(char **)(*(code *)PTR_toint_000792c8)(*(undefined4 *)puVar25)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(*(code *)PTR_toint_000792c8)(*(undefined4 *)puVar25)" (parenthesized_expression "(*(code *)PTR_toint_000792c8)" ( (pointer_expression "*(code *)PTR_toint_000792c8" * (cast_expression "(code *)PTR_toint_000792c8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)puVar25)" ( (pointer_expression "*(undefined4 *)puVar25" * (cast_expression "(undefined4 *)puVar25" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))))) ;) (expression_statement "pcVar23 = PTR_s_j_000790a8;" (assignment_expression "pcVar23 = PTR_s_j_000790a8" identifier = identifier) ;) (if_statement "if (((int)ppcVar17 < 0) || ((int)((int)unaff_s4 + -3) <= (int)ppcVar17)) {\n          pcVar23 = PTR_s_j_000790a8 + 0x431c;\n          algorithm = (char **)(FILE *)0x0;\n          goto LAB_00043198;\n        }" if (parenthesized_expression "(((int)ppcVar17 < 0) || ((int)((int)unaff_s4 + -3) <= (int)ppcVar17))" ( (binary_expression "((int)ppcVar17 < 0) || ((int)((int)unaff_s4 + -3) <= (int)ppcVar17)" (parenthesized_expression "((int)ppcVar17 < 0)" ( (binary_expression "(int)ppcVar17 < 0" (cast_expression "(int)ppcVar17" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) || (parenthesized_expression "((int)((int)unaff_s4 + -3) <= (int)ppcVar17)" ( (binary_expression "(int)((int)unaff_s4 + -3) <= (int)ppcVar17" (cast_expression "(int)((int)unaff_s4 + -3)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)unaff_s4 + -3)" ( (binary_expression "(int)unaff_s4 + -3" (cast_expression "(int)unaff_s4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) <= (cast_expression "(int)ppcVar17" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) (compound_statement "{\n          pcVar23 = PTR_s_j_000790a8 + 0x431c;\n          algorithm = (char **)(FILE *)0x0;\n          goto LAB_00043198;\n        }" { (expression_statement "pcVar23 = PTR_s_j_000790a8 + 0x431c;" (assignment_expression "pcVar23 = PTR_s_j_000790a8 + 0x431c" identifier = (binary_expression "PTR_s_j_000790a8 + 0x431c" identifier + number_literal)) ;) (expression_statement "algorithm = (char **)(FILE *)0x0;" (assignment_expression "algorithm = (char **)(FILE *)0x0" identifier = (cast_expression "(char **)(FILE *)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (goto_statement "goto LAB_00043198;" goto statement_identifier ;) })) (expression_statement "pFVar12 = (FILE *)(puVar25 + 4);" (assignment_expression "pFVar12 = (FILE *)(puVar25 + 4)" identifier = (cast_expression "(FILE *)(puVar25 + 4)" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 4)" ( (binary_expression "puVar25 + 4" identifier + number_literal) )))) ;) (if_statement "if (algorithm != (char **)0x0) {\n          pcVar21 = (char *)(*(code *)PTR_dupprintf_000790e8)(PTR_s_j_000790a8 + -0x26d0);\n          *algorithm = pcVar21;\n          ppcVar15 = ppcVar17;\n        }" if (parenthesized_expression "(algorithm != (char **)0x0)" ( (binary_expression "algorithm != (char **)0x0" identifier != (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n          pcVar21 = (char *)(*(code *)PTR_dupprintf_000790e8)(PTR_s_j_000790a8 + -0x26d0);\n          *algorithm = pcVar21;\n          ppcVar15 = ppcVar17;\n        }" { (expression_statement "pcVar21 = (char *)(*(code *)PTR_dupprintf_000790e8)(PTR_s_j_000790a8 + -0x26d0);" (assignment_expression "pcVar21 = (char *)(*(code *)PTR_dupprintf_000790e8)(PTR_s_j_000790a8 + -0x26d0)" identifier = (cast_expression "(char *)(*(code *)PTR_dupprintf_000790e8)(PTR_s_j_000790a8 + -0x26d0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_dupprintf_000790e8)(PTR_s_j_000790a8 + -0x26d0)" (parenthesized_expression "(*(code *)PTR_dupprintf_000790e8)" ( (pointer_expression "*(code *)PTR_dupprintf_000790e8" * (cast_expression "(code *)PTR_dupprintf_000790e8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_j_000790a8 + -0x26d0)" ( (binary_expression "PTR_s_j_000790a8 + -0x26d0" identifier + number_literal) ))))) ;) (expression_statement "*algorithm = pcVar21;" (assignment_expression "*algorithm = pcVar21" (pointer_expression "*algorithm" * identifier) = identifier) ;) (expression_statement "ppcVar15 = ppcVar17;" (assignment_expression "ppcVar15 = ppcVar17" identifier = identifier) ;) })) (if_statement "if (pub_blob_len != (int *)0x0) {\n          *pub_blob_len = (int)unaff_s4;\n        }" if (parenthesized_expression "(pub_blob_len != (int *)0x0)" ( (binary_expression "pub_blob_len != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          *pub_blob_len = (int)unaff_s4;\n        }" { (expression_statement "*pub_blob_len = (int)unaff_s4;" (assignment_expression "*pub_blob_len = (int)unaff_s4" (pointer_expression "*pub_blob_len" * identifier) = (cast_expression "(int)unaff_s4" ( (type_descriptor "int" primitive_type) ) identifier)) ;) })) (if_statement "if (commentptr == (char **)0x0) {\n          (*(code *)PTR_safefree_000790f0)(pcStack_54);\n        }\n        else {\n          *commentptr = pcStack_54;\n        }" if (parenthesized_expression "(commentptr == (char **)0x0)" ( (binary_expression "commentptr == (char **)0x0" identifier == (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n          (*(code *)PTR_safefree_000790f0)(pcStack_54);\n        }" { (expression_statement "(*(code *)PTR_safefree_000790f0)(pcStack_54);" (call_expression "(*(code *)PTR_safefree_000790f0)(pcStack_54)" (parenthesized_expression "(*(code *)PTR_safefree_000790f0)" ( (pointer_expression "*(code *)PTR_safefree_000790f0" * (cast_expression "(code *)PTR_safefree_000790f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcStack_54)" ( identifier ))) ;) }) (else_clause "else {\n          *commentptr = pcStack_54;\n        }" else (compound_statement "{\n          *commentptr = pcStack_54;\n        }" { (expression_statement "*commentptr = pcStack_54;" (assignment_expression "*commentptr = pcStack_54" (pointer_expression "*commentptr" * identifier) = identifier) ;) }))) (goto_statement "goto LAB_000431d8;" goto statement_identifier ;) })) (break_statement "break;" break ;) })) (expression_statement "unaff_s6 = (char **)0x4;" (assignment_expression "unaff_s6 = (char **)0x4" identifier = (cast_expression "(char **)0x4" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (while_statement "while (ppcVar17 = unaff_s4, uVar13 != '\0') {\n      while( true ) {\n        base64in[iVar6] = uVar13;\n        if (iVar6 + 1 != 4) break;\n        pFVar12 = (FILE *)(*(code *)PTR_base64_decode_atom_000792d8)(unaff_s8,unaff_s7);\n        unaff_s4 = (char **)((int)ppcVar17 + (int)pFVar12);\n        if (iVar10 < (int)unaff_s4) {\n          iVar10 = ((int)unaff_s4 * 5 >> 2) + 0x400;\n          puVar25 = (uchar *)(*(code *)PTR_saferealloc_000791a0)(puVar25,iVar10,1);\n        }\n        unaff_s5 = (FILE *)((int)&unaff_s5->_flags + 1);\n        ppcVar15 = unaff_s7;\n        (*(code *)PTR_memcpy_000798e0)(puVar25 + (int)ppcVar17);\n        iVar6 = 0;\n        uVar13 = *(uchar *)&unaff_s5->_flags;\n        ppcVar17 = unaff_s4;\n        if (uVar13 == '\0') goto LAB_000434ac;\n      }\n      unaff_s5 = (FILE *)((int)&unaff_s5->_flags + 1);\n      iVar6 = iVar6 + 1;\n      unaff_s4 = ppcVar17;\n      uVar13 = *(uchar *)&unaff_s5->_flags;\n    }" while (parenthesized_expression "(ppcVar17 = unaff_s4, uVar13 != '\0')" ( (comma_expression "ppcVar17 = unaff_s4, uVar13 != '\0'" (assignment_expression "ppcVar17 = unaff_s4" identifier = identifier) , (binary_expression "uVar13 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence '))) )) (compound_statement "{\n      while( true ) {\n        base64in[iVar6] = uVar13;\n        if (iVar6 + 1 != 4) break;\n        pFVar12 = (FILE *)(*(code *)PTR_base64_decode_atom_000792d8)(unaff_s8,unaff_s7);\n        unaff_s4 = (char **)((int)ppcVar17 + (int)pFVar12);\n        if (iVar10 < (int)unaff_s4) {\n          iVar10 = ((int)unaff_s4 * 5 >> 2) + 0x400;\n          puVar25 = (uchar *)(*(code *)PTR_saferealloc_000791a0)(puVar25,iVar10,1);\n        }\n        unaff_s5 = (FILE *)((int)&unaff_s5->_flags + 1);\n        ppcVar15 = unaff_s7;\n        (*(code *)PTR_memcpy_000798e0)(puVar25 + (int)ppcVar17);\n        iVar6 = 0;\n        uVar13 = *(uchar *)&unaff_s5->_flags;\n        ppcVar17 = unaff_s4;\n        if (uVar13 == '\0') goto LAB_000434ac;\n      }\n      unaff_s5 = (FILE *)((int)&unaff_s5->_flags + 1);\n      iVar6 = iVar6 + 1;\n      unaff_s4 = ppcVar17;\n      uVar13 = *(uchar *)&unaff_s5->_flags;\n    }" { (while_statement "while( true ) {\n        base64in[iVar6] = uVar13;\n        if (iVar6 + 1 != 4) break;\n        pFVar12 = (FILE *)(*(code *)PTR_base64_decode_atom_000792d8)(unaff_s8,unaff_s7);\n        unaff_s4 = (char **)((int)ppcVar17 + (int)pFVar12);\n        if (iVar10 < (int)unaff_s4) {\n          iVar10 = ((int)unaff_s4 * 5 >> 2) + 0x400;\n          puVar25 = (uchar *)(*(code *)PTR_saferealloc_000791a0)(puVar25,iVar10,1);\n        }\n        unaff_s5 = (FILE *)((int)&unaff_s5->_flags + 1);\n        ppcVar15 = unaff_s7;\n        (*(code *)PTR_memcpy_000798e0)(puVar25 + (int)ppcVar17);\n        iVar6 = 0;\n        uVar13 = *(uchar *)&unaff_s5->_flags;\n        ppcVar17 = unaff_s4;\n        if (uVar13 == '\0') goto LAB_000434ac;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        base64in[iVar6] = uVar13;\n        if (iVar6 + 1 != 4) break;\n        pFVar12 = (FILE *)(*(code *)PTR_base64_decode_atom_000792d8)(unaff_s8,unaff_s7);\n        unaff_s4 = (char **)((int)ppcVar17 + (int)pFVar12);\n        if (iVar10 < (int)unaff_s4) {\n          iVar10 = ((int)unaff_s4 * 5 >> 2) + 0x400;\n          puVar25 = (uchar *)(*(code *)PTR_saferealloc_000791a0)(puVar25,iVar10,1);\n        }\n        unaff_s5 = (FILE *)((int)&unaff_s5->_flags + 1);\n        ppcVar15 = unaff_s7;\n        (*(code *)PTR_memcpy_000798e0)(puVar25 + (int)ppcVar17);\n        iVar6 = 0;\n        uVar13 = *(uchar *)&unaff_s5->_flags;\n        ppcVar17 = unaff_s4;\n        if (uVar13 == '\0') goto LAB_000434ac;\n      }" { (expression_statement "base64in[iVar6] = uVar13;" (assignment_expression "base64in[iVar6] = uVar13" (subscript_expression "base64in[iVar6]" identifier [ identifier ]) = identifier) ;) (if_statement "if (iVar6 + 1 != 4) break;" if (parenthesized_expression "(iVar6 + 1 != 4)" ( (binary_expression "iVar6 + 1 != 4" (binary_expression "iVar6 + 1" identifier + number_literal) != number_literal) )) (break_statement "break;" break ;)) (expression_statement "pFVar12 = (FILE *)(*(code *)PTR_base64_decode_atom_000792d8)(unaff_s8,unaff_s7);" (assignment_expression "pFVar12 = (FILE *)(*(code *)PTR_base64_decode_atom_000792d8)(unaff_s8,unaff_s7)" identifier = (cast_expression "(FILE *)(*(code *)PTR_base64_decode_atom_000792d8)(unaff_s8,unaff_s7)" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_base64_decode_atom_000792d8)(unaff_s8,unaff_s7)" (parenthesized_expression "(*(code *)PTR_base64_decode_atom_000792d8)" ( (pointer_expression "*(code *)PTR_base64_decode_atom_000792d8" * (cast_expression "(code *)PTR_base64_decode_atom_000792d8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s8,unaff_s7)" ( identifier , identifier ))))) ;) (expression_statement "unaff_s4 = (char **)((int)ppcVar17 + (int)pFVar12);" (assignment_expression "unaff_s4 = (char **)((int)ppcVar17 + (int)pFVar12)" identifier = (cast_expression "(char **)((int)ppcVar17 + (int)pFVar12)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppcVar17 + (int)pFVar12)" ( (binary_expression "(int)ppcVar17 + (int)pFVar12" (cast_expression "(int)ppcVar17" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pFVar12" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (if_statement "if (iVar10 < (int)unaff_s4) {\n          iVar10 = ((int)unaff_s4 * 5 >> 2) + 0x400;\n          puVar25 = (uchar *)(*(code *)PTR_saferealloc_000791a0)(puVar25,iVar10,1);\n        }" if (parenthesized_expression "(iVar10 < (int)unaff_s4)" ( (binary_expression "iVar10 < (int)unaff_s4" identifier < (cast_expression "(int)unaff_s4" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          iVar10 = ((int)unaff_s4 * 5 >> 2) + 0x400;\n          puVar25 = (uchar *)(*(code *)PTR_saferealloc_000791a0)(puVar25,iVar10,1);\n        }" { (expression_statement "iVar10 = ((int)unaff_s4 * 5 >> 2) + 0x400;" (assignment_expression "iVar10 = ((int)unaff_s4 * 5 >> 2) + 0x400" identifier = (binary_expression "((int)unaff_s4 * 5 >> 2) + 0x400" (parenthesized_expression "((int)unaff_s4 * 5 >> 2)" ( (binary_expression "(int)unaff_s4 * 5 >> 2" (binary_expression "(int)unaff_s4 * 5" (cast_expression "(int)unaff_s4" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) >> number_literal) )) + number_literal)) ;) (expression_statement "puVar25 = (uchar *)(*(code *)PTR_saferealloc_000791a0)(puVar25,iVar10,1);" (assignment_expression "puVar25 = (uchar *)(*(code *)PTR_saferealloc_000791a0)(puVar25,iVar10,1)" identifier = (cast_expression "(uchar *)(*(code *)PTR_saferealloc_000791a0)(puVar25,iVar10,1)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_saferealloc_000791a0)(puVar25,iVar10,1)" (parenthesized_expression "(*(code *)PTR_saferealloc_000791a0)" ( (pointer_expression "*(code *)PTR_saferealloc_000791a0" * (cast_expression "(code *)PTR_saferealloc_000791a0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar25,iVar10,1)" ( identifier , identifier , number_literal ))))) ;) })) (expression_statement "unaff_s5 = (FILE *)((int)&unaff_s5->_flags + 1);" (assignment_expression "unaff_s5 = (FILE *)((int)&unaff_s5->_flags + 1)" identifier = (cast_expression "(FILE *)((int)&unaff_s5->_flags + 1)" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&unaff_s5->_flags + 1)" ( (binary_expression "(int)&unaff_s5->_flags + 1" (cast_expression "(int)&unaff_s5->_flags" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&unaff_s5->_flags" & (field_expression "unaff_s5->_flags" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "ppcVar15 = unaff_s7;" (assignment_expression "ppcVar15 = unaff_s7" identifier = identifier) ;) (expression_statement "(*(code *)PTR_memcpy_000798e0)(puVar25 + (int)ppcVar17);" (call_expression "(*(code *)PTR_memcpy_000798e0)(puVar25 + (int)ppcVar17)" (parenthesized_expression "(*(code *)PTR_memcpy_000798e0)" ( (pointer_expression "*(code *)PTR_memcpy_000798e0" * (cast_expression "(code *)PTR_memcpy_000798e0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar25 + (int)ppcVar17)" ( (binary_expression "puVar25 + (int)ppcVar17" identifier + (cast_expression "(int)ppcVar17" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ;) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (expression_statement "uVar13 = *(uchar *)&unaff_s5->_flags;" (assignment_expression "uVar13 = *(uchar *)&unaff_s5->_flags" identifier = (pointer_expression "*(uchar *)&unaff_s5->_flags" * (cast_expression "(uchar *)&unaff_s5->_flags" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&unaff_s5->_flags" & (field_expression "unaff_s5->_flags" identifier -> field_identifier))))) ;) (expression_statement "ppcVar17 = unaff_s4;" (assignment_expression "ppcVar17 = unaff_s4" identifier = identifier) ;) (if_statement "if (uVar13 == '\0') goto LAB_000434ac;" if (parenthesized_expression "(uVar13 == '\0')" ( (binary_expression "uVar13 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000434ac;" goto statement_identifier ;)) })) (expression_statement "unaff_s5 = (FILE *)((int)&unaff_s5->_flags + 1);" (assignment_expression "unaff_s5 = (FILE *)((int)&unaff_s5->_flags + 1)" identifier = (cast_expression "(FILE *)((int)&unaff_s5->_flags + 1)" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&unaff_s5->_flags + 1)" ( (binary_expression "(int)&unaff_s5->_flags + 1" (cast_expression "(int)&unaff_s5->_flags" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&unaff_s5->_flags" & (field_expression "unaff_s5->_flags" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (expression_statement "unaff_s4 = ppcVar17;" (assignment_expression "unaff_s4 = ppcVar17" identifier = identifier) ;) (expression_statement "uVar13 = *(uchar *)&unaff_s5->_flags;" (assignment_expression "uVar13 = *(uchar *)&unaff_s5->_flags" identifier = (pointer_expression "*(uchar *)&unaff_s5->_flags" * (cast_expression "(uchar *)&unaff_s5->_flags" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&unaff_s5->_flags" & (field_expression "unaff_s5->_flags" identifier -> field_identifier))))) ;) })) (labeled_statement "LAB_000434ac:\n    (*(code *)PTR_safefree_000790f0)(pFVar5);" statement_identifier : (expression_statement "(*(code *)PTR_safefree_000790f0)(pFVar5);" (call_expression "(*(code *)PTR_safefree_000790f0)(pFVar5)" (parenthesized_expression "(*(code *)PTR_safefree_000790f0)" ( (pointer_expression "*(code *)PTR_safefree_000790f0" * (cast_expression "(code *)PTR_safefree_000790f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pFVar5)" ( identifier ))) ;)) (expression_statement "uVar4 = (*(code *)PTR_fgetline_00079538)(fp);" (assignment_expression "uVar4 = (*(code *)PTR_fgetline_00079538)(fp)" identifier = (call_expression "(*(code *)PTR_fgetline_00079538)(fp)" (parenthesized_expression "(*(code *)PTR_fgetline_00079538)" ( (pointer_expression "*(code *)PTR_fgetline_00079538" * (cast_expression "(code *)PTR_fgetline_00079538" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(fp)" ( identifier )))) ;) (expression_statement "pFVar5 = (FILE *)(*(code *)PTR_chomp_0007953c)(uVar4);" (assignment_expression "pFVar5 = (FILE *)(*(code *)PTR_chomp_0007953c)(uVar4)" identifier = (cast_expression "(FILE *)(*(code *)PTR_chomp_0007953c)(uVar4)" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_chomp_0007953c)(uVar4)" (parenthesized_expression "(*(code *)PTR_chomp_0007953c)" ( (pointer_expression "*(code *)PTR_chomp_0007953c" * (cast_expression "(code *)PTR_chomp_0007953c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar4)" ( identifier ))))) ;) }) while (parenthesized_expression "(pFVar5 != (FILE *)0x0)" ( (binary_expression "pFVar5 != (FILE *)0x0" identifier != (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;)) (expression_statement "pcVar23 = PTR_s_j_000790a8 + 0x4350;" (assignment_expression "pcVar23 = PTR_s_j_000790a8 + 0x4350" identifier = (binary_expression "PTR_s_j_000790a8 + 0x4350" identifier + number_literal)) ;) (expression_statement "algorithm = (char **)pFVar5;" (assignment_expression "algorithm = (char **)pFVar5" identifier = (cast_expression "(char **)pFVar5" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (labeled_statement "LAB_00043198:\n  (*(code *)PTR_safefree_000790f0)(algorithm);" statement_identifier : (expression_statement "(*(code *)PTR_safefree_000790f0)(algorithm);" (call_expression "(*(code *)PTR_safefree_000790f0)(algorithm)" (parenthesized_expression "(*(code *)PTR_safefree_000790f0)" ( (pointer_expression "*(code *)PTR_safefree_000790f0" * (cast_expression "(code *)PTR_safefree_000790f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(algorithm)" ( identifier ))) ;)) (expression_statement "(*(code *)PTR_safefree_000790f0)(pcStack_54);" (call_expression "(*(code *)PTR_safefree_000790f0)(pcStack_54)" (parenthesized_expression "(*(code *)PTR_safefree_000790f0)" ( (pointer_expression "*(code *)PTR_safefree_000790f0" * (cast_expression "(code *)PTR_safefree_000790f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcStack_54)" ( identifier ))) ;) (expression_statement "(*(code *)PTR_safefree_000790f0)(puVar25);" (call_expression "(*(code *)PTR_safefree_000790f0)(puVar25)" (parenthesized_expression "(*(code *)PTR_safefree_000790f0)" ( (pointer_expression "*(code *)PTR_safefree_000790f0" * (cast_expression "(code *)PTR_safefree_000790f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar25)" ( identifier ))) ;) (expression_statement "pFVar5 = unaff_s5;" (assignment_expression "pFVar5 = unaff_s5" identifier = identifier) ;) (if_statement "if (errorstr == (char **)0x0) {\n    puVar25 = (uchar *)0x0;\n  }\n  else {\n    puVar25 = (uchar *)0x0;\n    *errorstr = pcVar23;\n  }" if (parenthesized_expression "(errorstr == (char **)0x0)" ( (binary_expression "errorstr == (char **)0x0" identifier == (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n    puVar25 = (uchar *)0x0;\n  }" { (expression_statement "puVar25 = (uchar *)0x0;" (assignment_expression "puVar25 = (uchar *)0x0" identifier = (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n    puVar25 = (uchar *)0x0;\n    *errorstr = pcVar23;\n  }" else (compound_statement "{\n    puVar25 = (uchar *)0x0;\n    *errorstr = pcVar23;\n  }" { (expression_statement "puVar25 = (uchar *)0x0;" (assignment_expression "puVar25 = (uchar *)0x0" identifier = (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*errorstr = pcVar23;" (assignment_expression "*errorstr = pcVar23" (pointer_expression "*errorstr" * identifier) = identifier) ;) }))) (labeled_statement "LAB_000431d8:\n  if (iVar3 == *(int *)puVar27) {\n    return puVar25;\n  }" statement_identifier : (if_statement "if (iVar3 == *(int *)puVar27) {\n    return puVar25;\n  }" if (parenthesized_expression "(iVar3 == *(int *)puVar27)" ( (binary_expression "iVar3 == *(int *)puVar27" identifier == (pointer_expression "*(int *)puVar27" * (cast_expression "(int *)puVar27" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return puVar25;\n  }" { (return_statement "return puVar25;" return identifier ;) }))) (expression_statement "pcVar28 = openssh_loadpub;" (assignment_expression "pcVar28 = openssh_loadpub" identifier = identifier) ;) (expression_statement "puVar27 = PTR___stack_chk_fail_000797f0;" (assignment_expression "puVar27 = PTR___stack_chk_fail_000797f0" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_000797f0)();" (call_expression "(*(code *)PTR___stack_chk_fail_000797f0)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000797f0)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_000797f0" * (cast_expression "(code *)PTR___stack_chk_fail_000797f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "piStack_a0 = (int *)(puVar27 + 0x3da44);" (assignment_expression "piStack_a0 = (int *)(puVar27 + 0x3da44)" identifier = (cast_expression "(int *)(puVar27 + 0x3da44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + 0x3da44)" ( (binary_expression "puVar27 + 0x3da44" identifier + number_literal) )))) ;) (expression_statement "pFStack_98 = (FILE *)algorithm;" (assignment_expression "pFStack_98 = (FILE *)algorithm" identifier = (cast_expression "(FILE *)algorithm" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pcStack_94 = pcVar23;" (assignment_expression "pcStack_94 = pcVar23" identifier = identifier) ;) (expression_statement "puStack_90 = puVar25;" (assignment_expression "puStack_90 = puVar25" identifier = identifier) ;) (expression_statement "pFStack_8c = fp;" (assignment_expression "pFStack_8c = fp" identifier = identifier) ;) (expression_statement "ppcStack_88 = unaff_s4;" (assignment_expression "ppcStack_88 = unaff_s4" identifier = identifier) ;) (expression_statement "pFStack_84 = pFVar5;" (assignment_expression "pFStack_84 = pFVar5" identifier = identifier) ;) (expression_statement "ppcStack_80 = unaff_s6;" (assignment_expression "ppcStack_80 = unaff_s6" identifier = identifier) ;) (expression_statement "ppcStack_7c = unaff_s7;" (assignment_expression "ppcStack_7c = unaff_s7" identifier = identifier) ;) (expression_statement "pcStack_78 = unaff_s8;" (assignment_expression "pcStack_78 = unaff_s8" identifier = identifier) ;) (expression_statement "pcStack_74 = pcVar28;" (assignment_expression "pcStack_74 = pcVar28" identifier = identifier) ;) (expression_statement "uVar4 = (**(code **)(puVar27 + 0x35f0c))();" (assignment_expression "uVar4 = (**(code **)(puVar27 + 0x35f0c))()" identifier = (call_expression "(**(code **)(puVar27 + 0x35f0c))()" (parenthesized_expression "(**(code **)(puVar27 + 0x35f0c))" ( (pointer_expression "**(code **)(puVar27 + 0x35f0c)" * (pointer_expression "*(code **)(puVar27 + 0x35f0c)" * (cast_expression "(code **)(puVar27 + 0x35f0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + 0x35f0c)" ( (binary_expression "puVar27 + 0x35f0c" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "uVar4 = (*(code *)piStack_a0[-0x1ecd])(uVar4);" (assignment_expression "uVar4 = (*(code *)piStack_a0[-0x1ecd])(uVar4)" identifier = (call_expression "(*(code *)piStack_a0[-0x1ecd])(uVar4)" (parenthesized_expression "(*(code *)piStack_a0[-0x1ecd])" ( (pointer_expression "*(code *)piStack_a0[-0x1ecd]" * (cast_expression "(code *)piStack_a0[-0x1ecd]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piStack_a0[-0x1ecd]" identifier [ number_literal ]))) )) (argument_list "(uVar4)" ( identifier )))) ;) (expression_statement "puVar7 = (undefined1 *)(*(code *)piStack_a0[-0x1e0f])(uVar4,0x20);" (assignment_expression "puVar7 = (undefined1 *)(*(code *)piStack_a0[-0x1e0f])(uVar4,0x20)" identifier = (cast_expression "(undefined1 *)(*(code *)piStack_a0[-0x1e0f])(uVar4,0x20)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)piStack_a0[-0x1e0f])(uVar4,0x20)" (parenthesized_expression "(*(code *)piStack_a0[-0x1e0f])" ( (pointer_expression "*(code *)piStack_a0[-0x1e0f]" * (cast_expression "(code *)piStack_a0[-0x1e0f]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piStack_a0[-0x1e0f]" identifier [ number_literal ]))) )) (argument_list "(uVar4,0x20)" ( identifier , number_literal ))))) ;) (if_statement "if (puVar7 == (undefined1 *)0x0) {\n    piVar9 = (int *)0x0;\n    iVar3 = piStack_a0[-0x1ff2] + 0x4490;\n    pcVar23 = (char *)0x0;\n  }\n  else {\n    pcVar28 = (code *)piStack_a0[-0x1e0f];\n    pcVar21 = puVar7 + 1;\n    *puVar7 = 0;\n    pcVar23 = (char *)(*pcVar28)(pcVar21,0x20);\n    if (pcVar23 != (char *)0x0) {\n      pcVar28 = (code *)piStack_a0[-0x1fdd];\n      *pcVar23 = '\0';\n      pcVar23 = (char *)(*pcVar28)(pcVar23 + 1);\n    }\n    iVar6 = 0;\n    uVar8 = (*(code *)piStack_a0[-0x1de8])(pcVar21);\n    iVar3 = (uVar8 >> 2) * 3;\n    piVar9 = (int *)(*(code *)piStack_a0[-0x1fe8])(iVar3,1);\n    while (iVar10 = (*(code *)piStack_a0[-0x1df7])(pcVar21,0,4), iVar10 == 0) {\n      if (iVar3 <= iVar6 + 2) {\n        piVar19 = (int *)&DAT_00000441;\n        pcVar28 = (code *)piStack_a0[-0x1e6c];\n        piVar20 = (int *)(piStack_a0[-0x1ff2] + 0x4800);\n        ppcVar16 = (char **)(piStack_a0[-0x1ff2] + 0x4034);\n        pcVar29 = ssh2_userkey_loadpub;\n        pFVar14 = (Filename *)(piStack_a0[-0x1ff2] + 0x44b8);\n        (*pcVar28)();\n        piVar2 = piStack_a0;\n        pcStack_118 = pcVar28 + 0x3d74c;\n        piVar22 = *(int **)(pcVar28 + 0x3600c);\n        ppcVar17 = (char **)(*(int *)(pcVar28 + 0x35784) + 0x4078);\n        pFStack_dc = (Filename *)*piVar22;\n        pcStack_d8 = pcVar21;\n        iStack_d4 = iVar6;\n        piStack_d0 = piVar9;\n        iStack_cc = iVar3;\n        pcStack_c8 = pcVar23;\n        uStack_c4 = uVar4;\n        ppcStack_c0 = header;\n        pFStack_bc = pFVar12;\n        ppcStack_b8 = ppcVar15;\n        pcStack_b4 = pcVar29;\n        pFVar5 = f_open(pFVar14,(char *)ppcVar17,0);\n        if (pFVar5 == (FILE *)0x0) {\n          if (piVar2 != (int *)0x0) {\n            *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x407c;\n          }\nLAB_000439f4:\n          puVar25 = (uchar *)0x0;\n          pFVar5 = pFVar12;\n        }\n        else {\n          iVar3 = key_type_fp(pFVar5);\n          if (iVar3 == 9) {\n            pcVar28 = *(code **)(pcStack_118 + -0x7b14);\n          }\n          else {\n            if (iVar3 != 10) {\n              pFVar12 = pFVar5;\n              if (iVar3 != 3) {\nLAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar2 != (int *)0x0) {\n                  *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }\n                goto LAB_000439f4;\n              }\n              header = apcStack_104;\n              iVar3 = read_header(pFVar5,(char *)header);\n              if (iVar3 == 0) {\nLAB_00043cc0:\n                ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);\n                iVar3 = (**(code **)(pcStack_118 + -0x78ac))(header,ppcVar17,0x14);\n                if (iVar3 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                  if (piVar2 != (int *)0x0) {\n                    *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }\n                goto LAB_000439d4;\n              }\n              ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214);\n              iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n              if (iVar3 != 0) {\n                ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);\n                iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n                if (iVar3 != 0) goto LAB_00043cc0;\n              }\n              pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74);\n              ppcVar15 = (char **)read_body(pFVar5);\n              if (ppcVar15 == (char **)0x0) {\nLAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar2 != (int *)0x0) {\n                  *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                goto LAB_000439f4;\n              }\n              iVar3 = (**(code **)(pcStack_118 + -0x77a0))(ppcVar15);\n              ppcVar17 = ppcVar15;\n              psVar11 = find_pubkey_alg_len(iVar3,(char *)ppcVar15);\n              (**(code **)(pcStack_118 + -0x7f80))(ppcVar15);\n              if ((psVar11 == (ssh_signkey *)0x0) ||\n                 (ppcVar17 = header, iVar3 = read_header(pFVar5,(char *)header), iVar3 == 0))\n              goto LAB_00043c9c;\n              ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244);\n              iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n              if ((iVar3 != 0) || (iVar3 = (*pcStack_110)(pFVar5), iVar3 == 0)) goto LAB_00043c9c;\n              (**(code **)(pcStack_118 + -0x7f80))(iVar3);\n              ppcVar17 = header;\n              iVar3 = read_header(pFVar5,(char *)header);\n              if (iVar3 == 0) goto LAB_00043c9c;\n              ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258);\n              iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n              if ((iVar3 != 0) || (pcVar28 = (code *)(*pcStack_110)(pFVar5), pcVar28 == (code *)0x0)\n                 ) goto LAB_00043c9c;\n              pcStack_10c = pcVar28;\n              if (piVar20 == (int *)0x0) {\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar28);\n              }\n              else {\n                *piVar20 = (int)pcVar28;\n              }\n              ppcVar15 = header;\n              iVar3 = read_header(pFVar5,(char *)header);\n              pcVar28 = pcStack_10c;\n              if (iVar3 == 0) {\nLAB_00043d58:\n                ppcVar17 = ppcVar15;\n                pcStack_110 = pcVar28;\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar2 != (int *)0x0) {\n                  *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                if (piVar20 == (int *)0x0) goto LAB_000439f4;\n                puVar25 = (uchar *)0x0;\n                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);\n                *piVar20 = 0;\n              }\n              else {\n                ppcVar15 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n                pcVar28 = pcStack_10c;\n                if ((iVar3 != 0) ||\n                   (pcVar23 = (char *)(*pcStack_110)(pFVar5), pcVar28 = pcStack_10c,\n                   pcVar23 == (char *)0x0)) goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                ppcVar17 = (char **)userkey_parse_line_counter(pcVar23);\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n                pcVar28 = pcStack_110;\n                if (((int)ppcVar17 < 0) ||\n                   (puVar25 = read_blob(pFVar5,(int)ppcVar17,&iStack_108), ppcVar15 = ppcVar17,\n                   pcVar28 = pcStack_110, puVar25 == (uchar *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar19 != (int *)0x0) {\n                  *piVar19 = iStack_108;\n                }\n                if (ppcVar16 != (char **)0x0) {\n                  pcVar23 = (char *)(**(code **)(pcStack_118 + -0x7f74))(psVar11->name);\n                  *ppcVar16 = pcVar23;\n                }\n              }\n              goto LAB_000439f8;\n            }\n            pcVar28 = *(code **)(pcStack_118 + -0x7b10);\n          }\n          piStack_120 = piVar2;\n          ppcVar17 = ppcVar16;\n          puVar25 = (uchar *)(*pcVar28)(pFVar5,ppcVar16,piVar19,piVar20);\n          (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n        }\nLAB_000439f8:\n        if (pFStack_dc == (Filename *)*piVar22) {\n          return puVar25;\n        }\n        pcVar28 = *(code **)(pcStack_118 + -0x7880);\n        pcVar29 = ssh2_userkey_encrypted;\n        pFVar14 = pFStack_dc;\n        (*pcVar28)();\n        piVar9 = *(int **)(pcVar28 + 0x35b70);\n        piStack_150 = piVar2;\n        iStack_15c = *piVar9;\n        if (ppcVar17 != (char **)0x0) {\n          *ppcVar17 = (char *)0x0;\n        }\n        piStack_154 = piVar22;\n        piStack_14c = piVar20;\n        ppcStack_148 = ppcVar16;\n        piStack_144 = piVar19;\n        puStack_140 = puVar25;\n        ppcStack_13c = header;\n        pFStack_138 = pFVar5;\n        pcStack_134 = pcVar29;\n        pFVar12 = f_open(pFVar14,(char *)(*(int *)(pcVar28 + 0x352e8) + 0x4078),0);\n        if (pFVar12 == (FILE *)0x0) {\n          puVar25 = (uchar *)0x0;\n        }\n        else {\n          iVar3 = read_header(pFVar12,acStack_184);\n          if ((iVar3 != 0) &&\n             (((iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                  (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4214), iVar3 == 0 ||\n               (iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                  (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x422c), iVar3 == 0))\n              && (pcVar23 = read_body(pFVar12), pcVar23 != (char *)0x0)))) {\n            (**(code **)(pcVar28 + 0x35330))(pcVar23);\n            iVar3 = read_header(pFVar12,acStack_184);\n            if ((iVar3 != 0) &&\n               (iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                  (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4244), iVar3 == 0)) {\n              pcVar23 = read_body(pFVar12);\n              if (pcVar23 == (char *)0x0) {\n                (**(code **)(pcVar28 + 0x35acc))(pFVar12);\n                puVar25 = (uchar *)0x0;\n              }\n              else {\n                iVar3 = read_header(pFVar12,acStack_184);\n                if (((iVar3 == 0) ||\n                    (iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                       (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4258),\n                    iVar3 != 0)) || (pcVar21 = read_body(pFVar12), pcVar21 == (char *)0x0)) {\n                  puVar25 = (uchar *)0x1;\n                  (**(code **)(pcVar28 + 0x35acc))(pFVar12);\n                  (**(code **)(pcVar28 + 0x35330))(pcVar23);\n                }\n                else {\n                  if (ppcVar17 == (char **)0x0) {\n                    (**(code **)(pcVar28 + 0x35330))(pcVar21);\n                  }\n                  else {\n                    *ppcVar17 = pcVar21;\n                  }\n                  (**(code **)(pcVar28 + 0x35acc))(pFVar12);\n                  iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                    (pcVar23,*(int *)(pcVar28 + 0x352e8) + 0x7c4);\n                  puVar25 = (uchar *)(uint)(iVar3 == 0);\n                  (**(code **)(pcVar28 + 0x35330))(pcVar23);\n                }\n              }\n              goto LAB_00043f04;\n            }\n          }\n          puVar25 = (uchar *)0x0;\n          (**(code **)(pcVar28 + 0x35acc))(pFVar12);\n        }\nLAB_00043f04:\n        if (iStack_15c != *piVar9) {\n          (**(code **)(pcVar28 + 0x35a30))();\n          return (uchar *)((iStack_15c + 0x2f) / 0x30);\n        }\n        return puVar25;\n      }\n      iVar10 = (*(code *)piStack_a0[-0x1f66])(pcVar21,(uchar *)((int)piVar9 + iVar6));\n      iVar6 = iVar6 + iVar10;\n      pcVar21 = pcVar21 + 4;\n    }\n    if (*pcVar21 == '\0') {\n      iVar3 = (*(code *)piStack_a0[-0x1de8])(uVar4);\n      if (((iVar3 + 3 < iVar6) && (iVar3 == *piVar9)) &&\n         (iVar3 = (*(code *)piStack_a0[-0x1dfd])(piVar9 + 1,uVar4,iVar3), iVar3 == 0)) {\n        if (ppcVar15 != (char **)0x0) {\n          pcVar21 = (char *)(*(code *)piStack_a0[-0x1fdd])(uVar4);\n          *ppcVar15 = pcVar21;\n        }\n        if (pFVar12 != (FILE *)0x0) {\n          pFVar12->_flags = iVar6;\n        }\n        if (header == (char **)0x0) {\n          (*(code *)piStack_a0[-0x1fe0])(pcVar23);\n        }\n        else {\n          *header = pcVar23;\n        }\n        (*(code *)piStack_a0[-0x1fe0])(uVar4);\n        return (uchar *)piVar9;\n      }\n      iVar3 = piStack_a0[-0x1ff2] + 0x441c;\n    }\n    else {\n      iVar3 = piStack_a0[-0x1ff2] + 0x4454;\n    }\n  }" if (parenthesized_expression "(puVar7 == (undefined1 *)0x0)" ( (binary_expression "puVar7 == (undefined1 *)0x0" identifier == (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    piVar9 = (int *)0x0;\n    iVar3 = piStack_a0[-0x1ff2] + 0x4490;\n    pcVar23 = (char *)0x0;\n  }" { (expression_statement "piVar9 = (int *)0x0;" (assignment_expression "piVar9 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar3 = piStack_a0[-0x1ff2] + 0x4490;" (assignment_expression "iVar3 = piStack_a0[-0x1ff2] + 0x4490" identifier = (binary_expression "piStack_a0[-0x1ff2] + 0x4490" (subscript_expression "piStack_a0[-0x1ff2]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "pcVar23 = (char *)0x0;" (assignment_expression "pcVar23 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n    pcVar28 = (code *)piStack_a0[-0x1e0f];\n    pcVar21 = puVar7 + 1;\n    *puVar7 = 0;\n    pcVar23 = (char *)(*pcVar28)(pcVar21,0x20);\n    if (pcVar23 != (char *)0x0) {\n      pcVar28 = (code *)piStack_a0[-0x1fdd];\n      *pcVar23 = '\0';\n      pcVar23 = (char *)(*pcVar28)(pcVar23 + 1);\n    }\n    iVar6 = 0;\n    uVar8 = (*(code *)piStack_a0[-0x1de8])(pcVar21);\n    iVar3 = (uVar8 >> 2) * 3;\n    piVar9 = (int *)(*(code *)piStack_a0[-0x1fe8])(iVar3,1);\n    while (iVar10 = (*(code *)piStack_a0[-0x1df7])(pcVar21,0,4), iVar10 == 0) {\n      if (iVar3 <= iVar6 + 2) {\n        piVar19 = (int *)&DAT_00000441;\n        pcVar28 = (code *)piStack_a0[-0x1e6c];\n        piVar20 = (int *)(piStack_a0[-0x1ff2] + 0x4800);\n        ppcVar16 = (char **)(piStack_a0[-0x1ff2] + 0x4034);\n        pcVar29 = ssh2_userkey_loadpub;\n        pFVar14 = (Filename *)(piStack_a0[-0x1ff2] + 0x44b8);\n        (*pcVar28)();\n        piVar2 = piStack_a0;\n        pcStack_118 = pcVar28 + 0x3d74c;\n        piVar22 = *(int **)(pcVar28 + 0x3600c);\n        ppcVar17 = (char **)(*(int *)(pcVar28 + 0x35784) + 0x4078);\n        pFStack_dc = (Filename *)*piVar22;\n        pcStack_d8 = pcVar21;\n        iStack_d4 = iVar6;\n        piStack_d0 = piVar9;\n        iStack_cc = iVar3;\n        pcStack_c8 = pcVar23;\n        uStack_c4 = uVar4;\n        ppcStack_c0 = header;\n        pFStack_bc = pFVar12;\n        ppcStack_b8 = ppcVar15;\n        pcStack_b4 = pcVar29;\n        pFVar5 = f_open(pFVar14,(char *)ppcVar17,0);\n        if (pFVar5 == (FILE *)0x0) {\n          if (piVar2 != (int *)0x0) {\n            *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x407c;\n          }\nLAB_000439f4:\n          puVar25 = (uchar *)0x0;\n          pFVar5 = pFVar12;\n        }\n        else {\n          iVar3 = key_type_fp(pFVar5);\n          if (iVar3 == 9) {\n            pcVar28 = *(code **)(pcStack_118 + -0x7b14);\n          }\n          else {\n            if (iVar3 != 10) {\n              pFVar12 = pFVar5;\n              if (iVar3 != 3) {\nLAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar2 != (int *)0x0) {\n                  *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }\n                goto LAB_000439f4;\n              }\n              header = apcStack_104;\n              iVar3 = read_header(pFVar5,(char *)header);\n              if (iVar3 == 0) {\nLAB_00043cc0:\n                ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);\n                iVar3 = (**(code **)(pcStack_118 + -0x78ac))(header,ppcVar17,0x14);\n                if (iVar3 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                  if (piVar2 != (int *)0x0) {\n                    *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }\n                goto LAB_000439d4;\n              }\n              ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214);\n              iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n              if (iVar3 != 0) {\n                ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);\n                iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n                if (iVar3 != 0) goto LAB_00043cc0;\n              }\n              pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74);\n              ppcVar15 = (char **)read_body(pFVar5);\n              if (ppcVar15 == (char **)0x0) {\nLAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar2 != (int *)0x0) {\n                  *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                goto LAB_000439f4;\n              }\n              iVar3 = (**(code **)(pcStack_118 + -0x77a0))(ppcVar15);\n              ppcVar17 = ppcVar15;\n              psVar11 = find_pubkey_alg_len(iVar3,(char *)ppcVar15);\n              (**(code **)(pcStack_118 + -0x7f80))(ppcVar15);\n              if ((psVar11 == (ssh_signkey *)0x0) ||\n                 (ppcVar17 = header, iVar3 = read_header(pFVar5,(char *)header), iVar3 == 0))\n              goto LAB_00043c9c;\n              ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244);\n              iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n              if ((iVar3 != 0) || (iVar3 = (*pcStack_110)(pFVar5), iVar3 == 0)) goto LAB_00043c9c;\n              (**(code **)(pcStack_118 + -0x7f80))(iVar3);\n              ppcVar17 = header;\n              iVar3 = read_header(pFVar5,(char *)header);\n              if (iVar3 == 0) goto LAB_00043c9c;\n              ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258);\n              iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n              if ((iVar3 != 0) || (pcVar28 = (code *)(*pcStack_110)(pFVar5), pcVar28 == (code *)0x0)\n                 ) goto LAB_00043c9c;\n              pcStack_10c = pcVar28;\n              if (piVar20 == (int *)0x0) {\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar28);\n              }\n              else {\n                *piVar20 = (int)pcVar28;\n              }\n              ppcVar15 = header;\n              iVar3 = read_header(pFVar5,(char *)header);\n              pcVar28 = pcStack_10c;\n              if (iVar3 == 0) {\nLAB_00043d58:\n                ppcVar17 = ppcVar15;\n                pcStack_110 = pcVar28;\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar2 != (int *)0x0) {\n                  *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                if (piVar20 == (int *)0x0) goto LAB_000439f4;\n                puVar25 = (uchar *)0x0;\n                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);\n                *piVar20 = 0;\n              }\n              else {\n                ppcVar15 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n                pcVar28 = pcStack_10c;\n                if ((iVar3 != 0) ||\n                   (pcVar23 = (char *)(*pcStack_110)(pFVar5), pcVar28 = pcStack_10c,\n                   pcVar23 == (char *)0x0)) goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                ppcVar17 = (char **)userkey_parse_line_counter(pcVar23);\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n                pcVar28 = pcStack_110;\n                if (((int)ppcVar17 < 0) ||\n                   (puVar25 = read_blob(pFVar5,(int)ppcVar17,&iStack_108), ppcVar15 = ppcVar17,\n                   pcVar28 = pcStack_110, puVar25 == (uchar *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar19 != (int *)0x0) {\n                  *piVar19 = iStack_108;\n                }\n                if (ppcVar16 != (char **)0x0) {\n                  pcVar23 = (char *)(**(code **)(pcStack_118 + -0x7f74))(psVar11->name);\n                  *ppcVar16 = pcVar23;\n                }\n              }\n              goto LAB_000439f8;\n            }\n            pcVar28 = *(code **)(pcStack_118 + -0x7b10);\n          }\n          piStack_120 = piVar2;\n          ppcVar17 = ppcVar16;\n          puVar25 = (uchar *)(*pcVar28)(pFVar5,ppcVar16,piVar19,piVar20);\n          (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n        }\nLAB_000439f8:\n        if (pFStack_dc == (Filename *)*piVar22) {\n          return puVar25;\n        }\n        pcVar28 = *(code **)(pcStack_118 + -0x7880);\n        pcVar29 = ssh2_userkey_encrypted;\n        pFVar14 = pFStack_dc;\n        (*pcVar28)();\n        piVar9 = *(int **)(pcVar28 + 0x35b70);\n        piStack_150 = piVar2;\n        iStack_15c = *piVar9;\n        if (ppcVar17 != (char **)0x0) {\n          *ppcVar17 = (char *)0x0;\n        }\n        piStack_154 = piVar22;\n        piStack_14c = piVar20;\n        ppcStack_148 = ppcVar16;\n        piStack_144 = piVar19;\n        puStack_140 = puVar25;\n        ppcStack_13c = header;\n        pFStack_138 = pFVar5;\n        pcStack_134 = pcVar29;\n        pFVar12 = f_open(pFVar14,(char *)(*(int *)(pcVar28 + 0x352e8) + 0x4078),0);\n        if (pFVar12 == (FILE *)0x0) {\n          puVar25 = (uchar *)0x0;\n        }\n        else {\n          iVar3 = read_header(pFVar12,acStack_184);\n          if ((iVar3 != 0) &&\n             (((iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                  (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4214), iVar3 == 0 ||\n               (iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                  (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x422c), iVar3 == 0))\n              && (pcVar23 = read_body(pFVar12), pcVar23 != (char *)0x0)))) {\n            (**(code **)(pcVar28 + 0x35330))(pcVar23);\n            iVar3 = read_header(pFVar12,acStack_184);\n            if ((iVar3 != 0) &&\n               (iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                  (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4244), iVar3 == 0)) {\n              pcVar23 = read_body(pFVar12);\n              if (pcVar23 == (char *)0x0) {\n                (**(code **)(pcVar28 + 0x35acc))(pFVar12);\n                puVar25 = (uchar *)0x0;\n              }\n              else {\n                iVar3 = read_header(pFVar12,acStack_184);\n                if (((iVar3 == 0) ||\n                    (iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                       (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4258),\n                    iVar3 != 0)) || (pcVar21 = read_body(pFVar12), pcVar21 == (char *)0x0)) {\n                  puVar25 = (uchar *)0x1;\n                  (**(code **)(pcVar28 + 0x35acc))(pFVar12);\n                  (**(code **)(pcVar28 + 0x35330))(pcVar23);\n                }\n                else {\n                  if (ppcVar17 == (char **)0x0) {\n                    (**(code **)(pcVar28 + 0x35330))(pcVar21);\n                  }\n                  else {\n                    *ppcVar17 = pcVar21;\n                  }\n                  (**(code **)(pcVar28 + 0x35acc))(pFVar12);\n                  iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                    (pcVar23,*(int *)(pcVar28 + 0x352e8) + 0x7c4);\n                  puVar25 = (uchar *)(uint)(iVar3 == 0);\n                  (**(code **)(pcVar28 + 0x35330))(pcVar23);\n                }\n              }\n              goto LAB_00043f04;\n            }\n          }\n          puVar25 = (uchar *)0x0;\n          (**(code **)(pcVar28 + 0x35acc))(pFVar12);\n        }\nLAB_00043f04:\n        if (iStack_15c != *piVar9) {\n          (**(code **)(pcVar28 + 0x35a30))();\n          return (uchar *)((iStack_15c + 0x2f) / 0x30);\n        }\n        return puVar25;\n      }\n      iVar10 = (*(code *)piStack_a0[-0x1f66])(pcVar21,(uchar *)((int)piVar9 + iVar6));\n      iVar6 = iVar6 + iVar10;\n      pcVar21 = pcVar21 + 4;\n    }\n    if (*pcVar21 == '\0') {\n      iVar3 = (*(code *)piStack_a0[-0x1de8])(uVar4);\n      if (((iVar3 + 3 < iVar6) && (iVar3 == *piVar9)) &&\n         (iVar3 = (*(code *)piStack_a0[-0x1dfd])(piVar9 + 1,uVar4,iVar3), iVar3 == 0)) {\n        if (ppcVar15 != (char **)0x0) {\n          pcVar21 = (char *)(*(code *)piStack_a0[-0x1fdd])(uVar4);\n          *ppcVar15 = pcVar21;\n        }\n        if (pFVar12 != (FILE *)0x0) {\n          pFVar12->_flags = iVar6;\n        }\n        if (header == (char **)0x0) {\n          (*(code *)piStack_a0[-0x1fe0])(pcVar23);\n        }\n        else {\n          *header = pcVar23;\n        }\n        (*(code *)piStack_a0[-0x1fe0])(uVar4);\n        return (uchar *)piVar9;\n      }\n      iVar3 = piStack_a0[-0x1ff2] + 0x441c;\n    }\n    else {\n      iVar3 = piStack_a0[-0x1ff2] + 0x4454;\n    }\n  }" else (compound_statement "{\n    pcVar28 = (code *)piStack_a0[-0x1e0f];\n    pcVar21 = puVar7 + 1;\n    *puVar7 = 0;\n    pcVar23 = (char *)(*pcVar28)(pcVar21,0x20);\n    if (pcVar23 != (char *)0x0) {\n      pcVar28 = (code *)piStack_a0[-0x1fdd];\n      *pcVar23 = '\0';\n      pcVar23 = (char *)(*pcVar28)(pcVar23 + 1);\n    }\n    iVar6 = 0;\n    uVar8 = (*(code *)piStack_a0[-0x1de8])(pcVar21);\n    iVar3 = (uVar8 >> 2) * 3;\n    piVar9 = (int *)(*(code *)piStack_a0[-0x1fe8])(iVar3,1);\n    while (iVar10 = (*(code *)piStack_a0[-0x1df7])(pcVar21,0,4), iVar10 == 0) {\n      if (iVar3 <= iVar6 + 2) {\n        piVar19 = (int *)&DAT_00000441;\n        pcVar28 = (code *)piStack_a0[-0x1e6c];\n        piVar20 = (int *)(piStack_a0[-0x1ff2] + 0x4800);\n        ppcVar16 = (char **)(piStack_a0[-0x1ff2] + 0x4034);\n        pcVar29 = ssh2_userkey_loadpub;\n        pFVar14 = (Filename *)(piStack_a0[-0x1ff2] + 0x44b8);\n        (*pcVar28)();\n        piVar2 = piStack_a0;\n        pcStack_118 = pcVar28 + 0x3d74c;\n        piVar22 = *(int **)(pcVar28 + 0x3600c);\n        ppcVar17 = (char **)(*(int *)(pcVar28 + 0x35784) + 0x4078);\n        pFStack_dc = (Filename *)*piVar22;\n        pcStack_d8 = pcVar21;\n        iStack_d4 = iVar6;\n        piStack_d0 = piVar9;\n        iStack_cc = iVar3;\n        pcStack_c8 = pcVar23;\n        uStack_c4 = uVar4;\n        ppcStack_c0 = header;\n        pFStack_bc = pFVar12;\n        ppcStack_b8 = ppcVar15;\n        pcStack_b4 = pcVar29;\n        pFVar5 = f_open(pFVar14,(char *)ppcVar17,0);\n        if (pFVar5 == (FILE *)0x0) {\n          if (piVar2 != (int *)0x0) {\n            *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x407c;\n          }\nLAB_000439f4:\n          puVar25 = (uchar *)0x0;\n          pFVar5 = pFVar12;\n        }\n        else {\n          iVar3 = key_type_fp(pFVar5);\n          if (iVar3 == 9) {\n            pcVar28 = *(code **)(pcStack_118 + -0x7b14);\n          }\n          else {\n            if (iVar3 != 10) {\n              pFVar12 = pFVar5;\n              if (iVar3 != 3) {\nLAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar2 != (int *)0x0) {\n                  *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }\n                goto LAB_000439f4;\n              }\n              header = apcStack_104;\n              iVar3 = read_header(pFVar5,(char *)header);\n              if (iVar3 == 0) {\nLAB_00043cc0:\n                ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);\n                iVar3 = (**(code **)(pcStack_118 + -0x78ac))(header,ppcVar17,0x14);\n                if (iVar3 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                  if (piVar2 != (int *)0x0) {\n                    *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }\n                goto LAB_000439d4;\n              }\n              ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214);\n              iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n              if (iVar3 != 0) {\n                ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);\n                iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n                if (iVar3 != 0) goto LAB_00043cc0;\n              }\n              pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74);\n              ppcVar15 = (char **)read_body(pFVar5);\n              if (ppcVar15 == (char **)0x0) {\nLAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar2 != (int *)0x0) {\n                  *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                goto LAB_000439f4;\n              }\n              iVar3 = (**(code **)(pcStack_118 + -0x77a0))(ppcVar15);\n              ppcVar17 = ppcVar15;\n              psVar11 = find_pubkey_alg_len(iVar3,(char *)ppcVar15);\n              (**(code **)(pcStack_118 + -0x7f80))(ppcVar15);\n              if ((psVar11 == (ssh_signkey *)0x0) ||\n                 (ppcVar17 = header, iVar3 = read_header(pFVar5,(char *)header), iVar3 == 0))\n              goto LAB_00043c9c;\n              ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244);\n              iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n              if ((iVar3 != 0) || (iVar3 = (*pcStack_110)(pFVar5), iVar3 == 0)) goto LAB_00043c9c;\n              (**(code **)(pcStack_118 + -0x7f80))(iVar3);\n              ppcVar17 = header;\n              iVar3 = read_header(pFVar5,(char *)header);\n              if (iVar3 == 0) goto LAB_00043c9c;\n              ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258);\n              iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n              if ((iVar3 != 0) || (pcVar28 = (code *)(*pcStack_110)(pFVar5), pcVar28 == (code *)0x0)\n                 ) goto LAB_00043c9c;\n              pcStack_10c = pcVar28;\n              if (piVar20 == (int *)0x0) {\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar28);\n              }\n              else {\n                *piVar20 = (int)pcVar28;\n              }\n              ppcVar15 = header;\n              iVar3 = read_header(pFVar5,(char *)header);\n              pcVar28 = pcStack_10c;\n              if (iVar3 == 0) {\nLAB_00043d58:\n                ppcVar17 = ppcVar15;\n                pcStack_110 = pcVar28;\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar2 != (int *)0x0) {\n                  *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                if (piVar20 == (int *)0x0) goto LAB_000439f4;\n                puVar25 = (uchar *)0x0;\n                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);\n                *piVar20 = 0;\n              }\n              else {\n                ppcVar15 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n                pcVar28 = pcStack_10c;\n                if ((iVar3 != 0) ||\n                   (pcVar23 = (char *)(*pcStack_110)(pFVar5), pcVar28 = pcStack_10c,\n                   pcVar23 == (char *)0x0)) goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                ppcVar17 = (char **)userkey_parse_line_counter(pcVar23);\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n                pcVar28 = pcStack_110;\n                if (((int)ppcVar17 < 0) ||\n                   (puVar25 = read_blob(pFVar5,(int)ppcVar17,&iStack_108), ppcVar15 = ppcVar17,\n                   pcVar28 = pcStack_110, puVar25 == (uchar *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar19 != (int *)0x0) {\n                  *piVar19 = iStack_108;\n                }\n                if (ppcVar16 != (char **)0x0) {\n                  pcVar23 = (char *)(**(code **)(pcStack_118 + -0x7f74))(psVar11->name);\n                  *ppcVar16 = pcVar23;\n                }\n              }\n              goto LAB_000439f8;\n            }\n            pcVar28 = *(code **)(pcStack_118 + -0x7b10);\n          }\n          piStack_120 = piVar2;\n          ppcVar17 = ppcVar16;\n          puVar25 = (uchar *)(*pcVar28)(pFVar5,ppcVar16,piVar19,piVar20);\n          (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n        }\nLAB_000439f8:\n        if (pFStack_dc == (Filename *)*piVar22) {\n          return puVar25;\n        }\n        pcVar28 = *(code **)(pcStack_118 + -0x7880);\n        pcVar29 = ssh2_userkey_encrypted;\n        pFVar14 = pFStack_dc;\n        (*pcVar28)();\n        piVar9 = *(int **)(pcVar28 + 0x35b70);\n        piStack_150 = piVar2;\n        iStack_15c = *piVar9;\n        if (ppcVar17 != (char **)0x0) {\n          *ppcVar17 = (char *)0x0;\n        }\n        piStack_154 = piVar22;\n        piStack_14c = piVar20;\n        ppcStack_148 = ppcVar16;\n        piStack_144 = piVar19;\n        puStack_140 = puVar25;\n        ppcStack_13c = header;\n        pFStack_138 = pFVar5;\n        pcStack_134 = pcVar29;\n        pFVar12 = f_open(pFVar14,(char *)(*(int *)(pcVar28 + 0x352e8) + 0x4078),0);\n        if (pFVar12 == (FILE *)0x0) {\n          puVar25 = (uchar *)0x0;\n        }\n        else {\n          iVar3 = read_header(pFVar12,acStack_184);\n          if ((iVar3 != 0) &&\n             (((iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                  (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4214), iVar3 == 0 ||\n               (iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                  (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x422c), iVar3 == 0))\n              && (pcVar23 = read_body(pFVar12), pcVar23 != (char *)0x0)))) {\n            (**(code **)(pcVar28 + 0x35330))(pcVar23);\n            iVar3 = read_header(pFVar12,acStack_184);\n            if ((iVar3 != 0) &&\n               (iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                  (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4244), iVar3 == 0)) {\n              pcVar23 = read_body(pFVar12);\n              if (pcVar23 == (char *)0x0) {\n                (**(code **)(pcVar28 + 0x35acc))(pFVar12);\n                puVar25 = (uchar *)0x0;\n              }\n              else {\n                iVar3 = read_header(pFVar12,acStack_184);\n                if (((iVar3 == 0) ||\n                    (iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                       (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4258),\n                    iVar3 != 0)) || (pcVar21 = read_body(pFVar12), pcVar21 == (char *)0x0)) {\n                  puVar25 = (uchar *)0x1;\n                  (**(code **)(pcVar28 + 0x35acc))(pFVar12);\n                  (**(code **)(pcVar28 + 0x35330))(pcVar23);\n                }\n                else {\n                  if (ppcVar17 == (char **)0x0) {\n                    (**(code **)(pcVar28 + 0x35330))(pcVar21);\n                  }\n                  else {\n                    *ppcVar17 = pcVar21;\n                  }\n                  (**(code **)(pcVar28 + 0x35acc))(pFVar12);\n                  iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                    (pcVar23,*(int *)(pcVar28 + 0x352e8) + 0x7c4);\n                  puVar25 = (uchar *)(uint)(iVar3 == 0);\n                  (**(code **)(pcVar28 + 0x35330))(pcVar23);\n                }\n              }\n              goto LAB_00043f04;\n            }\n          }\n          puVar25 = (uchar *)0x0;\n          (**(code **)(pcVar28 + 0x35acc))(pFVar12);\n        }\nLAB_00043f04:\n        if (iStack_15c != *piVar9) {\n          (**(code **)(pcVar28 + 0x35a30))();\n          return (uchar *)((iStack_15c + 0x2f) / 0x30);\n        }\n        return puVar25;\n      }\n      iVar10 = (*(code *)piStack_a0[-0x1f66])(pcVar21,(uchar *)((int)piVar9 + iVar6));\n      iVar6 = iVar6 + iVar10;\n      pcVar21 = pcVar21 + 4;\n    }\n    if (*pcVar21 == '\0') {\n      iVar3 = (*(code *)piStack_a0[-0x1de8])(uVar4);\n      if (((iVar3 + 3 < iVar6) && (iVar3 == *piVar9)) &&\n         (iVar3 = (*(code *)piStack_a0[-0x1dfd])(piVar9 + 1,uVar4,iVar3), iVar3 == 0)) {\n        if (ppcVar15 != (char **)0x0) {\n          pcVar21 = (char *)(*(code *)piStack_a0[-0x1fdd])(uVar4);\n          *ppcVar15 = pcVar21;\n        }\n        if (pFVar12 != (FILE *)0x0) {\n          pFVar12->_flags = iVar6;\n        }\n        if (header == (char **)0x0) {\n          (*(code *)piStack_a0[-0x1fe0])(pcVar23);\n        }\n        else {\n          *header = pcVar23;\n        }\n        (*(code *)piStack_a0[-0x1fe0])(uVar4);\n        return (uchar *)piVar9;\n      }\n      iVar3 = piStack_a0[-0x1ff2] + 0x441c;\n    }\n    else {\n      iVar3 = piStack_a0[-0x1ff2] + 0x4454;\n    }\n  }" { (expression_statement "pcVar28 = (code *)piStack_a0[-0x1e0f];" (assignment_expression "pcVar28 = (code *)piStack_a0[-0x1e0f]" identifier = (cast_expression "(code *)piStack_a0[-0x1e0f]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piStack_a0[-0x1e0f]" identifier [ number_literal ]))) ;) (expression_statement "pcVar21 = puVar7 + 1;" (assignment_expression "pcVar21 = puVar7 + 1" identifier = (binary_expression "puVar7 + 1" identifier + number_literal)) ;) (expression_statement "*puVar7 = 0;" (assignment_expression "*puVar7 = 0" (pointer_expression "*puVar7" * identifier) = number_literal) ;) (expression_statement "pcVar23 = (char *)(*pcVar28)(pcVar21,0x20);" (assignment_expression "pcVar23 = (char *)(*pcVar28)(pcVar21,0x20)" identifier = (cast_expression "(char *)(*pcVar28)(pcVar21,0x20)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar28)(pcVar21,0x20)" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "(pcVar21,0x20)" ( identifier , number_literal ))))) ;) (if_statement "if (pcVar23 != (char *)0x0) {\n      pcVar28 = (code *)piStack_a0[-0x1fdd];\n      *pcVar23 = '\0';\n      pcVar23 = (char *)(*pcVar28)(pcVar23 + 1);\n    }" if (parenthesized_expression "(pcVar23 != (char *)0x0)" ( (binary_expression "pcVar23 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pcVar28 = (code *)piStack_a0[-0x1fdd];\n      *pcVar23 = '\0';\n      pcVar23 = (char *)(*pcVar28)(pcVar23 + 1);\n    }" { (expression_statement "pcVar28 = (code *)piStack_a0[-0x1fdd];" (assignment_expression "pcVar28 = (code *)piStack_a0[-0x1fdd]" identifier = (cast_expression "(code *)piStack_a0[-0x1fdd]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piStack_a0[-0x1fdd]" identifier [ number_literal ]))) ;) (expression_statement "*pcVar23 = '\0';" (assignment_expression "*pcVar23 = '\0'" (pointer_expression "*pcVar23" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar23 = (char *)(*pcVar28)(pcVar23 + 1);" (assignment_expression "pcVar23 = (char *)(*pcVar28)(pcVar23 + 1)" identifier = (cast_expression "(char *)(*pcVar28)(pcVar23 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar28)(pcVar23 + 1)" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "(pcVar23 + 1)" ( (binary_expression "pcVar23 + 1" identifier + number_literal) ))))) ;) })) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (expression_statement "uVar8 = (*(code *)piStack_a0[-0x1de8])(pcVar21);" (assignment_expression "uVar8 = (*(code *)piStack_a0[-0x1de8])(pcVar21)" identifier = (call_expression "(*(code *)piStack_a0[-0x1de8])(pcVar21)" (parenthesized_expression "(*(code *)piStack_a0[-0x1de8])" ( (pointer_expression "*(code *)piStack_a0[-0x1de8]" * (cast_expression "(code *)piStack_a0[-0x1de8]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piStack_a0[-0x1de8]" identifier [ number_literal ]))) )) (argument_list "(pcVar21)" ( identifier )))) ;) (expression_statement "iVar3 = (uVar8 >> 2) * 3;" (assignment_expression "iVar3 = (uVar8 >> 2) * 3" identifier = (binary_expression "(uVar8 >> 2) * 3" (parenthesized_expression "(uVar8 >> 2)" ( (binary_expression "uVar8 >> 2" identifier >> number_literal) )) * number_literal)) ;) (expression_statement "piVar9 = (int *)(*(code *)piStack_a0[-0x1fe8])(iVar3,1);" (assignment_expression "piVar9 = (int *)(*(code *)piStack_a0[-0x1fe8])(iVar3,1)" identifier = (cast_expression "(int *)(*(code *)piStack_a0[-0x1fe8])(iVar3,1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)piStack_a0[-0x1fe8])(iVar3,1)" (parenthesized_expression "(*(code *)piStack_a0[-0x1fe8])" ( (pointer_expression "*(code *)piStack_a0[-0x1fe8]" * (cast_expression "(code *)piStack_a0[-0x1fe8]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piStack_a0[-0x1fe8]" identifier [ number_literal ]))) )) (argument_list "(iVar3,1)" ( identifier , number_literal ))))) ;) (while_statement "while (iVar10 = (*(code *)piStack_a0[-0x1df7])(pcVar21,0,4), iVar10 == 0) {\n      if (iVar3 <= iVar6 + 2) {\n        piVar19 = (int *)&DAT_00000441;\n        pcVar28 = (code *)piStack_a0[-0x1e6c];\n        piVar20 = (int *)(piStack_a0[-0x1ff2] + 0x4800);\n        ppcVar16 = (char **)(piStack_a0[-0x1ff2] + 0x4034);\n        pcVar29 = ssh2_userkey_loadpub;\n        pFVar14 = (Filename *)(piStack_a0[-0x1ff2] + 0x44b8);\n        (*pcVar28)();\n        piVar2 = piStack_a0;\n        pcStack_118 = pcVar28 + 0x3d74c;\n        piVar22 = *(int **)(pcVar28 + 0x3600c);\n        ppcVar17 = (char **)(*(int *)(pcVar28 + 0x35784) + 0x4078);\n        pFStack_dc = (Filename *)*piVar22;\n        pcStack_d8 = pcVar21;\n        iStack_d4 = iVar6;\n        piStack_d0 = piVar9;\n        iStack_cc = iVar3;\n        pcStack_c8 = pcVar23;\n        uStack_c4 = uVar4;\n        ppcStack_c0 = header;\n        pFStack_bc = pFVar12;\n        ppcStack_b8 = ppcVar15;\n        pcStack_b4 = pcVar29;\n        pFVar5 = f_open(pFVar14,(char *)ppcVar17,0);\n        if (pFVar5 == (FILE *)0x0) {\n          if (piVar2 != (int *)0x0) {\n            *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x407c;\n          }\nLAB_000439f4:\n          puVar25 = (uchar *)0x0;\n          pFVar5 = pFVar12;\n        }\n        else {\n          iVar3 = key_type_fp(pFVar5);\n          if (iVar3 == 9) {\n            pcVar28 = *(code **)(pcStack_118 + -0x7b14);\n          }\n          else {\n            if (iVar3 != 10) {\n              pFVar12 = pFVar5;\n              if (iVar3 != 3) {\nLAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar2 != (int *)0x0) {\n                  *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }\n                goto LAB_000439f4;\n              }\n              header = apcStack_104;\n              iVar3 = read_header(pFVar5,(char *)header);\n              if (iVar3 == 0) {\nLAB_00043cc0:\n                ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);\n                iVar3 = (**(code **)(pcStack_118 + -0x78ac))(header,ppcVar17,0x14);\n                if (iVar3 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                  if (piVar2 != (int *)0x0) {\n                    *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }\n                goto LAB_000439d4;\n              }\n              ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214);\n              iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n              if (iVar3 != 0) {\n                ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);\n                iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n                if (iVar3 != 0) goto LAB_00043cc0;\n              }\n              pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74);\n              ppcVar15 = (char **)read_body(pFVar5);\n              if (ppcVar15 == (char **)0x0) {\nLAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar2 != (int *)0x0) {\n                  *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                goto LAB_000439f4;\n              }\n              iVar3 = (**(code **)(pcStack_118 + -0x77a0))(ppcVar15);\n              ppcVar17 = ppcVar15;\n              psVar11 = find_pubkey_alg_len(iVar3,(char *)ppcVar15);\n              (**(code **)(pcStack_118 + -0x7f80))(ppcVar15);\n              if ((psVar11 == (ssh_signkey *)0x0) ||\n                 (ppcVar17 = header, iVar3 = read_header(pFVar5,(char *)header), iVar3 == 0))\n              goto LAB_00043c9c;\n              ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244);\n              iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n              if ((iVar3 != 0) || (iVar3 = (*pcStack_110)(pFVar5), iVar3 == 0)) goto LAB_00043c9c;\n              (**(code **)(pcStack_118 + -0x7f80))(iVar3);\n              ppcVar17 = header;\n              iVar3 = read_header(pFVar5,(char *)header);\n              if (iVar3 == 0) goto LAB_00043c9c;\n              ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258);\n              iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n              if ((iVar3 != 0) || (pcVar28 = (code *)(*pcStack_110)(pFVar5), pcVar28 == (code *)0x0)\n                 ) goto LAB_00043c9c;\n              pcStack_10c = pcVar28;\n              if (piVar20 == (int *)0x0) {\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar28);\n              }\n              else {\n                *piVar20 = (int)pcVar28;\n              }\n              ppcVar15 = header;\n              iVar3 = read_header(pFVar5,(char *)header);\n              pcVar28 = pcStack_10c;\n              if (iVar3 == 0) {\nLAB_00043d58:\n                ppcVar17 = ppcVar15;\n                pcStack_110 = pcVar28;\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar2 != (int *)0x0) {\n                  *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                if (piVar20 == (int *)0x0) goto LAB_000439f4;\n                puVar25 = (uchar *)0x0;\n                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);\n                *piVar20 = 0;\n              }\n              else {\n                ppcVar15 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n                pcVar28 = pcStack_10c;\n                if ((iVar3 != 0) ||\n                   (pcVar23 = (char *)(*pcStack_110)(pFVar5), pcVar28 = pcStack_10c,\n                   pcVar23 == (char *)0x0)) goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                ppcVar17 = (char **)userkey_parse_line_counter(pcVar23);\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n                pcVar28 = pcStack_110;\n                if (((int)ppcVar17 < 0) ||\n                   (puVar25 = read_blob(pFVar5,(int)ppcVar17,&iStack_108), ppcVar15 = ppcVar17,\n                   pcVar28 = pcStack_110, puVar25 == (uchar *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar19 != (int *)0x0) {\n                  *piVar19 = iStack_108;\n                }\n                if (ppcVar16 != (char **)0x0) {\n                  pcVar23 = (char *)(**(code **)(pcStack_118 + -0x7f74))(psVar11->name);\n                  *ppcVar16 = pcVar23;\n                }\n              }\n              goto LAB_000439f8;\n            }\n            pcVar28 = *(code **)(pcStack_118 + -0x7b10);\n          }\n          piStack_120 = piVar2;\n          ppcVar17 = ppcVar16;\n          puVar25 = (uchar *)(*pcVar28)(pFVar5,ppcVar16,piVar19,piVar20);\n          (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n        }\nLAB_000439f8:\n        if (pFStack_dc == (Filename *)*piVar22) {\n          return puVar25;\n        }\n        pcVar28 = *(code **)(pcStack_118 + -0x7880);\n        pcVar29 = ssh2_userkey_encrypted;\n        pFVar14 = pFStack_dc;\n        (*pcVar28)();\n        piVar9 = *(int **)(pcVar28 + 0x35b70);\n        piStack_150 = piVar2;\n        iStack_15c = *piVar9;\n        if (ppcVar17 != (char **)0x0) {\n          *ppcVar17 = (char *)0x0;\n        }\n        piStack_154 = piVar22;\n        piStack_14c = piVar20;\n        ppcStack_148 = ppcVar16;\n        piStack_144 = piVar19;\n        puStack_140 = puVar25;\n        ppcStack_13c = header;\n        pFStack_138 = pFVar5;\n        pcStack_134 = pcVar29;\n        pFVar12 = f_open(pFVar14,(char *)(*(int *)(pcVar28 + 0x352e8) + 0x4078),0);\n        if (pFVar12 == (FILE *)0x0) {\n          puVar25 = (uchar *)0x0;\n        }\n        else {\n          iVar3 = read_header(pFVar12,acStack_184);\n          if ((iVar3 != 0) &&\n             (((iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                  (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4214), iVar3 == 0 ||\n               (iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                  (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x422c), iVar3 == 0))\n              && (pcVar23 = read_body(pFVar12), pcVar23 != (char *)0x0)))) {\n            (**(code **)(pcVar28 + 0x35330))(pcVar23);\n            iVar3 = read_header(pFVar12,acStack_184);\n            if ((iVar3 != 0) &&\n               (iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                  (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4244), iVar3 == 0)) {\n              pcVar23 = read_body(pFVar12);\n              if (pcVar23 == (char *)0x0) {\n                (**(code **)(pcVar28 + 0x35acc))(pFVar12);\n                puVar25 = (uchar *)0x0;\n              }\n              else {\n                iVar3 = read_header(pFVar12,acStack_184);\n                if (((iVar3 == 0) ||\n                    (iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                       (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4258),\n                    iVar3 != 0)) || (pcVar21 = read_body(pFVar12), pcVar21 == (char *)0x0)) {\n                  puVar25 = (uchar *)0x1;\n                  (**(code **)(pcVar28 + 0x35acc))(pFVar12);\n                  (**(code **)(pcVar28 + 0x35330))(pcVar23);\n                }\n                else {\n                  if (ppcVar17 == (char **)0x0) {\n                    (**(code **)(pcVar28 + 0x35330))(pcVar21);\n                  }\n                  else {\n                    *ppcVar17 = pcVar21;\n                  }\n                  (**(code **)(pcVar28 + 0x35acc))(pFVar12);\n                  iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                    (pcVar23,*(int *)(pcVar28 + 0x352e8) + 0x7c4);\n                  puVar25 = (uchar *)(uint)(iVar3 == 0);\n                  (**(code **)(pcVar28 + 0x35330))(pcVar23);\n                }\n              }\n              goto LAB_00043f04;\n            }\n          }\n          puVar25 = (uchar *)0x0;\n          (**(code **)(pcVar28 + 0x35acc))(pFVar12);\n        }\nLAB_00043f04:\n        if (iStack_15c != *piVar9) {\n          (**(code **)(pcVar28 + 0x35a30))();\n          return (uchar *)((iStack_15c + 0x2f) / 0x30);\n        }\n        return puVar25;\n      }\n      iVar10 = (*(code *)piStack_a0[-0x1f66])(pcVar21,(uchar *)((int)piVar9 + iVar6));\n      iVar6 = iVar6 + iVar10;\n      pcVar21 = pcVar21 + 4;\n    }" while (parenthesized_expression "(iVar10 = (*(code *)piStack_a0[-0x1df7])(pcVar21,0,4), iVar10 == 0)" ( (comma_expression "iVar10 = (*(code *)piStack_a0[-0x1df7])(pcVar21,0,4), iVar10 == 0" (assignment_expression "iVar10 = (*(code *)piStack_a0[-0x1df7])(pcVar21,0,4)" identifier = (call_expression "(*(code *)piStack_a0[-0x1df7])(pcVar21,0,4)" (parenthesized_expression "(*(code *)piStack_a0[-0x1df7])" ( (pointer_expression "*(code *)piStack_a0[-0x1df7]" * (cast_expression "(code *)piStack_a0[-0x1df7]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piStack_a0[-0x1df7]" identifier [ number_literal ]))) )) (argument_list "(pcVar21,0,4)" ( identifier , number_literal , number_literal )))) , (binary_expression "iVar10 == 0" identifier == number_literal)) )) (compound_statement "{\n      if (iVar3 <= iVar6 + 2) {\n        piVar19 = (int *)&DAT_00000441;\n        pcVar28 = (code *)piStack_a0[-0x1e6c];\n        piVar20 = (int *)(piStack_a0[-0x1ff2] + 0x4800);\n        ppcVar16 = (char **)(piStack_a0[-0x1ff2] + 0x4034);\n        pcVar29 = ssh2_userkey_loadpub;\n        pFVar14 = (Filename *)(piStack_a0[-0x1ff2] + 0x44b8);\n        (*pcVar28)();\n        piVar2 = piStack_a0;\n        pcStack_118 = pcVar28 + 0x3d74c;\n        piVar22 = *(int **)(pcVar28 + 0x3600c);\n        ppcVar17 = (char **)(*(int *)(pcVar28 + 0x35784) + 0x4078);\n        pFStack_dc = (Filename *)*piVar22;\n        pcStack_d8 = pcVar21;\n        iStack_d4 = iVar6;\n        piStack_d0 = piVar9;\n        iStack_cc = iVar3;\n        pcStack_c8 = pcVar23;\n        uStack_c4 = uVar4;\n        ppcStack_c0 = header;\n        pFStack_bc = pFVar12;\n        ppcStack_b8 = ppcVar15;\n        pcStack_b4 = pcVar29;\n        pFVar5 = f_open(pFVar14,(char *)ppcVar17,0);\n        if (pFVar5 == (FILE *)0x0) {\n          if (piVar2 != (int *)0x0) {\n            *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x407c;\n          }\nLAB_000439f4:\n          puVar25 = (uchar *)0x0;\n          pFVar5 = pFVar12;\n        }\n        else {\n          iVar3 = key_type_fp(pFVar5);\n          if (iVar3 == 9) {\n            pcVar28 = *(code **)(pcStack_118 + -0x7b14);\n          }\n          else {\n            if (iVar3 != 10) {\n              pFVar12 = pFVar5;\n              if (iVar3 != 3) {\nLAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar2 != (int *)0x0) {\n                  *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }\n                goto LAB_000439f4;\n              }\n              header = apcStack_104;\n              iVar3 = read_header(pFVar5,(char *)header);\n              if (iVar3 == 0) {\nLAB_00043cc0:\n                ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);\n                iVar3 = (**(code **)(pcStack_118 + -0x78ac))(header,ppcVar17,0x14);\n                if (iVar3 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                  if (piVar2 != (int *)0x0) {\n                    *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }\n                goto LAB_000439d4;\n              }\n              ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214);\n              iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n              if (iVar3 != 0) {\n                ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);\n                iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n                if (iVar3 != 0) goto LAB_00043cc0;\n              }\n              pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74);\n              ppcVar15 = (char **)read_body(pFVar5);\n              if (ppcVar15 == (char **)0x0) {\nLAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar2 != (int *)0x0) {\n                  *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                goto LAB_000439f4;\n              }\n              iVar3 = (**(code **)(pcStack_118 + -0x77a0))(ppcVar15);\n              ppcVar17 = ppcVar15;\n              psVar11 = find_pubkey_alg_len(iVar3,(char *)ppcVar15);\n              (**(code **)(pcStack_118 + -0x7f80))(ppcVar15);\n              if ((psVar11 == (ssh_signkey *)0x0) ||\n                 (ppcVar17 = header, iVar3 = read_header(pFVar5,(char *)header), iVar3 == 0))\n              goto LAB_00043c9c;\n              ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244);\n              iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n              if ((iVar3 != 0) || (iVar3 = (*pcStack_110)(pFVar5), iVar3 == 0)) goto LAB_00043c9c;\n              (**(code **)(pcStack_118 + -0x7f80))(iVar3);\n              ppcVar17 = header;\n              iVar3 = read_header(pFVar5,(char *)header);\n              if (iVar3 == 0) goto LAB_00043c9c;\n              ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258);\n              iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n              if ((iVar3 != 0) || (pcVar28 = (code *)(*pcStack_110)(pFVar5), pcVar28 == (code *)0x0)\n                 ) goto LAB_00043c9c;\n              pcStack_10c = pcVar28;\n              if (piVar20 == (int *)0x0) {\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar28);\n              }\n              else {\n                *piVar20 = (int)pcVar28;\n              }\n              ppcVar15 = header;\n              iVar3 = read_header(pFVar5,(char *)header);\n              pcVar28 = pcStack_10c;\n              if (iVar3 == 0) {\nLAB_00043d58:\n                ppcVar17 = ppcVar15;\n                pcStack_110 = pcVar28;\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar2 != (int *)0x0) {\n                  *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                if (piVar20 == (int *)0x0) goto LAB_000439f4;\n                puVar25 = (uchar *)0x0;\n                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);\n                *piVar20 = 0;\n              }\n              else {\n                ppcVar15 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n                pcVar28 = pcStack_10c;\n                if ((iVar3 != 0) ||\n                   (pcVar23 = (char *)(*pcStack_110)(pFVar5), pcVar28 = pcStack_10c,\n                   pcVar23 == (char *)0x0)) goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                ppcVar17 = (char **)userkey_parse_line_counter(pcVar23);\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n                pcVar28 = pcStack_110;\n                if (((int)ppcVar17 < 0) ||\n                   (puVar25 = read_blob(pFVar5,(int)ppcVar17,&iStack_108), ppcVar15 = ppcVar17,\n                   pcVar28 = pcStack_110, puVar25 == (uchar *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar19 != (int *)0x0) {\n                  *piVar19 = iStack_108;\n                }\n                if (ppcVar16 != (char **)0x0) {\n                  pcVar23 = (char *)(**(code **)(pcStack_118 + -0x7f74))(psVar11->name);\n                  *ppcVar16 = pcVar23;\n                }\n              }\n              goto LAB_000439f8;\n            }\n            pcVar28 = *(code **)(pcStack_118 + -0x7b10);\n          }\n          piStack_120 = piVar2;\n          ppcVar17 = ppcVar16;\n          puVar25 = (uchar *)(*pcVar28)(pFVar5,ppcVar16,piVar19,piVar20);\n          (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n        }\nLAB_000439f8:\n        if (pFStack_dc == (Filename *)*piVar22) {\n          return puVar25;\n        }\n        pcVar28 = *(code **)(pcStack_118 + -0x7880);\n        pcVar29 = ssh2_userkey_encrypted;\n        pFVar14 = pFStack_dc;\n        (*pcVar28)();\n        piVar9 = *(int **)(pcVar28 + 0x35b70);\n        piStack_150 = piVar2;\n        iStack_15c = *piVar9;\n        if (ppcVar17 != (char **)0x0) {\n          *ppcVar17 = (char *)0x0;\n        }\n        piStack_154 = piVar22;\n        piStack_14c = piVar20;\n        ppcStack_148 = ppcVar16;\n        piStack_144 = piVar19;\n        puStack_140 = puVar25;\n        ppcStack_13c = header;\n        pFStack_138 = pFVar5;\n        pcStack_134 = pcVar29;\n        pFVar12 = f_open(pFVar14,(char *)(*(int *)(pcVar28 + 0x352e8) + 0x4078),0);\n        if (pFVar12 == (FILE *)0x0) {\n          puVar25 = (uchar *)0x0;\n        }\n        else {\n          iVar3 = read_header(pFVar12,acStack_184);\n          if ((iVar3 != 0) &&\n             (((iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                  (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4214), iVar3 == 0 ||\n               (iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                  (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x422c), iVar3 == 0))\n              && (pcVar23 = read_body(pFVar12), pcVar23 != (char *)0x0)))) {\n            (**(code **)(pcVar28 + 0x35330))(pcVar23);\n            iVar3 = read_header(pFVar12,acStack_184);\n            if ((iVar3 != 0) &&\n               (iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                  (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4244), iVar3 == 0)) {\n              pcVar23 = read_body(pFVar12);\n              if (pcVar23 == (char *)0x0) {\n                (**(code **)(pcVar28 + 0x35acc))(pFVar12);\n                puVar25 = (uchar *)0x0;\n              }\n              else {\n                iVar3 = read_header(pFVar12,acStack_184);\n                if (((iVar3 == 0) ||\n                    (iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                       (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4258),\n                    iVar3 != 0)) || (pcVar21 = read_body(pFVar12), pcVar21 == (char *)0x0)) {\n                  puVar25 = (uchar *)0x1;\n                  (**(code **)(pcVar28 + 0x35acc))(pFVar12);\n                  (**(code **)(pcVar28 + 0x35330))(pcVar23);\n                }\n                else {\n                  if (ppcVar17 == (char **)0x0) {\n                    (**(code **)(pcVar28 + 0x35330))(pcVar21);\n                  }\n                  else {\n                    *ppcVar17 = pcVar21;\n                  }\n                  (**(code **)(pcVar28 + 0x35acc))(pFVar12);\n                  iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                    (pcVar23,*(int *)(pcVar28 + 0x352e8) + 0x7c4);\n                  puVar25 = (uchar *)(uint)(iVar3 == 0);\n                  (**(code **)(pcVar28 + 0x35330))(pcVar23);\n                }\n              }\n              goto LAB_00043f04;\n            }\n          }\n          puVar25 = (uchar *)0x0;\n          (**(code **)(pcVar28 + 0x35acc))(pFVar12);\n        }\nLAB_00043f04:\n        if (iStack_15c != *piVar9) {\n          (**(code **)(pcVar28 + 0x35a30))();\n          return (uchar *)((iStack_15c + 0x2f) / 0x30);\n        }\n        return puVar25;\n      }\n      iVar10 = (*(code *)piStack_a0[-0x1f66])(pcVar21,(uchar *)((int)piVar9 + iVar6));\n      iVar6 = iVar6 + iVar10;\n      pcVar21 = pcVar21 + 4;\n    }" { (if_statement "if (iVar3 <= iVar6 + 2) {\n        piVar19 = (int *)&DAT_00000441;\n        pcVar28 = (code *)piStack_a0[-0x1e6c];\n        piVar20 = (int *)(piStack_a0[-0x1ff2] + 0x4800);\n        ppcVar16 = (char **)(piStack_a0[-0x1ff2] + 0x4034);\n        pcVar29 = ssh2_userkey_loadpub;\n        pFVar14 = (Filename *)(piStack_a0[-0x1ff2] + 0x44b8);\n        (*pcVar28)();\n        piVar2 = piStack_a0;\n        pcStack_118 = pcVar28 + 0x3d74c;\n        piVar22 = *(int **)(pcVar28 + 0x3600c);\n        ppcVar17 = (char **)(*(int *)(pcVar28 + 0x35784) + 0x4078);\n        pFStack_dc = (Filename *)*piVar22;\n        pcStack_d8 = pcVar21;\n        iStack_d4 = iVar6;\n        piStack_d0 = piVar9;\n        iStack_cc = iVar3;\n        pcStack_c8 = pcVar23;\n        uStack_c4 = uVar4;\n        ppcStack_c0 = header;\n        pFStack_bc = pFVar12;\n        ppcStack_b8 = ppcVar15;\n        pcStack_b4 = pcVar29;\n        pFVar5 = f_open(pFVar14,(char *)ppcVar17,0);\n        if (pFVar5 == (FILE *)0x0) {\n          if (piVar2 != (int *)0x0) {\n            *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x407c;\n          }\nLAB_000439f4:\n          puVar25 = (uchar *)0x0;\n          pFVar5 = pFVar12;\n        }\n        else {\n          iVar3 = key_type_fp(pFVar5);\n          if (iVar3 == 9) {\n            pcVar28 = *(code **)(pcStack_118 + -0x7b14);\n          }\n          else {\n            if (iVar3 != 10) {\n              pFVar12 = pFVar5;\n              if (iVar3 != 3) {\nLAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar2 != (int *)0x0) {\n                  *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }\n                goto LAB_000439f4;\n              }\n              header = apcStack_104;\n              iVar3 = read_header(pFVar5,(char *)header);\n              if (iVar3 == 0) {\nLAB_00043cc0:\n                ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);\n                iVar3 = (**(code **)(pcStack_118 + -0x78ac))(header,ppcVar17,0x14);\n                if (iVar3 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                  if (piVar2 != (int *)0x0) {\n                    *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }\n                goto LAB_000439d4;\n              }\n              ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214);\n              iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n              if (iVar3 != 0) {\n                ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);\n                iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n                if (iVar3 != 0) goto LAB_00043cc0;\n              }\n              pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74);\n              ppcVar15 = (char **)read_body(pFVar5);\n              if (ppcVar15 == (char **)0x0) {\nLAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar2 != (int *)0x0) {\n                  *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                goto LAB_000439f4;\n              }\n              iVar3 = (**(code **)(pcStack_118 + -0x77a0))(ppcVar15);\n              ppcVar17 = ppcVar15;\n              psVar11 = find_pubkey_alg_len(iVar3,(char *)ppcVar15);\n              (**(code **)(pcStack_118 + -0x7f80))(ppcVar15);\n              if ((psVar11 == (ssh_signkey *)0x0) ||\n                 (ppcVar17 = header, iVar3 = read_header(pFVar5,(char *)header), iVar3 == 0))\n              goto LAB_00043c9c;\n              ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244);\n              iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n              if ((iVar3 != 0) || (iVar3 = (*pcStack_110)(pFVar5), iVar3 == 0)) goto LAB_00043c9c;\n              (**(code **)(pcStack_118 + -0x7f80))(iVar3);\n              ppcVar17 = header;\n              iVar3 = read_header(pFVar5,(char *)header);\n              if (iVar3 == 0) goto LAB_00043c9c;\n              ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258);\n              iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n              if ((iVar3 != 0) || (pcVar28 = (code *)(*pcStack_110)(pFVar5), pcVar28 == (code *)0x0)\n                 ) goto LAB_00043c9c;\n              pcStack_10c = pcVar28;\n              if (piVar20 == (int *)0x0) {\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar28);\n              }\n              else {\n                *piVar20 = (int)pcVar28;\n              }\n              ppcVar15 = header;\n              iVar3 = read_header(pFVar5,(char *)header);\n              pcVar28 = pcStack_10c;\n              if (iVar3 == 0) {\nLAB_00043d58:\n                ppcVar17 = ppcVar15;\n                pcStack_110 = pcVar28;\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar2 != (int *)0x0) {\n                  *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                if (piVar20 == (int *)0x0) goto LAB_000439f4;\n                puVar25 = (uchar *)0x0;\n                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);\n                *piVar20 = 0;\n              }\n              else {\n                ppcVar15 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n                pcVar28 = pcStack_10c;\n                if ((iVar3 != 0) ||\n                   (pcVar23 = (char *)(*pcStack_110)(pFVar5), pcVar28 = pcStack_10c,\n                   pcVar23 == (char *)0x0)) goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                ppcVar17 = (char **)userkey_parse_line_counter(pcVar23);\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n                pcVar28 = pcStack_110;\n                if (((int)ppcVar17 < 0) ||\n                   (puVar25 = read_blob(pFVar5,(int)ppcVar17,&iStack_108), ppcVar15 = ppcVar17,\n                   pcVar28 = pcStack_110, puVar25 == (uchar *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar19 != (int *)0x0) {\n                  *piVar19 = iStack_108;\n                }\n                if (ppcVar16 != (char **)0x0) {\n                  pcVar23 = (char *)(**(code **)(pcStack_118 + -0x7f74))(psVar11->name);\n                  *ppcVar16 = pcVar23;\n                }\n              }\n              goto LAB_000439f8;\n            }\n            pcVar28 = *(code **)(pcStack_118 + -0x7b10);\n          }\n          piStack_120 = piVar2;\n          ppcVar17 = ppcVar16;\n          puVar25 = (uchar *)(*pcVar28)(pFVar5,ppcVar16,piVar19,piVar20);\n          (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n        }\nLAB_000439f8:\n        if (pFStack_dc == (Filename *)*piVar22) {\n          return puVar25;\n        }\n        pcVar28 = *(code **)(pcStack_118 + -0x7880);\n        pcVar29 = ssh2_userkey_encrypted;\n        pFVar14 = pFStack_dc;\n        (*pcVar28)();\n        piVar9 = *(int **)(pcVar28 + 0x35b70);\n        piStack_150 = piVar2;\n        iStack_15c = *piVar9;\n        if (ppcVar17 != (char **)0x0) {\n          *ppcVar17 = (char *)0x0;\n        }\n        piStack_154 = piVar22;\n        piStack_14c = piVar20;\n        ppcStack_148 = ppcVar16;\n        piStack_144 = piVar19;\n        puStack_140 = puVar25;\n        ppcStack_13c = header;\n        pFStack_138 = pFVar5;\n        pcStack_134 = pcVar29;\n        pFVar12 = f_open(pFVar14,(char *)(*(int *)(pcVar28 + 0x352e8) + 0x4078),0);\n        if (pFVar12 == (FILE *)0x0) {\n          puVar25 = (uchar *)0x0;\n        }\n        else {\n          iVar3 = read_header(pFVar12,acStack_184);\n          if ((iVar3 != 0) &&\n             (((iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                  (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4214), iVar3 == 0 ||\n               (iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                  (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x422c), iVar3 == 0))\n              && (pcVar23 = read_body(pFVar12), pcVar23 != (char *)0x0)))) {\n            (**(code **)(pcVar28 + 0x35330))(pcVar23);\n            iVar3 = read_header(pFVar12,acStack_184);\n            if ((iVar3 != 0) &&\n               (iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                  (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4244), iVar3 == 0)) {\n              pcVar23 = read_body(pFVar12);\n              if (pcVar23 == (char *)0x0) {\n                (**(code **)(pcVar28 + 0x35acc))(pFVar12);\n                puVar25 = (uchar *)0x0;\n              }\n              else {\n                iVar3 = read_header(pFVar12,acStack_184);\n                if (((iVar3 == 0) ||\n                    (iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                       (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4258),\n                    iVar3 != 0)) || (pcVar21 = read_body(pFVar12), pcVar21 == (char *)0x0)) {\n                  puVar25 = (uchar *)0x1;\n                  (**(code **)(pcVar28 + 0x35acc))(pFVar12);\n                  (**(code **)(pcVar28 + 0x35330))(pcVar23);\n                }\n                else {\n                  if (ppcVar17 == (char **)0x0) {\n                    (**(code **)(pcVar28 + 0x35330))(pcVar21);\n                  }\n                  else {\n                    *ppcVar17 = pcVar21;\n                  }\n                  (**(code **)(pcVar28 + 0x35acc))(pFVar12);\n                  iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                    (pcVar23,*(int *)(pcVar28 + 0x352e8) + 0x7c4);\n                  puVar25 = (uchar *)(uint)(iVar3 == 0);\n                  (**(code **)(pcVar28 + 0x35330))(pcVar23);\n                }\n              }\n              goto LAB_00043f04;\n            }\n          }\n          puVar25 = (uchar *)0x0;\n          (**(code **)(pcVar28 + 0x35acc))(pFVar12);\n        }\nLAB_00043f04:\n        if (iStack_15c != *piVar9) {\n          (**(code **)(pcVar28 + 0x35a30))();\n          return (uchar *)((iStack_15c + 0x2f) / 0x30);\n        }\n        return puVar25;\n      }" if (parenthesized_expression "(iVar3 <= iVar6 + 2)" ( (binary_expression "iVar3 <= iVar6 + 2" identifier <= (binary_expression "iVar6 + 2" identifier + number_literal)) )) (compound_statement "{\n        piVar19 = (int *)&DAT_00000441;\n        pcVar28 = (code *)piStack_a0[-0x1e6c];\n        piVar20 = (int *)(piStack_a0[-0x1ff2] + 0x4800);\n        ppcVar16 = (char **)(piStack_a0[-0x1ff2] + 0x4034);\n        pcVar29 = ssh2_userkey_loadpub;\n        pFVar14 = (Filename *)(piStack_a0[-0x1ff2] + 0x44b8);\n        (*pcVar28)();\n        piVar2 = piStack_a0;\n        pcStack_118 = pcVar28 + 0x3d74c;\n        piVar22 = *(int **)(pcVar28 + 0x3600c);\n        ppcVar17 = (char **)(*(int *)(pcVar28 + 0x35784) + 0x4078);\n        pFStack_dc = (Filename *)*piVar22;\n        pcStack_d8 = pcVar21;\n        iStack_d4 = iVar6;\n        piStack_d0 = piVar9;\n        iStack_cc = iVar3;\n        pcStack_c8 = pcVar23;\n        uStack_c4 = uVar4;\n        ppcStack_c0 = header;\n        pFStack_bc = pFVar12;\n        ppcStack_b8 = ppcVar15;\n        pcStack_b4 = pcVar29;\n        pFVar5 = f_open(pFVar14,(char *)ppcVar17,0);\n        if (pFVar5 == (FILE *)0x0) {\n          if (piVar2 != (int *)0x0) {\n            *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x407c;\n          }\nLAB_000439f4:\n          puVar25 = (uchar *)0x0;\n          pFVar5 = pFVar12;\n        }\n        else {\n          iVar3 = key_type_fp(pFVar5);\n          if (iVar3 == 9) {\n            pcVar28 = *(code **)(pcStack_118 + -0x7b14);\n          }\n          else {\n            if (iVar3 != 10) {\n              pFVar12 = pFVar5;\n              if (iVar3 != 3) {\nLAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar2 != (int *)0x0) {\n                  *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }\n                goto LAB_000439f4;\n              }\n              header = apcStack_104;\n              iVar3 = read_header(pFVar5,(char *)header);\n              if (iVar3 == 0) {\nLAB_00043cc0:\n                ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);\n                iVar3 = (**(code **)(pcStack_118 + -0x78ac))(header,ppcVar17,0x14);\n                if (iVar3 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                  if (piVar2 != (int *)0x0) {\n                    *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }\n                goto LAB_000439d4;\n              }\n              ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214);\n              iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n              if (iVar3 != 0) {\n                ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);\n                iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n                if (iVar3 != 0) goto LAB_00043cc0;\n              }\n              pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74);\n              ppcVar15 = (char **)read_body(pFVar5);\n              if (ppcVar15 == (char **)0x0) {\nLAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar2 != (int *)0x0) {\n                  *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                goto LAB_000439f4;\n              }\n              iVar3 = (**(code **)(pcStack_118 + -0x77a0))(ppcVar15);\n              ppcVar17 = ppcVar15;\n              psVar11 = find_pubkey_alg_len(iVar3,(char *)ppcVar15);\n              (**(code **)(pcStack_118 + -0x7f80))(ppcVar15);\n              if ((psVar11 == (ssh_signkey *)0x0) ||\n                 (ppcVar17 = header, iVar3 = read_header(pFVar5,(char *)header), iVar3 == 0))\n              goto LAB_00043c9c;\n              ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244);\n              iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n              if ((iVar3 != 0) || (iVar3 = (*pcStack_110)(pFVar5), iVar3 == 0)) goto LAB_00043c9c;\n              (**(code **)(pcStack_118 + -0x7f80))(iVar3);\n              ppcVar17 = header;\n              iVar3 = read_header(pFVar5,(char *)header);\n              if (iVar3 == 0) goto LAB_00043c9c;\n              ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258);\n              iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n              if ((iVar3 != 0) || (pcVar28 = (code *)(*pcStack_110)(pFVar5), pcVar28 == (code *)0x0)\n                 ) goto LAB_00043c9c;\n              pcStack_10c = pcVar28;\n              if (piVar20 == (int *)0x0) {\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar28);\n              }\n              else {\n                *piVar20 = (int)pcVar28;\n              }\n              ppcVar15 = header;\n              iVar3 = read_header(pFVar5,(char *)header);\n              pcVar28 = pcStack_10c;\n              if (iVar3 == 0) {\nLAB_00043d58:\n                ppcVar17 = ppcVar15;\n                pcStack_110 = pcVar28;\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar2 != (int *)0x0) {\n                  *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                if (piVar20 == (int *)0x0) goto LAB_000439f4;\n                puVar25 = (uchar *)0x0;\n                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);\n                *piVar20 = 0;\n              }\n              else {\n                ppcVar15 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n                pcVar28 = pcStack_10c;\n                if ((iVar3 != 0) ||\n                   (pcVar23 = (char *)(*pcStack_110)(pFVar5), pcVar28 = pcStack_10c,\n                   pcVar23 == (char *)0x0)) goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                ppcVar17 = (char **)userkey_parse_line_counter(pcVar23);\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n                pcVar28 = pcStack_110;\n                if (((int)ppcVar17 < 0) ||\n                   (puVar25 = read_blob(pFVar5,(int)ppcVar17,&iStack_108), ppcVar15 = ppcVar17,\n                   pcVar28 = pcStack_110, puVar25 == (uchar *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar19 != (int *)0x0) {\n                  *piVar19 = iStack_108;\n                }\n                if (ppcVar16 != (char **)0x0) {\n                  pcVar23 = (char *)(**(code **)(pcStack_118 + -0x7f74))(psVar11->name);\n                  *ppcVar16 = pcVar23;\n                }\n              }\n              goto LAB_000439f8;\n            }\n            pcVar28 = *(code **)(pcStack_118 + -0x7b10);\n          }\n          piStack_120 = piVar2;\n          ppcVar17 = ppcVar16;\n          puVar25 = (uchar *)(*pcVar28)(pFVar5,ppcVar16,piVar19,piVar20);\n          (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n        }\nLAB_000439f8:\n        if (pFStack_dc == (Filename *)*piVar22) {\n          return puVar25;\n        }\n        pcVar28 = *(code **)(pcStack_118 + -0x7880);\n        pcVar29 = ssh2_userkey_encrypted;\n        pFVar14 = pFStack_dc;\n        (*pcVar28)();\n        piVar9 = *(int **)(pcVar28 + 0x35b70);\n        piStack_150 = piVar2;\n        iStack_15c = *piVar9;\n        if (ppcVar17 != (char **)0x0) {\n          *ppcVar17 = (char *)0x0;\n        }\n        piStack_154 = piVar22;\n        piStack_14c = piVar20;\n        ppcStack_148 = ppcVar16;\n        piStack_144 = piVar19;\n        puStack_140 = puVar25;\n        ppcStack_13c = header;\n        pFStack_138 = pFVar5;\n        pcStack_134 = pcVar29;\n        pFVar12 = f_open(pFVar14,(char *)(*(int *)(pcVar28 + 0x352e8) + 0x4078),0);\n        if (pFVar12 == (FILE *)0x0) {\n          puVar25 = (uchar *)0x0;\n        }\n        else {\n          iVar3 = read_header(pFVar12,acStack_184);\n          if ((iVar3 != 0) &&\n             (((iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                  (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4214), iVar3 == 0 ||\n               (iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                  (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x422c), iVar3 == 0))\n              && (pcVar23 = read_body(pFVar12), pcVar23 != (char *)0x0)))) {\n            (**(code **)(pcVar28 + 0x35330))(pcVar23);\n            iVar3 = read_header(pFVar12,acStack_184);\n            if ((iVar3 != 0) &&\n               (iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                  (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4244), iVar3 == 0)) {\n              pcVar23 = read_body(pFVar12);\n              if (pcVar23 == (char *)0x0) {\n                (**(code **)(pcVar28 + 0x35acc))(pFVar12);\n                puVar25 = (uchar *)0x0;\n              }\n              else {\n                iVar3 = read_header(pFVar12,acStack_184);\n                if (((iVar3 == 0) ||\n                    (iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                       (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4258),\n                    iVar3 != 0)) || (pcVar21 = read_body(pFVar12), pcVar21 == (char *)0x0)) {\n                  puVar25 = (uchar *)0x1;\n                  (**(code **)(pcVar28 + 0x35acc))(pFVar12);\n                  (**(code **)(pcVar28 + 0x35330))(pcVar23);\n                }\n                else {\n                  if (ppcVar17 == (char **)0x0) {\n                    (**(code **)(pcVar28 + 0x35330))(pcVar21);\n                  }\n                  else {\n                    *ppcVar17 = pcVar21;\n                  }\n                  (**(code **)(pcVar28 + 0x35acc))(pFVar12);\n                  iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                    (pcVar23,*(int *)(pcVar28 + 0x352e8) + 0x7c4);\n                  puVar25 = (uchar *)(uint)(iVar3 == 0);\n                  (**(code **)(pcVar28 + 0x35330))(pcVar23);\n                }\n              }\n              goto LAB_00043f04;\n            }\n          }\n          puVar25 = (uchar *)0x0;\n          (**(code **)(pcVar28 + 0x35acc))(pFVar12);\n        }\nLAB_00043f04:\n        if (iStack_15c != *piVar9) {\n          (**(code **)(pcVar28 + 0x35a30))();\n          return (uchar *)((iStack_15c + 0x2f) / 0x30);\n        }\n        return puVar25;\n      }" { (expression_statement "piVar19 = (int *)&DAT_00000441;" (assignment_expression "piVar19 = (int *)&DAT_00000441" identifier = (cast_expression "(int *)&DAT_00000441" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000441" & identifier))) ;) (expression_statement "pcVar28 = (code *)piStack_a0[-0x1e6c];" (assignment_expression "pcVar28 = (code *)piStack_a0[-0x1e6c]" identifier = (cast_expression "(code *)piStack_a0[-0x1e6c]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piStack_a0[-0x1e6c]" identifier [ number_literal ]))) ;) (expression_statement "piVar20 = (int *)(piStack_a0[-0x1ff2] + 0x4800);" (assignment_expression "piVar20 = (int *)(piStack_a0[-0x1ff2] + 0x4800)" identifier = (cast_expression "(int *)(piStack_a0[-0x1ff2] + 0x4800)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piStack_a0[-0x1ff2] + 0x4800)" ( (binary_expression "piStack_a0[-0x1ff2] + 0x4800" (subscript_expression "piStack_a0[-0x1ff2]" identifier [ number_literal ]) + number_literal) )))) ;) (expression_statement "ppcVar16 = (char **)(piStack_a0[-0x1ff2] + 0x4034);" (assignment_expression "ppcVar16 = (char **)(piStack_a0[-0x1ff2] + 0x4034)" identifier = (cast_expression "(char **)(piStack_a0[-0x1ff2] + 0x4034)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piStack_a0[-0x1ff2] + 0x4034)" ( (binary_expression "piStack_a0[-0x1ff2] + 0x4034" (subscript_expression "piStack_a0[-0x1ff2]" identifier [ number_literal ]) + number_literal) )))) ;) (expression_statement "pcVar29 = ssh2_userkey_loadpub;" (assignment_expression "pcVar29 = ssh2_userkey_loadpub" identifier = identifier) ;) (expression_statement "pFVar14 = (Filename *)(piStack_a0[-0x1ff2] + 0x44b8);" (assignment_expression "pFVar14 = (Filename *)(piStack_a0[-0x1ff2] + 0x44b8)" identifier = (cast_expression "(Filename *)(piStack_a0[-0x1ff2] + 0x44b8)" ( (type_descriptor "Filename *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piStack_a0[-0x1ff2] + 0x44b8)" ( (binary_expression "piStack_a0[-0x1ff2] + 0x44b8" (subscript_expression "piStack_a0[-0x1ff2]" identifier [ number_literal ]) + number_literal) )))) ;) (expression_statement "(*pcVar28)();" (call_expression "(*pcVar28)()" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piVar2 = piStack_a0;" (assignment_expression "piVar2 = piStack_a0" identifier = identifier) ;) (expression_statement "pcStack_118 = pcVar28 + 0x3d74c;" (assignment_expression "pcStack_118 = pcVar28 + 0x3d74c" identifier = (binary_expression "pcVar28 + 0x3d74c" identifier + number_literal)) ;) (expression_statement "piVar22 = *(int **)(pcVar28 + 0x3600c);" (assignment_expression "piVar22 = *(int **)(pcVar28 + 0x3600c)" identifier = (pointer_expression "*(int **)(pcVar28 + 0x3600c)" * (cast_expression "(int **)(pcVar28 + 0x3600c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x3600c)" ( (binary_expression "pcVar28 + 0x3600c" identifier + number_literal) ))))) ;) (expression_statement "ppcVar17 = (char **)(*(int *)(pcVar28 + 0x35784) + 0x4078);" (assignment_expression "ppcVar17 = (char **)(*(int *)(pcVar28 + 0x35784) + 0x4078)" identifier = (cast_expression "(char **)(*(int *)(pcVar28 + 0x35784) + 0x4078)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcVar28 + 0x35784) + 0x4078)" ( (binary_expression "*(int *)(pcVar28 + 0x35784) + 0x4078" (pointer_expression "*(int *)(pcVar28 + 0x35784)" * (cast_expression "(int *)(pcVar28 + 0x35784)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x35784)" ( (binary_expression "pcVar28 + 0x35784" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pFStack_dc = (Filename *)*piVar22;" (assignment_expression "pFStack_dc = (Filename *)*piVar22" identifier = (cast_expression "(Filename *)*piVar22" ( (type_descriptor "Filename *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar22" * identifier))) ;) (expression_statement "pcStack_d8 = pcVar21;" (assignment_expression "pcStack_d8 = pcVar21" identifier = identifier) ;) (expression_statement "iStack_d4 = iVar6;" (assignment_expression "iStack_d4 = iVar6" identifier = identifier) ;) (expression_statement "piStack_d0 = piVar9;" (assignment_expression "piStack_d0 = piVar9" identifier = identifier) ;) (expression_statement "iStack_cc = iVar3;" (assignment_expression "iStack_cc = iVar3" identifier = identifier) ;) (expression_statement "pcStack_c8 = pcVar23;" (assignment_expression "pcStack_c8 = pcVar23" identifier = identifier) ;) (expression_statement "uStack_c4 = uVar4;" (assignment_expression "uStack_c4 = uVar4" identifier = identifier) ;) (expression_statement "ppcStack_c0 = header;" (assignment_expression "ppcStack_c0 = header" identifier = identifier) ;) (expression_statement "pFStack_bc = pFVar12;" (assignment_expression "pFStack_bc = pFVar12" identifier = identifier) ;) (expression_statement "ppcStack_b8 = ppcVar15;" (assignment_expression "ppcStack_b8 = ppcVar15" identifier = identifier) ;) (expression_statement "pcStack_b4 = pcVar29;" (assignment_expression "pcStack_b4 = pcVar29" identifier = identifier) ;) (expression_statement "pFVar5 = f_open(pFVar14,(char *)ppcVar17,0);" (assignment_expression "pFVar5 = f_open(pFVar14,(char *)ppcVar17,0)" identifier = (call_expression "f_open(pFVar14,(char *)ppcVar17,0)" identifier (argument_list "(pFVar14,(char *)ppcVar17,0)" ( identifier , (cast_expression "(char *)ppcVar17" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , number_literal )))) ;) (if_statement "if (pFVar5 == (FILE *)0x0) {\n          if (piVar2 != (int *)0x0) {\n            *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x407c;\n          }\nLAB_000439f4:\n          puVar25 = (uchar *)0x0;\n          pFVar5 = pFVar12;\n        }\n        else {\n          iVar3 = key_type_fp(pFVar5);\n          if (iVar3 == 9) {\n            pcVar28 = *(code **)(pcStack_118 + -0x7b14);\n          }\n          else {\n            if (iVar3 != 10) {\n              pFVar12 = pFVar5;\n              if (iVar3 != 3) {\nLAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar2 != (int *)0x0) {\n                  *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }\n                goto LAB_000439f4;\n              }\n              header = apcStack_104;\n              iVar3 = read_header(pFVar5,(char *)header);\n              if (iVar3 == 0) {\nLAB_00043cc0:\n                ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);\n                iVar3 = (**(code **)(pcStack_118 + -0x78ac))(header,ppcVar17,0x14);\n                if (iVar3 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                  if (piVar2 != (int *)0x0) {\n                    *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }\n                goto LAB_000439d4;\n              }\n              ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214);\n              iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n              if (iVar3 != 0) {\n                ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);\n                iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n                if (iVar3 != 0) goto LAB_00043cc0;\n              }\n              pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74);\n              ppcVar15 = (char **)read_body(pFVar5);\n              if (ppcVar15 == (char **)0x0) {\nLAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar2 != (int *)0x0) {\n                  *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                goto LAB_000439f4;\n              }\n              iVar3 = (**(code **)(pcStack_118 + -0x77a0))(ppcVar15);\n              ppcVar17 = ppcVar15;\n              psVar11 = find_pubkey_alg_len(iVar3,(char *)ppcVar15);\n              (**(code **)(pcStack_118 + -0x7f80))(ppcVar15);\n              if ((psVar11 == (ssh_signkey *)0x0) ||\n                 (ppcVar17 = header, iVar3 = read_header(pFVar5,(char *)header), iVar3 == 0))\n              goto LAB_00043c9c;\n              ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244);\n              iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n              if ((iVar3 != 0) || (iVar3 = (*pcStack_110)(pFVar5), iVar3 == 0)) goto LAB_00043c9c;\n              (**(code **)(pcStack_118 + -0x7f80))(iVar3);\n              ppcVar17 = header;\n              iVar3 = read_header(pFVar5,(char *)header);\n              if (iVar3 == 0) goto LAB_00043c9c;\n              ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258);\n              iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n              if ((iVar3 != 0) || (pcVar28 = (code *)(*pcStack_110)(pFVar5), pcVar28 == (code *)0x0)\n                 ) goto LAB_00043c9c;\n              pcStack_10c = pcVar28;\n              if (piVar20 == (int *)0x0) {\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar28);\n              }\n              else {\n                *piVar20 = (int)pcVar28;\n              }\n              ppcVar15 = header;\n              iVar3 = read_header(pFVar5,(char *)header);\n              pcVar28 = pcStack_10c;\n              if (iVar3 == 0) {\nLAB_00043d58:\n                ppcVar17 = ppcVar15;\n                pcStack_110 = pcVar28;\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar2 != (int *)0x0) {\n                  *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                if (piVar20 == (int *)0x0) goto LAB_000439f4;\n                puVar25 = (uchar *)0x0;\n                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);\n                *piVar20 = 0;\n              }\n              else {\n                ppcVar15 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n                pcVar28 = pcStack_10c;\n                if ((iVar3 != 0) ||\n                   (pcVar23 = (char *)(*pcStack_110)(pFVar5), pcVar28 = pcStack_10c,\n                   pcVar23 == (char *)0x0)) goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                ppcVar17 = (char **)userkey_parse_line_counter(pcVar23);\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n                pcVar28 = pcStack_110;\n                if (((int)ppcVar17 < 0) ||\n                   (puVar25 = read_blob(pFVar5,(int)ppcVar17,&iStack_108), ppcVar15 = ppcVar17,\n                   pcVar28 = pcStack_110, puVar25 == (uchar *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar19 != (int *)0x0) {\n                  *piVar19 = iStack_108;\n                }\n                if (ppcVar16 != (char **)0x0) {\n                  pcVar23 = (char *)(**(code **)(pcStack_118 + -0x7f74))(psVar11->name);\n                  *ppcVar16 = pcVar23;\n                }\n              }\n              goto LAB_000439f8;\n            }\n            pcVar28 = *(code **)(pcStack_118 + -0x7b10);\n          }\n          piStack_120 = piVar2;\n          ppcVar17 = ppcVar16;\n          puVar25 = (uchar *)(*pcVar28)(pFVar5,ppcVar16,piVar19,piVar20);\n          (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n        }" if (parenthesized_expression "(pFVar5 == (FILE *)0x0)" ( (binary_expression "pFVar5 == (FILE *)0x0" identifier == (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if (piVar2 != (int *)0x0) {\n            *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x407c;\n          }\nLAB_000439f4:\n          puVar25 = (uchar *)0x0;\n          pFVar5 = pFVar12;\n        }" { (if_statement "if (piVar2 != (int *)0x0) {\n            *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x407c;\n          }" if (parenthesized_expression "(piVar2 != (int *)0x0)" ( (binary_expression "piVar2 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x407c;\n          }" { (expression_statement "*piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x407c;" (assignment_expression "*piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x407c" (pointer_expression "*piVar2" * identifier) = (binary_expression "*(int *)(pcStack_118 + -0x7fc8) + 0x407c" (pointer_expression "*(int *)(pcStack_118 + -0x7fc8)" * (cast_expression "(int *)(pcStack_118 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_118 + -0x7fc8)" ( (binary_expression "pcStack_118 + -0x7fc8" identifier + number_literal) )))) + number_literal)) ;) })) (labeled_statement "LAB_000439f4:\n          puVar25 = (uchar *)0x0;" statement_identifier : (expression_statement "puVar25 = (uchar *)0x0;" (assignment_expression "puVar25 = (uchar *)0x0" identifier = (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "pFVar5 = pFVar12;" (assignment_expression "pFVar5 = pFVar12" identifier = identifier) ;) }) (else_clause "else {\n          iVar3 = key_type_fp(pFVar5);\n          if (iVar3 == 9) {\n            pcVar28 = *(code **)(pcStack_118 + -0x7b14);\n          }\n          else {\n            if (iVar3 != 10) {\n              pFVar12 = pFVar5;\n              if (iVar3 != 3) {\nLAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar2 != (int *)0x0) {\n                  *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }\n                goto LAB_000439f4;\n              }\n              header = apcStack_104;\n              iVar3 = read_header(pFVar5,(char *)header);\n              if (iVar3 == 0) {\nLAB_00043cc0:\n                ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);\n                iVar3 = (**(code **)(pcStack_118 + -0x78ac))(header,ppcVar17,0x14);\n                if (iVar3 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                  if (piVar2 != (int *)0x0) {\n                    *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }\n                goto LAB_000439d4;\n              }\n              ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214);\n              iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n              if (iVar3 != 0) {\n                ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);\n                iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n                if (iVar3 != 0) goto LAB_00043cc0;\n              }\n              pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74);\n              ppcVar15 = (char **)read_body(pFVar5);\n              if (ppcVar15 == (char **)0x0) {\nLAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar2 != (int *)0x0) {\n                  *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                goto LAB_000439f4;\n              }\n              iVar3 = (**(code **)(pcStack_118 + -0x77a0))(ppcVar15);\n              ppcVar17 = ppcVar15;\n              psVar11 = find_pubkey_alg_len(iVar3,(char *)ppcVar15);\n              (**(code **)(pcStack_118 + -0x7f80))(ppcVar15);\n              if ((psVar11 == (ssh_signkey *)0x0) ||\n                 (ppcVar17 = header, iVar3 = read_header(pFVar5,(char *)header), iVar3 == 0))\n              goto LAB_00043c9c;\n              ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244);\n              iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n              if ((iVar3 != 0) || (iVar3 = (*pcStack_110)(pFVar5), iVar3 == 0)) goto LAB_00043c9c;\n              (**(code **)(pcStack_118 + -0x7f80))(iVar3);\n              ppcVar17 = header;\n              iVar3 = read_header(pFVar5,(char *)header);\n              if (iVar3 == 0) goto LAB_00043c9c;\n              ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258);\n              iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n              if ((iVar3 != 0) || (pcVar28 = (code *)(*pcStack_110)(pFVar5), pcVar28 == (code *)0x0)\n                 ) goto LAB_00043c9c;\n              pcStack_10c = pcVar28;\n              if (piVar20 == (int *)0x0) {\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar28);\n              }\n              else {\n                *piVar20 = (int)pcVar28;\n              }\n              ppcVar15 = header;\n              iVar3 = read_header(pFVar5,(char *)header);\n              pcVar28 = pcStack_10c;\n              if (iVar3 == 0) {\nLAB_00043d58:\n                ppcVar17 = ppcVar15;\n                pcStack_110 = pcVar28;\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar2 != (int *)0x0) {\n                  *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                if (piVar20 == (int *)0x0) goto LAB_000439f4;\n                puVar25 = (uchar *)0x0;\n                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);\n                *piVar20 = 0;\n              }\n              else {\n                ppcVar15 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n                pcVar28 = pcStack_10c;\n                if ((iVar3 != 0) ||\n                   (pcVar23 = (char *)(*pcStack_110)(pFVar5), pcVar28 = pcStack_10c,\n                   pcVar23 == (char *)0x0)) goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                ppcVar17 = (char **)userkey_parse_line_counter(pcVar23);\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n                pcVar28 = pcStack_110;\n                if (((int)ppcVar17 < 0) ||\n                   (puVar25 = read_blob(pFVar5,(int)ppcVar17,&iStack_108), ppcVar15 = ppcVar17,\n                   pcVar28 = pcStack_110, puVar25 == (uchar *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar19 != (int *)0x0) {\n                  *piVar19 = iStack_108;\n                }\n                if (ppcVar16 != (char **)0x0) {\n                  pcVar23 = (char *)(**(code **)(pcStack_118 + -0x7f74))(psVar11->name);\n                  *ppcVar16 = pcVar23;\n                }\n              }\n              goto LAB_000439f8;\n            }\n            pcVar28 = *(code **)(pcStack_118 + -0x7b10);\n          }\n          piStack_120 = piVar2;\n          ppcVar17 = ppcVar16;\n          puVar25 = (uchar *)(*pcVar28)(pFVar5,ppcVar16,piVar19,piVar20);\n          (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n        }" else (compound_statement "{\n          iVar3 = key_type_fp(pFVar5);\n          if (iVar3 == 9) {\n            pcVar28 = *(code **)(pcStack_118 + -0x7b14);\n          }\n          else {\n            if (iVar3 != 10) {\n              pFVar12 = pFVar5;\n              if (iVar3 != 3) {\nLAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar2 != (int *)0x0) {\n                  *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }\n                goto LAB_000439f4;\n              }\n              header = apcStack_104;\n              iVar3 = read_header(pFVar5,(char *)header);\n              if (iVar3 == 0) {\nLAB_00043cc0:\n                ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);\n                iVar3 = (**(code **)(pcStack_118 + -0x78ac))(header,ppcVar17,0x14);\n                if (iVar3 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                  if (piVar2 != (int *)0x0) {\n                    *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }\n                goto LAB_000439d4;\n              }\n              ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214);\n              iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n              if (iVar3 != 0) {\n                ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);\n                iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n                if (iVar3 != 0) goto LAB_00043cc0;\n              }\n              pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74);\n              ppcVar15 = (char **)read_body(pFVar5);\n              if (ppcVar15 == (char **)0x0) {\nLAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar2 != (int *)0x0) {\n                  *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                goto LAB_000439f4;\n              }\n              iVar3 = (**(code **)(pcStack_118 + -0x77a0))(ppcVar15);\n              ppcVar17 = ppcVar15;\n              psVar11 = find_pubkey_alg_len(iVar3,(char *)ppcVar15);\n              (**(code **)(pcStack_118 + -0x7f80))(ppcVar15);\n              if ((psVar11 == (ssh_signkey *)0x0) ||\n                 (ppcVar17 = header, iVar3 = read_header(pFVar5,(char *)header), iVar3 == 0))\n              goto LAB_00043c9c;\n              ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244);\n              iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n              if ((iVar3 != 0) || (iVar3 = (*pcStack_110)(pFVar5), iVar3 == 0)) goto LAB_00043c9c;\n              (**(code **)(pcStack_118 + -0x7f80))(iVar3);\n              ppcVar17 = header;\n              iVar3 = read_header(pFVar5,(char *)header);\n              if (iVar3 == 0) goto LAB_00043c9c;\n              ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258);\n              iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n              if ((iVar3 != 0) || (pcVar28 = (code *)(*pcStack_110)(pFVar5), pcVar28 == (code *)0x0)\n                 ) goto LAB_00043c9c;\n              pcStack_10c = pcVar28;\n              if (piVar20 == (int *)0x0) {\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar28);\n              }\n              else {\n                *piVar20 = (int)pcVar28;\n              }\n              ppcVar15 = header;\n              iVar3 = read_header(pFVar5,(char *)header);\n              pcVar28 = pcStack_10c;\n              if (iVar3 == 0) {\nLAB_00043d58:\n                ppcVar17 = ppcVar15;\n                pcStack_110 = pcVar28;\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar2 != (int *)0x0) {\n                  *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                if (piVar20 == (int *)0x0) goto LAB_000439f4;\n                puVar25 = (uchar *)0x0;\n                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);\n                *piVar20 = 0;\n              }\n              else {\n                ppcVar15 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n                pcVar28 = pcStack_10c;\n                if ((iVar3 != 0) ||\n                   (pcVar23 = (char *)(*pcStack_110)(pFVar5), pcVar28 = pcStack_10c,\n                   pcVar23 == (char *)0x0)) goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                ppcVar17 = (char **)userkey_parse_line_counter(pcVar23);\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n                pcVar28 = pcStack_110;\n                if (((int)ppcVar17 < 0) ||\n                   (puVar25 = read_blob(pFVar5,(int)ppcVar17,&iStack_108), ppcVar15 = ppcVar17,\n                   pcVar28 = pcStack_110, puVar25 == (uchar *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar19 != (int *)0x0) {\n                  *piVar19 = iStack_108;\n                }\n                if (ppcVar16 != (char **)0x0) {\n                  pcVar23 = (char *)(**(code **)(pcStack_118 + -0x7f74))(psVar11->name);\n                  *ppcVar16 = pcVar23;\n                }\n              }\n              goto LAB_000439f8;\n            }\n            pcVar28 = *(code **)(pcStack_118 + -0x7b10);\n          }\n          piStack_120 = piVar2;\n          ppcVar17 = ppcVar16;\n          puVar25 = (uchar *)(*pcVar28)(pFVar5,ppcVar16,piVar19,piVar20);\n          (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n        }" { (expression_statement "iVar3 = key_type_fp(pFVar5);" (assignment_expression "iVar3 = key_type_fp(pFVar5)" identifier = (call_expression "key_type_fp(pFVar5)" identifier (argument_list "(pFVar5)" ( identifier )))) ;) (if_statement "if (iVar3 == 9) {\n            pcVar28 = *(code **)(pcStack_118 + -0x7b14);\n          }\n          else {\n            if (iVar3 != 10) {\n              pFVar12 = pFVar5;\n              if (iVar3 != 3) {\nLAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar2 != (int *)0x0) {\n                  *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }\n                goto LAB_000439f4;\n              }\n              header = apcStack_104;\n              iVar3 = read_header(pFVar5,(char *)header);\n              if (iVar3 == 0) {\nLAB_00043cc0:\n                ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);\n                iVar3 = (**(code **)(pcStack_118 + -0x78ac))(header,ppcVar17,0x14);\n                if (iVar3 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                  if (piVar2 != (int *)0x0) {\n                    *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }\n                goto LAB_000439d4;\n              }\n              ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214);\n              iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n              if (iVar3 != 0) {\n                ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);\n                iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n                if (iVar3 != 0) goto LAB_00043cc0;\n              }\n              pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74);\n              ppcVar15 = (char **)read_body(pFVar5);\n              if (ppcVar15 == (char **)0x0) {\nLAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar2 != (int *)0x0) {\n                  *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                goto LAB_000439f4;\n              }\n              iVar3 = (**(code **)(pcStack_118 + -0x77a0))(ppcVar15);\n              ppcVar17 = ppcVar15;\n              psVar11 = find_pubkey_alg_len(iVar3,(char *)ppcVar15);\n              (**(code **)(pcStack_118 + -0x7f80))(ppcVar15);\n              if ((psVar11 == (ssh_signkey *)0x0) ||\n                 (ppcVar17 = header, iVar3 = read_header(pFVar5,(char *)header), iVar3 == 0))\n              goto LAB_00043c9c;\n              ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244);\n              iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n              if ((iVar3 != 0) || (iVar3 = (*pcStack_110)(pFVar5), iVar3 == 0)) goto LAB_00043c9c;\n              (**(code **)(pcStack_118 + -0x7f80))(iVar3);\n              ppcVar17 = header;\n              iVar3 = read_header(pFVar5,(char *)header);\n              if (iVar3 == 0) goto LAB_00043c9c;\n              ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258);\n              iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n              if ((iVar3 != 0) || (pcVar28 = (code *)(*pcStack_110)(pFVar5), pcVar28 == (code *)0x0)\n                 ) goto LAB_00043c9c;\n              pcStack_10c = pcVar28;\n              if (piVar20 == (int *)0x0) {\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar28);\n              }\n              else {\n                *piVar20 = (int)pcVar28;\n              }\n              ppcVar15 = header;\n              iVar3 = read_header(pFVar5,(char *)header);\n              pcVar28 = pcStack_10c;\n              if (iVar3 == 0) {\nLAB_00043d58:\n                ppcVar17 = ppcVar15;\n                pcStack_110 = pcVar28;\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar2 != (int *)0x0) {\n                  *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                if (piVar20 == (int *)0x0) goto LAB_000439f4;\n                puVar25 = (uchar *)0x0;\n                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);\n                *piVar20 = 0;\n              }\n              else {\n                ppcVar15 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n                pcVar28 = pcStack_10c;\n                if ((iVar3 != 0) ||\n                   (pcVar23 = (char *)(*pcStack_110)(pFVar5), pcVar28 = pcStack_10c,\n                   pcVar23 == (char *)0x0)) goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                ppcVar17 = (char **)userkey_parse_line_counter(pcVar23);\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n                pcVar28 = pcStack_110;\n                if (((int)ppcVar17 < 0) ||\n                   (puVar25 = read_blob(pFVar5,(int)ppcVar17,&iStack_108), ppcVar15 = ppcVar17,\n                   pcVar28 = pcStack_110, puVar25 == (uchar *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar19 != (int *)0x0) {\n                  *piVar19 = iStack_108;\n                }\n                if (ppcVar16 != (char **)0x0) {\n                  pcVar23 = (char *)(**(code **)(pcStack_118 + -0x7f74))(psVar11->name);\n                  *ppcVar16 = pcVar23;\n                }\n              }\n              goto LAB_000439f8;\n            }\n            pcVar28 = *(code **)(pcStack_118 + -0x7b10);\n          }" if (parenthesized_expression "(iVar3 == 9)" ( (binary_expression "iVar3 == 9" identifier == number_literal) )) (compound_statement "{\n            pcVar28 = *(code **)(pcStack_118 + -0x7b14);\n          }" { (expression_statement "pcVar28 = *(code **)(pcStack_118 + -0x7b14);" (assignment_expression "pcVar28 = *(code **)(pcStack_118 + -0x7b14)" identifier = (pointer_expression "*(code **)(pcStack_118 + -0x7b14)" * (cast_expression "(code **)(pcStack_118 + -0x7b14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_118 + -0x7b14)" ( (binary_expression "pcStack_118 + -0x7b14" identifier + number_literal) ))))) ;) }) (else_clause "else {\n            if (iVar3 != 10) {\n              pFVar12 = pFVar5;\n              if (iVar3 != 3) {\nLAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar2 != (int *)0x0) {\n                  *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }\n                goto LAB_000439f4;\n              }\n              header = apcStack_104;\n              iVar3 = read_header(pFVar5,(char *)header);\n              if (iVar3 == 0) {\nLAB_00043cc0:\n                ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);\n                iVar3 = (**(code **)(pcStack_118 + -0x78ac))(header,ppcVar17,0x14);\n                if (iVar3 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                  if (piVar2 != (int *)0x0) {\n                    *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }\n                goto LAB_000439d4;\n              }\n              ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214);\n              iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n              if (iVar3 != 0) {\n                ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);\n                iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n                if (iVar3 != 0) goto LAB_00043cc0;\n              }\n              pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74);\n              ppcVar15 = (char **)read_body(pFVar5);\n              if (ppcVar15 == (char **)0x0) {\nLAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar2 != (int *)0x0) {\n                  *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                goto LAB_000439f4;\n              }\n              iVar3 = (**(code **)(pcStack_118 + -0x77a0))(ppcVar15);\n              ppcVar17 = ppcVar15;\n              psVar11 = find_pubkey_alg_len(iVar3,(char *)ppcVar15);\n              (**(code **)(pcStack_118 + -0x7f80))(ppcVar15);\n              if ((psVar11 == (ssh_signkey *)0x0) ||\n                 (ppcVar17 = header, iVar3 = read_header(pFVar5,(char *)header), iVar3 == 0))\n              goto LAB_00043c9c;\n              ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244);\n              iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n              if ((iVar3 != 0) || (iVar3 = (*pcStack_110)(pFVar5), iVar3 == 0)) goto LAB_00043c9c;\n              (**(code **)(pcStack_118 + -0x7f80))(iVar3);\n              ppcVar17 = header;\n              iVar3 = read_header(pFVar5,(char *)header);\n              if (iVar3 == 0) goto LAB_00043c9c;\n              ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258);\n              iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n              if ((iVar3 != 0) || (pcVar28 = (code *)(*pcStack_110)(pFVar5), pcVar28 == (code *)0x0)\n                 ) goto LAB_00043c9c;\n              pcStack_10c = pcVar28;\n              if (piVar20 == (int *)0x0) {\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar28);\n              }\n              else {\n                *piVar20 = (int)pcVar28;\n              }\n              ppcVar15 = header;\n              iVar3 = read_header(pFVar5,(char *)header);\n              pcVar28 = pcStack_10c;\n              if (iVar3 == 0) {\nLAB_00043d58:\n                ppcVar17 = ppcVar15;\n                pcStack_110 = pcVar28;\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar2 != (int *)0x0) {\n                  *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                if (piVar20 == (int *)0x0) goto LAB_000439f4;\n                puVar25 = (uchar *)0x0;\n                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);\n                *piVar20 = 0;\n              }\n              else {\n                ppcVar15 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n                pcVar28 = pcStack_10c;\n                if ((iVar3 != 0) ||\n                   (pcVar23 = (char *)(*pcStack_110)(pFVar5), pcVar28 = pcStack_10c,\n                   pcVar23 == (char *)0x0)) goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                ppcVar17 = (char **)userkey_parse_line_counter(pcVar23);\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n                pcVar28 = pcStack_110;\n                if (((int)ppcVar17 < 0) ||\n                   (puVar25 = read_blob(pFVar5,(int)ppcVar17,&iStack_108), ppcVar15 = ppcVar17,\n                   pcVar28 = pcStack_110, puVar25 == (uchar *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar19 != (int *)0x0) {\n                  *piVar19 = iStack_108;\n                }\n                if (ppcVar16 != (char **)0x0) {\n                  pcVar23 = (char *)(**(code **)(pcStack_118 + -0x7f74))(psVar11->name);\n                  *ppcVar16 = pcVar23;\n                }\n              }\n              goto LAB_000439f8;\n            }\n            pcVar28 = *(code **)(pcStack_118 + -0x7b10);\n          }" else (compound_statement "{\n            if (iVar3 != 10) {\n              pFVar12 = pFVar5;\n              if (iVar3 != 3) {\nLAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar2 != (int *)0x0) {\n                  *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }\n                goto LAB_000439f4;\n              }\n              header = apcStack_104;\n              iVar3 = read_header(pFVar5,(char *)header);\n              if (iVar3 == 0) {\nLAB_00043cc0:\n                ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);\n                iVar3 = (**(code **)(pcStack_118 + -0x78ac))(header,ppcVar17,0x14);\n                if (iVar3 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                  if (piVar2 != (int *)0x0) {\n                    *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }\n                goto LAB_000439d4;\n              }\n              ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214);\n              iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n              if (iVar3 != 0) {\n                ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);\n                iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n                if (iVar3 != 0) goto LAB_00043cc0;\n              }\n              pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74);\n              ppcVar15 = (char **)read_body(pFVar5);\n              if (ppcVar15 == (char **)0x0) {\nLAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar2 != (int *)0x0) {\n                  *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                goto LAB_000439f4;\n              }\n              iVar3 = (**(code **)(pcStack_118 + -0x77a0))(ppcVar15);\n              ppcVar17 = ppcVar15;\n              psVar11 = find_pubkey_alg_len(iVar3,(char *)ppcVar15);\n              (**(code **)(pcStack_118 + -0x7f80))(ppcVar15);\n              if ((psVar11 == (ssh_signkey *)0x0) ||\n                 (ppcVar17 = header, iVar3 = read_header(pFVar5,(char *)header), iVar3 == 0))\n              goto LAB_00043c9c;\n              ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244);\n              iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n              if ((iVar3 != 0) || (iVar3 = (*pcStack_110)(pFVar5), iVar3 == 0)) goto LAB_00043c9c;\n              (**(code **)(pcStack_118 + -0x7f80))(iVar3);\n              ppcVar17 = header;\n              iVar3 = read_header(pFVar5,(char *)header);\n              if (iVar3 == 0) goto LAB_00043c9c;\n              ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258);\n              iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n              if ((iVar3 != 0) || (pcVar28 = (code *)(*pcStack_110)(pFVar5), pcVar28 == (code *)0x0)\n                 ) goto LAB_00043c9c;\n              pcStack_10c = pcVar28;\n              if (piVar20 == (int *)0x0) {\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar28);\n              }\n              else {\n                *piVar20 = (int)pcVar28;\n              }\n              ppcVar15 = header;\n              iVar3 = read_header(pFVar5,(char *)header);\n              pcVar28 = pcStack_10c;\n              if (iVar3 == 0) {\nLAB_00043d58:\n                ppcVar17 = ppcVar15;\n                pcStack_110 = pcVar28;\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar2 != (int *)0x0) {\n                  *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                if (piVar20 == (int *)0x0) goto LAB_000439f4;\n                puVar25 = (uchar *)0x0;\n                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);\n                *piVar20 = 0;\n              }\n              else {\n                ppcVar15 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n                pcVar28 = pcStack_10c;\n                if ((iVar3 != 0) ||\n                   (pcVar23 = (char *)(*pcStack_110)(pFVar5), pcVar28 = pcStack_10c,\n                   pcVar23 == (char *)0x0)) goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                ppcVar17 = (char **)userkey_parse_line_counter(pcVar23);\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n                pcVar28 = pcStack_110;\n                if (((int)ppcVar17 < 0) ||\n                   (puVar25 = read_blob(pFVar5,(int)ppcVar17,&iStack_108), ppcVar15 = ppcVar17,\n                   pcVar28 = pcStack_110, puVar25 == (uchar *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar19 != (int *)0x0) {\n                  *piVar19 = iStack_108;\n                }\n                if (ppcVar16 != (char **)0x0) {\n                  pcVar23 = (char *)(**(code **)(pcStack_118 + -0x7f74))(psVar11->name);\n                  *ppcVar16 = pcVar23;\n                }\n              }\n              goto LAB_000439f8;\n            }\n            pcVar28 = *(code **)(pcStack_118 + -0x7b10);\n          }" { (if_statement "if (iVar3 != 10) {\n              pFVar12 = pFVar5;\n              if (iVar3 != 3) {\nLAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar2 != (int *)0x0) {\n                  *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }\n                goto LAB_000439f4;\n              }\n              header = apcStack_104;\n              iVar3 = read_header(pFVar5,(char *)header);\n              if (iVar3 == 0) {\nLAB_00043cc0:\n                ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);\n                iVar3 = (**(code **)(pcStack_118 + -0x78ac))(header,ppcVar17,0x14);\n                if (iVar3 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                  if (piVar2 != (int *)0x0) {\n                    *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }\n                goto LAB_000439d4;\n              }\n              ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214);\n              iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n              if (iVar3 != 0) {\n                ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);\n                iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n                if (iVar3 != 0) goto LAB_00043cc0;\n              }\n              pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74);\n              ppcVar15 = (char **)read_body(pFVar5);\n              if (ppcVar15 == (char **)0x0) {\nLAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar2 != (int *)0x0) {\n                  *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                goto LAB_000439f4;\n              }\n              iVar3 = (**(code **)(pcStack_118 + -0x77a0))(ppcVar15);\n              ppcVar17 = ppcVar15;\n              psVar11 = find_pubkey_alg_len(iVar3,(char *)ppcVar15);\n              (**(code **)(pcStack_118 + -0x7f80))(ppcVar15);\n              if ((psVar11 == (ssh_signkey *)0x0) ||\n                 (ppcVar17 = header, iVar3 = read_header(pFVar5,(char *)header), iVar3 == 0))\n              goto LAB_00043c9c;\n              ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244);\n              iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n              if ((iVar3 != 0) || (iVar3 = (*pcStack_110)(pFVar5), iVar3 == 0)) goto LAB_00043c9c;\n              (**(code **)(pcStack_118 + -0x7f80))(iVar3);\n              ppcVar17 = header;\n              iVar3 = read_header(pFVar5,(char *)header);\n              if (iVar3 == 0) goto LAB_00043c9c;\n              ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258);\n              iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n              if ((iVar3 != 0) || (pcVar28 = (code *)(*pcStack_110)(pFVar5), pcVar28 == (code *)0x0)\n                 ) goto LAB_00043c9c;\n              pcStack_10c = pcVar28;\n              if (piVar20 == (int *)0x0) {\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar28);\n              }\n              else {\n                *piVar20 = (int)pcVar28;\n              }\n              ppcVar15 = header;\n              iVar3 = read_header(pFVar5,(char *)header);\n              pcVar28 = pcStack_10c;\n              if (iVar3 == 0) {\nLAB_00043d58:\n                ppcVar17 = ppcVar15;\n                pcStack_110 = pcVar28;\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar2 != (int *)0x0) {\n                  *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                if (piVar20 == (int *)0x0) goto LAB_000439f4;\n                puVar25 = (uchar *)0x0;\n                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);\n                *piVar20 = 0;\n              }\n              else {\n                ppcVar15 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n                pcVar28 = pcStack_10c;\n                if ((iVar3 != 0) ||\n                   (pcVar23 = (char *)(*pcStack_110)(pFVar5), pcVar28 = pcStack_10c,\n                   pcVar23 == (char *)0x0)) goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                ppcVar17 = (char **)userkey_parse_line_counter(pcVar23);\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n                pcVar28 = pcStack_110;\n                if (((int)ppcVar17 < 0) ||\n                   (puVar25 = read_blob(pFVar5,(int)ppcVar17,&iStack_108), ppcVar15 = ppcVar17,\n                   pcVar28 = pcStack_110, puVar25 == (uchar *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar19 != (int *)0x0) {\n                  *piVar19 = iStack_108;\n                }\n                if (ppcVar16 != (char **)0x0) {\n                  pcVar23 = (char *)(**(code **)(pcStack_118 + -0x7f74))(psVar11->name);\n                  *ppcVar16 = pcVar23;\n                }\n              }\n              goto LAB_000439f8;\n            }" if (parenthesized_expression "(iVar3 != 10)" ( (binary_expression "iVar3 != 10" identifier != number_literal) )) (compound_statement "{\n              pFVar12 = pFVar5;\n              if (iVar3 != 3) {\nLAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar2 != (int *)0x0) {\n                  *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }\n                goto LAB_000439f4;\n              }\n              header = apcStack_104;\n              iVar3 = read_header(pFVar5,(char *)header);\n              if (iVar3 == 0) {\nLAB_00043cc0:\n                ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);\n                iVar3 = (**(code **)(pcStack_118 + -0x78ac))(header,ppcVar17,0x14);\n                if (iVar3 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                  if (piVar2 != (int *)0x0) {\n                    *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }\n                goto LAB_000439d4;\n              }\n              ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214);\n              iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n              if (iVar3 != 0) {\n                ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);\n                iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n                if (iVar3 != 0) goto LAB_00043cc0;\n              }\n              pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74);\n              ppcVar15 = (char **)read_body(pFVar5);\n              if (ppcVar15 == (char **)0x0) {\nLAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar2 != (int *)0x0) {\n                  *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                goto LAB_000439f4;\n              }\n              iVar3 = (**(code **)(pcStack_118 + -0x77a0))(ppcVar15);\n              ppcVar17 = ppcVar15;\n              psVar11 = find_pubkey_alg_len(iVar3,(char *)ppcVar15);\n              (**(code **)(pcStack_118 + -0x7f80))(ppcVar15);\n              if ((psVar11 == (ssh_signkey *)0x0) ||\n                 (ppcVar17 = header, iVar3 = read_header(pFVar5,(char *)header), iVar3 == 0))\n              goto LAB_00043c9c;\n              ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244);\n              iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n              if ((iVar3 != 0) || (iVar3 = (*pcStack_110)(pFVar5), iVar3 == 0)) goto LAB_00043c9c;\n              (**(code **)(pcStack_118 + -0x7f80))(iVar3);\n              ppcVar17 = header;\n              iVar3 = read_header(pFVar5,(char *)header);\n              if (iVar3 == 0) goto LAB_00043c9c;\n              ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258);\n              iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n              if ((iVar3 != 0) || (pcVar28 = (code *)(*pcStack_110)(pFVar5), pcVar28 == (code *)0x0)\n                 ) goto LAB_00043c9c;\n              pcStack_10c = pcVar28;\n              if (piVar20 == (int *)0x0) {\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar28);\n              }\n              else {\n                *piVar20 = (int)pcVar28;\n              }\n              ppcVar15 = header;\n              iVar3 = read_header(pFVar5,(char *)header);\n              pcVar28 = pcStack_10c;\n              if (iVar3 == 0) {\nLAB_00043d58:\n                ppcVar17 = ppcVar15;\n                pcStack_110 = pcVar28;\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar2 != (int *)0x0) {\n                  *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                if (piVar20 == (int *)0x0) goto LAB_000439f4;\n                puVar25 = (uchar *)0x0;\n                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);\n                *piVar20 = 0;\n              }\n              else {\n                ppcVar15 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n                pcVar28 = pcStack_10c;\n                if ((iVar3 != 0) ||\n                   (pcVar23 = (char *)(*pcStack_110)(pFVar5), pcVar28 = pcStack_10c,\n                   pcVar23 == (char *)0x0)) goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                ppcVar17 = (char **)userkey_parse_line_counter(pcVar23);\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n                pcVar28 = pcStack_110;\n                if (((int)ppcVar17 < 0) ||\n                   (puVar25 = read_blob(pFVar5,(int)ppcVar17,&iStack_108), ppcVar15 = ppcVar17,\n                   pcVar28 = pcStack_110, puVar25 == (uchar *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar19 != (int *)0x0) {\n                  *piVar19 = iStack_108;\n                }\n                if (ppcVar16 != (char **)0x0) {\n                  pcVar23 = (char *)(**(code **)(pcStack_118 + -0x7f74))(psVar11->name);\n                  *ppcVar16 = pcVar23;\n                }\n              }\n              goto LAB_000439f8;\n            }" { (expression_statement "pFVar12 = pFVar5;" (assignment_expression "pFVar12 = pFVar5" identifier = identifier) ;) (if_statement "if (iVar3 != 3) {\nLAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar2 != (int *)0x0) {\n                  *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }\n                goto LAB_000439f4;\n              }" if (parenthesized_expression "(iVar3 != 3)" ( (binary_expression "iVar3 != 3" identifier != number_literal) )) (compound_statement "{\nLAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar2 != (int *)0x0) {\n                  *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }\n                goto LAB_000439f4;\n              }" { (labeled_statement "LAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);" statement_identifier : (expression_statement "(**(code **)(pcStack_118 + -0x77e4))(pFVar5);" (call_expression "(**(code **)(pcStack_118 + -0x77e4))(pFVar5)" (parenthesized_expression "(**(code **)(pcStack_118 + -0x77e4))" ( (pointer_expression "**(code **)(pcStack_118 + -0x77e4)" * (pointer_expression "*(code **)(pcStack_118 + -0x77e4)" * (cast_expression "(code **)(pcStack_118 + -0x77e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_118 + -0x77e4)" ( (binary_expression "pcStack_118 + -0x77e4" identifier + number_literal) ))))) )) (argument_list "(pFVar5)" ( identifier ))) ;)) (if_statement "if (piVar2 != (int *)0x0) {\n                  *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }" if (parenthesized_expression "(piVar2 != (int *)0x0)" ( (binary_expression "piVar2 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }" { (expression_statement "*piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;" (assignment_expression "*piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4" (pointer_expression "*piVar2" * identifier) = (binary_expression "*(int *)(pcStack_118 + -0x7fc8) + 0x41c4" (pointer_expression "*(int *)(pcStack_118 + -0x7fc8)" * (cast_expression "(int *)(pcStack_118 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_118 + -0x7fc8)" ( (binary_expression "pcStack_118 + -0x7fc8" identifier + number_literal) )))) + number_literal)) ;) })) (goto_statement "goto LAB_000439f4;" goto statement_identifier ;) })) (expression_statement "header = apcStack_104;" (assignment_expression "header = apcStack_104" identifier = identifier) ;) (expression_statement "iVar3 = read_header(pFVar5,(char *)header);" (assignment_expression "iVar3 = read_header(pFVar5,(char *)header)" identifier = (call_expression "read_header(pFVar5,(char *)header)" identifier (argument_list "(pFVar5,(char *)header)" ( identifier , (cast_expression "(char *)header" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (if_statement "if (iVar3 == 0) {\nLAB_00043cc0:\n                ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);\n                iVar3 = (**(code **)(pcStack_118 + -0x78ac))(header,ppcVar17,0x14);\n                if (iVar3 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                  if (piVar2 != (int *)0x0) {\n                    *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }\n                goto LAB_000439d4;\n              }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00043cc0:\n                ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);\n                iVar3 = (**(code **)(pcStack_118 + -0x78ac))(header,ppcVar17,0x14);\n                if (iVar3 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                  if (piVar2 != (int *)0x0) {\n                    *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }\n                goto LAB_000439d4;\n              }" { (labeled_statement "LAB_00043cc0:\n                ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);" statement_identifier : (expression_statement "ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);" (assignment_expression "ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134)" identifier = (cast_expression "(char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcStack_118 + -0x7fc8) + 0x4134)" ( (binary_expression "*(int *)(pcStack_118 + -0x7fc8) + 0x4134" (pointer_expression "*(int *)(pcStack_118 + -0x7fc8)" * (cast_expression "(int *)(pcStack_118 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_118 + -0x7fc8)" ( (binary_expression "pcStack_118 + -0x7fc8" identifier + number_literal) )))) + number_literal) )))) ;)) (expression_statement "iVar3 = (**(code **)(pcStack_118 + -0x78ac))(header,ppcVar17,0x14);" (assignment_expression "iVar3 = (**(code **)(pcStack_118 + -0x78ac))(header,ppcVar17,0x14)" identifier = (call_expression "(**(code **)(pcStack_118 + -0x78ac))(header,ppcVar17,0x14)" (parenthesized_expression "(**(code **)(pcStack_118 + -0x78ac))" ( (pointer_expression "**(code **)(pcStack_118 + -0x78ac)" * (pointer_expression "*(code **)(pcStack_118 + -0x78ac)" * (cast_expression "(code **)(pcStack_118 + -0x78ac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_118 + -0x78ac)" ( (binary_expression "pcStack_118 + -0x78ac" identifier + number_literal) ))))) )) (argument_list "(header,ppcVar17,0x14)" ( identifier , identifier , number_literal )))) ;) (if_statement "if (iVar3 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                  if (piVar2 != (int *)0x0) {\n                    *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n                  (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                  if (piVar2 != (int *)0x0) {\n                    *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }" { (expression_statement "(**(code **)(pcStack_118 + -0x77e4))(pFVar5);" (call_expression "(**(code **)(pcStack_118 + -0x77e4))(pFVar5)" (parenthesized_expression "(**(code **)(pcStack_118 + -0x77e4))" ( (pointer_expression "**(code **)(pcStack_118 + -0x77e4)" * (pointer_expression "*(code **)(pcStack_118 + -0x77e4)" * (cast_expression "(code **)(pcStack_118 + -0x77e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_118 + -0x77e4)" ( (binary_expression "pcStack_118 + -0x77e4" identifier + number_literal) ))))) )) (argument_list "(pFVar5)" ( identifier ))) ;) (if_statement "if (piVar2 != (int *)0x0) {\n                    *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }" if (parenthesized_expression "(piVar2 != (int *)0x0)" ( (binary_expression "piVar2 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }" { (expression_statement "*piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;" (assignment_expression "*piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4" (pointer_expression "*piVar2" * identifier) = (binary_expression "*(int *)(pcStack_118 + -0x7fc8) + 0x41e4" (pointer_expression "*(int *)(pcStack_118 + -0x7fc8)" * (cast_expression "(int *)(pcStack_118 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_118 + -0x7fc8)" ( (binary_expression "pcStack_118 + -0x7fc8" identifier + number_literal) )))) + number_literal)) ;) })) (goto_statement "goto LAB_000439f4;" goto statement_identifier ;) })) (goto_statement "goto LAB_000439d4;" goto statement_identifier ;) })) (expression_statement "ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214);" (assignment_expression "ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214)" identifier = (cast_expression "(char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcStack_118 + -0x7fc8) + 0x4214)" ( (binary_expression "*(int *)(pcStack_118 + -0x7fc8) + 0x4214" (pointer_expression "*(int *)(pcStack_118 + -0x7fc8)" * (cast_expression "(int *)(pcStack_118 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_118 + -0x7fc8)" ( (binary_expression "pcStack_118 + -0x7fc8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);" (assignment_expression "iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header)" identifier = (call_expression "(**(code **)(pcStack_118 + -0x77cc))(header)" (parenthesized_expression "(**(code **)(pcStack_118 + -0x77cc))" ( (pointer_expression "**(code **)(pcStack_118 + -0x77cc)" * (pointer_expression "*(code **)(pcStack_118 + -0x77cc)" * (cast_expression "(code **)(pcStack_118 + -0x77cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_118 + -0x77cc)" ( (binary_expression "pcStack_118 + -0x77cc" identifier + number_literal) ))))) )) (argument_list "(header)" ( identifier )))) ;) (if_statement "if (iVar3 != 0) {\n                ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);\n                iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n                if (iVar3 != 0) goto LAB_00043cc0;\n              }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n                ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);\n                iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n                if (iVar3 != 0) goto LAB_00043cc0;\n              }" { (expression_statement "ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);" (assignment_expression "ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c)" identifier = (cast_expression "(char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcStack_118 + -0x7fc8) + 0x422c)" ( (binary_expression "*(int *)(pcStack_118 + -0x7fc8) + 0x422c" (pointer_expression "*(int *)(pcStack_118 + -0x7fc8)" * (cast_expression "(int *)(pcStack_118 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_118 + -0x7fc8)" ( (binary_expression "pcStack_118 + -0x7fc8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);" (assignment_expression "iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header)" identifier = (call_expression "(**(code **)(pcStack_118 + -0x77cc))(header)" (parenthesized_expression "(**(code **)(pcStack_118 + -0x77cc))" ( (pointer_expression "**(code **)(pcStack_118 + -0x77cc)" * (pointer_expression "*(code **)(pcStack_118 + -0x77cc)" * (cast_expression "(code **)(pcStack_118 + -0x77cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_118 + -0x77cc)" ( (binary_expression "pcStack_118 + -0x77cc" identifier + number_literal) ))))) )) (argument_list "(header)" ( identifier )))) ;) (if_statement "if (iVar3 != 0) goto LAB_00043cc0;" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00043cc0;" goto statement_identifier ;)) })) (expression_statement "pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74);" (assignment_expression "pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74)" identifier = (cast_expression "(code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_118 + -0x7b8c) + 0xe74)" ( (binary_expression "*(int *)(pcStack_118 + -0x7b8c) + 0xe74" (pointer_expression "*(int *)(pcStack_118 + -0x7b8c)" * (cast_expression "(int *)(pcStack_118 + -0x7b8c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_118 + -0x7b8c)" ( (binary_expression "pcStack_118 + -0x7b8c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "ppcVar15 = (char **)read_body(pFVar5);" (assignment_expression "ppcVar15 = (char **)read_body(pFVar5)" identifier = (cast_expression "(char **)read_body(pFVar5)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "read_body(pFVar5)" identifier (argument_list "(pFVar5)" ( identifier ))))) ;) (if_statement "if (ppcVar15 == (char **)0x0) {\nLAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar2 != (int *)0x0) {\n                  *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                goto LAB_000439f4;\n              }" if (parenthesized_expression "(ppcVar15 == (char **)0x0)" ( (binary_expression "ppcVar15 == (char **)0x0" identifier == (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\nLAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar2 != (int *)0x0) {\n                  *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                goto LAB_000439f4;\n              }" { (labeled_statement "LAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);" statement_identifier : (expression_statement "(**(code **)(pcStack_118 + -0x77e4))(pFVar5);" (call_expression "(**(code **)(pcStack_118 + -0x77e4))(pFVar5)" (parenthesized_expression "(**(code **)(pcStack_118 + -0x77e4))" ( (pointer_expression "**(code **)(pcStack_118 + -0x77e4)" * (pointer_expression "*(code **)(pcStack_118 + -0x77e4)" * (cast_expression "(code **)(pcStack_118 + -0x77e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_118 + -0x77e4)" ( (binary_expression "pcStack_118 + -0x77e4" identifier + number_literal) ))))) )) (argument_list "(pFVar5)" ( identifier ))) ;)) (if_statement "if (piVar2 != (int *)0x0) {\n                  *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }" if (parenthesized_expression "(piVar2 != (int *)0x0)" ( (binary_expression "piVar2 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }" { (expression_statement "*piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;" (assignment_expression "*piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8" (pointer_expression "*piVar2" * identifier) = (binary_expression "*(int *)(pcStack_118 + -0x7fc8) + 0x3ff8" (pointer_expression "*(int *)(pcStack_118 + -0x7fc8)" * (cast_expression "(int *)(pcStack_118 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_118 + -0x7fc8)" ( (binary_expression "pcStack_118 + -0x7fc8" identifier + number_literal) )))) + number_literal)) ;) })) (goto_statement "goto LAB_000439f4;" goto statement_identifier ;) })) (expression_statement "iVar3 = (**(code **)(pcStack_118 + -0x77a0))(ppcVar15);" (assignment_expression "iVar3 = (**(code **)(pcStack_118 + -0x77a0))(ppcVar15)" identifier = (call_expression "(**(code **)(pcStack_118 + -0x77a0))(ppcVar15)" (parenthesized_expression "(**(code **)(pcStack_118 + -0x77a0))" ( (pointer_expression "**(code **)(pcStack_118 + -0x77a0)" * (pointer_expression "*(code **)(pcStack_118 + -0x77a0)" * (cast_expression "(code **)(pcStack_118 + -0x77a0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_118 + -0x77a0)" ( (binary_expression "pcStack_118 + -0x77a0" identifier + number_literal) ))))) )) (argument_list "(ppcVar15)" ( identifier )))) ;) (expression_statement "ppcVar17 = ppcVar15;" (assignment_expression "ppcVar17 = ppcVar15" identifier = identifier) ;) (expression_statement "psVar11 = find_pubkey_alg_len(iVar3,(char *)ppcVar15);" (assignment_expression "psVar11 = find_pubkey_alg_len(iVar3,(char *)ppcVar15)" identifier = (call_expression "find_pubkey_alg_len(iVar3,(char *)ppcVar15)" identifier (argument_list "(iVar3,(char *)ppcVar15)" ( identifier , (cast_expression "(char *)ppcVar15" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "(**(code **)(pcStack_118 + -0x7f80))(ppcVar15);" (call_expression "(**(code **)(pcStack_118 + -0x7f80))(ppcVar15)" (parenthesized_expression "(**(code **)(pcStack_118 + -0x7f80))" ( (pointer_expression "**(code **)(pcStack_118 + -0x7f80)" * (pointer_expression "*(code **)(pcStack_118 + -0x7f80)" * (cast_expression "(code **)(pcStack_118 + -0x7f80)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_118 + -0x7f80)" ( (binary_expression "pcStack_118 + -0x7f80" identifier + number_literal) ))))) )) (argument_list "(ppcVar15)" ( identifier ))) ;) (if_statement "if ((psVar11 == (ssh_signkey *)0x0) ||\n                 (ppcVar17 = header, iVar3 = read_header(pFVar5,(char *)header), iVar3 == 0))\n              goto LAB_00043c9c;" if (parenthesized_expression "((psVar11 == (ssh_signkey *)0x0) ||\n                 (ppcVar17 = header, iVar3 = read_header(pFVar5,(char *)header), iVar3 == 0))" ( (binary_expression "(psVar11 == (ssh_signkey *)0x0) ||\n                 (ppcVar17 = header, iVar3 = read_header(pFVar5,(char *)header), iVar3 == 0)" (parenthesized_expression "(psVar11 == (ssh_signkey *)0x0)" ( (binary_expression "psVar11 == (ssh_signkey *)0x0" identifier == (cast_expression "(ssh_signkey *)0x0" ( (type_descriptor "ssh_signkey *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(ppcVar17 = header, iVar3 = read_header(pFVar5,(char *)header), iVar3 == 0)" ( (comma_expression "ppcVar17 = header, iVar3 = read_header(pFVar5,(char *)header), iVar3 == 0" (assignment_expression "ppcVar17 = header" identifier = identifier) , (comma_expression "iVar3 = read_header(pFVar5,(char *)header), iVar3 == 0" (assignment_expression "iVar3 = read_header(pFVar5,(char *)header)" identifier = (call_expression "read_header(pFVar5,(char *)header)" identifier (argument_list "(pFVar5,(char *)header)" ( identifier , (cast_expression "(char *)header" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) , (binary_expression "iVar3 == 0" identifier == number_literal))) ))) )) (goto_statement "goto LAB_00043c9c;" goto statement_identifier ;)) (expression_statement "ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244);" (assignment_expression "ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244)" identifier = (cast_expression "(char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcStack_118 + -0x7fc8) + 0x4244)" ( (binary_expression "*(int *)(pcStack_118 + -0x7fc8) + 0x4244" (pointer_expression "*(int *)(pcStack_118 + -0x7fc8)" * (cast_expression "(int *)(pcStack_118 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_118 + -0x7fc8)" ( (binary_expression "pcStack_118 + -0x7fc8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);" (assignment_expression "iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header)" identifier = (call_expression "(**(code **)(pcStack_118 + -0x77cc))(header)" (parenthesized_expression "(**(code **)(pcStack_118 + -0x77cc))" ( (pointer_expression "**(code **)(pcStack_118 + -0x77cc)" * (pointer_expression "*(code **)(pcStack_118 + -0x77cc)" * (cast_expression "(code **)(pcStack_118 + -0x77cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_118 + -0x77cc)" ( (binary_expression "pcStack_118 + -0x77cc" identifier + number_literal) ))))) )) (argument_list "(header)" ( identifier )))) ;) (if_statement "if ((iVar3 != 0) || (iVar3 = (*pcStack_110)(pFVar5), iVar3 == 0)) goto LAB_00043c9c;" if (parenthesized_expression "((iVar3 != 0) || (iVar3 = (*pcStack_110)(pFVar5), iVar3 == 0))" ( (binary_expression "(iVar3 != 0) || (iVar3 = (*pcStack_110)(pFVar5), iVar3 == 0)" (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) || (parenthesized_expression "(iVar3 = (*pcStack_110)(pFVar5), iVar3 == 0)" ( (comma_expression "iVar3 = (*pcStack_110)(pFVar5), iVar3 == 0" (assignment_expression "iVar3 = (*pcStack_110)(pFVar5)" identifier = (call_expression "(*pcStack_110)(pFVar5)" (parenthesized_expression "(*pcStack_110)" ( (pointer_expression "*pcStack_110" * identifier) )) (argument_list "(pFVar5)" ( identifier )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_00043c9c;" goto statement_identifier ;)) (expression_statement "(**(code **)(pcStack_118 + -0x7f80))(iVar3);" (call_expression "(**(code **)(pcStack_118 + -0x7f80))(iVar3)" (parenthesized_expression "(**(code **)(pcStack_118 + -0x7f80))" ( (pointer_expression "**(code **)(pcStack_118 + -0x7f80)" * (pointer_expression "*(code **)(pcStack_118 + -0x7f80)" * (cast_expression "(code **)(pcStack_118 + -0x7f80)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_118 + -0x7f80)" ( (binary_expression "pcStack_118 + -0x7f80" identifier + number_literal) ))))) )) (argument_list "(iVar3)" ( identifier ))) ;) (expression_statement "ppcVar17 = header;" (assignment_expression "ppcVar17 = header" identifier = identifier) ;) (expression_statement "iVar3 = read_header(pFVar5,(char *)header);" (assignment_expression "iVar3 = read_header(pFVar5,(char *)header)" identifier = (call_expression "read_header(pFVar5,(char *)header)" identifier (argument_list "(pFVar5,(char *)header)" ( identifier , (cast_expression "(char *)header" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (if_statement "if (iVar3 == 0) goto LAB_00043c9c;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00043c9c;" goto statement_identifier ;)) (expression_statement "ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258);" (assignment_expression "ppcVar17 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258)" identifier = (cast_expression "(char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcStack_118 + -0x7fc8) + 0x4258)" ( (binary_expression "*(int *)(pcStack_118 + -0x7fc8) + 0x4258" (pointer_expression "*(int *)(pcStack_118 + -0x7fc8)" * (cast_expression "(int *)(pcStack_118 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_118 + -0x7fc8)" ( (binary_expression "pcStack_118 + -0x7fc8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);" (assignment_expression "iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header)" identifier = (call_expression "(**(code **)(pcStack_118 + -0x77cc))(header)" (parenthesized_expression "(**(code **)(pcStack_118 + -0x77cc))" ( (pointer_expression "**(code **)(pcStack_118 + -0x77cc)" * (pointer_expression "*(code **)(pcStack_118 + -0x77cc)" * (cast_expression "(code **)(pcStack_118 + -0x77cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_118 + -0x77cc)" ( (binary_expression "pcStack_118 + -0x77cc" identifier + number_literal) ))))) )) (argument_list "(header)" ( identifier )))) ;) (if_statement "if ((iVar3 != 0) || (pcVar28 = (code *)(*pcStack_110)(pFVar5), pcVar28 == (code *)0x0)\n                 ) goto LAB_00043c9c;" if (parenthesized_expression "((iVar3 != 0) || (pcVar28 = (code *)(*pcStack_110)(pFVar5), pcVar28 == (code *)0x0)\n                 )" ( (binary_expression "(iVar3 != 0) || (pcVar28 = (code *)(*pcStack_110)(pFVar5), pcVar28 == (code *)0x0)" (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) || (parenthesized_expression "(pcVar28 = (code *)(*pcStack_110)(pFVar5), pcVar28 == (code *)0x0)" ( (comma_expression "pcVar28 = (code *)(*pcStack_110)(pFVar5), pcVar28 == (code *)0x0" (assignment_expression "pcVar28 = (code *)(*pcStack_110)(pFVar5)" identifier = (cast_expression "(code *)(*pcStack_110)(pFVar5)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcStack_110)(pFVar5)" (parenthesized_expression "(*pcStack_110)" ( (pointer_expression "*pcStack_110" * identifier) )) (argument_list "(pFVar5)" ( identifier ))))) , (binary_expression "pcVar28 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (goto_statement "goto LAB_00043c9c;" goto statement_identifier ;)) (expression_statement "pcStack_10c = pcVar28;" (assignment_expression "pcStack_10c = pcVar28" identifier = identifier) ;) (if_statement "if (piVar20 == (int *)0x0) {\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar28);\n              }\n              else {\n                *piVar20 = (int)pcVar28;\n              }" 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)) )) (compound_statement "{\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar28);\n              }" { (expression_statement "(**(code **)(pcStack_118 + -0x7f80))(pcVar28);" (call_expression "(**(code **)(pcStack_118 + -0x7f80))(pcVar28)" (parenthesized_expression "(**(code **)(pcStack_118 + -0x7f80))" ( (pointer_expression "**(code **)(pcStack_118 + -0x7f80)" * (pointer_expression "*(code **)(pcStack_118 + -0x7f80)" * (cast_expression "(code **)(pcStack_118 + -0x7f80)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_118 + -0x7f80)" ( (binary_expression "pcStack_118 + -0x7f80" identifier + number_literal) ))))) )) (argument_list "(pcVar28)" ( identifier ))) ;) }) (else_clause "else {\n                *piVar20 = (int)pcVar28;\n              }" else (compound_statement "{\n                *piVar20 = (int)pcVar28;\n              }" { (expression_statement "*piVar20 = (int)pcVar28;" (assignment_expression "*piVar20 = (int)pcVar28" (pointer_expression "*piVar20" * identifier) = (cast_expression "(int)pcVar28" ( (type_descriptor "int" primitive_type) ) identifier)) ;) }))) (expression_statement "ppcVar15 = header;" (assignment_expression "ppcVar15 = header" identifier = identifier) ;) (expression_statement "iVar3 = read_header(pFVar5,(char *)header);" (assignment_expression "iVar3 = read_header(pFVar5,(char *)header)" identifier = (call_expression "read_header(pFVar5,(char *)header)" identifier (argument_list "(pFVar5,(char *)header)" ( identifier , (cast_expression "(char *)header" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "pcVar28 = pcStack_10c;" (assignment_expression "pcVar28 = pcStack_10c" identifier = identifier) ;) (if_statement "if (iVar3 == 0) {\nLAB_00043d58:\n                ppcVar17 = ppcVar15;\n                pcStack_110 = pcVar28;\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar2 != (int *)0x0) {\n                  *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                if (piVar20 == (int *)0x0) goto LAB_000439f4;\n                puVar25 = (uchar *)0x0;\n                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);\n                *piVar20 = 0;\n              }\n              else {\n                ppcVar15 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n                pcVar28 = pcStack_10c;\n                if ((iVar3 != 0) ||\n                   (pcVar23 = (char *)(*pcStack_110)(pFVar5), pcVar28 = pcStack_10c,\n                   pcVar23 == (char *)0x0)) goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                ppcVar17 = (char **)userkey_parse_line_counter(pcVar23);\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n                pcVar28 = pcStack_110;\n                if (((int)ppcVar17 < 0) ||\n                   (puVar25 = read_blob(pFVar5,(int)ppcVar17,&iStack_108), ppcVar15 = ppcVar17,\n                   pcVar28 = pcStack_110, puVar25 == (uchar *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar19 != (int *)0x0) {\n                  *piVar19 = iStack_108;\n                }\n                if (ppcVar16 != (char **)0x0) {\n                  pcVar23 = (char *)(**(code **)(pcStack_118 + -0x7f74))(psVar11->name);\n                  *ppcVar16 = pcVar23;\n                }\n              }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00043d58:\n                ppcVar17 = ppcVar15;\n                pcStack_110 = pcVar28;\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar2 != (int *)0x0) {\n                  *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                if (piVar20 == (int *)0x0) goto LAB_000439f4;\n                puVar25 = (uchar *)0x0;\n                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);\n                *piVar20 = 0;\n              }" { (labeled_statement "LAB_00043d58:\n                ppcVar17 = ppcVar15;" statement_identifier : (expression_statement "ppcVar17 = ppcVar15;" (assignment_expression "ppcVar17 = ppcVar15" identifier = identifier) ;)) (expression_statement "pcStack_110 = pcVar28;" (assignment_expression "pcStack_110 = pcVar28" identifier = identifier) ;) (expression_statement "(**(code **)(pcStack_118 + -0x77e4))(pFVar5);" (call_expression "(**(code **)(pcStack_118 + -0x77e4))(pFVar5)" (parenthesized_expression "(**(code **)(pcStack_118 + -0x77e4))" ( (pointer_expression "**(code **)(pcStack_118 + -0x77e4)" * (pointer_expression "*(code **)(pcStack_118 + -0x77e4)" * (cast_expression "(code **)(pcStack_118 + -0x77e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_118 + -0x77e4)" ( (binary_expression "pcStack_118 + -0x77e4" identifier + number_literal) ))))) )) (argument_list "(pFVar5)" ( identifier ))) ;) (if_statement "if (piVar2 != (int *)0x0) {\n                  *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }" if (parenthesized_expression "(piVar2 != (int *)0x0)" ( (binary_expression "piVar2 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  *piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }" { (expression_statement "*piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;" (assignment_expression "*piVar2 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8" (pointer_expression "*piVar2" * identifier) = (binary_expression "*(int *)(pcStack_118 + -0x7fc8) + 0x3ff8" (pointer_expression "*(int *)(pcStack_118 + -0x7fc8)" * (cast_expression "(int *)(pcStack_118 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_118 + -0x7fc8)" ( (binary_expression "pcStack_118 + -0x7fc8" identifier + number_literal) )))) + number_literal)) ;) })) (if_statement "if (piVar20 == (int *)0x0) goto LAB_000439f4;" 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_000439f4;" goto statement_identifier ;)) (expression_statement "puVar25 = (uchar *)0x0;" (assignment_expression "puVar25 = (uchar *)0x0" identifier = (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(pcStack_118 + -0x7f80))(pcStack_110);" (call_expression "(**(code **)(pcStack_118 + -0x7f80))(pcStack_110)" (parenthesized_expression "(**(code **)(pcStack_118 + -0x7f80))" ( (pointer_expression "**(code **)(pcStack_118 + -0x7f80)" * (pointer_expression "*(code **)(pcStack_118 + -0x7f80)" * (cast_expression "(code **)(pcStack_118 + -0x7f80)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_118 + -0x7f80)" ( (binary_expression "pcStack_118 + -0x7f80" identifier + number_literal) ))))) )) (argument_list "(pcStack_110)" ( identifier ))) ;) (expression_statement "*piVar20 = 0;" (assignment_expression "*piVar20 = 0" (pointer_expression "*piVar20" * identifier) = number_literal) ;) }) (else_clause "else {\n                ppcVar15 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n                pcVar28 = pcStack_10c;\n                if ((iVar3 != 0) ||\n                   (pcVar23 = (char *)(*pcStack_110)(pFVar5), pcVar28 = pcStack_10c,\n                   pcVar23 == (char *)0x0)) goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                ppcVar17 = (char **)userkey_parse_line_counter(pcVar23);\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n                pcVar28 = pcStack_110;\n                if (((int)ppcVar17 < 0) ||\n                   (puVar25 = read_blob(pFVar5,(int)ppcVar17,&iStack_108), ppcVar15 = ppcVar17,\n                   pcVar28 = pcStack_110, puVar25 == (uchar *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar19 != (int *)0x0) {\n                  *piVar19 = iStack_108;\n                }\n                if (ppcVar16 != (char **)0x0) {\n                  pcVar23 = (char *)(**(code **)(pcStack_118 + -0x7f74))(psVar11->name);\n                  *ppcVar16 = pcVar23;\n                }\n              }" else (compound_statement "{\n                ppcVar15 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);\n                pcVar28 = pcStack_10c;\n                if ((iVar3 != 0) ||\n                   (pcVar23 = (char *)(*pcStack_110)(pFVar5), pcVar28 = pcStack_10c,\n                   pcVar23 == (char *)0x0)) goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                ppcVar17 = (char **)userkey_parse_line_counter(pcVar23);\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n                pcVar28 = pcStack_110;\n                if (((int)ppcVar17 < 0) ||\n                   (puVar25 = read_blob(pFVar5,(int)ppcVar17,&iStack_108), ppcVar15 = ppcVar17,\n                   pcVar28 = pcStack_110, puVar25 == (uchar *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(pFVar5);\n                if (piVar19 != (int *)0x0) {\n                  *piVar19 = iStack_108;\n                }\n                if (ppcVar16 != (char **)0x0) {\n                  pcVar23 = (char *)(**(code **)(pcStack_118 + -0x7f74))(psVar11->name);\n                  *ppcVar16 = pcVar23;\n                }\n              }" { (expression_statement "ppcVar15 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);" (assignment_expression "ppcVar15 = (char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260)" identifier = (cast_expression "(char **)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcStack_118 + -0x7fc8) + 0x4260)" ( (binary_expression "*(int *)(pcStack_118 + -0x7fc8) + 0x4260" (pointer_expression "*(int *)(pcStack_118 + -0x7fc8)" * (cast_expression "(int *)(pcStack_118 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_118 + -0x7fc8)" ( (binary_expression "pcStack_118 + -0x7fc8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header);" (assignment_expression "iVar3 = (**(code **)(pcStack_118 + -0x77cc))(header)" identifier = (call_expression "(**(code **)(pcStack_118 + -0x77cc))(header)" (parenthesized_expression "(**(code **)(pcStack_118 + -0x77cc))" ( (pointer_expression "**(code **)(pcStack_118 + -0x77cc)" * (pointer_expression "*(code **)(pcStack_118 + -0x77cc)" * (cast_expression "(code **)(pcStack_118 + -0x77cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_118 + -0x77cc)" ( (binary_expression "pcStack_118 + -0x77cc" identifier + number_literal) ))))) )) (argument_list "(header)" ( identifier )))) ;) (expression_statement "pcVar28 = pcStack_10c;" (assignment_expression "pcVar28 = pcStack_10c" identifier = identifier) ;) (if_statement "if ((iVar3 != 0) ||\n                   (pcVar23 = (char *)(*pcStack_110)(pFVar5), pcVar28 = pcStack_10c,\n                   pcVar23 == (char *)0x0)) goto LAB_00043d58;" if (parenthesized_expression "((iVar3 != 0) ||\n                   (pcVar23 = (char *)(*pcStack_110)(pFVar5), pcVar28 = pcStack_10c,\n                   pcVar23 == (char *)0x0))" ( (binary_expression "(iVar3 != 0) ||\n                   (pcVar23 = (char *)(*pcStack_110)(pFVar5), pcVar28 = pcStack_10c,\n                   pcVar23 == (char *)0x0)" (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) || (parenthesized_expression "(pcVar23 = (char *)(*pcStack_110)(pFVar5), pcVar28 = pcStack_10c,\n                   pcVar23 == (char *)0x0)" ( (comma_expression "pcVar23 = (char *)(*pcStack_110)(pFVar5), pcVar28 = pcStack_10c,\n                   pcVar23 == (char *)0x0" (assignment_expression "pcVar23 = (char *)(*pcStack_110)(pFVar5)" identifier = (cast_expression "(char *)(*pcStack_110)(pFVar5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcStack_110)(pFVar5)" (parenthesized_expression "(*pcStack_110)" ( (pointer_expression "*pcStack_110" * identifier) )) (argument_list "(pFVar5)" ( identifier ))))) , (comma_expression "pcVar28 = pcStack_10c,\n                   pcVar23 == (char *)0x0" (assignment_expression "pcVar28 = pcStack_10c" identifier = identifier) , (binary_expression "pcVar23 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)))) ))) )) (goto_statement "goto LAB_00043d58;" goto statement_identifier ;)) (expression_statement "pcStack_110 = pcStack_10c;" (assignment_expression "pcStack_110 = pcStack_10c" identifier = identifier) ;) (expression_statement "ppcVar17 = (char **)userkey_parse_line_counter(pcVar23);" (assignment_expression "ppcVar17 = (char **)userkey_parse_line_counter(pcVar23)" identifier = (cast_expression "(char **)userkey_parse_line_counter(pcVar23)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "userkey_parse_line_counter(pcVar23)" identifier (argument_list "(pcVar23)" ( identifier ))))) ;) (expression_statement "(**(code **)(pcStack_118 + -0x7f80))(pcVar23);" (call_expression "(**(code **)(pcStack_118 + -0x7f80))(pcVar23)" (parenthesized_expression "(**(code **)(pcStack_118 + -0x7f80))" ( (pointer_expression "**(code **)(pcStack_118 + -0x7f80)" * (pointer_expression "*(code **)(pcStack_118 + -0x7f80)" * (cast_expression "(code **)(pcStack_118 + -0x7f80)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_118 + -0x7f80)" ( (binary_expression "pcStack_118 + -0x7f80" identifier + number_literal) ))))) )) (argument_list "(pcVar23)" ( identifier ))) ;) (expression_statement "pcVar28 = pcStack_110;" (assignment_expression "pcVar28 = pcStack_110" identifier = identifier) ;) (if_statement "if (((int)ppcVar17 < 0) ||\n                   (puVar25 = read_blob(pFVar5,(int)ppcVar17,&iStack_108), ppcVar15 = ppcVar17,\n                   pcVar28 = pcStack_110, puVar25 == (uchar *)0x0)) goto LAB_00043d58;" if (parenthesized_expression "(((int)ppcVar17 < 0) ||\n                   (puVar25 = read_blob(pFVar5,(int)ppcVar17,&iStack_108), ppcVar15 = ppcVar17,\n                   pcVar28 = pcStack_110, puVar25 == (uchar *)0x0))" ( (binary_expression "((int)ppcVar17 < 0) ||\n                   (puVar25 = read_blob(pFVar5,(int)ppcVar17,&iStack_108), ppcVar15 = ppcVar17,\n                   pcVar28 = pcStack_110, puVar25 == (uchar *)0x0)" (parenthesized_expression "((int)ppcVar17 < 0)" ( (binary_expression "(int)ppcVar17 < 0" (cast_expression "(int)ppcVar17" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) || (parenthesized_expression "(puVar25 = read_blob(pFVar5,(int)ppcVar17,&iStack_108), ppcVar15 = ppcVar17,\n                   pcVar28 = pcStack_110, puVar25 == (uchar *)0x0)" ( (comma_expression "puVar25 = read_blob(pFVar5,(int)ppcVar17,&iStack_108), ppcVar15 = ppcVar17,\n                   pcVar28 = pcStack_110, puVar25 == (uchar *)0x0" (assignment_expression "puVar25 = read_blob(pFVar5,(int)ppcVar17,&iStack_108)" identifier = (call_expression "read_blob(pFVar5,(int)ppcVar17,&iStack_108)" identifier (argument_list "(pFVar5,(int)ppcVar17,&iStack_108)" ( identifier , (cast_expression "(int)ppcVar17" ( (type_descriptor "int" primitive_type) ) identifier) , (pointer_expression "&iStack_108" & identifier) )))) , (comma_expression "ppcVar15 = ppcVar17,\n                   pcVar28 = pcStack_110, puVar25 == (uchar *)0x0" (assignment_expression "ppcVar15 = ppcVar17" identifier = identifier) , (comma_expression "pcVar28 = pcStack_110, puVar25 == (uchar *)0x0" (assignment_expression "pcVar28 = pcStack_110" identifier = identifier) , (binary_expression "puVar25 == (uchar *)0x0" identifier == (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))))) ))) )) (goto_statement "goto LAB_00043d58;" goto statement_identifier ;)) (expression_statement "(**(code **)(pcStack_118 + -0x77e4))(pFVar5);" (call_expression "(**(code **)(pcStack_118 + -0x77e4))(pFVar5)" (parenthesized_expression "(**(code **)(pcStack_118 + -0x77e4))" ( (pointer_expression "**(code **)(pcStack_118 + -0x77e4)" * (pointer_expression "*(code **)(pcStack_118 + -0x77e4)" * (cast_expression "(code **)(pcStack_118 + -0x77e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_118 + -0x77e4)" ( (binary_expression "pcStack_118 + -0x77e4" identifier + number_literal) ))))) )) (argument_list "(pFVar5)" ( identifier ))) ;) (if_statement "if (piVar19 != (int *)0x0) {\n                  *piVar19 = iStack_108;\n                }" if (parenthesized_expression "(piVar19 != (int *)0x0)" ( (binary_expression "piVar19 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  *piVar19 = iStack_108;\n                }" { (expression_statement "*piVar19 = iStack_108;" (assignment_expression "*piVar19 = iStack_108" (pointer_expression "*piVar19" * identifier) = identifier) ;) })) (if_statement "if (ppcVar16 != (char **)0x0) {\n                  pcVar23 = (char *)(**(code **)(pcStack_118 + -0x7f74))(psVar11->name);\n                  *ppcVar16 = pcVar23;\n                }" if (parenthesized_expression "(ppcVar16 != (char **)0x0)" ( (binary_expression "ppcVar16 != (char **)0x0" identifier != (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n                  pcVar23 = (char *)(**(code **)(pcStack_118 + -0x7f74))(psVar11->name);\n                  *ppcVar16 = pcVar23;\n                }" { (expression_statement "pcVar23 = (char *)(**(code **)(pcStack_118 + -0x7f74))(psVar11->name);" (assignment_expression "pcVar23 = (char *)(**(code **)(pcStack_118 + -0x7f74))(psVar11->name)" identifier = (cast_expression "(char *)(**(code **)(pcStack_118 + -0x7f74))(psVar11->name)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_118 + -0x7f74))(psVar11->name)" (parenthesized_expression "(**(code **)(pcStack_118 + -0x7f74))" ( (pointer_expression "**(code **)(pcStack_118 + -0x7f74)" * (pointer_expression "*(code **)(pcStack_118 + -0x7f74)" * (cast_expression "(code **)(pcStack_118 + -0x7f74)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_118 + -0x7f74)" ( (binary_expression "pcStack_118 + -0x7f74" identifier + number_literal) ))))) )) (argument_list "(psVar11->name)" ( (field_expression "psVar11->name" identifier -> field_identifier) ))))) ;) (expression_statement "*ppcVar16 = pcVar23;" (assignment_expression "*ppcVar16 = pcVar23" (pointer_expression "*ppcVar16" * identifier) = identifier) ;) })) }))) (goto_statement "goto LAB_000439f8;" goto statement_identifier ;) })) (expression_statement "pcVar28 = *(code **)(pcStack_118 + -0x7b10);" (assignment_expression "pcVar28 = *(code **)(pcStack_118 + -0x7b10)" identifier = (pointer_expression "*(code **)(pcStack_118 + -0x7b10)" * (cast_expression "(code **)(pcStack_118 + -0x7b10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_118 + -0x7b10)" ( (binary_expression "pcStack_118 + -0x7b10" identifier + number_literal) ))))) ;) }))) (expression_statement "piStack_120 = piVar2;" (assignment_expression "piStack_120 = piVar2" identifier = identifier) ;) (expression_statement "ppcVar17 = ppcVar16;" (assignment_expression "ppcVar17 = ppcVar16" identifier = identifier) ;) (expression_statement "puVar25 = (uchar *)(*pcVar28)(pFVar5,ppcVar16,piVar19,piVar20);" (assignment_expression "puVar25 = (uchar *)(*pcVar28)(pFVar5,ppcVar16,piVar19,piVar20)" identifier = (cast_expression "(uchar *)(*pcVar28)(pFVar5,ppcVar16,piVar19,piVar20)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar28)(pFVar5,ppcVar16,piVar19,piVar20)" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "(pFVar5,ppcVar16,piVar19,piVar20)" ( identifier , identifier , identifier , identifier ))))) ;) (expression_statement "(**(code **)(pcStack_118 + -0x77e4))(pFVar5);" (call_expression "(**(code **)(pcStack_118 + -0x77e4))(pFVar5)" (parenthesized_expression "(**(code **)(pcStack_118 + -0x77e4))" ( (pointer_expression "**(code **)(pcStack_118 + -0x77e4)" * (pointer_expression "*(code **)(pcStack_118 + -0x77e4)" * (cast_expression "(code **)(pcStack_118 + -0x77e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_118 + -0x77e4)" ( (binary_expression "pcStack_118 + -0x77e4" identifier + number_literal) ))))) )) (argument_list "(pFVar5)" ( identifier ))) ;) }))) (labeled_statement "LAB_000439f8:\n        if (pFStack_dc == (Filename *)*piVar22) {\n          return puVar25;\n        }" statement_identifier : (if_statement "if (pFStack_dc == (Filename *)*piVar22) {\n          return puVar25;\n        }" if (parenthesized_expression "(pFStack_dc == (Filename *)*piVar22)" ( (binary_expression "pFStack_dc == (Filename *)*piVar22" identifier == (cast_expression "(Filename *)*piVar22" ( (type_descriptor "Filename *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar22" * identifier))) )) (compound_statement "{\n          return puVar25;\n        }" { (return_statement "return puVar25;" return identifier ;) }))) (expression_statement "pcVar28 = *(code **)(pcStack_118 + -0x7880);" (assignment_expression "pcVar28 = *(code **)(pcStack_118 + -0x7880)" identifier = (pointer_expression "*(code **)(pcStack_118 + -0x7880)" * (cast_expression "(code **)(pcStack_118 + -0x7880)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_118 + -0x7880)" ( (binary_expression "pcStack_118 + -0x7880" identifier + number_literal) ))))) ;) (expression_statement "pcVar29 = ssh2_userkey_encrypted;" (assignment_expression "pcVar29 = ssh2_userkey_encrypted" identifier = identifier) ;) (expression_statement "pFVar14 = pFStack_dc;" (assignment_expression "pFVar14 = pFStack_dc" identifier = identifier) ;) (expression_statement "(*pcVar28)();" (call_expression "(*pcVar28)()" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piVar9 = *(int **)(pcVar28 + 0x35b70);" (assignment_expression "piVar9 = *(int **)(pcVar28 + 0x35b70)" identifier = (pointer_expression "*(int **)(pcVar28 + 0x35b70)" * (cast_expression "(int **)(pcVar28 + 0x35b70)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x35b70)" ( (binary_expression "pcVar28 + 0x35b70" identifier + number_literal) ))))) ;) (expression_statement "piStack_150 = piVar2;" (assignment_expression "piStack_150 = piVar2" identifier = identifier) ;) (expression_statement "iStack_15c = *piVar9;" (assignment_expression "iStack_15c = *piVar9" identifier = (pointer_expression "*piVar9" * identifier)) ;) (if_statement "if (ppcVar17 != (char **)0x0) {\n          *ppcVar17 = (char *)0x0;\n        }" if (parenthesized_expression "(ppcVar17 != (char **)0x0)" ( (binary_expression "ppcVar17 != (char **)0x0" identifier != (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n          *ppcVar17 = (char *)0x0;\n        }" { (expression_statement "*ppcVar17 = (char *)0x0;" (assignment_expression "*ppcVar17 = (char *)0x0" (pointer_expression "*ppcVar17" * identifier) = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (expression_statement "piStack_154 = piVar22;" (assignment_expression "piStack_154 = piVar22" identifier = identifier) ;) (expression_statement "piStack_14c = piVar20;" (assignment_expression "piStack_14c = piVar20" identifier = identifier) ;) (expression_statement "ppcStack_148 = ppcVar16;" (assignment_expression "ppcStack_148 = ppcVar16" identifier = identifier) ;) (expression_statement "piStack_144 = piVar19;" (assignment_expression "piStack_144 = piVar19" identifier = identifier) ;) (expression_statement "puStack_140 = puVar25;" (assignment_expression "puStack_140 = puVar25" identifier = identifier) ;) (expression_statement "ppcStack_13c = header;" (assignment_expression "ppcStack_13c = header" identifier = identifier) ;) (expression_statement "pFStack_138 = pFVar5;" (assignment_expression "pFStack_138 = pFVar5" identifier = identifier) ;) (expression_statement "pcStack_134 = pcVar29;" (assignment_expression "pcStack_134 = pcVar29" identifier = identifier) ;) (expression_statement "pFVar12 = f_open(pFVar14,(char *)(*(int *)(pcVar28 + 0x352e8) + 0x4078),0);" (assignment_expression "pFVar12 = f_open(pFVar14,(char *)(*(int *)(pcVar28 + 0x352e8) + 0x4078),0)" identifier = (call_expression "f_open(pFVar14,(char *)(*(int *)(pcVar28 + 0x352e8) + 0x4078),0)" identifier (argument_list "(pFVar14,(char *)(*(int *)(pcVar28 + 0x352e8) + 0x4078),0)" ( identifier , (cast_expression "(char *)(*(int *)(pcVar28 + 0x352e8) + 0x4078)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar28 + 0x352e8) + 0x4078)" ( (binary_expression "*(int *)(pcVar28 + 0x352e8) + 0x4078" (pointer_expression "*(int *)(pcVar28 + 0x352e8)" * (cast_expression "(int *)(pcVar28 + 0x352e8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x352e8)" ( (binary_expression "pcVar28 + 0x352e8" identifier + number_literal) )))) + number_literal) ))) , number_literal )))) ;) (if_statement "if (pFVar12 == (FILE *)0x0) {\n          puVar25 = (uchar *)0x0;\n        }\n        else {\n          iVar3 = read_header(pFVar12,acStack_184);\n          if ((iVar3 != 0) &&\n             (((iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                  (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4214), iVar3 == 0 ||\n               (iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                  (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x422c), iVar3 == 0))\n              && (pcVar23 = read_body(pFVar12), pcVar23 != (char *)0x0)))) {\n            (**(code **)(pcVar28 + 0x35330))(pcVar23);\n            iVar3 = read_header(pFVar12,acStack_184);\n            if ((iVar3 != 0) &&\n               (iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                  (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4244), iVar3 == 0)) {\n              pcVar23 = read_body(pFVar12);\n              if (pcVar23 == (char *)0x0) {\n                (**(code **)(pcVar28 + 0x35acc))(pFVar12);\n                puVar25 = (uchar *)0x0;\n              }\n              else {\n                iVar3 = read_header(pFVar12,acStack_184);\n                if (((iVar3 == 0) ||\n                    (iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                       (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4258),\n                    iVar3 != 0)) || (pcVar21 = read_body(pFVar12), pcVar21 == (char *)0x0)) {\n                  puVar25 = (uchar *)0x1;\n                  (**(code **)(pcVar28 + 0x35acc))(pFVar12);\n                  (**(code **)(pcVar28 + 0x35330))(pcVar23);\n                }\n                else {\n                  if (ppcVar17 == (char **)0x0) {\n                    (**(code **)(pcVar28 + 0x35330))(pcVar21);\n                  }\n                  else {\n                    *ppcVar17 = pcVar21;\n                  }\n                  (**(code **)(pcVar28 + 0x35acc))(pFVar12);\n                  iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                    (pcVar23,*(int *)(pcVar28 + 0x352e8) + 0x7c4);\n                  puVar25 = (uchar *)(uint)(iVar3 == 0);\n                  (**(code **)(pcVar28 + 0x35330))(pcVar23);\n                }\n              }\n              goto LAB_00043f04;\n            }\n          }\n          puVar25 = (uchar *)0x0;\n          (**(code **)(pcVar28 + 0x35acc))(pFVar12);\n        }" if (parenthesized_expression "(pFVar12 == (FILE *)0x0)" ( (binary_expression "pFVar12 == (FILE *)0x0" identifier == (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          puVar25 = (uchar *)0x0;\n        }" { (expression_statement "puVar25 = (uchar *)0x0;" (assignment_expression "puVar25 = (uchar *)0x0" identifier = (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n          iVar3 = read_header(pFVar12,acStack_184);\n          if ((iVar3 != 0) &&\n             (((iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                  (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4214), iVar3 == 0 ||\n               (iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                  (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x422c), iVar3 == 0))\n              && (pcVar23 = read_body(pFVar12), pcVar23 != (char *)0x0)))) {\n            (**(code **)(pcVar28 + 0x35330))(pcVar23);\n            iVar3 = read_header(pFVar12,acStack_184);\n            if ((iVar3 != 0) &&\n               (iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                  (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4244), iVar3 == 0)) {\n              pcVar23 = read_body(pFVar12);\n              if (pcVar23 == (char *)0x0) {\n                (**(code **)(pcVar28 + 0x35acc))(pFVar12);\n                puVar25 = (uchar *)0x0;\n              }\n              else {\n                iVar3 = read_header(pFVar12,acStack_184);\n                if (((iVar3 == 0) ||\n                    (iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                       (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4258),\n                    iVar3 != 0)) || (pcVar21 = read_body(pFVar12), pcVar21 == (char *)0x0)) {\n                  puVar25 = (uchar *)0x1;\n                  (**(code **)(pcVar28 + 0x35acc))(pFVar12);\n                  (**(code **)(pcVar28 + 0x35330))(pcVar23);\n                }\n                else {\n                  if (ppcVar17 == (char **)0x0) {\n                    (**(code **)(pcVar28 + 0x35330))(pcVar21);\n                  }\n                  else {\n                    *ppcVar17 = pcVar21;\n                  }\n                  (**(code **)(pcVar28 + 0x35acc))(pFVar12);\n                  iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                    (pcVar23,*(int *)(pcVar28 + 0x352e8) + 0x7c4);\n                  puVar25 = (uchar *)(uint)(iVar3 == 0);\n                  (**(code **)(pcVar28 + 0x35330))(pcVar23);\n                }\n              }\n              goto LAB_00043f04;\n            }\n          }\n          puVar25 = (uchar *)0x0;\n          (**(code **)(pcVar28 + 0x35acc))(pFVar12);\n        }" else (compound_statement "{\n          iVar3 = read_header(pFVar12,acStack_184);\n          if ((iVar3 != 0) &&\n             (((iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                  (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4214), iVar3 == 0 ||\n               (iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                  (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x422c), iVar3 == 0))\n              && (pcVar23 = read_body(pFVar12), pcVar23 != (char *)0x0)))) {\n            (**(code **)(pcVar28 + 0x35330))(pcVar23);\n            iVar3 = read_header(pFVar12,acStack_184);\n            if ((iVar3 != 0) &&\n               (iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                  (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4244), iVar3 == 0)) {\n              pcVar23 = read_body(pFVar12);\n              if (pcVar23 == (char *)0x0) {\n                (**(code **)(pcVar28 + 0x35acc))(pFVar12);\n                puVar25 = (uchar *)0x0;\n              }\n              else {\n                iVar3 = read_header(pFVar12,acStack_184);\n                if (((iVar3 == 0) ||\n                    (iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                       (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4258),\n                    iVar3 != 0)) || (pcVar21 = read_body(pFVar12), pcVar21 == (char *)0x0)) {\n                  puVar25 = (uchar *)0x1;\n                  (**(code **)(pcVar28 + 0x35acc))(pFVar12);\n                  (**(code **)(pcVar28 + 0x35330))(pcVar23);\n                }\n                else {\n                  if (ppcVar17 == (char **)0x0) {\n                    (**(code **)(pcVar28 + 0x35330))(pcVar21);\n                  }\n                  else {\n                    *ppcVar17 = pcVar21;\n                  }\n                  (**(code **)(pcVar28 + 0x35acc))(pFVar12);\n                  iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                    (pcVar23,*(int *)(pcVar28 + 0x352e8) + 0x7c4);\n                  puVar25 = (uchar *)(uint)(iVar3 == 0);\n                  (**(code **)(pcVar28 + 0x35330))(pcVar23);\n                }\n              }\n              goto LAB_00043f04;\n            }\n          }\n          puVar25 = (uchar *)0x0;\n          (**(code **)(pcVar28 + 0x35acc))(pFVar12);\n        }" { (expression_statement "iVar3 = read_header(pFVar12,acStack_184);" (assignment_expression "iVar3 = read_header(pFVar12,acStack_184)" identifier = (call_expression "read_header(pFVar12,acStack_184)" identifier (argument_list "(pFVar12,acStack_184)" ( identifier , identifier )))) ;) (if_statement "if ((iVar3 != 0) &&\n             (((iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                  (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4214), iVar3 == 0 ||\n               (iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                  (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x422c), iVar3 == 0))\n              && (pcVar23 = read_body(pFVar12), pcVar23 != (char *)0x0)))) {\n            (**(code **)(pcVar28 + 0x35330))(pcVar23);\n            iVar3 = read_header(pFVar12,acStack_184);\n            if ((iVar3 != 0) &&\n               (iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                  (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4244), iVar3 == 0)) {\n              pcVar23 = read_body(pFVar12);\n              if (pcVar23 == (char *)0x0) {\n                (**(code **)(pcVar28 + 0x35acc))(pFVar12);\n                puVar25 = (uchar *)0x0;\n              }\n              else {\n                iVar3 = read_header(pFVar12,acStack_184);\n                if (((iVar3 == 0) ||\n                    (iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                       (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4258),\n                    iVar3 != 0)) || (pcVar21 = read_body(pFVar12), pcVar21 == (char *)0x0)) {\n                  puVar25 = (uchar *)0x1;\n                  (**(code **)(pcVar28 + 0x35acc))(pFVar12);\n                  (**(code **)(pcVar28 + 0x35330))(pcVar23);\n                }\n                else {\n                  if (ppcVar17 == (char **)0x0) {\n                    (**(code **)(pcVar28 + 0x35330))(pcVar21);\n                  }\n                  else {\n                    *ppcVar17 = pcVar21;\n                  }\n                  (**(code **)(pcVar28 + 0x35acc))(pFVar12);\n                  iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                    (pcVar23,*(int *)(pcVar28 + 0x352e8) + 0x7c4);\n                  puVar25 = (uchar *)(uint)(iVar3 == 0);\n                  (**(code **)(pcVar28 + 0x35330))(pcVar23);\n                }\n              }\n              goto LAB_00043f04;\n            }\n          }" if (parenthesized_expression "((iVar3 != 0) &&\n             (((iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                  (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4214), iVar3 == 0 ||\n               (iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                  (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x422c), iVar3 == 0))\n              && (pcVar23 = read_body(pFVar12), pcVar23 != (char *)0x0))))" ( (binary_expression "(iVar3 != 0) &&\n             (((iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                  (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4214), iVar3 == 0 ||\n               (iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                  (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x422c), iVar3 == 0))\n              && (pcVar23 = read_body(pFVar12), pcVar23 != (char *)0x0)))" (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) && (parenthesized_expression "(((iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                  (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4214), iVar3 == 0 ||\n               (iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                  (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x422c), iVar3 == 0))\n              && (pcVar23 = read_body(pFVar12), pcVar23 != (char *)0x0)))" ( (parenthesized_expression "((iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                  (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4214), iVar3 == 0 ||\n               (iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                  (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x422c), iVar3 == 0))\n              && (pcVar23 = read_body(pFVar12), pcVar23 != (char *)0x0))" ( (binary_expression "(iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                  (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4214), iVar3 == 0 ||\n               (iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                  (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x422c), iVar3 == 0))\n              && (pcVar23 = read_body(pFVar12), pcVar23 != (char *)0x0)" (parenthesized_expression "(iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                  (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4214), iVar3 == 0 ||\n               (iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                  (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x422c), iVar3 == 0))" ( (comma_expression "iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                  (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4214), iVar3 == 0 ||\n               (iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                  (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x422c), iVar3 == 0)" (assignment_expression "iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                  (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4214)" identifier = (call_expression "(**(code **)(pcVar28 + 0x35ae4))\n                                  (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4214)" (parenthesized_expression "(**(code **)(pcVar28 + 0x35ae4))" ( (pointer_expression "**(code **)(pcVar28 + 0x35ae4)" * (pointer_expression "*(code **)(pcVar28 + 0x35ae4)" * (cast_expression "(code **)(pcVar28 + 0x35ae4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x35ae4)" ( (binary_expression "pcVar28 + 0x35ae4" identifier + number_literal) ))))) )) (argument_list "(acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4214)" ( identifier , (binary_expression "*(int *)(pcVar28 + 0x352e8) + 0x4214" (pointer_expression "*(int *)(pcVar28 + 0x352e8)" * (cast_expression "(int *)(pcVar28 + 0x352e8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x352e8)" ( (binary_expression "pcVar28 + 0x352e8" identifier + number_literal) )))) + number_literal) )))) , (binary_expression "iVar3 == 0 ||\n               (iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                  (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x422c), iVar3 == 0)" (binary_expression "iVar3 == 0" identifier == number_literal) || (parenthesized_expression "(iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                  (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x422c), iVar3 == 0)" ( (comma_expression "iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                  (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x422c), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                  (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x422c)" identifier = (call_expression "(**(code **)(pcVar28 + 0x35ae4))\n                                  (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x422c)" (parenthesized_expression "(**(code **)(pcVar28 + 0x35ae4))" ( (pointer_expression "**(code **)(pcVar28 + 0x35ae4)" * (pointer_expression "*(code **)(pcVar28 + 0x35ae4)" * (cast_expression "(code **)(pcVar28 + 0x35ae4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x35ae4)" ( (binary_expression "pcVar28 + 0x35ae4" identifier + number_literal) ))))) )) (argument_list "(acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x422c)" ( identifier , (binary_expression "*(int *)(pcVar28 + 0x352e8) + 0x422c" (pointer_expression "*(int *)(pcVar28 + 0x352e8)" * (cast_expression "(int *)(pcVar28 + 0x352e8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x352e8)" ( (binary_expression "pcVar28 + 0x352e8" identifier + number_literal) )))) + number_literal) )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) )))) )) && (parenthesized_expression "(pcVar23 = read_body(pFVar12), pcVar23 != (char *)0x0)" ( (comma_expression "pcVar23 = read_body(pFVar12), pcVar23 != (char *)0x0" (assignment_expression "pcVar23 = read_body(pFVar12)" identifier = (call_expression "read_body(pFVar12)" identifier (argument_list "(pFVar12)" ( identifier )))) , (binary_expression "pcVar23 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) ))) )) (compound_statement "{\n            (**(code **)(pcVar28 + 0x35330))(pcVar23);\n            iVar3 = read_header(pFVar12,acStack_184);\n            if ((iVar3 != 0) &&\n               (iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                  (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4244), iVar3 == 0)) {\n              pcVar23 = read_body(pFVar12);\n              if (pcVar23 == (char *)0x0) {\n                (**(code **)(pcVar28 + 0x35acc))(pFVar12);\n                puVar25 = (uchar *)0x0;\n              }\n              else {\n                iVar3 = read_header(pFVar12,acStack_184);\n                if (((iVar3 == 0) ||\n                    (iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                       (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4258),\n                    iVar3 != 0)) || (pcVar21 = read_body(pFVar12), pcVar21 == (char *)0x0)) {\n                  puVar25 = (uchar *)0x1;\n                  (**(code **)(pcVar28 + 0x35acc))(pFVar12);\n                  (**(code **)(pcVar28 + 0x35330))(pcVar23);\n                }\n                else {\n                  if (ppcVar17 == (char **)0x0) {\n                    (**(code **)(pcVar28 + 0x35330))(pcVar21);\n                  }\n                  else {\n                    *ppcVar17 = pcVar21;\n                  }\n                  (**(code **)(pcVar28 + 0x35acc))(pFVar12);\n                  iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                    (pcVar23,*(int *)(pcVar28 + 0x352e8) + 0x7c4);\n                  puVar25 = (uchar *)(uint)(iVar3 == 0);\n                  (**(code **)(pcVar28 + 0x35330))(pcVar23);\n                }\n              }\n              goto LAB_00043f04;\n            }\n          }" { (expression_statement "(**(code **)(pcVar28 + 0x35330))(pcVar23);" (call_expression "(**(code **)(pcVar28 + 0x35330))(pcVar23)" (parenthesized_expression "(**(code **)(pcVar28 + 0x35330))" ( (pointer_expression "**(code **)(pcVar28 + 0x35330)" * (pointer_expression "*(code **)(pcVar28 + 0x35330)" * (cast_expression "(code **)(pcVar28 + 0x35330)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x35330)" ( (binary_expression "pcVar28 + 0x35330" identifier + number_literal) ))))) )) (argument_list "(pcVar23)" ( identifier ))) ;) (expression_statement "iVar3 = read_header(pFVar12,acStack_184);" (assignment_expression "iVar3 = read_header(pFVar12,acStack_184)" identifier = (call_expression "read_header(pFVar12,acStack_184)" identifier (argument_list "(pFVar12,acStack_184)" ( identifier , identifier )))) ;) (if_statement "if ((iVar3 != 0) &&\n               (iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                  (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4244), iVar3 == 0)) {\n              pcVar23 = read_body(pFVar12);\n              if (pcVar23 == (char *)0x0) {\n                (**(code **)(pcVar28 + 0x35acc))(pFVar12);\n                puVar25 = (uchar *)0x0;\n              }\n              else {\n                iVar3 = read_header(pFVar12,acStack_184);\n                if (((iVar3 == 0) ||\n                    (iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                       (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4258),\n                    iVar3 != 0)) || (pcVar21 = read_body(pFVar12), pcVar21 == (char *)0x0)) {\n                  puVar25 = (uchar *)0x1;\n                  (**(code **)(pcVar28 + 0x35acc))(pFVar12);\n                  (**(code **)(pcVar28 + 0x35330))(pcVar23);\n                }\n                else {\n                  if (ppcVar17 == (char **)0x0) {\n                    (**(code **)(pcVar28 + 0x35330))(pcVar21);\n                  }\n                  else {\n                    *ppcVar17 = pcVar21;\n                  }\n                  (**(code **)(pcVar28 + 0x35acc))(pFVar12);\n                  iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                    (pcVar23,*(int *)(pcVar28 + 0x352e8) + 0x7c4);\n                  puVar25 = (uchar *)(uint)(iVar3 == 0);\n                  (**(code **)(pcVar28 + 0x35330))(pcVar23);\n                }\n              }\n              goto LAB_00043f04;\n            }" if (parenthesized_expression "((iVar3 != 0) &&\n               (iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                  (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4244), iVar3 == 0))" ( (binary_expression "(iVar3 != 0) &&\n               (iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                  (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4244), iVar3 == 0)" (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                  (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4244), iVar3 == 0)" ( (comma_expression "iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                  (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4244), iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                  (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4244)" identifier = (call_expression "(**(code **)(pcVar28 + 0x35ae4))\n                                  (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4244)" (parenthesized_expression "(**(code **)(pcVar28 + 0x35ae4))" ( (pointer_expression "**(code **)(pcVar28 + 0x35ae4)" * (pointer_expression "*(code **)(pcVar28 + 0x35ae4)" * (cast_expression "(code **)(pcVar28 + 0x35ae4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x35ae4)" ( (binary_expression "pcVar28 + 0x35ae4" identifier + number_literal) ))))) )) (argument_list "(acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4244)" ( identifier , (binary_expression "*(int *)(pcVar28 + 0x352e8) + 0x4244" (pointer_expression "*(int *)(pcVar28 + 0x352e8)" * (cast_expression "(int *)(pcVar28 + 0x352e8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x352e8)" ( (binary_expression "pcVar28 + 0x352e8" identifier + number_literal) )))) + number_literal) )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n              pcVar23 = read_body(pFVar12);\n              if (pcVar23 == (char *)0x0) {\n                (**(code **)(pcVar28 + 0x35acc))(pFVar12);\n                puVar25 = (uchar *)0x0;\n              }\n              else {\n                iVar3 = read_header(pFVar12,acStack_184);\n                if (((iVar3 == 0) ||\n                    (iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                       (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4258),\n                    iVar3 != 0)) || (pcVar21 = read_body(pFVar12), pcVar21 == (char *)0x0)) {\n                  puVar25 = (uchar *)0x1;\n                  (**(code **)(pcVar28 + 0x35acc))(pFVar12);\n                  (**(code **)(pcVar28 + 0x35330))(pcVar23);\n                }\n                else {\n                  if (ppcVar17 == (char **)0x0) {\n                    (**(code **)(pcVar28 + 0x35330))(pcVar21);\n                  }\n                  else {\n                    *ppcVar17 = pcVar21;\n                  }\n                  (**(code **)(pcVar28 + 0x35acc))(pFVar12);\n                  iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                    (pcVar23,*(int *)(pcVar28 + 0x352e8) + 0x7c4);\n                  puVar25 = (uchar *)(uint)(iVar3 == 0);\n                  (**(code **)(pcVar28 + 0x35330))(pcVar23);\n                }\n              }\n              goto LAB_00043f04;\n            }" { (expression_statement "pcVar23 = read_body(pFVar12);" (assignment_expression "pcVar23 = read_body(pFVar12)" identifier = (call_expression "read_body(pFVar12)" identifier (argument_list "(pFVar12)" ( identifier )))) ;) (if_statement "if (pcVar23 == (char *)0x0) {\n                (**(code **)(pcVar28 + 0x35acc))(pFVar12);\n                puVar25 = (uchar *)0x0;\n              }\n              else {\n                iVar3 = read_header(pFVar12,acStack_184);\n                if (((iVar3 == 0) ||\n                    (iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                       (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4258),\n                    iVar3 != 0)) || (pcVar21 = read_body(pFVar12), pcVar21 == (char *)0x0)) {\n                  puVar25 = (uchar *)0x1;\n                  (**(code **)(pcVar28 + 0x35acc))(pFVar12);\n                  (**(code **)(pcVar28 + 0x35330))(pcVar23);\n                }\n                else {\n                  if (ppcVar17 == (char **)0x0) {\n                    (**(code **)(pcVar28 + 0x35330))(pcVar21);\n                  }\n                  else {\n                    *ppcVar17 = pcVar21;\n                  }\n                  (**(code **)(pcVar28 + 0x35acc))(pFVar12);\n                  iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                    (pcVar23,*(int *)(pcVar28 + 0x352e8) + 0x7c4);\n                  puVar25 = (uchar *)(uint)(iVar3 == 0);\n                  (**(code **)(pcVar28 + 0x35330))(pcVar23);\n                }\n              }" if (parenthesized_expression "(pcVar23 == (char *)0x0)" ( (binary_expression "pcVar23 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                (**(code **)(pcVar28 + 0x35acc))(pFVar12);\n                puVar25 = (uchar *)0x0;\n              }" { (expression_statement "(**(code **)(pcVar28 + 0x35acc))(pFVar12);" (call_expression "(**(code **)(pcVar28 + 0x35acc))(pFVar12)" (parenthesized_expression "(**(code **)(pcVar28 + 0x35acc))" ( (pointer_expression "**(code **)(pcVar28 + 0x35acc)" * (pointer_expression "*(code **)(pcVar28 + 0x35acc)" * (cast_expression "(code **)(pcVar28 + 0x35acc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x35acc)" ( (binary_expression "pcVar28 + 0x35acc" identifier + number_literal) ))))) )) (argument_list "(pFVar12)" ( identifier ))) ;) (expression_statement "puVar25 = (uchar *)0x0;" (assignment_expression "puVar25 = (uchar *)0x0" identifier = (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n                iVar3 = read_header(pFVar12,acStack_184);\n                if (((iVar3 == 0) ||\n                    (iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                       (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4258),\n                    iVar3 != 0)) || (pcVar21 = read_body(pFVar12), pcVar21 == (char *)0x0)) {\n                  puVar25 = (uchar *)0x1;\n                  (**(code **)(pcVar28 + 0x35acc))(pFVar12);\n                  (**(code **)(pcVar28 + 0x35330))(pcVar23);\n                }\n                else {\n                  if (ppcVar17 == (char **)0x0) {\n                    (**(code **)(pcVar28 + 0x35330))(pcVar21);\n                  }\n                  else {\n                    *ppcVar17 = pcVar21;\n                  }\n                  (**(code **)(pcVar28 + 0x35acc))(pFVar12);\n                  iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                    (pcVar23,*(int *)(pcVar28 + 0x352e8) + 0x7c4);\n                  puVar25 = (uchar *)(uint)(iVar3 == 0);\n                  (**(code **)(pcVar28 + 0x35330))(pcVar23);\n                }\n              }" else (compound_statement "{\n                iVar3 = read_header(pFVar12,acStack_184);\n                if (((iVar3 == 0) ||\n                    (iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                       (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4258),\n                    iVar3 != 0)) || (pcVar21 = read_body(pFVar12), pcVar21 == (char *)0x0)) {\n                  puVar25 = (uchar *)0x1;\n                  (**(code **)(pcVar28 + 0x35acc))(pFVar12);\n                  (**(code **)(pcVar28 + 0x35330))(pcVar23);\n                }\n                else {\n                  if (ppcVar17 == (char **)0x0) {\n                    (**(code **)(pcVar28 + 0x35330))(pcVar21);\n                  }\n                  else {\n                    *ppcVar17 = pcVar21;\n                  }\n                  (**(code **)(pcVar28 + 0x35acc))(pFVar12);\n                  iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                    (pcVar23,*(int *)(pcVar28 + 0x352e8) + 0x7c4);\n                  puVar25 = (uchar *)(uint)(iVar3 == 0);\n                  (**(code **)(pcVar28 + 0x35330))(pcVar23);\n                }\n              }" { (expression_statement "iVar3 = read_header(pFVar12,acStack_184);" (assignment_expression "iVar3 = read_header(pFVar12,acStack_184)" identifier = (call_expression "read_header(pFVar12,acStack_184)" identifier (argument_list "(pFVar12,acStack_184)" ( identifier , identifier )))) ;) (if_statement "if (((iVar3 == 0) ||\n                    (iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                       (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4258),\n                    iVar3 != 0)) || (pcVar21 = read_body(pFVar12), pcVar21 == (char *)0x0)) {\n                  puVar25 = (uchar *)0x1;\n                  (**(code **)(pcVar28 + 0x35acc))(pFVar12);\n                  (**(code **)(pcVar28 + 0x35330))(pcVar23);\n                }\n                else {\n                  if (ppcVar17 == (char **)0x0) {\n                    (**(code **)(pcVar28 + 0x35330))(pcVar21);\n                  }\n                  else {\n                    *ppcVar17 = pcVar21;\n                  }\n                  (**(code **)(pcVar28 + 0x35acc))(pFVar12);\n                  iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                    (pcVar23,*(int *)(pcVar28 + 0x352e8) + 0x7c4);\n                  puVar25 = (uchar *)(uint)(iVar3 == 0);\n                  (**(code **)(pcVar28 + 0x35330))(pcVar23);\n                }" if (parenthesized_expression "(((iVar3 == 0) ||\n                    (iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                       (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4258),\n                    iVar3 != 0)) || (pcVar21 = read_body(pFVar12), pcVar21 == (char *)0x0))" ( (binary_expression "((iVar3 == 0) ||\n                    (iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                       (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4258),\n                    iVar3 != 0)) || (pcVar21 = read_body(pFVar12), pcVar21 == (char *)0x0)" (parenthesized_expression "((iVar3 == 0) ||\n                    (iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                       (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4258),\n                    iVar3 != 0))" ( (binary_expression "(iVar3 == 0) ||\n                    (iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                       (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4258),\n                    iVar3 != 0)" (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                       (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4258),\n                    iVar3 != 0)" ( (comma_expression "iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                       (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4258),\n                    iVar3 != 0" (assignment_expression "iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                       (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4258)" identifier = (call_expression "(**(code **)(pcVar28 + 0x35ae4))\n                                       (acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4258)" (parenthesized_expression "(**(code **)(pcVar28 + 0x35ae4))" ( (pointer_expression "**(code **)(pcVar28 + 0x35ae4)" * (pointer_expression "*(code **)(pcVar28 + 0x35ae4)" * (cast_expression "(code **)(pcVar28 + 0x35ae4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x35ae4)" ( (binary_expression "pcVar28 + 0x35ae4" identifier + number_literal) ))))) )) (argument_list "(acStack_184,*(int *)(pcVar28 + 0x352e8) + 0x4258)" ( identifier , (binary_expression "*(int *)(pcVar28 + 0x352e8) + 0x4258" (pointer_expression "*(int *)(pcVar28 + 0x352e8)" * (cast_expression "(int *)(pcVar28 + 0x352e8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x352e8)" ( (binary_expression "pcVar28 + 0x352e8" identifier + number_literal) )))) + number_literal) )))) , (binary_expression "iVar3 != 0" identifier != number_literal)) ))) )) || (parenthesized_expression "(pcVar21 = read_body(pFVar12), pcVar21 == (char *)0x0)" ( (comma_expression "pcVar21 = read_body(pFVar12), pcVar21 == (char *)0x0" (assignment_expression "pcVar21 = read_body(pFVar12)" identifier = (call_expression "read_body(pFVar12)" identifier (argument_list "(pFVar12)" ( identifier )))) , (binary_expression "pcVar21 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n                  puVar25 = (uchar *)0x1;\n                  (**(code **)(pcVar28 + 0x35acc))(pFVar12);\n                  (**(code **)(pcVar28 + 0x35330))(pcVar23);\n                }" { (expression_statement "puVar25 = (uchar *)0x1;" (assignment_expression "puVar25 = (uchar *)0x1" identifier = (cast_expression "(uchar *)0x1" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(pcVar28 + 0x35acc))(pFVar12);" (call_expression "(**(code **)(pcVar28 + 0x35acc))(pFVar12)" (parenthesized_expression "(**(code **)(pcVar28 + 0x35acc))" ( (pointer_expression "**(code **)(pcVar28 + 0x35acc)" * (pointer_expression "*(code **)(pcVar28 + 0x35acc)" * (cast_expression "(code **)(pcVar28 + 0x35acc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x35acc)" ( (binary_expression "pcVar28 + 0x35acc" identifier + number_literal) ))))) )) (argument_list "(pFVar12)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar28 + 0x35330))(pcVar23);" (call_expression "(**(code **)(pcVar28 + 0x35330))(pcVar23)" (parenthesized_expression "(**(code **)(pcVar28 + 0x35330))" ( (pointer_expression "**(code **)(pcVar28 + 0x35330)" * (pointer_expression "*(code **)(pcVar28 + 0x35330)" * (cast_expression "(code **)(pcVar28 + 0x35330)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x35330)" ( (binary_expression "pcVar28 + 0x35330" identifier + number_literal) ))))) )) (argument_list "(pcVar23)" ( identifier ))) ;) }) (else_clause "else {\n                  if (ppcVar17 == (char **)0x0) {\n                    (**(code **)(pcVar28 + 0x35330))(pcVar21);\n                  }\n                  else {\n                    *ppcVar17 = pcVar21;\n                  }\n                  (**(code **)(pcVar28 + 0x35acc))(pFVar12);\n                  iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                    (pcVar23,*(int *)(pcVar28 + 0x352e8) + 0x7c4);\n                  puVar25 = (uchar *)(uint)(iVar3 == 0);\n                  (**(code **)(pcVar28 + 0x35330))(pcVar23);\n                }" else (compound_statement "{\n                  if (ppcVar17 == (char **)0x0) {\n                    (**(code **)(pcVar28 + 0x35330))(pcVar21);\n                  }\n                  else {\n                    *ppcVar17 = pcVar21;\n                  }\n                  (**(code **)(pcVar28 + 0x35acc))(pFVar12);\n                  iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                    (pcVar23,*(int *)(pcVar28 + 0x352e8) + 0x7c4);\n                  puVar25 = (uchar *)(uint)(iVar3 == 0);\n                  (**(code **)(pcVar28 + 0x35330))(pcVar23);\n                }" { (if_statement "if (ppcVar17 == (char **)0x0) {\n                    (**(code **)(pcVar28 + 0x35330))(pcVar21);\n                  }\n                  else {\n                    *ppcVar17 = pcVar21;\n                  }" if (parenthesized_expression "(ppcVar17 == (char **)0x0)" ( (binary_expression "ppcVar17 == (char **)0x0" identifier == (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n                    (**(code **)(pcVar28 + 0x35330))(pcVar21);\n                  }" { (expression_statement "(**(code **)(pcVar28 + 0x35330))(pcVar21);" (call_expression "(**(code **)(pcVar28 + 0x35330))(pcVar21)" (parenthesized_expression "(**(code **)(pcVar28 + 0x35330))" ( (pointer_expression "**(code **)(pcVar28 + 0x35330)" * (pointer_expression "*(code **)(pcVar28 + 0x35330)" * (cast_expression "(code **)(pcVar28 + 0x35330)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x35330)" ( (binary_expression "pcVar28 + 0x35330" identifier + number_literal) ))))) )) (argument_list "(pcVar21)" ( identifier ))) ;) }) (else_clause "else {\n                    *ppcVar17 = pcVar21;\n                  }" else (compound_statement "{\n                    *ppcVar17 = pcVar21;\n                  }" { (expression_statement "*ppcVar17 = pcVar21;" (assignment_expression "*ppcVar17 = pcVar21" (pointer_expression "*ppcVar17" * identifier) = identifier) ;) }))) (expression_statement "(**(code **)(pcVar28 + 0x35acc))(pFVar12);" (call_expression "(**(code **)(pcVar28 + 0x35acc))(pFVar12)" (parenthesized_expression "(**(code **)(pcVar28 + 0x35acc))" ( (pointer_expression "**(code **)(pcVar28 + 0x35acc)" * (pointer_expression "*(code **)(pcVar28 + 0x35acc)" * (cast_expression "(code **)(pcVar28 + 0x35acc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x35acc)" ( (binary_expression "pcVar28 + 0x35acc" identifier + number_literal) ))))) )) (argument_list "(pFVar12)" ( identifier ))) ;) (expression_statement "iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                    (pcVar23,*(int *)(pcVar28 + 0x352e8) + 0x7c4);" (assignment_expression "iVar3 = (**(code **)(pcVar28 + 0x35ae4))\n                                    (pcVar23,*(int *)(pcVar28 + 0x352e8) + 0x7c4)" identifier = (call_expression "(**(code **)(pcVar28 + 0x35ae4))\n                                    (pcVar23,*(int *)(pcVar28 + 0x352e8) + 0x7c4)" (parenthesized_expression "(**(code **)(pcVar28 + 0x35ae4))" ( (pointer_expression "**(code **)(pcVar28 + 0x35ae4)" * (pointer_expression "*(code **)(pcVar28 + 0x35ae4)" * (cast_expression "(code **)(pcVar28 + 0x35ae4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x35ae4)" ( (binary_expression "pcVar28 + 0x35ae4" identifier + number_literal) ))))) )) (argument_list "(pcVar23,*(int *)(pcVar28 + 0x352e8) + 0x7c4)" ( identifier , (binary_expression "*(int *)(pcVar28 + 0x352e8) + 0x7c4" (pointer_expression "*(int *)(pcVar28 + 0x352e8)" * (cast_expression "(int *)(pcVar28 + 0x352e8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x352e8)" ( (binary_expression "pcVar28 + 0x352e8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "puVar25 = (uchar *)(uint)(iVar3 == 0);" (assignment_expression "puVar25 = (uchar *)(uint)(iVar3 == 0)" identifier = (cast_expression "(uchar *)(uint)(iVar3 == 0)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(iVar3 == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) ))))) ;) (expression_statement "(**(code **)(pcVar28 + 0x35330))(pcVar23);" (call_expression "(**(code **)(pcVar28 + 0x35330))(pcVar23)" (parenthesized_expression "(**(code **)(pcVar28 + 0x35330))" ( (pointer_expression "**(code **)(pcVar28 + 0x35330)" * (pointer_expression "*(code **)(pcVar28 + 0x35330)" * (cast_expression "(code **)(pcVar28 + 0x35330)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x35330)" ( (binary_expression "pcVar28 + 0x35330" identifier + number_literal) ))))) )) (argument_list "(pcVar23)" ( identifier ))) ;) }))) }))) (goto_statement "goto LAB_00043f04;" goto statement_identifier ;) })) })) (expression_statement "puVar25 = (uchar *)0x0;" (assignment_expression "puVar25 = (uchar *)0x0" identifier = (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(pcVar28 + 0x35acc))(pFVar12);" (call_expression "(**(code **)(pcVar28 + 0x35acc))(pFVar12)" (parenthesized_expression "(**(code **)(pcVar28 + 0x35acc))" ( (pointer_expression "**(code **)(pcVar28 + 0x35acc)" * (pointer_expression "*(code **)(pcVar28 + 0x35acc)" * (cast_expression "(code **)(pcVar28 + 0x35acc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x35acc)" ( (binary_expression "pcVar28 + 0x35acc" identifier + number_literal) ))))) )) (argument_list "(pFVar12)" ( identifier ))) ;) }))) (labeled_statement "LAB_00043f04:\n        if (iStack_15c != *piVar9) {\n          (**(code **)(pcVar28 + 0x35a30))();\n          return (uchar *)((iStack_15c + 0x2f) / 0x30);\n        }" statement_identifier : (if_statement "if (iStack_15c != *piVar9) {\n          (**(code **)(pcVar28 + 0x35a30))();\n          return (uchar *)((iStack_15c + 0x2f) / 0x30);\n        }" if (parenthesized_expression "(iStack_15c != *piVar9)" ( (binary_expression "iStack_15c != *piVar9" identifier != (pointer_expression "*piVar9" * identifier)) )) (compound_statement "{\n          (**(code **)(pcVar28 + 0x35a30))();\n          return (uchar *)((iStack_15c + 0x2f) / 0x30);\n        }" { (expression_statement "(**(code **)(pcVar28 + 0x35a30))();" (call_expression "(**(code **)(pcVar28 + 0x35a30))()" (parenthesized_expression "(**(code **)(pcVar28 + 0x35a30))" ( (pointer_expression "**(code **)(pcVar28 + 0x35a30)" * (pointer_expression "*(code **)(pcVar28 + 0x35a30)" * (cast_expression "(code **)(pcVar28 + 0x35a30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x35a30)" ( (binary_expression "pcVar28 + 0x35a30" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (return_statement "return (uchar *)((iStack_15c + 0x2f) / 0x30);" return (cast_expression "(uchar *)((iStack_15c + 0x2f) / 0x30)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((iStack_15c + 0x2f) / 0x30)" ( (binary_expression "(iStack_15c + 0x2f) / 0x30" (parenthesized_expression "(iStack_15c + 0x2f)" ( (binary_expression "iStack_15c + 0x2f" identifier + number_literal) )) / number_literal) ))) ;) }))) (return_statement "return puVar25;" return identifier ;) })) (expression_statement "iVar10 = (*(code *)piStack_a0[-0x1f66])(pcVar21,(uchar *)((int)piVar9 + iVar6));" (assignment_expression "iVar10 = (*(code *)piStack_a0[-0x1f66])(pcVar21,(uchar *)((int)piVar9 + iVar6))" identifier = (call_expression "(*(code *)piStack_a0[-0x1f66])(pcVar21,(uchar *)((int)piVar9 + iVar6))" (parenthesized_expression "(*(code *)piStack_a0[-0x1f66])" ( (pointer_expression "*(code *)piStack_a0[-0x1f66]" * (cast_expression "(code *)piStack_a0[-0x1f66]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piStack_a0[-0x1f66]" identifier [ number_literal ]))) )) (argument_list "(pcVar21,(uchar *)((int)piVar9 + iVar6))" ( identifier , (cast_expression "(uchar *)((int)piVar9 + iVar6)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar9 + iVar6)" ( (binary_expression "(int)piVar9 + iVar6" (cast_expression "(int)piVar9" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))) )))) ;) (expression_statement "iVar6 = iVar6 + iVar10;" (assignment_expression "iVar6 = iVar6 + iVar10" identifier = (binary_expression "iVar6 + iVar10" identifier + identifier)) ;) (expression_statement "pcVar21 = pcVar21 + 4;" (assignment_expression "pcVar21 = pcVar21 + 4" identifier = (binary_expression "pcVar21 + 4" identifier + number_literal)) ;) })) (if_statement "if (*pcVar21 == '\0') {\n      iVar3 = (*(code *)piStack_a0[-0x1de8])(uVar4);\n      if (((iVar3 + 3 < iVar6) && (iVar3 == *piVar9)) &&\n         (iVar3 = (*(code *)piStack_a0[-0x1dfd])(piVar9 + 1,uVar4,iVar3), iVar3 == 0)) {\n        if (ppcVar15 != (char **)0x0) {\n          pcVar21 = (char *)(*(code *)piStack_a0[-0x1fdd])(uVar4);\n          *ppcVar15 = pcVar21;\n        }\n        if (pFVar12 != (FILE *)0x0) {\n          pFVar12->_flags = iVar6;\n        }\n        if (header == (char **)0x0) {\n          (*(code *)piStack_a0[-0x1fe0])(pcVar23);\n        }\n        else {\n          *header = pcVar23;\n        }\n        (*(code *)piStack_a0[-0x1fe0])(uVar4);\n        return (uchar *)piVar9;\n      }\n      iVar3 = piStack_a0[-0x1ff2] + 0x441c;\n    }\n    else {\n      iVar3 = piStack_a0[-0x1ff2] + 0x4454;\n    }" if (parenthesized_expression "(*pcVar21 == '\0')" ( (binary_expression "*pcVar21 == '\0'" (pointer_expression "*pcVar21" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      iVar3 = (*(code *)piStack_a0[-0x1de8])(uVar4);\n      if (((iVar3 + 3 < iVar6) && (iVar3 == *piVar9)) &&\n         (iVar3 = (*(code *)piStack_a0[-0x1dfd])(piVar9 + 1,uVar4,iVar3), iVar3 == 0)) {\n        if (ppcVar15 != (char **)0x0) {\n          pcVar21 = (char *)(*(code *)piStack_a0[-0x1fdd])(uVar4);\n          *ppcVar15 = pcVar21;\n        }\n        if (pFVar12 != (FILE *)0x0) {\n          pFVar12->_flags = iVar6;\n        }\n        if (header == (char **)0x0) {\n          (*(code *)piStack_a0[-0x1fe0])(pcVar23);\n        }\n        else {\n          *header = pcVar23;\n        }\n        (*(code *)piStack_a0[-0x1fe0])(uVar4);\n        return (uchar *)piVar9;\n      }\n      iVar3 = piStack_a0[-0x1ff2] + 0x441c;\n    }" { (expression_statement "iVar3 = (*(code *)piStack_a0[-0x1de8])(uVar4);" (assignment_expression "iVar3 = (*(code *)piStack_a0[-0x1de8])(uVar4)" identifier = (call_expression "(*(code *)piStack_a0[-0x1de8])(uVar4)" (parenthesized_expression "(*(code *)piStack_a0[-0x1de8])" ( (pointer_expression "*(code *)piStack_a0[-0x1de8]" * (cast_expression "(code *)piStack_a0[-0x1de8]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piStack_a0[-0x1de8]" identifier [ number_literal ]))) )) (argument_list "(uVar4)" ( identifier )))) ;) (if_statement "if (((iVar3 + 3 < iVar6) && (iVar3 == *piVar9)) &&\n         (iVar3 = (*(code *)piStack_a0[-0x1dfd])(piVar9 + 1,uVar4,iVar3), iVar3 == 0)) {\n        if (ppcVar15 != (char **)0x0) {\n          pcVar21 = (char *)(*(code *)piStack_a0[-0x1fdd])(uVar4);\n          *ppcVar15 = pcVar21;\n        }\n        if (pFVar12 != (FILE *)0x0) {\n          pFVar12->_flags = iVar6;\n        }\n        if (header == (char **)0x0) {\n          (*(code *)piStack_a0[-0x1fe0])(pcVar23);\n        }\n        else {\n          *header = pcVar23;\n        }\n        (*(code *)piStack_a0[-0x1fe0])(uVar4);\n        return (uchar *)piVar9;\n      }" if (parenthesized_expression "(((iVar3 + 3 < iVar6) && (iVar3 == *piVar9)) &&\n         (iVar3 = (*(code *)piStack_a0[-0x1dfd])(piVar9 + 1,uVar4,iVar3), iVar3 == 0))" ( (binary_expression "((iVar3 + 3 < iVar6) && (iVar3 == *piVar9)) &&\n         (iVar3 = (*(code *)piStack_a0[-0x1dfd])(piVar9 + 1,uVar4,iVar3), iVar3 == 0)" (parenthesized_expression "((iVar3 + 3 < iVar6) && (iVar3 == *piVar9))" ( (binary_expression "(iVar3 + 3 < iVar6) && (iVar3 == *piVar9)" (parenthesized_expression "(iVar3 + 3 < iVar6)" ( (binary_expression "iVar3 + 3 < iVar6" (binary_expression "iVar3 + 3" identifier + number_literal) < identifier) )) && (parenthesized_expression "(iVar3 == *piVar9)" ( (binary_expression "iVar3 == *piVar9" identifier == (pointer_expression "*piVar9" * identifier)) ))) )) && (parenthesized_expression "(iVar3 = (*(code *)piStack_a0[-0x1dfd])(piVar9 + 1,uVar4,iVar3), iVar3 == 0)" ( (comma_expression "iVar3 = (*(code *)piStack_a0[-0x1dfd])(piVar9 + 1,uVar4,iVar3), iVar3 == 0" (assignment_expression "iVar3 = (*(code *)piStack_a0[-0x1dfd])(piVar9 + 1,uVar4,iVar3)" identifier = (call_expression "(*(code *)piStack_a0[-0x1dfd])(piVar9 + 1,uVar4,iVar3)" (parenthesized_expression "(*(code *)piStack_a0[-0x1dfd])" ( (pointer_expression "*(code *)piStack_a0[-0x1dfd]" * (cast_expression "(code *)piStack_a0[-0x1dfd]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piStack_a0[-0x1dfd]" identifier [ number_literal ]))) )) (argument_list "(piVar9 + 1,uVar4,iVar3)" ( (binary_expression "piVar9 + 1" identifier + number_literal) , identifier , identifier )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n        if (ppcVar15 != (char **)0x0) {\n          pcVar21 = (char *)(*(code *)piStack_a0[-0x1fdd])(uVar4);\n          *ppcVar15 = pcVar21;\n        }\n        if (pFVar12 != (FILE *)0x0) {\n          pFVar12->_flags = iVar6;\n        }\n        if (header == (char **)0x0) {\n          (*(code *)piStack_a0[-0x1fe0])(pcVar23);\n        }\n        else {\n          *header = pcVar23;\n        }\n        (*(code *)piStack_a0[-0x1fe0])(uVar4);\n        return (uchar *)piVar9;\n      }" { (if_statement "if (ppcVar15 != (char **)0x0) {\n          pcVar21 = (char *)(*(code *)piStack_a0[-0x1fdd])(uVar4);\n          *ppcVar15 = pcVar21;\n        }" if (parenthesized_expression "(ppcVar15 != (char **)0x0)" ( (binary_expression "ppcVar15 != (char **)0x0" identifier != (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n          pcVar21 = (char *)(*(code *)piStack_a0[-0x1fdd])(uVar4);\n          *ppcVar15 = pcVar21;\n        }" { (expression_statement "pcVar21 = (char *)(*(code *)piStack_a0[-0x1fdd])(uVar4);" (assignment_expression "pcVar21 = (char *)(*(code *)piStack_a0[-0x1fdd])(uVar4)" identifier = (cast_expression "(char *)(*(code *)piStack_a0[-0x1fdd])(uVar4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)piStack_a0[-0x1fdd])(uVar4)" (parenthesized_expression "(*(code *)piStack_a0[-0x1fdd])" ( (pointer_expression "*(code *)piStack_a0[-0x1fdd]" * (cast_expression "(code *)piStack_a0[-0x1fdd]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piStack_a0[-0x1fdd]" identifier [ number_literal ]))) )) (argument_list "(uVar4)" ( identifier ))))) ;) (expression_statement "*ppcVar15 = pcVar21;" (assignment_expression "*ppcVar15 = pcVar21" (pointer_expression "*ppcVar15" * identifier) = identifier) ;) })) (if_statement "if (pFVar12 != (FILE *)0x0) {\n          pFVar12->_flags = iVar6;\n        }" if (parenthesized_expression "(pFVar12 != (FILE *)0x0)" ( (binary_expression "pFVar12 != (FILE *)0x0" identifier != (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          pFVar12->_flags = iVar6;\n        }" { (expression_statement "pFVar12->_flags = iVar6;" (assignment_expression "pFVar12->_flags = iVar6" (field_expression "pFVar12->_flags" identifier -> field_identifier) = identifier) ;) })) (if_statement "if (header == (char **)0x0) {\n          (*(code *)piStack_a0[-0x1fe0])(pcVar23);\n        }\n        else {\n          *header = pcVar23;\n        }" if (parenthesized_expression "(header == (char **)0x0)" ( (binary_expression "header == (char **)0x0" identifier == (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n          (*(code *)piStack_a0[-0x1fe0])(pcVar23);\n        }" { (expression_statement "(*(code *)piStack_a0[-0x1fe0])(pcVar23);" (call_expression "(*(code *)piStack_a0[-0x1fe0])(pcVar23)" (parenthesized_expression "(*(code *)piStack_a0[-0x1fe0])" ( (pointer_expression "*(code *)piStack_a0[-0x1fe0]" * (cast_expression "(code *)piStack_a0[-0x1fe0]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piStack_a0[-0x1fe0]" identifier [ number_literal ]))) )) (argument_list "(pcVar23)" ( identifier ))) ;) }) (else_clause "else {\n          *header = pcVar23;\n        }" else (compound_statement "{\n          *header = pcVar23;\n        }" { (expression_statement "*header = pcVar23;" (assignment_expression "*header = pcVar23" (pointer_expression "*header" * identifier) = identifier) ;) }))) (expression_statement "(*(code *)piStack_a0[-0x1fe0])(uVar4);" (call_expression "(*(code *)piStack_a0[-0x1fe0])(uVar4)" (parenthesized_expression "(*(code *)piStack_a0[-0x1fe0])" ( (pointer_expression "*(code *)piStack_a0[-0x1fe0]" * (cast_expression "(code *)piStack_a0[-0x1fe0]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piStack_a0[-0x1fe0]" identifier [ number_literal ]))) )) (argument_list "(uVar4)" ( identifier ))) ;) (return_statement "return (uchar *)piVar9;" return (cast_expression "(uchar *)piVar9" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ;) })) (expression_statement "iVar3 = piStack_a0[-0x1ff2] + 0x441c;" (assignment_expression "iVar3 = piStack_a0[-0x1ff2] + 0x441c" identifier = (binary_expression "piStack_a0[-0x1ff2] + 0x441c" (subscript_expression "piStack_a0[-0x1ff2]" identifier [ number_literal ]) + number_literal)) ;) }) (else_clause "else {\n      iVar3 = piStack_a0[-0x1ff2] + 0x4454;\n    }" else (compound_statement "{\n      iVar3 = piStack_a0[-0x1ff2] + 0x4454;\n    }" { (expression_statement "iVar3 = piStack_a0[-0x1ff2] + 0x4454;" (assignment_expression "iVar3 = piStack_a0[-0x1ff2] + 0x4454" identifier = (binary_expression "piStack_a0[-0x1ff2] + 0x4454" (subscript_expression "piStack_a0[-0x1ff2]" identifier [ number_literal ]) + number_literal)) ;) }))) }))) (expression_statement "(*(code *)piStack_a0[-0x1fe0])(uVar4);" (call_expression "(*(code *)piStack_a0[-0x1fe0])(uVar4)" (parenthesized_expression "(*(code *)piStack_a0[-0x1fe0])" ( (pointer_expression "*(code *)piStack_a0[-0x1fe0]" * (cast_expression "(code *)piStack_a0[-0x1fe0]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piStack_a0[-0x1fe0]" identifier [ number_literal ]))) )) (argument_list "(uVar4)" ( identifier ))) ;) (expression_statement "(*(code *)piStack_a0[-0x1fe0])(pcVar23);" (call_expression "(*(code *)piStack_a0[-0x1fe0])(pcVar23)" (parenthesized_expression "(*(code *)piStack_a0[-0x1fe0])" ( (pointer_expression "*(code *)piStack_a0[-0x1fe0]" * (cast_expression "(code *)piStack_a0[-0x1fe0]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piStack_a0[-0x1fe0]" identifier [ number_literal ]))) )) (argument_list "(pcVar23)" ( identifier ))) ;) (expression_statement "(*(code *)piStack_a0[-0x1fe0])(piVar9);" (call_expression "(*(code *)piStack_a0[-0x1fe0])(piVar9)" (parenthesized_expression "(*(code *)piStack_a0[-0x1fe0])" ( (pointer_expression "*(code *)piStack_a0[-0x1fe0]" * (cast_expression "(code *)piStack_a0[-0x1fe0]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piStack_a0[-0x1fe0]" identifier [ number_literal ]))) )) (argument_list "(piVar9)" ( identifier ))) ;) (expression_statement "__gp = iVar3;" (assignment_expression "__gp = iVar3" identifier = identifier) ;) (return_statement "return (uchar *)0x0;" return (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ;) })))
(translation_unit "int * rfc4716_loadpub(undefined4 param_1,int *param_2,int *param_3,int *param_4,undefined4 *param_5)\n\n{\n  undefined *puVar1;\n  undefined4 uVar2;\n  int *piVar3;\n  int iVar4;\n  int *piVar5;\n  char cVar9;\n  undefined1 *puVar6;\n  uint uVar7;\n  int iVar8;\n  int *piVar10;\n  int *piVar11;\n  undefined4 *puVar12;\n  int *piVar13;\n  int *piVar14;\n  char *pcVar15;\n  int *piVar16;\n  undefined *puVar17;\n  int iVar18;\n  int *piVar19;\n  int *piVar20;\n  int *unaff_s4;\n  int *unaff_s5;\n  int *piVar21;\n  int *unaff_s6;\n  int *unaff_s7;\n  undefined *puVar22;\n  char *unaff_s8;\n  code *pcVar23;\n  code *pcVar24;\n  undefined1 auStack_184 [40];\n  int iStack_15c;\n  int *piStack_154;\n  int *piStack_150;\n  int *piStack_14c;\n  int *piStack_148;\n  undefined4 *puStack_144;\n  int *piStack_140;\n  int *piStack_13c;\n  int *piStack_138;\n  code *pcStack_134;\n  int *piStack_120;\n  code *pcStack_118;\n  code *pcStack_110;\n  code *pcStack_10c;\n  undefined4 uStack_108;\n  int aiStack_104 [10];\n  int iStack_dc;\n  char *pcStack_d8;\n  int iStack_d4;\n  int *piStack_d0;\n  int iStack_cc;\n  undefined1 *puStack_c8;\n  undefined4 uStack_c4;\n  int *piStack_c0;\n  int *piStack_bc;\n  int *piStack_b8;\n  code *pcStack_b4;\n  int *piStack_a0;\n  int *piStack_98;\n  undefined *puStack_94;\n  int *piStack_90;\n  undefined4 uStack_8c;\n  int *piStack_88;\n  int *piStack_84;\n  int *piStack_80;\n  int *piStack_7c;\n  char *pcStack_78;\n  code *pcStack_74;\n  int local_54;\n  int iStack_34;\n  char local_30 [4];\n  int local_2c;\n  \n  puVar22 = PTR___stack_chk_guard_00079930;\n  local_2c = *(int *)PTR___stack_chk_guard_00079930;\n  piVar10 = param_2;\n  piVar20 = param_3;\n  piVar13 = param_4;\n  uVar2 = (*(code *)PTR_fgetline_00079538)();\n  piVar3 = (int *)(*(code *)PTR_chomp_0007953c)(uVar2);\n  if (piVar3 != (int *)0x0) {\n    piVar10 = (int *)(PTR_s_j_000790a8 + 0x43cc);\n    iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar3);\n    if (iVar4 == 0) {\n      (*(code *)PTR_safefree_000790f0)(piVar3);\n      local_54 = 0;\n      puVar17 = PTR_s_j_000790a8 + 0x43ec;\n      piVar3 = (int *)(PTR_s_j_000790a8 + 0x4258);\n      unaff_s4 = (int *)(PTR_s_j_000790a8 + 0x43f0);\n      unaff_s7 = (int *)(PTR_s_j_000790a8 + 0x43f8);\n      while( true ) {\n        uVar2 = (*(code *)PTR_fgetline_00079538)(param_1);\n        piVar5 = (int *)(*(code *)PTR_chomp_0007953c)(uVar2);\n        if (piVar5 == (int *)0x0) break;\n        unaff_s8 = (char *)(*(code *)PTR_strstr_00079944)(piVar5,puVar17);\n        puVar1 = PTR_strcmp_000798a4;\n        if (unaff_s8 == (char *)0x0) {\n          piVar10 = (int *)0x1;\n          unaff_s7 = &iStack_34;\n          piVar19 = (int *)(*(code *)PTR_safemalloc_000790d0)(0x1000);\n          unaff_s8 = local_30;\n          iVar4 = 0;\n          unaff_s4 = (int *)0x0;\n          iVar18 = 0x1000;\n          goto LAB_0004340c;\n        }\n        *unaff_s8 = '\0';\n        piVar10 = piVar3;\n        iVar4 = (*(code *)puVar1)(piVar5);\n        if (iVar4 == 0) {\n          unaff_s5 = (int *)(int)unaff_s8[2];\n          unaff_s6 = (int *)(unaff_s8 + 2);\n          piVar20 = piVar5;\n          if (unaff_s5 == (int *)0x22) {\n            iVar4 = (*(code *)PTR_strlen_000798d0)(unaff_s6);\n            pcVar15 = (char *)((int)unaff_s6 + iVar4 + -1);\n            if (*pcVar15 == '\"') {\n              *pcVar15 = '\0';\n              unaff_s5 = (int *)(int)unaff_s8[3];\n              unaff_s6 = (int *)(unaff_s8 + 3);\n              if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n            }\nLAB_00043310:\n            piVar13 = (int *)&DAT_0000005c;\n            piVar19 = piVar10;\n            piVar11 = piVar5;\n            piVar14 = unaff_s6;\n            do {\n              while ((piVar10 = (int *)((int)piVar14 + 1), unaff_s5 != (int *)&DAT_0000005c ||\n                     (*(char *)((int)piVar14 + 1) == '\0'))) {\n                *(char *)piVar11 = *(char *)piVar14;\n                unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 1);\n                piVar19 = piVar10;\n                piVar20 = (int *)((int)piVar11 + 1);\n                piVar11 = (int *)((int)piVar11 + 1);\n                unaff_s6 = piVar10;\n                piVar14 = piVar10;\n                if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n              }\n              *(char *)piVar11 = *(char *)((int)piVar14 + 1);\n              unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 2);\n              piVar10 = piVar19;\n              piVar20 = (int *)((int)piVar11 + 1);\n              piVar11 = (int *)((int)piVar11 + 1);\n              unaff_s6 = (int *)((int)piVar14 + 2);\n              piVar14 = (int *)((int)piVar14 + 2);\n            } while (unaff_s5 != (int *)0x0);\n          }\n          else if (unaff_s5 != (int *)0x0) goto LAB_00043310;\nLAB_00043364:\n          puVar1 = PTR_safefree_000790f0;\n          *(char *)piVar20 = '\0';\n          (*(code *)puVar1)(local_54);\n          local_54 = (*(code *)PTR_dupstr_000790fc)(piVar5);\n        }\n        else {\n          piVar10 = unaff_s4;\n          iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar5);\n          if (iVar4 != 0) {\n            piVar20 = (int *)0x2;\n            piVar10 = unaff_s7;\n            iVar4 = (*(code *)PTR_strncmp_000797c4)(piVar5);\n            if (iVar4 != 0) {\n              piVar19 = (int *)0x0;\n              puVar17 = PTR_s_j_000790a8 + 0x437c;\n              param_2 = piVar5;\n              goto LAB_00043198;\n            }\n          }\n        }\n        (*(code *)PTR_safefree_000790f0)(piVar5);\n      }\n      piVar19 = (int *)0x0;\n      puVar17 = PTR_s_j_000790a8 + 0x43ac;\n      param_2 = piVar5;\n      goto LAB_00043198;\n    }\n  }\n  piVar19 = (int *)0x0;\n  local_54 = 0;\n  puVar17 = PTR_s_j_000790a8 + 0x42f0;\n  param_2 = piVar3;\n  goto LAB_00043198;\nLAB_0004340c:\n  do {\n    cVar9 = *(char *)piVar5;\n    unaff_s5 = piVar5;\n    if (cVar9 == '-') {\n      piVar10 = (int *)(PTR_s_j_000790a8 + 0x43fc);\n      iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar5);\n      if (iVar4 == 0) {\n        (*(code *)PTR_safefree_000790f0)(piVar5);\n        if ((int)unaff_s4 < 4) {\n          puVar17 = PTR_s_j_000790a8 + 0x42c4;\n          param_2 = (int *)0x0;\n          goto LAB_00043198;\n        }\n        piVar3 = (int *)(*(code *)PTR_toint_000792c8)(*piVar19);\n        puVar17 = PTR_s_j_000790a8;\n        if (((int)piVar3 < 0) || ((int)((int)unaff_s4 + -3) <= (int)piVar3)) {\n          puVar17 = PTR_s_j_000790a8 + 0x431c;\n          param_2 = (int *)0x0;\n          goto LAB_00043198;\n        }\n        piVar20 = piVar19 + 1;\n        if (param_2 != (int *)0x0) {\n          iVar4 = (*(code *)PTR_dupprintf_000790e8)(PTR_s_j_000790a8 + -0x26d0);\n          *param_2 = iVar4;\n          piVar10 = piVar3;\n        }\n        if (param_3 != (int *)0x0) {\n          *param_3 = (int)unaff_s4;\n        }\n        if (param_4 == (int *)0x0) {\n          (*(code *)PTR_safefree_000790f0)(local_54);\n        }\n        else {\n          *param_4 = local_54;\n        }\n        goto LAB_000431d8;\n      }\n      break;\n    }\n    unaff_s6 = (int *)&DAT_00000004;\n    while (piVar3 = unaff_s4, cVar9 != '\0') {\n      while( true ) {\n        local_30[iVar4] = cVar9;\n        if (iVar4 + 1 != 4) break;\n        piVar20 = (int *)(*(code *)PTR_base64_decode_atom_000792d8)(unaff_s8,unaff_s7);\n        unaff_s4 = (int *)((int)piVar3 + (int)piVar20);\n        if (iVar18 < (int)unaff_s4) {\n          iVar18 = ((int)unaff_s4 * 5 >> 2) + 0x400;\n          piVar19 = (int *)(*(code *)PTR_saferealloc_000791a0)(piVar19,iVar18,1);\n        }\n        unaff_s5 = (int *)((int)unaff_s5 + 1);\n        piVar10 = unaff_s7;\n        (*(code *)PTR_memcpy_000798e0)((char *)((int)piVar19 + (int)piVar3));\n        iVar4 = 0;\n        cVar9 = *(char *)unaff_s5;\n        piVar3 = unaff_s4;\n        if (cVar9 == '\0') goto LAB_000434ac;\n      }\n      unaff_s5 = (int *)((int)unaff_s5 + 1);\n      iVar4 = iVar4 + 1;\n      unaff_s4 = piVar3;\n      cVar9 = *(char *)unaff_s5;\n    }\nLAB_000434ac:\n    (*(code *)PTR_safefree_000790f0)(piVar5);\n    uVar2 = (*(code *)PTR_fgetline_00079538)(param_1);\n    piVar5 = (int *)(*(code *)PTR_chomp_0007953c)(uVar2);\n  } while (piVar5 != (int *)0x0);\n  puVar17 = PTR_s_j_000790a8 + 0x4350;\n  param_2 = piVar5;\nLAB_00043198:\n  (*(code *)PTR_safefree_000790f0)(param_2);\n  (*(code *)PTR_safefree_000790f0)(local_54);\n  (*(code *)PTR_safefree_000790f0)(piVar19);\n  piVar5 = unaff_s5;\n  if (param_5 == (undefined4 *)0x0) {\n    piVar19 = (int *)0x0;\n  }\n  else {\n    piVar19 = (int *)0x0;\n    *param_5 = puVar17;\n  }\nLAB_000431d8:\n  if (local_2c == *(int *)puVar22) {\n    return piVar19;\n  }\n  pcVar23 = openssh_loadpub;\n  puVar22 = PTR___stack_chk_fail_000797f0;\n  (*(code *)PTR___stack_chk_fail_000797f0)();\n  piStack_a0 = (int *)(puVar22 + 0x3da44);\n  piStack_98 = param_2;\n  puStack_94 = puVar17;\n  piStack_90 = piVar19;\n  uStack_8c = param_1;\n  piStack_88 = unaff_s4;\n  piStack_84 = piVar5;\n  piStack_80 = unaff_s6;\n  piStack_7c = unaff_s7;\n  pcStack_78 = unaff_s8;\n  pcStack_74 = pcVar23;\n  uVar2 = (**(code **)(puVar22 + 0x35f0c))();\n  uVar2 = (*(code *)piStack_a0[-0x1ecd])(uVar2);\n  puVar6 = (undefined1 *)(*(code *)piStack_a0[-0x1e0f])(uVar2,0x20);\n  if (puVar6 == (undefined1 *)0x0) {\n    piVar3 = (int *)0x0;\n    iVar4 = piStack_a0[-0x1ff2] + 0x4490;\n    puVar6 = (undefined1 *)0x0;\n  }\n  else {\n    pcVar23 = (code *)piStack_a0[-0x1e0f];\n    pcVar15 = puVar6 + 1;\n    *puVar6 = 0;\n    puVar6 = (undefined1 *)(*pcVar23)(pcVar15,0x20);\n    if (puVar6 != (undefined1 *)0x0) {\n      pcVar23 = (code *)piStack_a0[-0x1fdd];\n      *puVar6 = 0;\n      puVar6 = (undefined1 *)(*pcVar23)(puVar6 + 1);\n    }\n    iVar18 = 0;\n    uVar7 = (*(code *)piStack_a0[-0x1de8])(pcVar15);\n    iVar4 = (uVar7 >> 2) * 3;\n    piVar3 = (int *)(*(code *)piStack_a0[-0x1fe8])(iVar4,1);\n    while (iVar8 = (*(code *)piStack_a0[-0x1df7])(pcVar15,0,4), iVar8 == 0) {\n      if (iVar4 <= iVar18 + 2) {\n        puVar12 = (undefined4 *)&DAT_00000441;\n        pcVar23 = (code *)piStack_a0[-0x1e6c];\n        piVar14 = (int *)(piStack_a0[-0x1ff2] + 0x4800);\n        piVar11 = (int *)(piStack_a0[-0x1ff2] + 0x4034);\n        pcVar24 = ssh2_userkey_loadpub;\n        (*pcVar23)(piStack_a0[-0x1ff2] + 0x44b8);\n        piVar5 = piStack_a0;\n        pcStack_118 = pcVar23 + 0x3d74c;\n        piVar16 = *(int **)(pcVar23 + 0x3600c);\n        piVar19 = (int *)(*(int *)(pcVar23 + 0x35784) + 0x4078);\n        iStack_dc = *piVar16;\n        pcStack_d8 = pcVar15;\n        iStack_d4 = iVar18;\n        piStack_d0 = piVar3;\n        iStack_cc = iVar4;\n        puStack_c8 = puVar6;\n        uStack_c4 = uVar2;\n        piStack_c0 = piVar13;\n        piStack_bc = piVar20;\n        piStack_b8 = piVar10;\n        pcStack_b4 = pcVar24;\n        piVar10 = (int *)f_open();\n        if (piVar10 == (int *)0x0) {\n          if (piVar5 != (int *)0x0) {\n            *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x407c;\n          }\nLAB_000439f4:\n          piVar21 = (int *)0x0;\n          piVar10 = piVar20;\n        }\n        else {\n          iVar4 = FUN_00041f60(piVar10);\n          if (iVar4 == 9) {\n            pcVar23 = *(code **)(pcStack_118 + -0x7b14);\n          }\n          else {\n            if (iVar4 != 10) {\n              piVar20 = piVar10;\n              if (iVar4 != 3) {\nLAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }\n                goto LAB_000439f4;\n              }\n              piVar13 = aiStack_104;\n              iVar4 = FUN_00040db0(piVar10,piVar13);\n              if (iVar4 == 0) {\nLAB_00043cc0:\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);\n                iVar4 = (**(code **)(pcStack_118 + -0x78ac))(piVar13,piVar19,0x14);\n                if (iVar4 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                  if (piVar5 != (int *)0x0) {\n                    *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }\n                goto LAB_000439d4;\n              }\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214);\n              iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if (iVar4 != 0) {\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);\n                iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                if (iVar4 != 0) goto LAB_00043cc0;\n              }\n              pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74);\n              piVar3 = (int *)FUN_00040e74(piVar10);\n              if (piVar3 == (int *)0x0) {\nLAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                goto LAB_000439f4;\n              }\n              uVar2 = (**(code **)(pcStack_118 + -0x77a0))(piVar3);\n              piVar19 = piVar3;\n              iVar4 = find_pubkey_alg_len(uVar2);\n              (**(code **)(pcStack_118 + -0x7f80))(piVar3);\n              if ((iVar4 == 0) || (piVar19 = piVar13, iVar18 = FUN_00040db0(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) || (iVar18 = (*pcStack_110)(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n              piVar19 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              if (iVar18 == 0) goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) ||\n                 (pcVar23 = (code *)(*pcStack_110)(piVar10), pcVar23 == (code *)0x0))\n              goto LAB_00043c9c;\n              pcStack_10c = pcVar23;\n              if (piVar14 == (int *)0x0) {\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n              }\n              else {\n                *piVar14 = (int)pcVar23;\n              }\n              piVar3 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              pcVar23 = pcStack_10c;\n              if (iVar18 == 0) {\nLAB_00043d58:\n                piVar19 = piVar3;\n                pcStack_110 = pcVar23;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                if (piVar14 == (int *)0x0) goto LAB_000439f4;\n                piVar21 = (int *)0x0;\n                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);\n                *piVar14 = 0;\n              }\n              else {\n                piVar3 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                pcVar23 = pcStack_10c;\n                if ((iVar18 != 0) ||\n                   (iVar18 = (*pcStack_110)(piVar10), pcVar23 = pcStack_10c, iVar18 == 0))\n                goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                piVar19 = (int *)FUN_00040d14(iVar18);\n                (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n                pcVar23 = pcStack_110;\n                if (((int)piVar19 < 0) ||\n                   (piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108), piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (puVar12 != (undefined4 *)0x0) {\n                  *puVar12 = uStack_108;\n                }\n                if (piVar11 != (int *)0x0) {\n                  iVar4 = (**(code **)(pcStack_118 + -0x7f74))(*(undefined4 *)(iVar4 + 0x30));\n                  *piVar11 = iVar4;\n                }\n              }\n              goto LAB_000439f8;\n            }\n            pcVar23 = *(code **)(pcStack_118 + -0x7b10);\n          }\n          piStack_120 = piVar5;\n          piVar19 = piVar11;\n          piVar21 = (int *)(*pcVar23)(piVar10,piVar11,puVar12,piVar14);\n          (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n        }\nLAB_000439f8:\n        if (iStack_dc == *piVar16) {\n          return piVar21;\n        }\n        pcVar23 = *(code **)(pcStack_118 + -0x7880);\n        pcVar24 = ssh2_userkey_encrypted;\n        (*pcVar23)();\n        piVar20 = *(int **)(pcVar23 + 0x35b70);\n        piStack_150 = piVar5;\n        iStack_15c = *piVar20;\n        if (piVar19 != (int *)0x0) {\n          *piVar19 = 0;\n        }\n        piStack_154 = piVar16;\n        piStack_14c = piVar14;\n        piStack_148 = piVar11;\n        puStack_144 = puVar12;\n        piStack_140 = piVar21;\n        piStack_13c = piVar13;\n        piStack_138 = piVar10;\n        pcStack_134 = pcVar24;\n        iVar4 = f_open();\n        if (iVar4 == 0) {\n          piVar10 = (int *)0x0;\n        }\n        else {\n          iVar18 = FUN_00040db0(iVar4,auStack_184);\n          if ((iVar18 != 0) &&\n             (((iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4214), iVar18 == 0\n               || (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                      (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c),\n                  iVar18 == 0)) && (iVar18 = FUN_00040e74(iVar4), iVar18 != 0)))) {\n            (**(code **)(pcVar23 + 0x35330))(iVar18);\n            iVar18 = FUN_00040db0(iVar4,auStack_184);\n            if ((iVar18 != 0) &&\n               (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4244), iVar18 == 0))\n            {\n              iVar18 = FUN_00040e74(iVar4);\n              if (iVar18 == 0) {\n                (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                piVar10 = (int *)0x0;\n              }\n              else {\n                iVar8 = FUN_00040db0(iVar4,auStack_184);\n                if (((iVar8 == 0) ||\n                    (iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0)) || (iVar8 = FUN_00040e74(iVar4), iVar8 == 0)) {\n                  piVar10 = (int *)0x1;\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n                else {\n                  if (piVar19 == (int *)0x0) {\n                    (**(code **)(pcVar23 + 0x35330))(iVar8);\n                  }\n                  else {\n                    *piVar19 = iVar8;\n                  }\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  iVar4 = (**(code **)(pcVar23 + 0x35ae4))\n                                    (iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4);\n                  piVar10 = (int *)(uint)(iVar4 == 0);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n              }\n              goto LAB_00043f04;\n            }\n          }\n          piVar10 = (int *)0x0;\n          (**(code **)(pcVar23 + 0x35acc))(iVar4);\n        }\nLAB_00043f04:\n        if (iStack_15c != *piVar20) {\n          (**(code **)(pcVar23 + 0x35a30))();\n          return (int *)((iStack_15c + 0x2f) / 0x30);\n        }\n        return piVar10;\n      }\n      iVar8 = (*(code *)piStack_a0[-0x1f66])(pcVar15,(int)piVar3 + iVar18);\n      iVar18 = iVar18 + iVar8;\n      pcVar15 = pcVar15 + 4;\n    }\n    if (*pcVar15 == '\0') {\n      iVar4 = (*(code *)piStack_a0[-0x1de8])(uVar2);\n      if (((iVar4 + 3 < iVar18) && (iVar4 == *piVar3)) &&\n         (iVar4 = (*(code *)piStack_a0[-0x1dfd])(piVar3 + 1,uVar2,iVar4), iVar4 == 0)) {\n        if (piVar10 != (int *)0x0) {\n          iVar4 = (*(code *)piStack_a0[-0x1fdd])(uVar2);\n          *piVar10 = iVar4;\n        }\n        if (piVar20 != (int *)0x0) {\n          *piVar20 = iVar18;\n        }\n        if (piVar13 == (int *)0x0) {\n          (*(code *)piStack_a0[-0x1fe0])(puVar6);\n        }\n        else {\n          *piVar13 = (int)puVar6;\n        }\n        (*(code *)piStack_a0[-0x1fe0])(uVar2);\n        return piVar3;\n      }\n      iVar4 = piStack_a0[-0x1ff2] + 0x441c;\n    }\n    else {\n      iVar4 = piStack_a0[-0x1ff2] + 0x4454;\n    }\n  }\n  (*(code *)piStack_a0[-0x1fe0])(uVar2);\n  (*(code *)piStack_a0[-0x1fe0])(puVar6);\n  (*(code *)piStack_a0[-0x1fe0])(piVar3);\n  __gp_1 = iVar4;\n  return (int *)0x0;\n}\n\n" (function_definition "int * rfc4716_loadpub(undefined4 param_1,int *param_2,int *param_3,int *param_4,undefined4 *param_5)\n\n{\n  undefined *puVar1;\n  undefined4 uVar2;\n  int *piVar3;\n  int iVar4;\n  int *piVar5;\n  char cVar9;\n  undefined1 *puVar6;\n  uint uVar7;\n  int iVar8;\n  int *piVar10;\n  int *piVar11;\n  undefined4 *puVar12;\n  int *piVar13;\n  int *piVar14;\n  char *pcVar15;\n  int *piVar16;\n  undefined *puVar17;\n  int iVar18;\n  int *piVar19;\n  int *piVar20;\n  int *unaff_s4;\n  int *unaff_s5;\n  int *piVar21;\n  int *unaff_s6;\n  int *unaff_s7;\n  undefined *puVar22;\n  char *unaff_s8;\n  code *pcVar23;\n  code *pcVar24;\n  undefined1 auStack_184 [40];\n  int iStack_15c;\n  int *piStack_154;\n  int *piStack_150;\n  int *piStack_14c;\n  int *piStack_148;\n  undefined4 *puStack_144;\n  int *piStack_140;\n  int *piStack_13c;\n  int *piStack_138;\n  code *pcStack_134;\n  int *piStack_120;\n  code *pcStack_118;\n  code *pcStack_110;\n  code *pcStack_10c;\n  undefined4 uStack_108;\n  int aiStack_104 [10];\n  int iStack_dc;\n  char *pcStack_d8;\n  int iStack_d4;\n  int *piStack_d0;\n  int iStack_cc;\n  undefined1 *puStack_c8;\n  undefined4 uStack_c4;\n  int *piStack_c0;\n  int *piStack_bc;\n  int *piStack_b8;\n  code *pcStack_b4;\n  int *piStack_a0;\n  int *piStack_98;\n  undefined *puStack_94;\n  int *piStack_90;\n  undefined4 uStack_8c;\n  int *piStack_88;\n  int *piStack_84;\n  int *piStack_80;\n  int *piStack_7c;\n  char *pcStack_78;\n  code *pcStack_74;\n  int local_54;\n  int iStack_34;\n  char local_30 [4];\n  int local_2c;\n  \n  puVar22 = PTR___stack_chk_guard_00079930;\n  local_2c = *(int *)PTR___stack_chk_guard_00079930;\n  piVar10 = param_2;\n  piVar20 = param_3;\n  piVar13 = param_4;\n  uVar2 = (*(code *)PTR_fgetline_00079538)();\n  piVar3 = (int *)(*(code *)PTR_chomp_0007953c)(uVar2);\n  if (piVar3 != (int *)0x0) {\n    piVar10 = (int *)(PTR_s_j_000790a8 + 0x43cc);\n    iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar3);\n    if (iVar4 == 0) {\n      (*(code *)PTR_safefree_000790f0)(piVar3);\n      local_54 = 0;\n      puVar17 = PTR_s_j_000790a8 + 0x43ec;\n      piVar3 = (int *)(PTR_s_j_000790a8 + 0x4258);\n      unaff_s4 = (int *)(PTR_s_j_000790a8 + 0x43f0);\n      unaff_s7 = (int *)(PTR_s_j_000790a8 + 0x43f8);\n      while( true ) {\n        uVar2 = (*(code *)PTR_fgetline_00079538)(param_1);\n        piVar5 = (int *)(*(code *)PTR_chomp_0007953c)(uVar2);\n        if (piVar5 == (int *)0x0) break;\n        unaff_s8 = (char *)(*(code *)PTR_strstr_00079944)(piVar5,puVar17);\n        puVar1 = PTR_strcmp_000798a4;\n        if (unaff_s8 == (char *)0x0) {\n          piVar10 = (int *)0x1;\n          unaff_s7 = &iStack_34;\n          piVar19 = (int *)(*(code *)PTR_safemalloc_000790d0)(0x1000);\n          unaff_s8 = local_30;\n          iVar4 = 0;\n          unaff_s4 = (int *)0x0;\n          iVar18 = 0x1000;\n          goto LAB_0004340c;\n        }\n        *unaff_s8 = '\0';\n        piVar10 = piVar3;\n        iVar4 = (*(code *)puVar1)(piVar5);\n        if (iVar4 == 0) {\n          unaff_s5 = (int *)(int)unaff_s8[2];\n          unaff_s6 = (int *)(unaff_s8 + 2);\n          piVar20 = piVar5;\n          if (unaff_s5 == (int *)0x22) {\n            iVar4 = (*(code *)PTR_strlen_000798d0)(unaff_s6);\n            pcVar15 = (char *)((int)unaff_s6 + iVar4 + -1);\n            if (*pcVar15 == '\"') {\n              *pcVar15 = '\0';\n              unaff_s5 = (int *)(int)unaff_s8[3];\n              unaff_s6 = (int *)(unaff_s8 + 3);\n              if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n            }\nLAB_00043310:\n            piVar13 = (int *)&DAT_0000005c;\n            piVar19 = piVar10;\n            piVar11 = piVar5;\n            piVar14 = unaff_s6;\n            do {\n              while ((piVar10 = (int *)((int)piVar14 + 1), unaff_s5 != (int *)&DAT_0000005c ||\n                     (*(char *)((int)piVar14 + 1) == '\0'))) {\n                *(char *)piVar11 = *(char *)piVar14;\n                unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 1);\n                piVar19 = piVar10;\n                piVar20 = (int *)((int)piVar11 + 1);\n                piVar11 = (int *)((int)piVar11 + 1);\n                unaff_s6 = piVar10;\n                piVar14 = piVar10;\n                if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n              }\n              *(char *)piVar11 = *(char *)((int)piVar14 + 1);\n              unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 2);\n              piVar10 = piVar19;\n              piVar20 = (int *)((int)piVar11 + 1);\n              piVar11 = (int *)((int)piVar11 + 1);\n              unaff_s6 = (int *)((int)piVar14 + 2);\n              piVar14 = (int *)((int)piVar14 + 2);\n            } while (unaff_s5 != (int *)0x0);\n          }\n          else if (unaff_s5 != (int *)0x0) goto LAB_00043310;\nLAB_00043364:\n          puVar1 = PTR_safefree_000790f0;\n          *(char *)piVar20 = '\0';\n          (*(code *)puVar1)(local_54);\n          local_54 = (*(code *)PTR_dupstr_000790fc)(piVar5);\n        }\n        else {\n          piVar10 = unaff_s4;\n          iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar5);\n          if (iVar4 != 0) {\n            piVar20 = (int *)0x2;\n            piVar10 = unaff_s7;\n            iVar4 = (*(code *)PTR_strncmp_000797c4)(piVar5);\n            if (iVar4 != 0) {\n              piVar19 = (int *)0x0;\n              puVar17 = PTR_s_j_000790a8 + 0x437c;\n              param_2 = piVar5;\n              goto LAB_00043198;\n            }\n          }\n        }\n        (*(code *)PTR_safefree_000790f0)(piVar5);\n      }\n      piVar19 = (int *)0x0;\n      puVar17 = PTR_s_j_000790a8 + 0x43ac;\n      param_2 = piVar5;\n      goto LAB_00043198;\n    }\n  }\n  piVar19 = (int *)0x0;\n  local_54 = 0;\n  puVar17 = PTR_s_j_000790a8 + 0x42f0;\n  param_2 = piVar3;\n  goto LAB_00043198;\nLAB_0004340c:\n  do {\n    cVar9 = *(char *)piVar5;\n    unaff_s5 = piVar5;\n    if (cVar9 == '-') {\n      piVar10 = (int *)(PTR_s_j_000790a8 + 0x43fc);\n      iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar5);\n      if (iVar4 == 0) {\n        (*(code *)PTR_safefree_000790f0)(piVar5);\n        if ((int)unaff_s4 < 4) {\n          puVar17 = PTR_s_j_000790a8 + 0x42c4;\n          param_2 = (int *)0x0;\n          goto LAB_00043198;\n        }\n        piVar3 = (int *)(*(code *)PTR_toint_000792c8)(*piVar19);\n        puVar17 = PTR_s_j_000790a8;\n        if (((int)piVar3 < 0) || ((int)((int)unaff_s4 + -3) <= (int)piVar3)) {\n          puVar17 = PTR_s_j_000790a8 + 0x431c;\n          param_2 = (int *)0x0;\n          goto LAB_00043198;\n        }\n        piVar20 = piVar19 + 1;\n        if (param_2 != (int *)0x0) {\n          iVar4 = (*(code *)PTR_dupprintf_000790e8)(PTR_s_j_000790a8 + -0x26d0);\n          *param_2 = iVar4;\n          piVar10 = piVar3;\n        }\n        if (param_3 != (int *)0x0) {\n          *param_3 = (int)unaff_s4;\n        }\n        if (param_4 == (int *)0x0) {\n          (*(code *)PTR_safefree_000790f0)(local_54);\n        }\n        else {\n          *param_4 = local_54;\n        }\n        goto LAB_000431d8;\n      }\n      break;\n    }\n    unaff_s6 = (int *)&DAT_00000004;\n    while (piVar3 = unaff_s4, cVar9 != '\0') {\n      while( true ) {\n        local_30[iVar4] = cVar9;\n        if (iVar4 + 1 != 4) break;\n        piVar20 = (int *)(*(code *)PTR_base64_decode_atom_000792d8)(unaff_s8,unaff_s7);\n        unaff_s4 = (int *)((int)piVar3 + (int)piVar20);\n        if (iVar18 < (int)unaff_s4) {\n          iVar18 = ((int)unaff_s4 * 5 >> 2) + 0x400;\n          piVar19 = (int *)(*(code *)PTR_saferealloc_000791a0)(piVar19,iVar18,1);\n        }\n        unaff_s5 = (int *)((int)unaff_s5 + 1);\n        piVar10 = unaff_s7;\n        (*(code *)PTR_memcpy_000798e0)((char *)((int)piVar19 + (int)piVar3));\n        iVar4 = 0;\n        cVar9 = *(char *)unaff_s5;\n        piVar3 = unaff_s4;\n        if (cVar9 == '\0') goto LAB_000434ac;\n      }\n      unaff_s5 = (int *)((int)unaff_s5 + 1);\n      iVar4 = iVar4 + 1;\n      unaff_s4 = piVar3;\n      cVar9 = *(char *)unaff_s5;\n    }\nLAB_000434ac:\n    (*(code *)PTR_safefree_000790f0)(piVar5);\n    uVar2 = (*(code *)PTR_fgetline_00079538)(param_1);\n    piVar5 = (int *)(*(code *)PTR_chomp_0007953c)(uVar2);\n  } while (piVar5 != (int *)0x0);\n  puVar17 = PTR_s_j_000790a8 + 0x4350;\n  param_2 = piVar5;\nLAB_00043198:\n  (*(code *)PTR_safefree_000790f0)(param_2);\n  (*(code *)PTR_safefree_000790f0)(local_54);\n  (*(code *)PTR_safefree_000790f0)(piVar19);\n  piVar5 = unaff_s5;\n  if (param_5 == (undefined4 *)0x0) {\n    piVar19 = (int *)0x0;\n  }\n  else {\n    piVar19 = (int *)0x0;\n    *param_5 = puVar17;\n  }\nLAB_000431d8:\n  if (local_2c == *(int *)puVar22) {\n    return piVar19;\n  }\n  pcVar23 = openssh_loadpub;\n  puVar22 = PTR___stack_chk_fail_000797f0;\n  (*(code *)PTR___stack_chk_fail_000797f0)();\n  piStack_a0 = (int *)(puVar22 + 0x3da44);\n  piStack_98 = param_2;\n  puStack_94 = puVar17;\n  piStack_90 = piVar19;\n  uStack_8c = param_1;\n  piStack_88 = unaff_s4;\n  piStack_84 = piVar5;\n  piStack_80 = unaff_s6;\n  piStack_7c = unaff_s7;\n  pcStack_78 = unaff_s8;\n  pcStack_74 = pcVar23;\n  uVar2 = (**(code **)(puVar22 + 0x35f0c))();\n  uVar2 = (*(code *)piStack_a0[-0x1ecd])(uVar2);\n  puVar6 = (undefined1 *)(*(code *)piStack_a0[-0x1e0f])(uVar2,0x20);\n  if (puVar6 == (undefined1 *)0x0) {\n    piVar3 = (int *)0x0;\n    iVar4 = piStack_a0[-0x1ff2] + 0x4490;\n    puVar6 = (undefined1 *)0x0;\n  }\n  else {\n    pcVar23 = (code *)piStack_a0[-0x1e0f];\n    pcVar15 = puVar6 + 1;\n    *puVar6 = 0;\n    puVar6 = (undefined1 *)(*pcVar23)(pcVar15,0x20);\n    if (puVar6 != (undefined1 *)0x0) {\n      pcVar23 = (code *)piStack_a0[-0x1fdd];\n      *puVar6 = 0;\n      puVar6 = (undefined1 *)(*pcVar23)(puVar6 + 1);\n    }\n    iVar18 = 0;\n    uVar7 = (*(code *)piStack_a0[-0x1de8])(pcVar15);\n    iVar4 = (uVar7 >> 2) * 3;\n    piVar3 = (int *)(*(code *)piStack_a0[-0x1fe8])(iVar4,1);\n    while (iVar8 = (*(code *)piStack_a0[-0x1df7])(pcVar15,0,4), iVar8 == 0) {\n      if (iVar4 <= iVar18 + 2) {\n        puVar12 = (undefined4 *)&DAT_00000441;\n        pcVar23 = (code *)piStack_a0[-0x1e6c];\n        piVar14 = (int *)(piStack_a0[-0x1ff2] + 0x4800);\n        piVar11 = (int *)(piStack_a0[-0x1ff2] + 0x4034);\n        pcVar24 = ssh2_userkey_loadpub;\n        (*pcVar23)(piStack_a0[-0x1ff2] + 0x44b8);\n        piVar5 = piStack_a0;\n        pcStack_118 = pcVar23 + 0x3d74c;\n        piVar16 = *(int **)(pcVar23 + 0x3600c);\n        piVar19 = (int *)(*(int *)(pcVar23 + 0x35784) + 0x4078);\n        iStack_dc = *piVar16;\n        pcStack_d8 = pcVar15;\n        iStack_d4 = iVar18;\n        piStack_d0 = piVar3;\n        iStack_cc = iVar4;\n        puStack_c8 = puVar6;\n        uStack_c4 = uVar2;\n        piStack_c0 = piVar13;\n        piStack_bc = piVar20;\n        piStack_b8 = piVar10;\n        pcStack_b4 = pcVar24;\n        piVar10 = (int *)f_open();\n        if (piVar10 == (int *)0x0) {\n          if (piVar5 != (int *)0x0) {\n            *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x407c;\n          }\nLAB_000439f4:\n          piVar21 = (int *)0x0;\n          piVar10 = piVar20;\n        }\n        else {\n          iVar4 = FUN_00041f60(piVar10);\n          if (iVar4 == 9) {\n            pcVar23 = *(code **)(pcStack_118 + -0x7b14);\n          }\n          else {\n            if (iVar4 != 10) {\n              piVar20 = piVar10;\n              if (iVar4 != 3) {\nLAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }\n                goto LAB_000439f4;\n              }\n              piVar13 = aiStack_104;\n              iVar4 = FUN_00040db0(piVar10,piVar13);\n              if (iVar4 == 0) {\nLAB_00043cc0:\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);\n                iVar4 = (**(code **)(pcStack_118 + -0x78ac))(piVar13,piVar19,0x14);\n                if (iVar4 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                  if (piVar5 != (int *)0x0) {\n                    *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }\n                goto LAB_000439d4;\n              }\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214);\n              iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if (iVar4 != 0) {\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);\n                iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                if (iVar4 != 0) goto LAB_00043cc0;\n              }\n              pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74);\n              piVar3 = (int *)FUN_00040e74(piVar10);\n              if (piVar3 == (int *)0x0) {\nLAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                goto LAB_000439f4;\n              }\n              uVar2 = (**(code **)(pcStack_118 + -0x77a0))(piVar3);\n              piVar19 = piVar3;\n              iVar4 = find_pubkey_alg_len(uVar2);\n              (**(code **)(pcStack_118 + -0x7f80))(piVar3);\n              if ((iVar4 == 0) || (piVar19 = piVar13, iVar18 = FUN_00040db0(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) || (iVar18 = (*pcStack_110)(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n              piVar19 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              if (iVar18 == 0) goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) ||\n                 (pcVar23 = (code *)(*pcStack_110)(piVar10), pcVar23 == (code *)0x0))\n              goto LAB_00043c9c;\n              pcStack_10c = pcVar23;\n              if (piVar14 == (int *)0x0) {\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n              }\n              else {\n                *piVar14 = (int)pcVar23;\n              }\n              piVar3 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              pcVar23 = pcStack_10c;\n              if (iVar18 == 0) {\nLAB_00043d58:\n                piVar19 = piVar3;\n                pcStack_110 = pcVar23;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                if (piVar14 == (int *)0x0) goto LAB_000439f4;\n                piVar21 = (int *)0x0;\n                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);\n                *piVar14 = 0;\n              }\n              else {\n                piVar3 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                pcVar23 = pcStack_10c;\n                if ((iVar18 != 0) ||\n                   (iVar18 = (*pcStack_110)(piVar10), pcVar23 = pcStack_10c, iVar18 == 0))\n                goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                piVar19 = (int *)FUN_00040d14(iVar18);\n                (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n                pcVar23 = pcStack_110;\n                if (((int)piVar19 < 0) ||\n                   (piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108), piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (puVar12 != (undefined4 *)0x0) {\n                  *puVar12 = uStack_108;\n                }\n                if (piVar11 != (int *)0x0) {\n                  iVar4 = (**(code **)(pcStack_118 + -0x7f74))(*(undefined4 *)(iVar4 + 0x30));\n                  *piVar11 = iVar4;\n                }\n              }\n              goto LAB_000439f8;\n            }\n            pcVar23 = *(code **)(pcStack_118 + -0x7b10);\n          }\n          piStack_120 = piVar5;\n          piVar19 = piVar11;\n          piVar21 = (int *)(*pcVar23)(piVar10,piVar11,puVar12,piVar14);\n          (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n        }\nLAB_000439f8:\n        if (iStack_dc == *piVar16) {\n          return piVar21;\n        }\n        pcVar23 = *(code **)(pcStack_118 + -0x7880);\n        pcVar24 = ssh2_userkey_encrypted;\n        (*pcVar23)();\n        piVar20 = *(int **)(pcVar23 + 0x35b70);\n        piStack_150 = piVar5;\n        iStack_15c = *piVar20;\n        if (piVar19 != (int *)0x0) {\n          *piVar19 = 0;\n        }\n        piStack_154 = piVar16;\n        piStack_14c = piVar14;\n        piStack_148 = piVar11;\n        puStack_144 = puVar12;\n        piStack_140 = piVar21;\n        piStack_13c = piVar13;\n        piStack_138 = piVar10;\n        pcStack_134 = pcVar24;\n        iVar4 = f_open();\n        if (iVar4 == 0) {\n          piVar10 = (int *)0x0;\n        }\n        else {\n          iVar18 = FUN_00040db0(iVar4,auStack_184);\n          if ((iVar18 != 0) &&\n             (((iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4214), iVar18 == 0\n               || (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                      (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c),\n                  iVar18 == 0)) && (iVar18 = FUN_00040e74(iVar4), iVar18 != 0)))) {\n            (**(code **)(pcVar23 + 0x35330))(iVar18);\n            iVar18 = FUN_00040db0(iVar4,auStack_184);\n            if ((iVar18 != 0) &&\n               (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4244), iVar18 == 0))\n            {\n              iVar18 = FUN_00040e74(iVar4);\n              if (iVar18 == 0) {\n                (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                piVar10 = (int *)0x0;\n              }\n              else {\n                iVar8 = FUN_00040db0(iVar4,auStack_184);\n                if (((iVar8 == 0) ||\n                    (iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0)) || (iVar8 = FUN_00040e74(iVar4), iVar8 == 0)) {\n                  piVar10 = (int *)0x1;\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n                else {\n                  if (piVar19 == (int *)0x0) {\n                    (**(code **)(pcVar23 + 0x35330))(iVar8);\n                  }\n                  else {\n                    *piVar19 = iVar8;\n                  }\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  iVar4 = (**(code **)(pcVar23 + 0x35ae4))\n                                    (iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4);\n                  piVar10 = (int *)(uint)(iVar4 == 0);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n              }\n              goto LAB_00043f04;\n            }\n          }\n          piVar10 = (int *)0x0;\n          (**(code **)(pcVar23 + 0x35acc))(iVar4);\n        }\nLAB_00043f04:\n        if (iStack_15c != *piVar20) {\n          (**(code **)(pcVar23 + 0x35a30))();\n          return (int *)((iStack_15c + 0x2f) / 0x30);\n        }\n        return piVar10;\n      }\n      iVar8 = (*(code *)piStack_a0[-0x1f66])(pcVar15,(int)piVar3 + iVar18);\n      iVar18 = iVar18 + iVar8;\n      pcVar15 = pcVar15 + 4;\n    }\n    if (*pcVar15 == '\0') {\n      iVar4 = (*(code *)piStack_a0[-0x1de8])(uVar2);\n      if (((iVar4 + 3 < iVar18) && (iVar4 == *piVar3)) &&\n         (iVar4 = (*(code *)piStack_a0[-0x1dfd])(piVar3 + 1,uVar2,iVar4), iVar4 == 0)) {\n        if (piVar10 != (int *)0x0) {\n          iVar4 = (*(code *)piStack_a0[-0x1fdd])(uVar2);\n          *piVar10 = iVar4;\n        }\n        if (piVar20 != (int *)0x0) {\n          *piVar20 = iVar18;\n        }\n        if (piVar13 == (int *)0x0) {\n          (*(code *)piStack_a0[-0x1fe0])(puVar6);\n        }\n        else {\n          *piVar13 = (int)puVar6;\n        }\n        (*(code *)piStack_a0[-0x1fe0])(uVar2);\n        return piVar3;\n      }\n      iVar4 = piStack_a0[-0x1ff2] + 0x441c;\n    }\n    else {\n      iVar4 = piStack_a0[-0x1ff2] + 0x4454;\n    }\n  }\n  (*(code *)piStack_a0[-0x1fe0])(uVar2);\n  (*(code *)piStack_a0[-0x1fe0])(puVar6);\n  (*(code *)piStack_a0[-0x1fe0])(piVar3);\n  __gp_1 = iVar4;\n  return (int *)0x0;\n}" primitive_type (pointer_declarator "* rfc4716_loadpub(undefined4 param_1,int *param_2,int *param_3,int *param_4,undefined4 *param_5)" * (function_declarator "rfc4716_loadpub(undefined4 param_1,int *param_2,int *param_3,int *param_4,undefined4 *param_5)" identifier (parameter_list "(undefined4 param_1,int *param_2,int *param_3,int *param_4,undefined4 *param_5)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "int *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "int *param_3" primitive_type (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "int *param_4" primitive_type (pointer_declarator "*param_4" * identifier)) , (parameter_declaration "undefined4 *param_5" type_identifier (pointer_declarator "*param_5" * identifier)) )))) (compound_statement "{\n  undefined *puVar1;\n  undefined4 uVar2;\n  int *piVar3;\n  int iVar4;\n  int *piVar5;\n  char cVar9;\n  undefined1 *puVar6;\n  uint uVar7;\n  int iVar8;\n  int *piVar10;\n  int *piVar11;\n  undefined4 *puVar12;\n  int *piVar13;\n  int *piVar14;\n  char *pcVar15;\n  int *piVar16;\n  undefined *puVar17;\n  int iVar18;\n  int *piVar19;\n  int *piVar20;\n  int *unaff_s4;\n  int *unaff_s5;\n  int *piVar21;\n  int *unaff_s6;\n  int *unaff_s7;\n  undefined *puVar22;\n  char *unaff_s8;\n  code *pcVar23;\n  code *pcVar24;\n  undefined1 auStack_184 [40];\n  int iStack_15c;\n  int *piStack_154;\n  int *piStack_150;\n  int *piStack_14c;\n  int *piStack_148;\n  undefined4 *puStack_144;\n  int *piStack_140;\n  int *piStack_13c;\n  int *piStack_138;\n  code *pcStack_134;\n  int *piStack_120;\n  code *pcStack_118;\n  code *pcStack_110;\n  code *pcStack_10c;\n  undefined4 uStack_108;\n  int aiStack_104 [10];\n  int iStack_dc;\n  char *pcStack_d8;\n  int iStack_d4;\n  int *piStack_d0;\n  int iStack_cc;\n  undefined1 *puStack_c8;\n  undefined4 uStack_c4;\n  int *piStack_c0;\n  int *piStack_bc;\n  int *piStack_b8;\n  code *pcStack_b4;\n  int *piStack_a0;\n  int *piStack_98;\n  undefined *puStack_94;\n  int *piStack_90;\n  undefined4 uStack_8c;\n  int *piStack_88;\n  int *piStack_84;\n  int *piStack_80;\n  int *piStack_7c;\n  char *pcStack_78;\n  code *pcStack_74;\n  int local_54;\n  int iStack_34;\n  char local_30 [4];\n  int local_2c;\n  \n  puVar22 = PTR___stack_chk_guard_00079930;\n  local_2c = *(int *)PTR___stack_chk_guard_00079930;\n  piVar10 = param_2;\n  piVar20 = param_3;\n  piVar13 = param_4;\n  uVar2 = (*(code *)PTR_fgetline_00079538)();\n  piVar3 = (int *)(*(code *)PTR_chomp_0007953c)(uVar2);\n  if (piVar3 != (int *)0x0) {\n    piVar10 = (int *)(PTR_s_j_000790a8 + 0x43cc);\n    iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar3);\n    if (iVar4 == 0) {\n      (*(code *)PTR_safefree_000790f0)(piVar3);\n      local_54 = 0;\n      puVar17 = PTR_s_j_000790a8 + 0x43ec;\n      piVar3 = (int *)(PTR_s_j_000790a8 + 0x4258);\n      unaff_s4 = (int *)(PTR_s_j_000790a8 + 0x43f0);\n      unaff_s7 = (int *)(PTR_s_j_000790a8 + 0x43f8);\n      while( true ) {\n        uVar2 = (*(code *)PTR_fgetline_00079538)(param_1);\n        piVar5 = (int *)(*(code *)PTR_chomp_0007953c)(uVar2);\n        if (piVar5 == (int *)0x0) break;\n        unaff_s8 = (char *)(*(code *)PTR_strstr_00079944)(piVar5,puVar17);\n        puVar1 = PTR_strcmp_000798a4;\n        if (unaff_s8 == (char *)0x0) {\n          piVar10 = (int *)0x1;\n          unaff_s7 = &iStack_34;\n          piVar19 = (int *)(*(code *)PTR_safemalloc_000790d0)(0x1000);\n          unaff_s8 = local_30;\n          iVar4 = 0;\n          unaff_s4 = (int *)0x0;\n          iVar18 = 0x1000;\n          goto LAB_0004340c;\n        }\n        *unaff_s8 = '\0';\n        piVar10 = piVar3;\n        iVar4 = (*(code *)puVar1)(piVar5);\n        if (iVar4 == 0) {\n          unaff_s5 = (int *)(int)unaff_s8[2];\n          unaff_s6 = (int *)(unaff_s8 + 2);\n          piVar20 = piVar5;\n          if (unaff_s5 == (int *)0x22) {\n            iVar4 = (*(code *)PTR_strlen_000798d0)(unaff_s6);\n            pcVar15 = (char *)((int)unaff_s6 + iVar4 + -1);\n            if (*pcVar15 == '\"') {\n              *pcVar15 = '\0';\n              unaff_s5 = (int *)(int)unaff_s8[3];\n              unaff_s6 = (int *)(unaff_s8 + 3);\n              if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n            }\nLAB_00043310:\n            piVar13 = (int *)&DAT_0000005c;\n            piVar19 = piVar10;\n            piVar11 = piVar5;\n            piVar14 = unaff_s6;\n            do {\n              while ((piVar10 = (int *)((int)piVar14 + 1), unaff_s5 != (int *)&DAT_0000005c ||\n                     (*(char *)((int)piVar14 + 1) == '\0'))) {\n                *(char *)piVar11 = *(char *)piVar14;\n                unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 1);\n                piVar19 = piVar10;\n                piVar20 = (int *)((int)piVar11 + 1);\n                piVar11 = (int *)((int)piVar11 + 1);\n                unaff_s6 = piVar10;\n                piVar14 = piVar10;\n                if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n              }\n              *(char *)piVar11 = *(char *)((int)piVar14 + 1);\n              unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 2);\n              piVar10 = piVar19;\n              piVar20 = (int *)((int)piVar11 + 1);\n              piVar11 = (int *)((int)piVar11 + 1);\n              unaff_s6 = (int *)((int)piVar14 + 2);\n              piVar14 = (int *)((int)piVar14 + 2);\n            } while (unaff_s5 != (int *)0x0);\n          }\n          else if (unaff_s5 != (int *)0x0) goto LAB_00043310;\nLAB_00043364:\n          puVar1 = PTR_safefree_000790f0;\n          *(char *)piVar20 = '\0';\n          (*(code *)puVar1)(local_54);\n          local_54 = (*(code *)PTR_dupstr_000790fc)(piVar5);\n        }\n        else {\n          piVar10 = unaff_s4;\n          iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar5);\n          if (iVar4 != 0) {\n            piVar20 = (int *)0x2;\n            piVar10 = unaff_s7;\n            iVar4 = (*(code *)PTR_strncmp_000797c4)(piVar5);\n            if (iVar4 != 0) {\n              piVar19 = (int *)0x0;\n              puVar17 = PTR_s_j_000790a8 + 0x437c;\n              param_2 = piVar5;\n              goto LAB_00043198;\n            }\n          }\n        }\n        (*(code *)PTR_safefree_000790f0)(piVar5);\n      }\n      piVar19 = (int *)0x0;\n      puVar17 = PTR_s_j_000790a8 + 0x43ac;\n      param_2 = piVar5;\n      goto LAB_00043198;\n    }\n  }\n  piVar19 = (int *)0x0;\n  local_54 = 0;\n  puVar17 = PTR_s_j_000790a8 + 0x42f0;\n  param_2 = piVar3;\n  goto LAB_00043198;\nLAB_0004340c:\n  do {\n    cVar9 = *(char *)piVar5;\n    unaff_s5 = piVar5;\n    if (cVar9 == '-') {\n      piVar10 = (int *)(PTR_s_j_000790a8 + 0x43fc);\n      iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar5);\n      if (iVar4 == 0) {\n        (*(code *)PTR_safefree_000790f0)(piVar5);\n        if ((int)unaff_s4 < 4) {\n          puVar17 = PTR_s_j_000790a8 + 0x42c4;\n          param_2 = (int *)0x0;\n          goto LAB_00043198;\n        }\n        piVar3 = (int *)(*(code *)PTR_toint_000792c8)(*piVar19);\n        puVar17 = PTR_s_j_000790a8;\n        if (((int)piVar3 < 0) || ((int)((int)unaff_s4 + -3) <= (int)piVar3)) {\n          puVar17 = PTR_s_j_000790a8 + 0x431c;\n          param_2 = (int *)0x0;\n          goto LAB_00043198;\n        }\n        piVar20 = piVar19 + 1;\n        if (param_2 != (int *)0x0) {\n          iVar4 = (*(code *)PTR_dupprintf_000790e8)(PTR_s_j_000790a8 + -0x26d0);\n          *param_2 = iVar4;\n          piVar10 = piVar3;\n        }\n        if (param_3 != (int *)0x0) {\n          *param_3 = (int)unaff_s4;\n        }\n        if (param_4 == (int *)0x0) {\n          (*(code *)PTR_safefree_000790f0)(local_54);\n        }\n        else {\n          *param_4 = local_54;\n        }\n        goto LAB_000431d8;\n      }\n      break;\n    }\n    unaff_s6 = (int *)&DAT_00000004;\n    while (piVar3 = unaff_s4, cVar9 != '\0') {\n      while( true ) {\n        local_30[iVar4] = cVar9;\n        if (iVar4 + 1 != 4) break;\n        piVar20 = (int *)(*(code *)PTR_base64_decode_atom_000792d8)(unaff_s8,unaff_s7);\n        unaff_s4 = (int *)((int)piVar3 + (int)piVar20);\n        if (iVar18 < (int)unaff_s4) {\n          iVar18 = ((int)unaff_s4 * 5 >> 2) + 0x400;\n          piVar19 = (int *)(*(code *)PTR_saferealloc_000791a0)(piVar19,iVar18,1);\n        }\n        unaff_s5 = (int *)((int)unaff_s5 + 1);\n        piVar10 = unaff_s7;\n        (*(code *)PTR_memcpy_000798e0)((char *)((int)piVar19 + (int)piVar3));\n        iVar4 = 0;\n        cVar9 = *(char *)unaff_s5;\n        piVar3 = unaff_s4;\n        if (cVar9 == '\0') goto LAB_000434ac;\n      }\n      unaff_s5 = (int *)((int)unaff_s5 + 1);\n      iVar4 = iVar4 + 1;\n      unaff_s4 = piVar3;\n      cVar9 = *(char *)unaff_s5;\n    }\nLAB_000434ac:\n    (*(code *)PTR_safefree_000790f0)(piVar5);\n    uVar2 = (*(code *)PTR_fgetline_00079538)(param_1);\n    piVar5 = (int *)(*(code *)PTR_chomp_0007953c)(uVar2);\n  } while (piVar5 != (int *)0x0);\n  puVar17 = PTR_s_j_000790a8 + 0x4350;\n  param_2 = piVar5;\nLAB_00043198:\n  (*(code *)PTR_safefree_000790f0)(param_2);\n  (*(code *)PTR_safefree_000790f0)(local_54);\n  (*(code *)PTR_safefree_000790f0)(piVar19);\n  piVar5 = unaff_s5;\n  if (param_5 == (undefined4 *)0x0) {\n    piVar19 = (int *)0x0;\n  }\n  else {\n    piVar19 = (int *)0x0;\n    *param_5 = puVar17;\n  }\nLAB_000431d8:\n  if (local_2c == *(int *)puVar22) {\n    return piVar19;\n  }\n  pcVar23 = openssh_loadpub;\n  puVar22 = PTR___stack_chk_fail_000797f0;\n  (*(code *)PTR___stack_chk_fail_000797f0)();\n  piStack_a0 = (int *)(puVar22 + 0x3da44);\n  piStack_98 = param_2;\n  puStack_94 = puVar17;\n  piStack_90 = piVar19;\n  uStack_8c = param_1;\n  piStack_88 = unaff_s4;\n  piStack_84 = piVar5;\n  piStack_80 = unaff_s6;\n  piStack_7c = unaff_s7;\n  pcStack_78 = unaff_s8;\n  pcStack_74 = pcVar23;\n  uVar2 = (**(code **)(puVar22 + 0x35f0c))();\n  uVar2 = (*(code *)piStack_a0[-0x1ecd])(uVar2);\n  puVar6 = (undefined1 *)(*(code *)piStack_a0[-0x1e0f])(uVar2,0x20);\n  if (puVar6 == (undefined1 *)0x0) {\n    piVar3 = (int *)0x0;\n    iVar4 = piStack_a0[-0x1ff2] + 0x4490;\n    puVar6 = (undefined1 *)0x0;\n  }\n  else {\n    pcVar23 = (code *)piStack_a0[-0x1e0f];\n    pcVar15 = puVar6 + 1;\n    *puVar6 = 0;\n    puVar6 = (undefined1 *)(*pcVar23)(pcVar15,0x20);\n    if (puVar6 != (undefined1 *)0x0) {\n      pcVar23 = (code *)piStack_a0[-0x1fdd];\n      *puVar6 = 0;\n      puVar6 = (undefined1 *)(*pcVar23)(puVar6 + 1);\n    }\n    iVar18 = 0;\n    uVar7 = (*(code *)piStack_a0[-0x1de8])(pcVar15);\n    iVar4 = (uVar7 >> 2) * 3;\n    piVar3 = (int *)(*(code *)piStack_a0[-0x1fe8])(iVar4,1);\n    while (iVar8 = (*(code *)piStack_a0[-0x1df7])(pcVar15,0,4), iVar8 == 0) {\n      if (iVar4 <= iVar18 + 2) {\n        puVar12 = (undefined4 *)&DAT_00000441;\n        pcVar23 = (code *)piStack_a0[-0x1e6c];\n        piVar14 = (int *)(piStack_a0[-0x1ff2] + 0x4800);\n        piVar11 = (int *)(piStack_a0[-0x1ff2] + 0x4034);\n        pcVar24 = ssh2_userkey_loadpub;\n        (*pcVar23)(piStack_a0[-0x1ff2] + 0x44b8);\n        piVar5 = piStack_a0;\n        pcStack_118 = pcVar23 + 0x3d74c;\n        piVar16 = *(int **)(pcVar23 + 0x3600c);\n        piVar19 = (int *)(*(int *)(pcVar23 + 0x35784) + 0x4078);\n        iStack_dc = *piVar16;\n        pcStack_d8 = pcVar15;\n        iStack_d4 = iVar18;\n        piStack_d0 = piVar3;\n        iStack_cc = iVar4;\n        puStack_c8 = puVar6;\n        uStack_c4 = uVar2;\n        piStack_c0 = piVar13;\n        piStack_bc = piVar20;\n        piStack_b8 = piVar10;\n        pcStack_b4 = pcVar24;\n        piVar10 = (int *)f_open();\n        if (piVar10 == (int *)0x0) {\n          if (piVar5 != (int *)0x0) {\n            *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x407c;\n          }\nLAB_000439f4:\n          piVar21 = (int *)0x0;\n          piVar10 = piVar20;\n        }\n        else {\n          iVar4 = FUN_00041f60(piVar10);\n          if (iVar4 == 9) {\n            pcVar23 = *(code **)(pcStack_118 + -0x7b14);\n          }\n          else {\n            if (iVar4 != 10) {\n              piVar20 = piVar10;\n              if (iVar4 != 3) {\nLAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }\n                goto LAB_000439f4;\n              }\n              piVar13 = aiStack_104;\n              iVar4 = FUN_00040db0(piVar10,piVar13);\n              if (iVar4 == 0) {\nLAB_00043cc0:\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);\n                iVar4 = (**(code **)(pcStack_118 + -0x78ac))(piVar13,piVar19,0x14);\n                if (iVar4 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                  if (piVar5 != (int *)0x0) {\n                    *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }\n                goto LAB_000439d4;\n              }\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214);\n              iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if (iVar4 != 0) {\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);\n                iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                if (iVar4 != 0) goto LAB_00043cc0;\n              }\n              pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74);\n              piVar3 = (int *)FUN_00040e74(piVar10);\n              if (piVar3 == (int *)0x0) {\nLAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                goto LAB_000439f4;\n              }\n              uVar2 = (**(code **)(pcStack_118 + -0x77a0))(piVar3);\n              piVar19 = piVar3;\n              iVar4 = find_pubkey_alg_len(uVar2);\n              (**(code **)(pcStack_118 + -0x7f80))(piVar3);\n              if ((iVar4 == 0) || (piVar19 = piVar13, iVar18 = FUN_00040db0(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) || (iVar18 = (*pcStack_110)(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n              piVar19 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              if (iVar18 == 0) goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) ||\n                 (pcVar23 = (code *)(*pcStack_110)(piVar10), pcVar23 == (code *)0x0))\n              goto LAB_00043c9c;\n              pcStack_10c = pcVar23;\n              if (piVar14 == (int *)0x0) {\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n              }\n              else {\n                *piVar14 = (int)pcVar23;\n              }\n              piVar3 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              pcVar23 = pcStack_10c;\n              if (iVar18 == 0) {\nLAB_00043d58:\n                piVar19 = piVar3;\n                pcStack_110 = pcVar23;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                if (piVar14 == (int *)0x0) goto LAB_000439f4;\n                piVar21 = (int *)0x0;\n                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);\n                *piVar14 = 0;\n              }\n              else {\n                piVar3 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                pcVar23 = pcStack_10c;\n                if ((iVar18 != 0) ||\n                   (iVar18 = (*pcStack_110)(piVar10), pcVar23 = pcStack_10c, iVar18 == 0))\n                goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                piVar19 = (int *)FUN_00040d14(iVar18);\n                (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n                pcVar23 = pcStack_110;\n                if (((int)piVar19 < 0) ||\n                   (piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108), piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (puVar12 != (undefined4 *)0x0) {\n                  *puVar12 = uStack_108;\n                }\n                if (piVar11 != (int *)0x0) {\n                  iVar4 = (**(code **)(pcStack_118 + -0x7f74))(*(undefined4 *)(iVar4 + 0x30));\n                  *piVar11 = iVar4;\n                }\n              }\n              goto LAB_000439f8;\n            }\n            pcVar23 = *(code **)(pcStack_118 + -0x7b10);\n          }\n          piStack_120 = piVar5;\n          piVar19 = piVar11;\n          piVar21 = (int *)(*pcVar23)(piVar10,piVar11,puVar12,piVar14);\n          (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n        }\nLAB_000439f8:\n        if (iStack_dc == *piVar16) {\n          return piVar21;\n        }\n        pcVar23 = *(code **)(pcStack_118 + -0x7880);\n        pcVar24 = ssh2_userkey_encrypted;\n        (*pcVar23)();\n        piVar20 = *(int **)(pcVar23 + 0x35b70);\n        piStack_150 = piVar5;\n        iStack_15c = *piVar20;\n        if (piVar19 != (int *)0x0) {\n          *piVar19 = 0;\n        }\n        piStack_154 = piVar16;\n        piStack_14c = piVar14;\n        piStack_148 = piVar11;\n        puStack_144 = puVar12;\n        piStack_140 = piVar21;\n        piStack_13c = piVar13;\n        piStack_138 = piVar10;\n        pcStack_134 = pcVar24;\n        iVar4 = f_open();\n        if (iVar4 == 0) {\n          piVar10 = (int *)0x0;\n        }\n        else {\n          iVar18 = FUN_00040db0(iVar4,auStack_184);\n          if ((iVar18 != 0) &&\n             (((iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4214), iVar18 == 0\n               || (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                      (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c),\n                  iVar18 == 0)) && (iVar18 = FUN_00040e74(iVar4), iVar18 != 0)))) {\n            (**(code **)(pcVar23 + 0x35330))(iVar18);\n            iVar18 = FUN_00040db0(iVar4,auStack_184);\n            if ((iVar18 != 0) &&\n               (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4244), iVar18 == 0))\n            {\n              iVar18 = FUN_00040e74(iVar4);\n              if (iVar18 == 0) {\n                (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                piVar10 = (int *)0x0;\n              }\n              else {\n                iVar8 = FUN_00040db0(iVar4,auStack_184);\n                if (((iVar8 == 0) ||\n                    (iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0)) || (iVar8 = FUN_00040e74(iVar4), iVar8 == 0)) {\n                  piVar10 = (int *)0x1;\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n                else {\n                  if (piVar19 == (int *)0x0) {\n                    (**(code **)(pcVar23 + 0x35330))(iVar8);\n                  }\n                  else {\n                    *piVar19 = iVar8;\n                  }\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  iVar4 = (**(code **)(pcVar23 + 0x35ae4))\n                                    (iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4);\n                  piVar10 = (int *)(uint)(iVar4 == 0);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n              }\n              goto LAB_00043f04;\n            }\n          }\n          piVar10 = (int *)0x0;\n          (**(code **)(pcVar23 + 0x35acc))(iVar4);\n        }\nLAB_00043f04:\n        if (iStack_15c != *piVar20) {\n          (**(code **)(pcVar23 + 0x35a30))();\n          return (int *)((iStack_15c + 0x2f) / 0x30);\n        }\n        return piVar10;\n      }\n      iVar8 = (*(code *)piStack_a0[-0x1f66])(pcVar15,(int)piVar3 + iVar18);\n      iVar18 = iVar18 + iVar8;\n      pcVar15 = pcVar15 + 4;\n    }\n    if (*pcVar15 == '\0') {\n      iVar4 = (*(code *)piStack_a0[-0x1de8])(uVar2);\n      if (((iVar4 + 3 < iVar18) && (iVar4 == *piVar3)) &&\n         (iVar4 = (*(code *)piStack_a0[-0x1dfd])(piVar3 + 1,uVar2,iVar4), iVar4 == 0)) {\n        if (piVar10 != (int *)0x0) {\n          iVar4 = (*(code *)piStack_a0[-0x1fdd])(uVar2);\n          *piVar10 = iVar4;\n        }\n        if (piVar20 != (int *)0x0) {\n          *piVar20 = iVar18;\n        }\n        if (piVar13 == (int *)0x0) {\n          (*(code *)piStack_a0[-0x1fe0])(puVar6);\n        }\n        else {\n          *piVar13 = (int)puVar6;\n        }\n        (*(code *)piStack_a0[-0x1fe0])(uVar2);\n        return piVar3;\n      }\n      iVar4 = piStack_a0[-0x1ff2] + 0x441c;\n    }\n    else {\n      iVar4 = piStack_a0[-0x1ff2] + 0x4454;\n    }\n  }\n  (*(code *)piStack_a0[-0x1fe0])(uVar2);\n  (*(code *)piStack_a0[-0x1fe0])(puVar6);\n  (*(code *)piStack_a0[-0x1fe0])(piVar3);\n  __gp_1 = iVar4;\n  return (int *)0x0;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "int *piVar3;" primitive_type (pointer_declarator "*piVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "char cVar9;" primitive_type identifier ;) (declaration "undefined1 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int *piVar10;" primitive_type (pointer_declarator "*piVar10" * identifier) ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (declaration "undefined4 *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "int *piVar13;" primitive_type (pointer_declarator "*piVar13" * identifier) ;) (declaration "int *piVar14;" primitive_type (pointer_declarator "*piVar14" * identifier) ;) (declaration "char *pcVar15;" primitive_type (pointer_declarator "*pcVar15" * identifier) ;) (declaration "int *piVar16;" primitive_type (pointer_declarator "*piVar16" * identifier) ;) (declaration "undefined *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "int *piVar19;" primitive_type (pointer_declarator "*piVar19" * identifier) ;) (declaration "int *piVar20;" primitive_type (pointer_declarator "*piVar20" * identifier) ;) (declaration "int *unaff_s4;" primitive_type (pointer_declarator "*unaff_s4" * identifier) ;) (declaration "int *unaff_s5;" primitive_type (pointer_declarator "*unaff_s5" * identifier) ;) (declaration "int *piVar21;" primitive_type (pointer_declarator "*piVar21" * identifier) ;) (declaration "int *unaff_s6;" primitive_type (pointer_declarator "*unaff_s6" * identifier) ;) (declaration "int *unaff_s7;" primitive_type (pointer_declarator "*unaff_s7" * identifier) ;) (declaration "undefined *puVar22;" type_identifier (pointer_declarator "*puVar22" * identifier) ;) (declaration "char *unaff_s8;" primitive_type (pointer_declarator "*unaff_s8" * identifier) ;) (declaration "code *pcVar23;" type_identifier (pointer_declarator "*pcVar23" * identifier) ;) (declaration "code *pcVar24;" type_identifier (pointer_declarator "*pcVar24" * identifier) ;) (declaration "undefined1 auStack_184 [40];" type_identifier (array_declarator "auStack_184 [40]" identifier [ number_literal ]) ;) (declaration "int iStack_15c;" primitive_type identifier ;) (declaration "int *piStack_154;" primitive_type (pointer_declarator "*piStack_154" * identifier) ;) (declaration "int *piStack_150;" primitive_type (pointer_declarator "*piStack_150" * identifier) ;) (declaration "int *piStack_14c;" primitive_type (pointer_declarator "*piStack_14c" * identifier) ;) (declaration "int *piStack_148;" primitive_type (pointer_declarator "*piStack_148" * identifier) ;) (declaration "undefined4 *puStack_144;" type_identifier (pointer_declarator "*puStack_144" * identifier) ;) (declaration "int *piStack_140;" primitive_type (pointer_declarator "*piStack_140" * identifier) ;) (declaration "int *piStack_13c;" primitive_type (pointer_declarator "*piStack_13c" * identifier) ;) (declaration "int *piStack_138;" primitive_type (pointer_declarator "*piStack_138" * identifier) ;) (declaration "code *pcStack_134;" type_identifier (pointer_declarator "*pcStack_134" * identifier) ;) (declaration "int *piStack_120;" primitive_type (pointer_declarator "*piStack_120" * identifier) ;) (declaration "code *pcStack_118;" type_identifier (pointer_declarator "*pcStack_118" * identifier) ;) (declaration "code *pcStack_110;" type_identifier (pointer_declarator "*pcStack_110" * identifier) ;) (declaration "code *pcStack_10c;" type_identifier (pointer_declarator "*pcStack_10c" * identifier) ;) (declaration "undefined4 uStack_108;" type_identifier identifier ;) (declaration "int aiStack_104 [10];" primitive_type (array_declarator "aiStack_104 [10]" identifier [ number_literal ]) ;) (declaration "int iStack_dc;" primitive_type identifier ;) (declaration "char *pcStack_d8;" primitive_type (pointer_declarator "*pcStack_d8" * identifier) ;) (declaration "int iStack_d4;" primitive_type identifier ;) (declaration "int *piStack_d0;" primitive_type (pointer_declarator "*piStack_d0" * identifier) ;) (declaration "int iStack_cc;" primitive_type identifier ;) (declaration "undefined1 *puStack_c8;" type_identifier (pointer_declarator "*puStack_c8" * identifier) ;) (declaration "undefined4 uStack_c4;" type_identifier identifier ;) (declaration "int *piStack_c0;" primitive_type (pointer_declarator "*piStack_c0" * identifier) ;) (declaration "int *piStack_bc;" primitive_type (pointer_declarator "*piStack_bc" * identifier) ;) (declaration "int *piStack_b8;" primitive_type (pointer_declarator "*piStack_b8" * identifier) ;) (declaration "code *pcStack_b4;" type_identifier (pointer_declarator "*pcStack_b4" * identifier) ;) (declaration "int *piStack_a0;" primitive_type (pointer_declarator "*piStack_a0" * identifier) ;) (declaration "int *piStack_98;" primitive_type (pointer_declarator "*piStack_98" * identifier) ;) (declaration "undefined *puStack_94;" type_identifier (pointer_declarator "*puStack_94" * identifier) ;) (declaration "int *piStack_90;" primitive_type (pointer_declarator "*piStack_90" * identifier) ;) (declaration "undefined4 uStack_8c;" type_identifier identifier ;) (declaration "int *piStack_88;" primitive_type (pointer_declarator "*piStack_88" * identifier) ;) (declaration "int *piStack_84;" primitive_type (pointer_declarator "*piStack_84" * identifier) ;) (declaration "int *piStack_80;" primitive_type (pointer_declarator "*piStack_80" * identifier) ;) (declaration "int *piStack_7c;" primitive_type (pointer_declarator "*piStack_7c" * identifier) ;) (declaration "char *pcStack_78;" primitive_type (pointer_declarator "*pcStack_78" * identifier) ;) (declaration "code *pcStack_74;" type_identifier (pointer_declarator "*pcStack_74" * identifier) ;) (declaration "int local_54;" primitive_type identifier ;) (declaration "int iStack_34;" primitive_type identifier ;) (declaration "char local_30 [4];" primitive_type (array_declarator "local_30 [4]" identifier [ number_literal ]) ;) (declaration "int local_2c;" primitive_type identifier ;) (expression_statement "puVar22 = PTR___stack_chk_guard_00079930;" (assignment_expression "puVar22 = PTR___stack_chk_guard_00079930" identifier = identifier) ;) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_00079930;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_00079930" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_00079930" * (cast_expression "(int *)PTR___stack_chk_guard_00079930" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "piVar10 = param_2;" (assignment_expression "piVar10 = param_2" identifier = identifier) ;) (expression_statement "piVar20 = param_3;" (assignment_expression "piVar20 = param_3" identifier = identifier) ;) (expression_statement "piVar13 = param_4;" (assignment_expression "piVar13 = param_4" identifier = identifier) ;) (expression_statement "uVar2 = (*(code *)PTR_fgetline_00079538)();" (assignment_expression "uVar2 = (*(code *)PTR_fgetline_00079538)()" identifier = (call_expression "(*(code *)PTR_fgetline_00079538)()" (parenthesized_expression "(*(code *)PTR_fgetline_00079538)" ( (pointer_expression "*(code *)PTR_fgetline_00079538" * (cast_expression "(code *)PTR_fgetline_00079538" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "piVar3 = (int *)(*(code *)PTR_chomp_0007953c)(uVar2);" (assignment_expression "piVar3 = (int *)(*(code *)PTR_chomp_0007953c)(uVar2)" identifier = (cast_expression "(int *)(*(code *)PTR_chomp_0007953c)(uVar2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_chomp_0007953c)(uVar2)" (parenthesized_expression "(*(code *)PTR_chomp_0007953c)" ( (pointer_expression "*(code *)PTR_chomp_0007953c" * (cast_expression "(code *)PTR_chomp_0007953c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar2)" ( identifier ))))) ;) (if_statement "if (piVar3 != (int *)0x0) {\n    piVar10 = (int *)(PTR_s_j_000790a8 + 0x43cc);\n    iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar3);\n    if (iVar4 == 0) {\n      (*(code *)PTR_safefree_000790f0)(piVar3);\n      local_54 = 0;\n      puVar17 = PTR_s_j_000790a8 + 0x43ec;\n      piVar3 = (int *)(PTR_s_j_000790a8 + 0x4258);\n      unaff_s4 = (int *)(PTR_s_j_000790a8 + 0x43f0);\n      unaff_s7 = (int *)(PTR_s_j_000790a8 + 0x43f8);\n      while( true ) {\n        uVar2 = (*(code *)PTR_fgetline_00079538)(param_1);\n        piVar5 = (int *)(*(code *)PTR_chomp_0007953c)(uVar2);\n        if (piVar5 == (int *)0x0) break;\n        unaff_s8 = (char *)(*(code *)PTR_strstr_00079944)(piVar5,puVar17);\n        puVar1 = PTR_strcmp_000798a4;\n        if (unaff_s8 == (char *)0x0) {\n          piVar10 = (int *)0x1;\n          unaff_s7 = &iStack_34;\n          piVar19 = (int *)(*(code *)PTR_safemalloc_000790d0)(0x1000);\n          unaff_s8 = local_30;\n          iVar4 = 0;\n          unaff_s4 = (int *)0x0;\n          iVar18 = 0x1000;\n          goto LAB_0004340c;\n        }\n        *unaff_s8 = '\0';\n        piVar10 = piVar3;\n        iVar4 = (*(code *)puVar1)(piVar5);\n        if (iVar4 == 0) {\n          unaff_s5 = (int *)(int)unaff_s8[2];\n          unaff_s6 = (int *)(unaff_s8 + 2);\n          piVar20 = piVar5;\n          if (unaff_s5 == (int *)0x22) {\n            iVar4 = (*(code *)PTR_strlen_000798d0)(unaff_s6);\n            pcVar15 = (char *)((int)unaff_s6 + iVar4 + -1);\n            if (*pcVar15 == '\"') {\n              *pcVar15 = '\0';\n              unaff_s5 = (int *)(int)unaff_s8[3];\n              unaff_s6 = (int *)(unaff_s8 + 3);\n              if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n            }\nLAB_00043310:\n            piVar13 = (int *)&DAT_0000005c;\n            piVar19 = piVar10;\n            piVar11 = piVar5;\n            piVar14 = unaff_s6;\n            do {\n              while ((piVar10 = (int *)((int)piVar14 + 1), unaff_s5 != (int *)&DAT_0000005c ||\n                     (*(char *)((int)piVar14 + 1) == '\0'))) {\n                *(char *)piVar11 = *(char *)piVar14;\n                unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 1);\n                piVar19 = piVar10;\n                piVar20 = (int *)((int)piVar11 + 1);\n                piVar11 = (int *)((int)piVar11 + 1);\n                unaff_s6 = piVar10;\n                piVar14 = piVar10;\n                if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n              }\n              *(char *)piVar11 = *(char *)((int)piVar14 + 1);\n              unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 2);\n              piVar10 = piVar19;\n              piVar20 = (int *)((int)piVar11 + 1);\n              piVar11 = (int *)((int)piVar11 + 1);\n              unaff_s6 = (int *)((int)piVar14 + 2);\n              piVar14 = (int *)((int)piVar14 + 2);\n            } while (unaff_s5 != (int *)0x0);\n          }\n          else if (unaff_s5 != (int *)0x0) goto LAB_00043310;\nLAB_00043364:\n          puVar1 = PTR_safefree_000790f0;\n          *(char *)piVar20 = '\0';\n          (*(code *)puVar1)(local_54);\n          local_54 = (*(code *)PTR_dupstr_000790fc)(piVar5);\n        }\n        else {\n          piVar10 = unaff_s4;\n          iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar5);\n          if (iVar4 != 0) {\n            piVar20 = (int *)0x2;\n            piVar10 = unaff_s7;\n            iVar4 = (*(code *)PTR_strncmp_000797c4)(piVar5);\n            if (iVar4 != 0) {\n              piVar19 = (int *)0x0;\n              puVar17 = PTR_s_j_000790a8 + 0x437c;\n              param_2 = piVar5;\n              goto LAB_00043198;\n            }\n          }\n        }\n        (*(code *)PTR_safefree_000790f0)(piVar5);\n      }\n      piVar19 = (int *)0x0;\n      puVar17 = PTR_s_j_000790a8 + 0x43ac;\n      param_2 = piVar5;\n      goto LAB_00043198;\n    }\n  }" if (parenthesized_expression "(piVar3 != (int *)0x0)" ( (binary_expression "piVar3 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    piVar10 = (int *)(PTR_s_j_000790a8 + 0x43cc);\n    iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar3);\n    if (iVar4 == 0) {\n      (*(code *)PTR_safefree_000790f0)(piVar3);\n      local_54 = 0;\n      puVar17 = PTR_s_j_000790a8 + 0x43ec;\n      piVar3 = (int *)(PTR_s_j_000790a8 + 0x4258);\n      unaff_s4 = (int *)(PTR_s_j_000790a8 + 0x43f0);\n      unaff_s7 = (int *)(PTR_s_j_000790a8 + 0x43f8);\n      while( true ) {\n        uVar2 = (*(code *)PTR_fgetline_00079538)(param_1);\n        piVar5 = (int *)(*(code *)PTR_chomp_0007953c)(uVar2);\n        if (piVar5 == (int *)0x0) break;\n        unaff_s8 = (char *)(*(code *)PTR_strstr_00079944)(piVar5,puVar17);\n        puVar1 = PTR_strcmp_000798a4;\n        if (unaff_s8 == (char *)0x0) {\n          piVar10 = (int *)0x1;\n          unaff_s7 = &iStack_34;\n          piVar19 = (int *)(*(code *)PTR_safemalloc_000790d0)(0x1000);\n          unaff_s8 = local_30;\n          iVar4 = 0;\n          unaff_s4 = (int *)0x0;\n          iVar18 = 0x1000;\n          goto LAB_0004340c;\n        }\n        *unaff_s8 = '\0';\n        piVar10 = piVar3;\n        iVar4 = (*(code *)puVar1)(piVar5);\n        if (iVar4 == 0) {\n          unaff_s5 = (int *)(int)unaff_s8[2];\n          unaff_s6 = (int *)(unaff_s8 + 2);\n          piVar20 = piVar5;\n          if (unaff_s5 == (int *)0x22) {\n            iVar4 = (*(code *)PTR_strlen_000798d0)(unaff_s6);\n            pcVar15 = (char *)((int)unaff_s6 + iVar4 + -1);\n            if (*pcVar15 == '\"') {\n              *pcVar15 = '\0';\n              unaff_s5 = (int *)(int)unaff_s8[3];\n              unaff_s6 = (int *)(unaff_s8 + 3);\n              if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n            }\nLAB_00043310:\n            piVar13 = (int *)&DAT_0000005c;\n            piVar19 = piVar10;\n            piVar11 = piVar5;\n            piVar14 = unaff_s6;\n            do {\n              while ((piVar10 = (int *)((int)piVar14 + 1), unaff_s5 != (int *)&DAT_0000005c ||\n                     (*(char *)((int)piVar14 + 1) == '\0'))) {\n                *(char *)piVar11 = *(char *)piVar14;\n                unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 1);\n                piVar19 = piVar10;\n                piVar20 = (int *)((int)piVar11 + 1);\n                piVar11 = (int *)((int)piVar11 + 1);\n                unaff_s6 = piVar10;\n                piVar14 = piVar10;\n                if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n              }\n              *(char *)piVar11 = *(char *)((int)piVar14 + 1);\n              unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 2);\n              piVar10 = piVar19;\n              piVar20 = (int *)((int)piVar11 + 1);\n              piVar11 = (int *)((int)piVar11 + 1);\n              unaff_s6 = (int *)((int)piVar14 + 2);\n              piVar14 = (int *)((int)piVar14 + 2);\n            } while (unaff_s5 != (int *)0x0);\n          }\n          else if (unaff_s5 != (int *)0x0) goto LAB_00043310;\nLAB_00043364:\n          puVar1 = PTR_safefree_000790f0;\n          *(char *)piVar20 = '\0';\n          (*(code *)puVar1)(local_54);\n          local_54 = (*(code *)PTR_dupstr_000790fc)(piVar5);\n        }\n        else {\n          piVar10 = unaff_s4;\n          iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar5);\n          if (iVar4 != 0) {\n            piVar20 = (int *)0x2;\n            piVar10 = unaff_s7;\n            iVar4 = (*(code *)PTR_strncmp_000797c4)(piVar5);\n            if (iVar4 != 0) {\n              piVar19 = (int *)0x0;\n              puVar17 = PTR_s_j_000790a8 + 0x437c;\n              param_2 = piVar5;\n              goto LAB_00043198;\n            }\n          }\n        }\n        (*(code *)PTR_safefree_000790f0)(piVar5);\n      }\n      piVar19 = (int *)0x0;\n      puVar17 = PTR_s_j_000790a8 + 0x43ac;\n      param_2 = piVar5;\n      goto LAB_00043198;\n    }\n  }" { (expression_statement "piVar10 = (int *)(PTR_s_j_000790a8 + 0x43cc);" (assignment_expression "piVar10 = (int *)(PTR_s_j_000790a8 + 0x43cc)" identifier = (cast_expression "(int *)(PTR_s_j_000790a8 + 0x43cc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_j_000790a8 + 0x43cc)" ( (binary_expression "PTR_s_j_000790a8 + 0x43cc" identifier + number_literal) )))) ;) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar3);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar3)" identifier = (call_expression "(*(code *)PTR_strcmp_000798a4)(piVar3)" (parenthesized_expression "(*(code *)PTR_strcmp_000798a4)" ( (pointer_expression "*(code *)PTR_strcmp_000798a4" * (cast_expression "(code *)PTR_strcmp_000798a4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar3)" ( identifier )))) ;) (if_statement "if (iVar4 == 0) {\n      (*(code *)PTR_safefree_000790f0)(piVar3);\n      local_54 = 0;\n      puVar17 = PTR_s_j_000790a8 + 0x43ec;\n      piVar3 = (int *)(PTR_s_j_000790a8 + 0x4258);\n      unaff_s4 = (int *)(PTR_s_j_000790a8 + 0x43f0);\n      unaff_s7 = (int *)(PTR_s_j_000790a8 + 0x43f8);\n      while( true ) {\n        uVar2 = (*(code *)PTR_fgetline_00079538)(param_1);\n        piVar5 = (int *)(*(code *)PTR_chomp_0007953c)(uVar2);\n        if (piVar5 == (int *)0x0) break;\n        unaff_s8 = (char *)(*(code *)PTR_strstr_00079944)(piVar5,puVar17);\n        puVar1 = PTR_strcmp_000798a4;\n        if (unaff_s8 == (char *)0x0) {\n          piVar10 = (int *)0x1;\n          unaff_s7 = &iStack_34;\n          piVar19 = (int *)(*(code *)PTR_safemalloc_000790d0)(0x1000);\n          unaff_s8 = local_30;\n          iVar4 = 0;\n          unaff_s4 = (int *)0x0;\n          iVar18 = 0x1000;\n          goto LAB_0004340c;\n        }\n        *unaff_s8 = '\0';\n        piVar10 = piVar3;\n        iVar4 = (*(code *)puVar1)(piVar5);\n        if (iVar4 == 0) {\n          unaff_s5 = (int *)(int)unaff_s8[2];\n          unaff_s6 = (int *)(unaff_s8 + 2);\n          piVar20 = piVar5;\n          if (unaff_s5 == (int *)0x22) {\n            iVar4 = (*(code *)PTR_strlen_000798d0)(unaff_s6);\n            pcVar15 = (char *)((int)unaff_s6 + iVar4 + -1);\n            if (*pcVar15 == '\"') {\n              *pcVar15 = '\0';\n              unaff_s5 = (int *)(int)unaff_s8[3];\n              unaff_s6 = (int *)(unaff_s8 + 3);\n              if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n            }\nLAB_00043310:\n            piVar13 = (int *)&DAT_0000005c;\n            piVar19 = piVar10;\n            piVar11 = piVar5;\n            piVar14 = unaff_s6;\n            do {\n              while ((piVar10 = (int *)((int)piVar14 + 1), unaff_s5 != (int *)&DAT_0000005c ||\n                     (*(char *)((int)piVar14 + 1) == '\0'))) {\n                *(char *)piVar11 = *(char *)piVar14;\n                unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 1);\n                piVar19 = piVar10;\n                piVar20 = (int *)((int)piVar11 + 1);\n                piVar11 = (int *)((int)piVar11 + 1);\n                unaff_s6 = piVar10;\n                piVar14 = piVar10;\n                if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n              }\n              *(char *)piVar11 = *(char *)((int)piVar14 + 1);\n              unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 2);\n              piVar10 = piVar19;\n              piVar20 = (int *)((int)piVar11 + 1);\n              piVar11 = (int *)((int)piVar11 + 1);\n              unaff_s6 = (int *)((int)piVar14 + 2);\n              piVar14 = (int *)((int)piVar14 + 2);\n            } while (unaff_s5 != (int *)0x0);\n          }\n          else if (unaff_s5 != (int *)0x0) goto LAB_00043310;\nLAB_00043364:\n          puVar1 = PTR_safefree_000790f0;\n          *(char *)piVar20 = '\0';\n          (*(code *)puVar1)(local_54);\n          local_54 = (*(code *)PTR_dupstr_000790fc)(piVar5);\n        }\n        else {\n          piVar10 = unaff_s4;\n          iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar5);\n          if (iVar4 != 0) {\n            piVar20 = (int *)0x2;\n            piVar10 = unaff_s7;\n            iVar4 = (*(code *)PTR_strncmp_000797c4)(piVar5);\n            if (iVar4 != 0) {\n              piVar19 = (int *)0x0;\n              puVar17 = PTR_s_j_000790a8 + 0x437c;\n              param_2 = piVar5;\n              goto LAB_00043198;\n            }\n          }\n        }\n        (*(code *)PTR_safefree_000790f0)(piVar5);\n      }\n      piVar19 = (int *)0x0;\n      puVar17 = PTR_s_j_000790a8 + 0x43ac;\n      param_2 = piVar5;\n      goto LAB_00043198;\n    }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n      (*(code *)PTR_safefree_000790f0)(piVar3);\n      local_54 = 0;\n      puVar17 = PTR_s_j_000790a8 + 0x43ec;\n      piVar3 = (int *)(PTR_s_j_000790a8 + 0x4258);\n      unaff_s4 = (int *)(PTR_s_j_000790a8 + 0x43f0);\n      unaff_s7 = (int *)(PTR_s_j_000790a8 + 0x43f8);\n      while( true ) {\n        uVar2 = (*(code *)PTR_fgetline_00079538)(param_1);\n        piVar5 = (int *)(*(code *)PTR_chomp_0007953c)(uVar2);\n        if (piVar5 == (int *)0x0) break;\n        unaff_s8 = (char *)(*(code *)PTR_strstr_00079944)(piVar5,puVar17);\n        puVar1 = PTR_strcmp_000798a4;\n        if (unaff_s8 == (char *)0x0) {\n          piVar10 = (int *)0x1;\n          unaff_s7 = &iStack_34;\n          piVar19 = (int *)(*(code *)PTR_safemalloc_000790d0)(0x1000);\n          unaff_s8 = local_30;\n          iVar4 = 0;\n          unaff_s4 = (int *)0x0;\n          iVar18 = 0x1000;\n          goto LAB_0004340c;\n        }\n        *unaff_s8 = '\0';\n        piVar10 = piVar3;\n        iVar4 = (*(code *)puVar1)(piVar5);\n        if (iVar4 == 0) {\n          unaff_s5 = (int *)(int)unaff_s8[2];\n          unaff_s6 = (int *)(unaff_s8 + 2);\n          piVar20 = piVar5;\n          if (unaff_s5 == (int *)0x22) {\n            iVar4 = (*(code *)PTR_strlen_000798d0)(unaff_s6);\n            pcVar15 = (char *)((int)unaff_s6 + iVar4 + -1);\n            if (*pcVar15 == '\"') {\n              *pcVar15 = '\0';\n              unaff_s5 = (int *)(int)unaff_s8[3];\n              unaff_s6 = (int *)(unaff_s8 + 3);\n              if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n            }\nLAB_00043310:\n            piVar13 = (int *)&DAT_0000005c;\n            piVar19 = piVar10;\n            piVar11 = piVar5;\n            piVar14 = unaff_s6;\n            do {\n              while ((piVar10 = (int *)((int)piVar14 + 1), unaff_s5 != (int *)&DAT_0000005c ||\n                     (*(char *)((int)piVar14 + 1) == '\0'))) {\n                *(char *)piVar11 = *(char *)piVar14;\n                unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 1);\n                piVar19 = piVar10;\n                piVar20 = (int *)((int)piVar11 + 1);\n                piVar11 = (int *)((int)piVar11 + 1);\n                unaff_s6 = piVar10;\n                piVar14 = piVar10;\n                if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n              }\n              *(char *)piVar11 = *(char *)((int)piVar14 + 1);\n              unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 2);\n              piVar10 = piVar19;\n              piVar20 = (int *)((int)piVar11 + 1);\n              piVar11 = (int *)((int)piVar11 + 1);\n              unaff_s6 = (int *)((int)piVar14 + 2);\n              piVar14 = (int *)((int)piVar14 + 2);\n            } while (unaff_s5 != (int *)0x0);\n          }\n          else if (unaff_s5 != (int *)0x0) goto LAB_00043310;\nLAB_00043364:\n          puVar1 = PTR_safefree_000790f0;\n          *(char *)piVar20 = '\0';\n          (*(code *)puVar1)(local_54);\n          local_54 = (*(code *)PTR_dupstr_000790fc)(piVar5);\n        }\n        else {\n          piVar10 = unaff_s4;\n          iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar5);\n          if (iVar4 != 0) {\n            piVar20 = (int *)0x2;\n            piVar10 = unaff_s7;\n            iVar4 = (*(code *)PTR_strncmp_000797c4)(piVar5);\n            if (iVar4 != 0) {\n              piVar19 = (int *)0x0;\n              puVar17 = PTR_s_j_000790a8 + 0x437c;\n              param_2 = piVar5;\n              goto LAB_00043198;\n            }\n          }\n        }\n        (*(code *)PTR_safefree_000790f0)(piVar5);\n      }\n      piVar19 = (int *)0x0;\n      puVar17 = PTR_s_j_000790a8 + 0x43ac;\n      param_2 = piVar5;\n      goto LAB_00043198;\n    }" { (expression_statement "(*(code *)PTR_safefree_000790f0)(piVar3);" (call_expression "(*(code *)PTR_safefree_000790f0)(piVar3)" (parenthesized_expression "(*(code *)PTR_safefree_000790f0)" ( (pointer_expression "*(code *)PTR_safefree_000790f0" * (cast_expression "(code *)PTR_safefree_000790f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar3)" ( identifier ))) ;) (expression_statement "local_54 = 0;" (assignment_expression "local_54 = 0" identifier = number_literal) ;) (expression_statement "puVar17 = PTR_s_j_000790a8 + 0x43ec;" (assignment_expression "puVar17 = PTR_s_j_000790a8 + 0x43ec" identifier = (binary_expression "PTR_s_j_000790a8 + 0x43ec" identifier + number_literal)) ;) (expression_statement "piVar3 = (int *)(PTR_s_j_000790a8 + 0x4258);" (assignment_expression "piVar3 = (int *)(PTR_s_j_000790a8 + 0x4258)" identifier = (cast_expression "(int *)(PTR_s_j_000790a8 + 0x4258)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_j_000790a8 + 0x4258)" ( (binary_expression "PTR_s_j_000790a8 + 0x4258" identifier + number_literal) )))) ;) (expression_statement "unaff_s4 = (int *)(PTR_s_j_000790a8 + 0x43f0);" (assignment_expression "unaff_s4 = (int *)(PTR_s_j_000790a8 + 0x43f0)" identifier = (cast_expression "(int *)(PTR_s_j_000790a8 + 0x43f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_j_000790a8 + 0x43f0)" ( (binary_expression "PTR_s_j_000790a8 + 0x43f0" identifier + number_literal) )))) ;) (expression_statement "unaff_s7 = (int *)(PTR_s_j_000790a8 + 0x43f8);" (assignment_expression "unaff_s7 = (int *)(PTR_s_j_000790a8 + 0x43f8)" identifier = (cast_expression "(int *)(PTR_s_j_000790a8 + 0x43f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_j_000790a8 + 0x43f8)" ( (binary_expression "PTR_s_j_000790a8 + 0x43f8" identifier + number_literal) )))) ;) (while_statement "while( true ) {\n        uVar2 = (*(code *)PTR_fgetline_00079538)(param_1);\n        piVar5 = (int *)(*(code *)PTR_chomp_0007953c)(uVar2);\n        if (piVar5 == (int *)0x0) break;\n        unaff_s8 = (char *)(*(code *)PTR_strstr_00079944)(piVar5,puVar17);\n        puVar1 = PTR_strcmp_000798a4;\n        if (unaff_s8 == (char *)0x0) {\n          piVar10 = (int *)0x1;\n          unaff_s7 = &iStack_34;\n          piVar19 = (int *)(*(code *)PTR_safemalloc_000790d0)(0x1000);\n          unaff_s8 = local_30;\n          iVar4 = 0;\n          unaff_s4 = (int *)0x0;\n          iVar18 = 0x1000;\n          goto LAB_0004340c;\n        }\n        *unaff_s8 = '\0';\n        piVar10 = piVar3;\n        iVar4 = (*(code *)puVar1)(piVar5);\n        if (iVar4 == 0) {\n          unaff_s5 = (int *)(int)unaff_s8[2];\n          unaff_s6 = (int *)(unaff_s8 + 2);\n          piVar20 = piVar5;\n          if (unaff_s5 == (int *)0x22) {\n            iVar4 = (*(code *)PTR_strlen_000798d0)(unaff_s6);\n            pcVar15 = (char *)((int)unaff_s6 + iVar4 + -1);\n            if (*pcVar15 == '\"') {\n              *pcVar15 = '\0';\n              unaff_s5 = (int *)(int)unaff_s8[3];\n              unaff_s6 = (int *)(unaff_s8 + 3);\n              if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n            }\nLAB_00043310:\n            piVar13 = (int *)&DAT_0000005c;\n            piVar19 = piVar10;\n            piVar11 = piVar5;\n            piVar14 = unaff_s6;\n            do {\n              while ((piVar10 = (int *)((int)piVar14 + 1), unaff_s5 != (int *)&DAT_0000005c ||\n                     (*(char *)((int)piVar14 + 1) == '\0'))) {\n                *(char *)piVar11 = *(char *)piVar14;\n                unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 1);\n                piVar19 = piVar10;\n                piVar20 = (int *)((int)piVar11 + 1);\n                piVar11 = (int *)((int)piVar11 + 1);\n                unaff_s6 = piVar10;\n                piVar14 = piVar10;\n                if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n              }\n              *(char *)piVar11 = *(char *)((int)piVar14 + 1);\n              unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 2);\n              piVar10 = piVar19;\n              piVar20 = (int *)((int)piVar11 + 1);\n              piVar11 = (int *)((int)piVar11 + 1);\n              unaff_s6 = (int *)((int)piVar14 + 2);\n              piVar14 = (int *)((int)piVar14 + 2);\n            } while (unaff_s5 != (int *)0x0);\n          }\n          else if (unaff_s5 != (int *)0x0) goto LAB_00043310;\nLAB_00043364:\n          puVar1 = PTR_safefree_000790f0;\n          *(char *)piVar20 = '\0';\n          (*(code *)puVar1)(local_54);\n          local_54 = (*(code *)PTR_dupstr_000790fc)(piVar5);\n        }\n        else {\n          piVar10 = unaff_s4;\n          iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar5);\n          if (iVar4 != 0) {\n            piVar20 = (int *)0x2;\n            piVar10 = unaff_s7;\n            iVar4 = (*(code *)PTR_strncmp_000797c4)(piVar5);\n            if (iVar4 != 0) {\n              piVar19 = (int *)0x0;\n              puVar17 = PTR_s_j_000790a8 + 0x437c;\n              param_2 = piVar5;\n              goto LAB_00043198;\n            }\n          }\n        }\n        (*(code *)PTR_safefree_000790f0)(piVar5);\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        uVar2 = (*(code *)PTR_fgetline_00079538)(param_1);\n        piVar5 = (int *)(*(code *)PTR_chomp_0007953c)(uVar2);\n        if (piVar5 == (int *)0x0) break;\n        unaff_s8 = (char *)(*(code *)PTR_strstr_00079944)(piVar5,puVar17);\n        puVar1 = PTR_strcmp_000798a4;\n        if (unaff_s8 == (char *)0x0) {\n          piVar10 = (int *)0x1;\n          unaff_s7 = &iStack_34;\n          piVar19 = (int *)(*(code *)PTR_safemalloc_000790d0)(0x1000);\n          unaff_s8 = local_30;\n          iVar4 = 0;\n          unaff_s4 = (int *)0x0;\n          iVar18 = 0x1000;\n          goto LAB_0004340c;\n        }\n        *unaff_s8 = '\0';\n        piVar10 = piVar3;\n        iVar4 = (*(code *)puVar1)(piVar5);\n        if (iVar4 == 0) {\n          unaff_s5 = (int *)(int)unaff_s8[2];\n          unaff_s6 = (int *)(unaff_s8 + 2);\n          piVar20 = piVar5;\n          if (unaff_s5 == (int *)0x22) {\n            iVar4 = (*(code *)PTR_strlen_000798d0)(unaff_s6);\n            pcVar15 = (char *)((int)unaff_s6 + iVar4 + -1);\n            if (*pcVar15 == '\"') {\n              *pcVar15 = '\0';\n              unaff_s5 = (int *)(int)unaff_s8[3];\n              unaff_s6 = (int *)(unaff_s8 + 3);\n              if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n            }\nLAB_00043310:\n            piVar13 = (int *)&DAT_0000005c;\n            piVar19 = piVar10;\n            piVar11 = piVar5;\n            piVar14 = unaff_s6;\n            do {\n              while ((piVar10 = (int *)((int)piVar14 + 1), unaff_s5 != (int *)&DAT_0000005c ||\n                     (*(char *)((int)piVar14 + 1) == '\0'))) {\n                *(char *)piVar11 = *(char *)piVar14;\n                unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 1);\n                piVar19 = piVar10;\n                piVar20 = (int *)((int)piVar11 + 1);\n                piVar11 = (int *)((int)piVar11 + 1);\n                unaff_s6 = piVar10;\n                piVar14 = piVar10;\n                if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n              }\n              *(char *)piVar11 = *(char *)((int)piVar14 + 1);\n              unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 2);\n              piVar10 = piVar19;\n              piVar20 = (int *)((int)piVar11 + 1);\n              piVar11 = (int *)((int)piVar11 + 1);\n              unaff_s6 = (int *)((int)piVar14 + 2);\n              piVar14 = (int *)((int)piVar14 + 2);\n            } while (unaff_s5 != (int *)0x0);\n          }\n          else if (unaff_s5 != (int *)0x0) goto LAB_00043310;\nLAB_00043364:\n          puVar1 = PTR_safefree_000790f0;\n          *(char *)piVar20 = '\0';\n          (*(code *)puVar1)(local_54);\n          local_54 = (*(code *)PTR_dupstr_000790fc)(piVar5);\n        }\n        else {\n          piVar10 = unaff_s4;\n          iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar5);\n          if (iVar4 != 0) {\n            piVar20 = (int *)0x2;\n            piVar10 = unaff_s7;\n            iVar4 = (*(code *)PTR_strncmp_000797c4)(piVar5);\n            if (iVar4 != 0) {\n              piVar19 = (int *)0x0;\n              puVar17 = PTR_s_j_000790a8 + 0x437c;\n              param_2 = piVar5;\n              goto LAB_00043198;\n            }\n          }\n        }\n        (*(code *)PTR_safefree_000790f0)(piVar5);\n      }" { (expression_statement "uVar2 = (*(code *)PTR_fgetline_00079538)(param_1);" (assignment_expression "uVar2 = (*(code *)PTR_fgetline_00079538)(param_1)" identifier = (call_expression "(*(code *)PTR_fgetline_00079538)(param_1)" (parenthesized_expression "(*(code *)PTR_fgetline_00079538)" ( (pointer_expression "*(code *)PTR_fgetline_00079538" * (cast_expression "(code *)PTR_fgetline_00079538" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "piVar5 = (int *)(*(code *)PTR_chomp_0007953c)(uVar2);" (assignment_expression "piVar5 = (int *)(*(code *)PTR_chomp_0007953c)(uVar2)" identifier = (cast_expression "(int *)(*(code *)PTR_chomp_0007953c)(uVar2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_chomp_0007953c)(uVar2)" (parenthesized_expression "(*(code *)PTR_chomp_0007953c)" ( (pointer_expression "*(code *)PTR_chomp_0007953c" * (cast_expression "(code *)PTR_chomp_0007953c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar2)" ( identifier ))))) ;) (if_statement "if (piVar5 == (int *)0x0) break;" if (parenthesized_expression "(piVar5 == (int *)0x0)" ( (binary_expression "piVar5 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "unaff_s8 = (char *)(*(code *)PTR_strstr_00079944)(piVar5,puVar17);" (assignment_expression "unaff_s8 = (char *)(*(code *)PTR_strstr_00079944)(piVar5,puVar17)" identifier = (cast_expression "(char *)(*(code *)PTR_strstr_00079944)(piVar5,puVar17)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_strstr_00079944)(piVar5,puVar17)" (parenthesized_expression "(*(code *)PTR_strstr_00079944)" ( (pointer_expression "*(code *)PTR_strstr_00079944" * (cast_expression "(code *)PTR_strstr_00079944" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar5,puVar17)" ( identifier , identifier ))))) ;) (expression_statement "puVar1 = PTR_strcmp_000798a4;" (assignment_expression "puVar1 = PTR_strcmp_000798a4" identifier = identifier) ;) (if_statement "if (unaff_s8 == (char *)0x0) {\n          piVar10 = (int *)0x1;\n          unaff_s7 = &iStack_34;\n          piVar19 = (int *)(*(code *)PTR_safemalloc_000790d0)(0x1000);\n          unaff_s8 = local_30;\n          iVar4 = 0;\n          unaff_s4 = (int *)0x0;\n          iVar18 = 0x1000;\n          goto LAB_0004340c;\n        }" if (parenthesized_expression "(unaff_s8 == (char *)0x0)" ( (binary_expression "unaff_s8 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          piVar10 = (int *)0x1;\n          unaff_s7 = &iStack_34;\n          piVar19 = (int *)(*(code *)PTR_safemalloc_000790d0)(0x1000);\n          unaff_s8 = local_30;\n          iVar4 = 0;\n          unaff_s4 = (int *)0x0;\n          iVar18 = 0x1000;\n          goto LAB_0004340c;\n        }" { (expression_statement "piVar10 = (int *)0x1;" (assignment_expression "piVar10 = (int *)0x1" identifier = (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "unaff_s7 = &iStack_34;" (assignment_expression "unaff_s7 = &iStack_34" identifier = (pointer_expression "&iStack_34" & identifier)) ;) (expression_statement "piVar19 = (int *)(*(code *)PTR_safemalloc_000790d0)(0x1000);" (assignment_expression "piVar19 = (int *)(*(code *)PTR_safemalloc_000790d0)(0x1000)" identifier = (cast_expression "(int *)(*(code *)PTR_safemalloc_000790d0)(0x1000)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_safemalloc_000790d0)(0x1000)" (parenthesized_expression "(*(code *)PTR_safemalloc_000790d0)" ( (pointer_expression "*(code *)PTR_safemalloc_000790d0" * (cast_expression "(code *)PTR_safemalloc_000790d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x1000)" ( number_literal ))))) ;) (expression_statement "unaff_s8 = local_30;" (assignment_expression "unaff_s8 = local_30" identifier = identifier) ;) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (expression_statement "unaff_s4 = (int *)0x0;" (assignment_expression "unaff_s4 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar18 = 0x1000;" (assignment_expression "iVar18 = 0x1000" identifier = number_literal) ;) (goto_statement "goto LAB_0004340c;" goto statement_identifier ;) })) (expression_statement "*unaff_s8 = '\0';" (assignment_expression "*unaff_s8 = '\0'" (pointer_expression "*unaff_s8" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "piVar10 = piVar3;" (assignment_expression "piVar10 = piVar3" identifier = identifier) ;) (expression_statement "iVar4 = (*(code *)puVar1)(piVar5);" (assignment_expression "iVar4 = (*(code *)puVar1)(piVar5)" identifier = (call_expression "(*(code *)puVar1)(piVar5)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar5)" ( identifier )))) ;) (if_statement "if (iVar4 == 0) {\n          unaff_s5 = (int *)(int)unaff_s8[2];\n          unaff_s6 = (int *)(unaff_s8 + 2);\n          piVar20 = piVar5;\n          if (unaff_s5 == (int *)0x22) {\n            iVar4 = (*(code *)PTR_strlen_000798d0)(unaff_s6);\n            pcVar15 = (char *)((int)unaff_s6 + iVar4 + -1);\n            if (*pcVar15 == '\"') {\n              *pcVar15 = '\0';\n              unaff_s5 = (int *)(int)unaff_s8[3];\n              unaff_s6 = (int *)(unaff_s8 + 3);\n              if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n            }\nLAB_00043310:\n            piVar13 = (int *)&DAT_0000005c;\n            piVar19 = piVar10;\n            piVar11 = piVar5;\n            piVar14 = unaff_s6;\n            do {\n              while ((piVar10 = (int *)((int)piVar14 + 1), unaff_s5 != (int *)&DAT_0000005c ||\n                     (*(char *)((int)piVar14 + 1) == '\0'))) {\n                *(char *)piVar11 = *(char *)piVar14;\n                unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 1);\n                piVar19 = piVar10;\n                piVar20 = (int *)((int)piVar11 + 1);\n                piVar11 = (int *)((int)piVar11 + 1);\n                unaff_s6 = piVar10;\n                piVar14 = piVar10;\n                if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n              }\n              *(char *)piVar11 = *(char *)((int)piVar14 + 1);\n              unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 2);\n              piVar10 = piVar19;\n              piVar20 = (int *)((int)piVar11 + 1);\n              piVar11 = (int *)((int)piVar11 + 1);\n              unaff_s6 = (int *)((int)piVar14 + 2);\n              piVar14 = (int *)((int)piVar14 + 2);\n            } while (unaff_s5 != (int *)0x0);\n          }\n          else if (unaff_s5 != (int *)0x0) goto LAB_00043310;\nLAB_00043364:\n          puVar1 = PTR_safefree_000790f0;\n          *(char *)piVar20 = '\0';\n          (*(code *)puVar1)(local_54);\n          local_54 = (*(code *)PTR_dupstr_000790fc)(piVar5);\n        }\n        else {\n          piVar10 = unaff_s4;\n          iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar5);\n          if (iVar4 != 0) {\n            piVar20 = (int *)0x2;\n            piVar10 = unaff_s7;\n            iVar4 = (*(code *)PTR_strncmp_000797c4)(piVar5);\n            if (iVar4 != 0) {\n              piVar19 = (int *)0x0;\n              puVar17 = PTR_s_j_000790a8 + 0x437c;\n              param_2 = piVar5;\n              goto LAB_00043198;\n            }\n          }\n        }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n          unaff_s5 = (int *)(int)unaff_s8[2];\n          unaff_s6 = (int *)(unaff_s8 + 2);\n          piVar20 = piVar5;\n          if (unaff_s5 == (int *)0x22) {\n            iVar4 = (*(code *)PTR_strlen_000798d0)(unaff_s6);\n            pcVar15 = (char *)((int)unaff_s6 + iVar4 + -1);\n            if (*pcVar15 == '\"') {\n              *pcVar15 = '\0';\n              unaff_s5 = (int *)(int)unaff_s8[3];\n              unaff_s6 = (int *)(unaff_s8 + 3);\n              if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n            }\nLAB_00043310:\n            piVar13 = (int *)&DAT_0000005c;\n            piVar19 = piVar10;\n            piVar11 = piVar5;\n            piVar14 = unaff_s6;\n            do {\n              while ((piVar10 = (int *)((int)piVar14 + 1), unaff_s5 != (int *)&DAT_0000005c ||\n                     (*(char *)((int)piVar14 + 1) == '\0'))) {\n                *(char *)piVar11 = *(char *)piVar14;\n                unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 1);\n                piVar19 = piVar10;\n                piVar20 = (int *)((int)piVar11 + 1);\n                piVar11 = (int *)((int)piVar11 + 1);\n                unaff_s6 = piVar10;\n                piVar14 = piVar10;\n                if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n              }\n              *(char *)piVar11 = *(char *)((int)piVar14 + 1);\n              unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 2);\n              piVar10 = piVar19;\n              piVar20 = (int *)((int)piVar11 + 1);\n              piVar11 = (int *)((int)piVar11 + 1);\n              unaff_s6 = (int *)((int)piVar14 + 2);\n              piVar14 = (int *)((int)piVar14 + 2);\n            } while (unaff_s5 != (int *)0x0);\n          }\n          else if (unaff_s5 != (int *)0x0) goto LAB_00043310;\nLAB_00043364:\n          puVar1 = PTR_safefree_000790f0;\n          *(char *)piVar20 = '\0';\n          (*(code *)puVar1)(local_54);\n          local_54 = (*(code *)PTR_dupstr_000790fc)(piVar5);\n        }" { (expression_statement "unaff_s5 = (int *)(int)unaff_s8[2];" (assignment_expression "unaff_s5 = (int *)(int)unaff_s8[2]" identifier = (cast_expression "(int *)(int)unaff_s8[2]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (cast_expression "(int)unaff_s8[2]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "unaff_s8[2]" identifier [ number_literal ])))) ;) (expression_statement "unaff_s6 = (int *)(unaff_s8 + 2);" (assignment_expression "unaff_s6 = (int *)(unaff_s8 + 2)" identifier = (cast_expression "(int *)(unaff_s8 + 2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s8 + 2)" ( (binary_expression "unaff_s8 + 2" identifier + number_literal) )))) ;) (expression_statement "piVar20 = piVar5;" (assignment_expression "piVar20 = piVar5" identifier = identifier) ;) (if_statement "if (unaff_s5 == (int *)0x22) {\n            iVar4 = (*(code *)PTR_strlen_000798d0)(unaff_s6);\n            pcVar15 = (char *)((int)unaff_s6 + iVar4 + -1);\n            if (*pcVar15 == '\"') {\n              *pcVar15 = '\0';\n              unaff_s5 = (int *)(int)unaff_s8[3];\n              unaff_s6 = (int *)(unaff_s8 + 3);\n              if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n            }\nLAB_00043310:\n            piVar13 = (int *)&DAT_0000005c;\n            piVar19 = piVar10;\n            piVar11 = piVar5;\n            piVar14 = unaff_s6;\n            do {\n              while ((piVar10 = (int *)((int)piVar14 + 1), unaff_s5 != (int *)&DAT_0000005c ||\n                     (*(char *)((int)piVar14 + 1) == '\0'))) {\n                *(char *)piVar11 = *(char *)piVar14;\n                unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 1);\n                piVar19 = piVar10;\n                piVar20 = (int *)((int)piVar11 + 1);\n                piVar11 = (int *)((int)piVar11 + 1);\n                unaff_s6 = piVar10;\n                piVar14 = piVar10;\n                if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n              }\n              *(char *)piVar11 = *(char *)((int)piVar14 + 1);\n              unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 2);\n              piVar10 = piVar19;\n              piVar20 = (int *)((int)piVar11 + 1);\n              piVar11 = (int *)((int)piVar11 + 1);\n              unaff_s6 = (int *)((int)piVar14 + 2);\n              piVar14 = (int *)((int)piVar14 + 2);\n            } while (unaff_s5 != (int *)0x0);\n          }\n          else if (unaff_s5 != (int *)0x0) goto LAB_00043310;" if (parenthesized_expression "(unaff_s5 == (int *)0x22)" ( (binary_expression "unaff_s5 == (int *)0x22" identifier == (cast_expression "(int *)0x22" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            iVar4 = (*(code *)PTR_strlen_000798d0)(unaff_s6);\n            pcVar15 = (char *)((int)unaff_s6 + iVar4 + -1);\n            if (*pcVar15 == '\"') {\n              *pcVar15 = '\0';\n              unaff_s5 = (int *)(int)unaff_s8[3];\n              unaff_s6 = (int *)(unaff_s8 + 3);\n              if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n            }\nLAB_00043310:\n            piVar13 = (int *)&DAT_0000005c;\n            piVar19 = piVar10;\n            piVar11 = piVar5;\n            piVar14 = unaff_s6;\n            do {\n              while ((piVar10 = (int *)((int)piVar14 + 1), unaff_s5 != (int *)&DAT_0000005c ||\n                     (*(char *)((int)piVar14 + 1) == '\0'))) {\n                *(char *)piVar11 = *(char *)piVar14;\n                unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 1);\n                piVar19 = piVar10;\n                piVar20 = (int *)((int)piVar11 + 1);\n                piVar11 = (int *)((int)piVar11 + 1);\n                unaff_s6 = piVar10;\n                piVar14 = piVar10;\n                if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n              }\n              *(char *)piVar11 = *(char *)((int)piVar14 + 1);\n              unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 2);\n              piVar10 = piVar19;\n              piVar20 = (int *)((int)piVar11 + 1);\n              piVar11 = (int *)((int)piVar11 + 1);\n              unaff_s6 = (int *)((int)piVar14 + 2);\n              piVar14 = (int *)((int)piVar14 + 2);\n            } while (unaff_s5 != (int *)0x0);\n          }" { (expression_statement "iVar4 = (*(code *)PTR_strlen_000798d0)(unaff_s6);" (assignment_expression "iVar4 = (*(code *)PTR_strlen_000798d0)(unaff_s6)" identifier = (call_expression "(*(code *)PTR_strlen_000798d0)(unaff_s6)" (parenthesized_expression "(*(code *)PTR_strlen_000798d0)" ( (pointer_expression "*(code *)PTR_strlen_000798d0" * (cast_expression "(code *)PTR_strlen_000798d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s6)" ( identifier )))) ;) (expression_statement "pcVar15 = (char *)((int)unaff_s6 + iVar4 + -1);" (assignment_expression "pcVar15 = (char *)((int)unaff_s6 + iVar4 + -1)" identifier = (cast_expression "(char *)((int)unaff_s6 + iVar4 + -1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s6 + iVar4 + -1)" ( (binary_expression "(int)unaff_s6 + iVar4 + -1" (binary_expression "(int)unaff_s6 + iVar4" (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) ;) (if_statement "if (*pcVar15 == '\"') {\n              *pcVar15 = '\0';\n              unaff_s5 = (int *)(int)unaff_s8[3];\n              unaff_s6 = (int *)(unaff_s8 + 3);\n              if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n            }" if (parenthesized_expression "(*pcVar15 == '\"')" ( (binary_expression "*pcVar15 == '\"'" (pointer_expression "*pcVar15" * identifier) == (char_literal "'\"'" ' escape_sequence ')) )) (compound_statement "{\n              *pcVar15 = '\0';\n              unaff_s5 = (int *)(int)unaff_s8[3];\n              unaff_s6 = (int *)(unaff_s8 + 3);\n              if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n            }" { (expression_statement "*pcVar15 = '\0';" (assignment_expression "*pcVar15 = '\0'" (pointer_expression "*pcVar15" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "unaff_s5 = (int *)(int)unaff_s8[3];" (assignment_expression "unaff_s5 = (int *)(int)unaff_s8[3]" identifier = (cast_expression "(int *)(int)unaff_s8[3]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (cast_expression "(int)unaff_s8[3]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "unaff_s8[3]" identifier [ number_literal ])))) ;) (expression_statement "unaff_s6 = (int *)(unaff_s8 + 3);" (assignment_expression "unaff_s6 = (int *)(unaff_s8 + 3)" identifier = (cast_expression "(int *)(unaff_s8 + 3)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s8 + 3)" ( (binary_expression "unaff_s8 + 3" identifier + number_literal) )))) ;) (if_statement "if (unaff_s5 == (int *)0x0) goto LAB_00043364;" if (parenthesized_expression "(unaff_s5 == (int *)0x0)" ( (binary_expression "unaff_s5 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00043364;" goto statement_identifier ;)) })) (labeled_statement "LAB_00043310:\n            piVar13 = (int *)&DAT_0000005c;" statement_identifier : (expression_statement "piVar13 = (int *)&DAT_0000005c;" (assignment_expression "piVar13 = (int *)&DAT_0000005c" identifier = (cast_expression "(int *)&DAT_0000005c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_0000005c" & identifier))) ;)) (expression_statement "piVar19 = piVar10;" (assignment_expression "piVar19 = piVar10" identifier = identifier) ;) (expression_statement "piVar11 = piVar5;" (assignment_expression "piVar11 = piVar5" identifier = identifier) ;) (expression_statement "piVar14 = unaff_s6;" (assignment_expression "piVar14 = unaff_s6" identifier = identifier) ;) (do_statement "do {\n              while ((piVar10 = (int *)((int)piVar14 + 1), unaff_s5 != (int *)&DAT_0000005c ||\n                     (*(char *)((int)piVar14 + 1) == '\0'))) {\n                *(char *)piVar11 = *(char *)piVar14;\n                unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 1);\n                piVar19 = piVar10;\n                piVar20 = (int *)((int)piVar11 + 1);\n                piVar11 = (int *)((int)piVar11 + 1);\n                unaff_s6 = piVar10;\n                piVar14 = piVar10;\n                if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n              }\n              *(char *)piVar11 = *(char *)((int)piVar14 + 1);\n              unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 2);\n              piVar10 = piVar19;\n              piVar20 = (int *)((int)piVar11 + 1);\n              piVar11 = (int *)((int)piVar11 + 1);\n              unaff_s6 = (int *)((int)piVar14 + 2);\n              piVar14 = (int *)((int)piVar14 + 2);\n            } while (unaff_s5 != (int *)0x0);" do (compound_statement "{\n              while ((piVar10 = (int *)((int)piVar14 + 1), unaff_s5 != (int *)&DAT_0000005c ||\n                     (*(char *)((int)piVar14 + 1) == '\0'))) {\n                *(char *)piVar11 = *(char *)piVar14;\n                unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 1);\n                piVar19 = piVar10;\n                piVar20 = (int *)((int)piVar11 + 1);\n                piVar11 = (int *)((int)piVar11 + 1);\n                unaff_s6 = piVar10;\n                piVar14 = piVar10;\n                if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n              }\n              *(char *)piVar11 = *(char *)((int)piVar14 + 1);\n              unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 2);\n              piVar10 = piVar19;\n              piVar20 = (int *)((int)piVar11 + 1);\n              piVar11 = (int *)((int)piVar11 + 1);\n              unaff_s6 = (int *)((int)piVar14 + 2);\n              piVar14 = (int *)((int)piVar14 + 2);\n            }" { (while_statement "while ((piVar10 = (int *)((int)piVar14 + 1), unaff_s5 != (int *)&DAT_0000005c ||\n                     (*(char *)((int)piVar14 + 1) == '\0'))) {\n                *(char *)piVar11 = *(char *)piVar14;\n                unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 1);\n                piVar19 = piVar10;\n                piVar20 = (int *)((int)piVar11 + 1);\n                piVar11 = (int *)((int)piVar11 + 1);\n                unaff_s6 = piVar10;\n                piVar14 = piVar10;\n                if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n              }" while (parenthesized_expression "((piVar10 = (int *)((int)piVar14 + 1), unaff_s5 != (int *)&DAT_0000005c ||\n                     (*(char *)((int)piVar14 + 1) == '\0')))" ( (parenthesized_expression "(piVar10 = (int *)((int)piVar14 + 1), unaff_s5 != (int *)&DAT_0000005c ||\n                     (*(char *)((int)piVar14 + 1) == '\0'))" ( (comma_expression "piVar10 = (int *)((int)piVar14 + 1), unaff_s5 != (int *)&DAT_0000005c ||\n                     (*(char *)((int)piVar14 + 1) == '\0')" (assignment_expression "piVar10 = (int *)((int)piVar14 + 1)" identifier = (cast_expression "(int *)((int)piVar14 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar14 + 1)" ( (binary_expression "(int)piVar14 + 1" (cast_expression "(int)piVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (binary_expression "unaff_s5 != (int *)&DAT_0000005c ||\n                     (*(char *)((int)piVar14 + 1) == '\0')" (binary_expression "unaff_s5 != (int *)&DAT_0000005c" identifier != (cast_expression "(int *)&DAT_0000005c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_0000005c" & identifier))) || (parenthesized_expression "(*(char *)((int)piVar14 + 1) == '\0')" ( (binary_expression "*(char *)((int)piVar14 + 1) == '\0'" (pointer_expression "*(char *)((int)piVar14 + 1)" * (cast_expression "(char *)((int)piVar14 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar14 + 1)" ( (binary_expression "(int)piVar14 + 1" (cast_expression "(int)piVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )))) )) )) (compound_statement "{\n                *(char *)piVar11 = *(char *)piVar14;\n                unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 1);\n                piVar19 = piVar10;\n                piVar20 = (int *)((int)piVar11 + 1);\n                piVar11 = (int *)((int)piVar11 + 1);\n                unaff_s6 = piVar10;\n                piVar14 = piVar10;\n                if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n              }" { (expression_statement "*(char *)piVar11 = *(char *)piVar14;" (assignment_expression "*(char *)piVar11 = *(char *)piVar14" (pointer_expression "*(char *)piVar11" * (cast_expression "(char *)piVar11" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = (pointer_expression "*(char *)piVar14" * (cast_expression "(char *)piVar14" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 1);" (assignment_expression "unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 1)" identifier = (cast_expression "(int *)(int)*(char *)((int)piVar14 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (cast_expression "(int)*(char *)((int)piVar14 + 1)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(char *)((int)piVar14 + 1)" * (cast_expression "(char *)((int)piVar14 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar14 + 1)" ( (binary_expression "(int)piVar14 + 1" (cast_expression "(int)piVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))))) ;) (expression_statement "piVar19 = piVar10;" (assignment_expression "piVar19 = piVar10" identifier = identifier) ;) (expression_statement "piVar20 = (int *)((int)piVar11 + 1);" (assignment_expression "piVar20 = (int *)((int)piVar11 + 1)" identifier = (cast_expression "(int *)((int)piVar11 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar11 + 1)" ( (binary_expression "(int)piVar11 + 1" (cast_expression "(int)piVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "piVar11 = (int *)((int)piVar11 + 1);" (assignment_expression "piVar11 = (int *)((int)piVar11 + 1)" identifier = (cast_expression "(int *)((int)piVar11 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar11 + 1)" ( (binary_expression "(int)piVar11 + 1" (cast_expression "(int)piVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "unaff_s6 = piVar10;" (assignment_expression "unaff_s6 = piVar10" identifier = identifier) ;) (expression_statement "piVar14 = piVar10;" (assignment_expression "piVar14 = piVar10" identifier = identifier) ;) (if_statement "if (unaff_s5 == (int *)0x0) goto LAB_00043364;" if (parenthesized_expression "(unaff_s5 == (int *)0x0)" ( (binary_expression "unaff_s5 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00043364;" goto statement_identifier ;)) })) (expression_statement "*(char *)piVar11 = *(char *)((int)piVar14 + 1);" (assignment_expression "*(char *)piVar11 = *(char *)((int)piVar14 + 1)" (pointer_expression "*(char *)piVar11" * (cast_expression "(char *)piVar11" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = (pointer_expression "*(char *)((int)piVar14 + 1)" * (cast_expression "(char *)((int)piVar14 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar14 + 1)" ( (binary_expression "(int)piVar14 + 1" (cast_expression "(int)piVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 2);" (assignment_expression "unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 2)" identifier = (cast_expression "(int *)(int)*(char *)((int)piVar14 + 2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (cast_expression "(int)*(char *)((int)piVar14 + 2)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(char *)((int)piVar14 + 2)" * (cast_expression "(char *)((int)piVar14 + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar14 + 2)" ( (binary_expression "(int)piVar14 + 2" (cast_expression "(int)piVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))))) ;) (expression_statement "piVar10 = piVar19;" (assignment_expression "piVar10 = piVar19" identifier = identifier) ;) (expression_statement "piVar20 = (int *)((int)piVar11 + 1);" (assignment_expression "piVar20 = (int *)((int)piVar11 + 1)" identifier = (cast_expression "(int *)((int)piVar11 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar11 + 1)" ( (binary_expression "(int)piVar11 + 1" (cast_expression "(int)piVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "piVar11 = (int *)((int)piVar11 + 1);" (assignment_expression "piVar11 = (int *)((int)piVar11 + 1)" identifier = (cast_expression "(int *)((int)piVar11 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar11 + 1)" ( (binary_expression "(int)piVar11 + 1" (cast_expression "(int)piVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "unaff_s6 = (int *)((int)piVar14 + 2);" (assignment_expression "unaff_s6 = (int *)((int)piVar14 + 2)" identifier = (cast_expression "(int *)((int)piVar14 + 2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar14 + 2)" ( (binary_expression "(int)piVar14 + 2" (cast_expression "(int)piVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "piVar14 = (int *)((int)piVar14 + 2);" (assignment_expression "piVar14 = (int *)((int)piVar14 + 2)" identifier = (cast_expression "(int *)((int)piVar14 + 2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar14 + 2)" ( (binary_expression "(int)piVar14 + 2" (cast_expression "(int)piVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(unaff_s5 != (int *)0x0)" ( (binary_expression "unaff_s5 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) }) (else_clause "else if (unaff_s5 != (int *)0x0) goto LAB_00043310;" else (if_statement "if (unaff_s5 != (int *)0x0) goto LAB_00043310;" if (parenthesized_expression "(unaff_s5 != (int *)0x0)" ( (binary_expression "unaff_s5 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00043310;" goto statement_identifier ;)))) (labeled_statement "LAB_00043364:\n          puVar1 = PTR_safefree_000790f0;" statement_identifier : (expression_statement "puVar1 = PTR_safefree_000790f0;" (assignment_expression "puVar1 = PTR_safefree_000790f0" identifier = identifier) ;)) (expression_statement "*(char *)piVar20 = '\0';" (assignment_expression "*(char *)piVar20 = '\0'" (pointer_expression "*(char *)piVar20" * (cast_expression "(char *)piVar20" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "(*(code *)puVar1)(local_54);" (call_expression "(*(code *)puVar1)(local_54)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_54)" ( identifier ))) ;) (expression_statement "local_54 = (*(code *)PTR_dupstr_000790fc)(piVar5);" (assignment_expression "local_54 = (*(code *)PTR_dupstr_000790fc)(piVar5)" identifier = (call_expression "(*(code *)PTR_dupstr_000790fc)(piVar5)" (parenthesized_expression "(*(code *)PTR_dupstr_000790fc)" ( (pointer_expression "*(code *)PTR_dupstr_000790fc" * (cast_expression "(code *)PTR_dupstr_000790fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar5)" ( identifier )))) ;) }) (else_clause "else {\n          piVar10 = unaff_s4;\n          iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar5);\n          if (iVar4 != 0) {\n            piVar20 = (int *)0x2;\n            piVar10 = unaff_s7;\n            iVar4 = (*(code *)PTR_strncmp_000797c4)(piVar5);\n            if (iVar4 != 0) {\n              piVar19 = (int *)0x0;\n              puVar17 = PTR_s_j_000790a8 + 0x437c;\n              param_2 = piVar5;\n              goto LAB_00043198;\n            }\n          }\n        }" else (compound_statement "{\n          piVar10 = unaff_s4;\n          iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar5);\n          if (iVar4 != 0) {\n            piVar20 = (int *)0x2;\n            piVar10 = unaff_s7;\n            iVar4 = (*(code *)PTR_strncmp_000797c4)(piVar5);\n            if (iVar4 != 0) {\n              piVar19 = (int *)0x0;\n              puVar17 = PTR_s_j_000790a8 + 0x437c;\n              param_2 = piVar5;\n              goto LAB_00043198;\n            }\n          }\n        }" { (expression_statement "piVar10 = unaff_s4;" (assignment_expression "piVar10 = unaff_s4" identifier = identifier) ;) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar5);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar5)" identifier = (call_expression "(*(code *)PTR_strcmp_000798a4)(piVar5)" (parenthesized_expression "(*(code *)PTR_strcmp_000798a4)" ( (pointer_expression "*(code *)PTR_strcmp_000798a4" * (cast_expression "(code *)PTR_strcmp_000798a4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar5)" ( identifier )))) ;) (if_statement "if (iVar4 != 0) {\n            piVar20 = (int *)0x2;\n            piVar10 = unaff_s7;\n            iVar4 = (*(code *)PTR_strncmp_000797c4)(piVar5);\n            if (iVar4 != 0) {\n              piVar19 = (int *)0x0;\n              puVar17 = PTR_s_j_000790a8 + 0x437c;\n              param_2 = piVar5;\n              goto LAB_00043198;\n            }\n          }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n            piVar20 = (int *)0x2;\n            piVar10 = unaff_s7;\n            iVar4 = (*(code *)PTR_strncmp_000797c4)(piVar5);\n            if (iVar4 != 0) {\n              piVar19 = (int *)0x0;\n              puVar17 = PTR_s_j_000790a8 + 0x437c;\n              param_2 = piVar5;\n              goto LAB_00043198;\n            }\n          }" { (expression_statement "piVar20 = (int *)0x2;" (assignment_expression "piVar20 = (int *)0x2" identifier = (cast_expression "(int *)0x2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piVar10 = unaff_s7;" (assignment_expression "piVar10 = unaff_s7" identifier = identifier) ;) (expression_statement "iVar4 = (*(code *)PTR_strncmp_000797c4)(piVar5);" (assignment_expression "iVar4 = (*(code *)PTR_strncmp_000797c4)(piVar5)" identifier = (call_expression "(*(code *)PTR_strncmp_000797c4)(piVar5)" (parenthesized_expression "(*(code *)PTR_strncmp_000797c4)" ( (pointer_expression "*(code *)PTR_strncmp_000797c4" * (cast_expression "(code *)PTR_strncmp_000797c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar5)" ( identifier )))) ;) (if_statement "if (iVar4 != 0) {\n              piVar19 = (int *)0x0;\n              puVar17 = PTR_s_j_000790a8 + 0x437c;\n              param_2 = piVar5;\n              goto LAB_00043198;\n            }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n              piVar19 = (int *)0x0;\n              puVar17 = PTR_s_j_000790a8 + 0x437c;\n              param_2 = piVar5;\n              goto LAB_00043198;\n            }" { (expression_statement "piVar19 = (int *)0x0;" (assignment_expression "piVar19 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar17 = PTR_s_j_000790a8 + 0x437c;" (assignment_expression "puVar17 = PTR_s_j_000790a8 + 0x437c" identifier = (binary_expression "PTR_s_j_000790a8 + 0x437c" identifier + number_literal)) ;) (expression_statement "param_2 = piVar5;" (assignment_expression "param_2 = piVar5" identifier = identifier) ;) (goto_statement "goto LAB_00043198;" goto statement_identifier ;) })) })) }))) (expression_statement "(*(code *)PTR_safefree_000790f0)(piVar5);" (call_expression "(*(code *)PTR_safefree_000790f0)(piVar5)" (parenthesized_expression "(*(code *)PTR_safefree_000790f0)" ( (pointer_expression "*(code *)PTR_safefree_000790f0" * (cast_expression "(code *)PTR_safefree_000790f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar5)" ( identifier ))) ;) })) (expression_statement "piVar19 = (int *)0x0;" (assignment_expression "piVar19 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar17 = PTR_s_j_000790a8 + 0x43ac;" (assignment_expression "puVar17 = PTR_s_j_000790a8 + 0x43ac" identifier = (binary_expression "PTR_s_j_000790a8 + 0x43ac" identifier + number_literal)) ;) (expression_statement "param_2 = piVar5;" (assignment_expression "param_2 = piVar5" identifier = identifier) ;) (goto_statement "goto LAB_00043198;" goto statement_identifier ;) })) })) (expression_statement "piVar19 = (int *)0x0;" (assignment_expression "piVar19 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_54 = 0;" (assignment_expression "local_54 = 0" identifier = number_literal) ;) (expression_statement "puVar17 = PTR_s_j_000790a8 + 0x42f0;" (assignment_expression "puVar17 = PTR_s_j_000790a8 + 0x42f0" identifier = (binary_expression "PTR_s_j_000790a8 + 0x42f0" identifier + number_literal)) ;) (expression_statement "param_2 = piVar3;" (assignment_expression "param_2 = piVar3" identifier = identifier) ;) (goto_statement "goto LAB_00043198;" goto statement_identifier ;) (labeled_statement "LAB_0004340c:\n  do {\n    cVar9 = *(char *)piVar5;\n    unaff_s5 = piVar5;\n    if (cVar9 == '-') {\n      piVar10 = (int *)(PTR_s_j_000790a8 + 0x43fc);\n      iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar5);\n      if (iVar4 == 0) {\n        (*(code *)PTR_safefree_000790f0)(piVar5);\n        if ((int)unaff_s4 < 4) {\n          puVar17 = PTR_s_j_000790a8 + 0x42c4;\n          param_2 = (int *)0x0;\n          goto LAB_00043198;\n        }\n        piVar3 = (int *)(*(code *)PTR_toint_000792c8)(*piVar19);\n        puVar17 = PTR_s_j_000790a8;\n        if (((int)piVar3 < 0) || ((int)((int)unaff_s4 + -3) <= (int)piVar3)) {\n          puVar17 = PTR_s_j_000790a8 + 0x431c;\n          param_2 = (int *)0x0;\n          goto LAB_00043198;\n        }\n        piVar20 = piVar19 + 1;\n        if (param_2 != (int *)0x0) {\n          iVar4 = (*(code *)PTR_dupprintf_000790e8)(PTR_s_j_000790a8 + -0x26d0);\n          *param_2 = iVar4;\n          piVar10 = piVar3;\n        }\n        if (param_3 != (int *)0x0) {\n          *param_3 = (int)unaff_s4;\n        }\n        if (param_4 == (int *)0x0) {\n          (*(code *)PTR_safefree_000790f0)(local_54);\n        }\n        else {\n          *param_4 = local_54;\n        }\n        goto LAB_000431d8;\n      }\n      break;\n    }\n    unaff_s6 = (int *)&DAT_00000004;\n    while (piVar3 = unaff_s4, cVar9 != '\0') {\n      while( true ) {\n        local_30[iVar4] = cVar9;\n        if (iVar4 + 1 != 4) break;\n        piVar20 = (int *)(*(code *)PTR_base64_decode_atom_000792d8)(unaff_s8,unaff_s7);\n        unaff_s4 = (int *)((int)piVar3 + (int)piVar20);\n        if (iVar18 < (int)unaff_s4) {\n          iVar18 = ((int)unaff_s4 * 5 >> 2) + 0x400;\n          piVar19 = (int *)(*(code *)PTR_saferealloc_000791a0)(piVar19,iVar18,1);\n        }\n        unaff_s5 = (int *)((int)unaff_s5 + 1);\n        piVar10 = unaff_s7;\n        (*(code *)PTR_memcpy_000798e0)((char *)((int)piVar19 + (int)piVar3));\n        iVar4 = 0;\n        cVar9 = *(char *)unaff_s5;\n        piVar3 = unaff_s4;\n        if (cVar9 == '\0') goto LAB_000434ac;\n      }\n      unaff_s5 = (int *)((int)unaff_s5 + 1);\n      iVar4 = iVar4 + 1;\n      unaff_s4 = piVar3;\n      cVar9 = *(char *)unaff_s5;\n    }\nLAB_000434ac:\n    (*(code *)PTR_safefree_000790f0)(piVar5);\n    uVar2 = (*(code *)PTR_fgetline_00079538)(param_1);\n    piVar5 = (int *)(*(code *)PTR_chomp_0007953c)(uVar2);\n  } while (piVar5 != (int *)0x0);" statement_identifier : (do_statement "do {\n    cVar9 = *(char *)piVar5;\n    unaff_s5 = piVar5;\n    if (cVar9 == '-') {\n      piVar10 = (int *)(PTR_s_j_000790a8 + 0x43fc);\n      iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar5);\n      if (iVar4 == 0) {\n        (*(code *)PTR_safefree_000790f0)(piVar5);\n        if ((int)unaff_s4 < 4) {\n          puVar17 = PTR_s_j_000790a8 + 0x42c4;\n          param_2 = (int *)0x0;\n          goto LAB_00043198;\n        }\n        piVar3 = (int *)(*(code *)PTR_toint_000792c8)(*piVar19);\n        puVar17 = PTR_s_j_000790a8;\n        if (((int)piVar3 < 0) || ((int)((int)unaff_s4 + -3) <= (int)piVar3)) {\n          puVar17 = PTR_s_j_000790a8 + 0x431c;\n          param_2 = (int *)0x0;\n          goto LAB_00043198;\n        }\n        piVar20 = piVar19 + 1;\n        if (param_2 != (int *)0x0) {\n          iVar4 = (*(code *)PTR_dupprintf_000790e8)(PTR_s_j_000790a8 + -0x26d0);\n          *param_2 = iVar4;\n          piVar10 = piVar3;\n        }\n        if (param_3 != (int *)0x0) {\n          *param_3 = (int)unaff_s4;\n        }\n        if (param_4 == (int *)0x0) {\n          (*(code *)PTR_safefree_000790f0)(local_54);\n        }\n        else {\n          *param_4 = local_54;\n        }\n        goto LAB_000431d8;\n      }\n      break;\n    }\n    unaff_s6 = (int *)&DAT_00000004;\n    while (piVar3 = unaff_s4, cVar9 != '\0') {\n      while( true ) {\n        local_30[iVar4] = cVar9;\n        if (iVar4 + 1 != 4) break;\n        piVar20 = (int *)(*(code *)PTR_base64_decode_atom_000792d8)(unaff_s8,unaff_s7);\n        unaff_s4 = (int *)((int)piVar3 + (int)piVar20);\n        if (iVar18 < (int)unaff_s4) {\n          iVar18 = ((int)unaff_s4 * 5 >> 2) + 0x400;\n          piVar19 = (int *)(*(code *)PTR_saferealloc_000791a0)(piVar19,iVar18,1);\n        }\n        unaff_s5 = (int *)((int)unaff_s5 + 1);\n        piVar10 = unaff_s7;\n        (*(code *)PTR_memcpy_000798e0)((char *)((int)piVar19 + (int)piVar3));\n        iVar4 = 0;\n        cVar9 = *(char *)unaff_s5;\n        piVar3 = unaff_s4;\n        if (cVar9 == '\0') goto LAB_000434ac;\n      }\n      unaff_s5 = (int *)((int)unaff_s5 + 1);\n      iVar4 = iVar4 + 1;\n      unaff_s4 = piVar3;\n      cVar9 = *(char *)unaff_s5;\n    }\nLAB_000434ac:\n    (*(code *)PTR_safefree_000790f0)(piVar5);\n    uVar2 = (*(code *)PTR_fgetline_00079538)(param_1);\n    piVar5 = (int *)(*(code *)PTR_chomp_0007953c)(uVar2);\n  } while (piVar5 != (int *)0x0);" do (compound_statement "{\n    cVar9 = *(char *)piVar5;\n    unaff_s5 = piVar5;\n    if (cVar9 == '-') {\n      piVar10 = (int *)(PTR_s_j_000790a8 + 0x43fc);\n      iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar5);\n      if (iVar4 == 0) {\n        (*(code *)PTR_safefree_000790f0)(piVar5);\n        if ((int)unaff_s4 < 4) {\n          puVar17 = PTR_s_j_000790a8 + 0x42c4;\n          param_2 = (int *)0x0;\n          goto LAB_00043198;\n        }\n        piVar3 = (int *)(*(code *)PTR_toint_000792c8)(*piVar19);\n        puVar17 = PTR_s_j_000790a8;\n        if (((int)piVar3 < 0) || ((int)((int)unaff_s4 + -3) <= (int)piVar3)) {\n          puVar17 = PTR_s_j_000790a8 + 0x431c;\n          param_2 = (int *)0x0;\n          goto LAB_00043198;\n        }\n        piVar20 = piVar19 + 1;\n        if (param_2 != (int *)0x0) {\n          iVar4 = (*(code *)PTR_dupprintf_000790e8)(PTR_s_j_000790a8 + -0x26d0);\n          *param_2 = iVar4;\n          piVar10 = piVar3;\n        }\n        if (param_3 != (int *)0x0) {\n          *param_3 = (int)unaff_s4;\n        }\n        if (param_4 == (int *)0x0) {\n          (*(code *)PTR_safefree_000790f0)(local_54);\n        }\n        else {\n          *param_4 = local_54;\n        }\n        goto LAB_000431d8;\n      }\n      break;\n    }\n    unaff_s6 = (int *)&DAT_00000004;\n    while (piVar3 = unaff_s4, cVar9 != '\0') {\n      while( true ) {\n        local_30[iVar4] = cVar9;\n        if (iVar4 + 1 != 4) break;\n        piVar20 = (int *)(*(code *)PTR_base64_decode_atom_000792d8)(unaff_s8,unaff_s7);\n        unaff_s4 = (int *)((int)piVar3 + (int)piVar20);\n        if (iVar18 < (int)unaff_s4) {\n          iVar18 = ((int)unaff_s4 * 5 >> 2) + 0x400;\n          piVar19 = (int *)(*(code *)PTR_saferealloc_000791a0)(piVar19,iVar18,1);\n        }\n        unaff_s5 = (int *)((int)unaff_s5 + 1);\n        piVar10 = unaff_s7;\n        (*(code *)PTR_memcpy_000798e0)((char *)((int)piVar19 + (int)piVar3));\n        iVar4 = 0;\n        cVar9 = *(char *)unaff_s5;\n        piVar3 = unaff_s4;\n        if (cVar9 == '\0') goto LAB_000434ac;\n      }\n      unaff_s5 = (int *)((int)unaff_s5 + 1);\n      iVar4 = iVar4 + 1;\n      unaff_s4 = piVar3;\n      cVar9 = *(char *)unaff_s5;\n    }\nLAB_000434ac:\n    (*(code *)PTR_safefree_000790f0)(piVar5);\n    uVar2 = (*(code *)PTR_fgetline_00079538)(param_1);\n    piVar5 = (int *)(*(code *)PTR_chomp_0007953c)(uVar2);\n  }" { (expression_statement "cVar9 = *(char *)piVar5;" (assignment_expression "cVar9 = *(char *)piVar5" identifier = (pointer_expression "*(char *)piVar5" * (cast_expression "(char *)piVar5" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "unaff_s5 = piVar5;" (assignment_expression "unaff_s5 = piVar5" identifier = identifier) ;) (if_statement "if (cVar9 == '-') {\n      piVar10 = (int *)(PTR_s_j_000790a8 + 0x43fc);\n      iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar5);\n      if (iVar4 == 0) {\n        (*(code *)PTR_safefree_000790f0)(piVar5);\n        if ((int)unaff_s4 < 4) {\n          puVar17 = PTR_s_j_000790a8 + 0x42c4;\n          param_2 = (int *)0x0;\n          goto LAB_00043198;\n        }\n        piVar3 = (int *)(*(code *)PTR_toint_000792c8)(*piVar19);\n        puVar17 = PTR_s_j_000790a8;\n        if (((int)piVar3 < 0) || ((int)((int)unaff_s4 + -3) <= (int)piVar3)) {\n          puVar17 = PTR_s_j_000790a8 + 0x431c;\n          param_2 = (int *)0x0;\n          goto LAB_00043198;\n        }\n        piVar20 = piVar19 + 1;\n        if (param_2 != (int *)0x0) {\n          iVar4 = (*(code *)PTR_dupprintf_000790e8)(PTR_s_j_000790a8 + -0x26d0);\n          *param_2 = iVar4;\n          piVar10 = piVar3;\n        }\n        if (param_3 != (int *)0x0) {\n          *param_3 = (int)unaff_s4;\n        }\n        if (param_4 == (int *)0x0) {\n          (*(code *)PTR_safefree_000790f0)(local_54);\n        }\n        else {\n          *param_4 = local_54;\n        }\n        goto LAB_000431d8;\n      }\n      break;\n    }" if (parenthesized_expression "(cVar9 == '-')" ( (binary_expression "cVar9 == '-'" identifier == (char_literal "'-'" ' character ')) )) (compound_statement "{\n      piVar10 = (int *)(PTR_s_j_000790a8 + 0x43fc);\n      iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar5);\n      if (iVar4 == 0) {\n        (*(code *)PTR_safefree_000790f0)(piVar5);\n        if ((int)unaff_s4 < 4) {\n          puVar17 = PTR_s_j_000790a8 + 0x42c4;\n          param_2 = (int *)0x0;\n          goto LAB_00043198;\n        }\n        piVar3 = (int *)(*(code *)PTR_toint_000792c8)(*piVar19);\n        puVar17 = PTR_s_j_000790a8;\n        if (((int)piVar3 < 0) || ((int)((int)unaff_s4 + -3) <= (int)piVar3)) {\n          puVar17 = PTR_s_j_000790a8 + 0x431c;\n          param_2 = (int *)0x0;\n          goto LAB_00043198;\n        }\n        piVar20 = piVar19 + 1;\n        if (param_2 != (int *)0x0) {\n          iVar4 = (*(code *)PTR_dupprintf_000790e8)(PTR_s_j_000790a8 + -0x26d0);\n          *param_2 = iVar4;\n          piVar10 = piVar3;\n        }\n        if (param_3 != (int *)0x0) {\n          *param_3 = (int)unaff_s4;\n        }\n        if (param_4 == (int *)0x0) {\n          (*(code *)PTR_safefree_000790f0)(local_54);\n        }\n        else {\n          *param_4 = local_54;\n        }\n        goto LAB_000431d8;\n      }\n      break;\n    }" { (expression_statement "piVar10 = (int *)(PTR_s_j_000790a8 + 0x43fc);" (assignment_expression "piVar10 = (int *)(PTR_s_j_000790a8 + 0x43fc)" identifier = (cast_expression "(int *)(PTR_s_j_000790a8 + 0x43fc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_j_000790a8 + 0x43fc)" ( (binary_expression "PTR_s_j_000790a8 + 0x43fc" identifier + number_literal) )))) ;) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar5);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar5)" identifier = (call_expression "(*(code *)PTR_strcmp_000798a4)(piVar5)" (parenthesized_expression "(*(code *)PTR_strcmp_000798a4)" ( (pointer_expression "*(code *)PTR_strcmp_000798a4" * (cast_expression "(code *)PTR_strcmp_000798a4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar5)" ( identifier )))) ;) (if_statement "if (iVar4 == 0) {\n        (*(code *)PTR_safefree_000790f0)(piVar5);\n        if ((int)unaff_s4 < 4) {\n          puVar17 = PTR_s_j_000790a8 + 0x42c4;\n          param_2 = (int *)0x0;\n          goto LAB_00043198;\n        }\n        piVar3 = (int *)(*(code *)PTR_toint_000792c8)(*piVar19);\n        puVar17 = PTR_s_j_000790a8;\n        if (((int)piVar3 < 0) || ((int)((int)unaff_s4 + -3) <= (int)piVar3)) {\n          puVar17 = PTR_s_j_000790a8 + 0x431c;\n          param_2 = (int *)0x0;\n          goto LAB_00043198;\n        }\n        piVar20 = piVar19 + 1;\n        if (param_2 != (int *)0x0) {\n          iVar4 = (*(code *)PTR_dupprintf_000790e8)(PTR_s_j_000790a8 + -0x26d0);\n          *param_2 = iVar4;\n          piVar10 = piVar3;\n        }\n        if (param_3 != (int *)0x0) {\n          *param_3 = (int)unaff_s4;\n        }\n        if (param_4 == (int *)0x0) {\n          (*(code *)PTR_safefree_000790f0)(local_54);\n        }\n        else {\n          *param_4 = local_54;\n        }\n        goto LAB_000431d8;\n      }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n        (*(code *)PTR_safefree_000790f0)(piVar5);\n        if ((int)unaff_s4 < 4) {\n          puVar17 = PTR_s_j_000790a8 + 0x42c4;\n          param_2 = (int *)0x0;\n          goto LAB_00043198;\n        }\n        piVar3 = (int *)(*(code *)PTR_toint_000792c8)(*piVar19);\n        puVar17 = PTR_s_j_000790a8;\n        if (((int)piVar3 < 0) || ((int)((int)unaff_s4 + -3) <= (int)piVar3)) {\n          puVar17 = PTR_s_j_000790a8 + 0x431c;\n          param_2 = (int *)0x0;\n          goto LAB_00043198;\n        }\n        piVar20 = piVar19 + 1;\n        if (param_2 != (int *)0x0) {\n          iVar4 = (*(code *)PTR_dupprintf_000790e8)(PTR_s_j_000790a8 + -0x26d0);\n          *param_2 = iVar4;\n          piVar10 = piVar3;\n        }\n        if (param_3 != (int *)0x0) {\n          *param_3 = (int)unaff_s4;\n        }\n        if (param_4 == (int *)0x0) {\n          (*(code *)PTR_safefree_000790f0)(local_54);\n        }\n        else {\n          *param_4 = local_54;\n        }\n        goto LAB_000431d8;\n      }" { (expression_statement "(*(code *)PTR_safefree_000790f0)(piVar5);" (call_expression "(*(code *)PTR_safefree_000790f0)(piVar5)" (parenthesized_expression "(*(code *)PTR_safefree_000790f0)" ( (pointer_expression "*(code *)PTR_safefree_000790f0" * (cast_expression "(code *)PTR_safefree_000790f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar5)" ( identifier ))) ;) (if_statement "if ((int)unaff_s4 < 4) {\n          puVar17 = PTR_s_j_000790a8 + 0x42c4;\n          param_2 = (int *)0x0;\n          goto LAB_00043198;\n        }" if (parenthesized_expression "((int)unaff_s4 < 4)" ( (binary_expression "(int)unaff_s4 < 4" (cast_expression "(int)unaff_s4" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n          puVar17 = PTR_s_j_000790a8 + 0x42c4;\n          param_2 = (int *)0x0;\n          goto LAB_00043198;\n        }" { (expression_statement "puVar17 = PTR_s_j_000790a8 + 0x42c4;" (assignment_expression "puVar17 = PTR_s_j_000790a8 + 0x42c4" identifier = (binary_expression "PTR_s_j_000790a8 + 0x42c4" identifier + number_literal)) ;) (expression_statement "param_2 = (int *)0x0;" (assignment_expression "param_2 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00043198;" goto statement_identifier ;) })) (expression_statement "piVar3 = (int *)(*(code *)PTR_toint_000792c8)(*piVar19);" (assignment_expression "piVar3 = (int *)(*(code *)PTR_toint_000792c8)(*piVar19)" identifier = (cast_expression "(int *)(*(code *)PTR_toint_000792c8)(*piVar19)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_toint_000792c8)(*piVar19)" (parenthesized_expression "(*(code *)PTR_toint_000792c8)" ( (pointer_expression "*(code *)PTR_toint_000792c8" * (cast_expression "(code *)PTR_toint_000792c8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*piVar19)" ( (pointer_expression "*piVar19" * identifier) ))))) ;) (expression_statement "puVar17 = PTR_s_j_000790a8;" (assignment_expression "puVar17 = PTR_s_j_000790a8" identifier = identifier) ;) (if_statement "if (((int)piVar3 < 0) || ((int)((int)unaff_s4 + -3) <= (int)piVar3)) {\n          puVar17 = PTR_s_j_000790a8 + 0x431c;\n          param_2 = (int *)0x0;\n          goto LAB_00043198;\n        }" if (parenthesized_expression "(((int)piVar3 < 0) || ((int)((int)unaff_s4 + -3) <= (int)piVar3))" ( (binary_expression "((int)piVar3 < 0) || ((int)((int)unaff_s4 + -3) <= (int)piVar3)" (parenthesized_expression "((int)piVar3 < 0)" ( (binary_expression "(int)piVar3 < 0" (cast_expression "(int)piVar3" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) || (parenthesized_expression "((int)((int)unaff_s4 + -3) <= (int)piVar3)" ( (binary_expression "(int)((int)unaff_s4 + -3) <= (int)piVar3" (cast_expression "(int)((int)unaff_s4 + -3)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)unaff_s4 + -3)" ( (binary_expression "(int)unaff_s4 + -3" (cast_expression "(int)unaff_s4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) <= (cast_expression "(int)piVar3" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) (compound_statement "{\n          puVar17 = PTR_s_j_000790a8 + 0x431c;\n          param_2 = (int *)0x0;\n          goto LAB_00043198;\n        }" { (expression_statement "puVar17 = PTR_s_j_000790a8 + 0x431c;" (assignment_expression "puVar17 = PTR_s_j_000790a8 + 0x431c" identifier = (binary_expression "PTR_s_j_000790a8 + 0x431c" identifier + number_literal)) ;) (expression_statement "param_2 = (int *)0x0;" (assignment_expression "param_2 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00043198;" goto statement_identifier ;) })) (expression_statement "piVar20 = piVar19 + 1;" (assignment_expression "piVar20 = piVar19 + 1" identifier = (binary_expression "piVar19 + 1" identifier + number_literal)) ;) (if_statement "if (param_2 != (int *)0x0) {\n          iVar4 = (*(code *)PTR_dupprintf_000790e8)(PTR_s_j_000790a8 + -0x26d0);\n          *param_2 = iVar4;\n          piVar10 = piVar3;\n        }" if (parenthesized_expression "(param_2 != (int *)0x0)" ( (binary_expression "param_2 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          iVar4 = (*(code *)PTR_dupprintf_000790e8)(PTR_s_j_000790a8 + -0x26d0);\n          *param_2 = iVar4;\n          piVar10 = piVar3;\n        }" { (expression_statement "iVar4 = (*(code *)PTR_dupprintf_000790e8)(PTR_s_j_000790a8 + -0x26d0);" (assignment_expression "iVar4 = (*(code *)PTR_dupprintf_000790e8)(PTR_s_j_000790a8 + -0x26d0)" identifier = (call_expression "(*(code *)PTR_dupprintf_000790e8)(PTR_s_j_000790a8 + -0x26d0)" (parenthesized_expression "(*(code *)PTR_dupprintf_000790e8)" ( (pointer_expression "*(code *)PTR_dupprintf_000790e8" * (cast_expression "(code *)PTR_dupprintf_000790e8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_j_000790a8 + -0x26d0)" ( (binary_expression "PTR_s_j_000790a8 + -0x26d0" identifier + number_literal) )))) ;) (expression_statement "*param_2 = iVar4;" (assignment_expression "*param_2 = iVar4" (pointer_expression "*param_2" * identifier) = identifier) ;) (expression_statement "piVar10 = piVar3;" (assignment_expression "piVar10 = piVar3" identifier = identifier) ;) })) (if_statement "if (param_3 != (int *)0x0) {\n          *param_3 = (int)unaff_s4;\n        }" if (parenthesized_expression "(param_3 != (int *)0x0)" ( (binary_expression "param_3 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          *param_3 = (int)unaff_s4;\n        }" { (expression_statement "*param_3 = (int)unaff_s4;" (assignment_expression "*param_3 = (int)unaff_s4" (pointer_expression "*param_3" * identifier) = (cast_expression "(int)unaff_s4" ( (type_descriptor "int" primitive_type) ) identifier)) ;) })) (if_statement "if (param_4 == (int *)0x0) {\n          (*(code *)PTR_safefree_000790f0)(local_54);\n        }\n        else {\n          *param_4 = local_54;\n        }" if (parenthesized_expression "(param_4 == (int *)0x0)" ( (binary_expression "param_4 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          (*(code *)PTR_safefree_000790f0)(local_54);\n        }" { (expression_statement "(*(code *)PTR_safefree_000790f0)(local_54);" (call_expression "(*(code *)PTR_safefree_000790f0)(local_54)" (parenthesized_expression "(*(code *)PTR_safefree_000790f0)" ( (pointer_expression "*(code *)PTR_safefree_000790f0" * (cast_expression "(code *)PTR_safefree_000790f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_54)" ( identifier ))) ;) }) (else_clause "else {\n          *param_4 = local_54;\n        }" else (compound_statement "{\n          *param_4 = local_54;\n        }" { (expression_statement "*param_4 = local_54;" (assignment_expression "*param_4 = local_54" (pointer_expression "*param_4" * identifier) = identifier) ;) }))) (goto_statement "goto LAB_000431d8;" goto statement_identifier ;) })) (break_statement "break;" break ;) })) (expression_statement "unaff_s6 = (int *)&DAT_00000004;" (assignment_expression "unaff_s6 = (int *)&DAT_00000004" identifier = (cast_expression "(int *)&DAT_00000004" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000004" & identifier))) ;) (while_statement "while (piVar3 = unaff_s4, cVar9 != '\0') {\n      while( true ) {\n        local_30[iVar4] = cVar9;\n        if (iVar4 + 1 != 4) break;\n        piVar20 = (int *)(*(code *)PTR_base64_decode_atom_000792d8)(unaff_s8,unaff_s7);\n        unaff_s4 = (int *)((int)piVar3 + (int)piVar20);\n        if (iVar18 < (int)unaff_s4) {\n          iVar18 = ((int)unaff_s4 * 5 >> 2) + 0x400;\n          piVar19 = (int *)(*(code *)PTR_saferealloc_000791a0)(piVar19,iVar18,1);\n        }\n        unaff_s5 = (int *)((int)unaff_s5 + 1);\n        piVar10 = unaff_s7;\n        (*(code *)PTR_memcpy_000798e0)((char *)((int)piVar19 + (int)piVar3));\n        iVar4 = 0;\n        cVar9 = *(char *)unaff_s5;\n        piVar3 = unaff_s4;\n        if (cVar9 == '\0') goto LAB_000434ac;\n      }\n      unaff_s5 = (int *)((int)unaff_s5 + 1);\n      iVar4 = iVar4 + 1;\n      unaff_s4 = piVar3;\n      cVar9 = *(char *)unaff_s5;\n    }" while (parenthesized_expression "(piVar3 = unaff_s4, cVar9 != '\0')" ( (comma_expression "piVar3 = unaff_s4, cVar9 != '\0'" (assignment_expression "piVar3 = unaff_s4" identifier = identifier) , (binary_expression "cVar9 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence '))) )) (compound_statement "{\n      while( true ) {\n        local_30[iVar4] = cVar9;\n        if (iVar4 + 1 != 4) break;\n        piVar20 = (int *)(*(code *)PTR_base64_decode_atom_000792d8)(unaff_s8,unaff_s7);\n        unaff_s4 = (int *)((int)piVar3 + (int)piVar20);\n        if (iVar18 < (int)unaff_s4) {\n          iVar18 = ((int)unaff_s4 * 5 >> 2) + 0x400;\n          piVar19 = (int *)(*(code *)PTR_saferealloc_000791a0)(piVar19,iVar18,1);\n        }\n        unaff_s5 = (int *)((int)unaff_s5 + 1);\n        piVar10 = unaff_s7;\n        (*(code *)PTR_memcpy_000798e0)((char *)((int)piVar19 + (int)piVar3));\n        iVar4 = 0;\n        cVar9 = *(char *)unaff_s5;\n        piVar3 = unaff_s4;\n        if (cVar9 == '\0') goto LAB_000434ac;\n      }\n      unaff_s5 = (int *)((int)unaff_s5 + 1);\n      iVar4 = iVar4 + 1;\n      unaff_s4 = piVar3;\n      cVar9 = *(char *)unaff_s5;\n    }" { (while_statement "while( true ) {\n        local_30[iVar4] = cVar9;\n        if (iVar4 + 1 != 4) break;\n        piVar20 = (int *)(*(code *)PTR_base64_decode_atom_000792d8)(unaff_s8,unaff_s7);\n        unaff_s4 = (int *)((int)piVar3 + (int)piVar20);\n        if (iVar18 < (int)unaff_s4) {\n          iVar18 = ((int)unaff_s4 * 5 >> 2) + 0x400;\n          piVar19 = (int *)(*(code *)PTR_saferealloc_000791a0)(piVar19,iVar18,1);\n        }\n        unaff_s5 = (int *)((int)unaff_s5 + 1);\n        piVar10 = unaff_s7;\n        (*(code *)PTR_memcpy_000798e0)((char *)((int)piVar19 + (int)piVar3));\n        iVar4 = 0;\n        cVar9 = *(char *)unaff_s5;\n        piVar3 = unaff_s4;\n        if (cVar9 == '\0') goto LAB_000434ac;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        local_30[iVar4] = cVar9;\n        if (iVar4 + 1 != 4) break;\n        piVar20 = (int *)(*(code *)PTR_base64_decode_atom_000792d8)(unaff_s8,unaff_s7);\n        unaff_s4 = (int *)((int)piVar3 + (int)piVar20);\n        if (iVar18 < (int)unaff_s4) {\n          iVar18 = ((int)unaff_s4 * 5 >> 2) + 0x400;\n          piVar19 = (int *)(*(code *)PTR_saferealloc_000791a0)(piVar19,iVar18,1);\n        }\n        unaff_s5 = (int *)((int)unaff_s5 + 1);\n        piVar10 = unaff_s7;\n        (*(code *)PTR_memcpy_000798e0)((char *)((int)piVar19 + (int)piVar3));\n        iVar4 = 0;\n        cVar9 = *(char *)unaff_s5;\n        piVar3 = unaff_s4;\n        if (cVar9 == '\0') goto LAB_000434ac;\n      }" { (expression_statement "local_30[iVar4] = cVar9;" (assignment_expression "local_30[iVar4] = cVar9" (subscript_expression "local_30[iVar4]" identifier [ identifier ]) = identifier) ;) (if_statement "if (iVar4 + 1 != 4) break;" if (parenthesized_expression "(iVar4 + 1 != 4)" ( (binary_expression "iVar4 + 1 != 4" (binary_expression "iVar4 + 1" identifier + number_literal) != number_literal) )) (break_statement "break;" break ;)) (expression_statement "piVar20 = (int *)(*(code *)PTR_base64_decode_atom_000792d8)(unaff_s8,unaff_s7);" (assignment_expression "piVar20 = (int *)(*(code *)PTR_base64_decode_atom_000792d8)(unaff_s8,unaff_s7)" identifier = (cast_expression "(int *)(*(code *)PTR_base64_decode_atom_000792d8)(unaff_s8,unaff_s7)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_base64_decode_atom_000792d8)(unaff_s8,unaff_s7)" (parenthesized_expression "(*(code *)PTR_base64_decode_atom_000792d8)" ( (pointer_expression "*(code *)PTR_base64_decode_atom_000792d8" * (cast_expression "(code *)PTR_base64_decode_atom_000792d8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s8,unaff_s7)" ( identifier , identifier ))))) ;) (expression_statement "unaff_s4 = (int *)((int)piVar3 + (int)piVar20);" (assignment_expression "unaff_s4 = (int *)((int)piVar3 + (int)piVar20)" identifier = (cast_expression "(int *)((int)piVar3 + (int)piVar20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar3 + (int)piVar20)" ( (binary_expression "(int)piVar3 + (int)piVar20" (cast_expression "(int)piVar3" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)piVar20" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (if_statement "if (iVar18 < (int)unaff_s4) {\n          iVar18 = ((int)unaff_s4 * 5 >> 2) + 0x400;\n          piVar19 = (int *)(*(code *)PTR_saferealloc_000791a0)(piVar19,iVar18,1);\n        }" if (parenthesized_expression "(iVar18 < (int)unaff_s4)" ( (binary_expression "iVar18 < (int)unaff_s4" identifier < (cast_expression "(int)unaff_s4" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          iVar18 = ((int)unaff_s4 * 5 >> 2) + 0x400;\n          piVar19 = (int *)(*(code *)PTR_saferealloc_000791a0)(piVar19,iVar18,1);\n        }" { (expression_statement "iVar18 = ((int)unaff_s4 * 5 >> 2) + 0x400;" (assignment_expression "iVar18 = ((int)unaff_s4 * 5 >> 2) + 0x400" identifier = (binary_expression "((int)unaff_s4 * 5 >> 2) + 0x400" (parenthesized_expression "((int)unaff_s4 * 5 >> 2)" ( (binary_expression "(int)unaff_s4 * 5 >> 2" (binary_expression "(int)unaff_s4 * 5" (cast_expression "(int)unaff_s4" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) >> number_literal) )) + number_literal)) ;) (expression_statement "piVar19 = (int *)(*(code *)PTR_saferealloc_000791a0)(piVar19,iVar18,1);" (assignment_expression "piVar19 = (int *)(*(code *)PTR_saferealloc_000791a0)(piVar19,iVar18,1)" identifier = (cast_expression "(int *)(*(code *)PTR_saferealloc_000791a0)(piVar19,iVar18,1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_saferealloc_000791a0)(piVar19,iVar18,1)" (parenthesized_expression "(*(code *)PTR_saferealloc_000791a0)" ( (pointer_expression "*(code *)PTR_saferealloc_000791a0" * (cast_expression "(code *)PTR_saferealloc_000791a0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar19,iVar18,1)" ( identifier , identifier , number_literal ))))) ;) })) (expression_statement "unaff_s5 = (int *)((int)unaff_s5 + 1);" (assignment_expression "unaff_s5 = (int *)((int)unaff_s5 + 1)" identifier = (cast_expression "(int *)((int)unaff_s5 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s5 + 1)" ( (binary_expression "(int)unaff_s5 + 1" (cast_expression "(int)unaff_s5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "piVar10 = unaff_s7;" (assignment_expression "piVar10 = unaff_s7" identifier = identifier) ;) (expression_statement "(*(code *)PTR_memcpy_000798e0)((char *)((int)piVar19 + (int)piVar3));" (call_expression "(*(code *)PTR_memcpy_000798e0)((char *)((int)piVar19 + (int)piVar3))" (parenthesized_expression "(*(code *)PTR_memcpy_000798e0)" ( (pointer_expression "*(code *)PTR_memcpy_000798e0" * (cast_expression "(code *)PTR_memcpy_000798e0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "((char *)((int)piVar19 + (int)piVar3))" ( (cast_expression "(char *)((int)piVar19 + (int)piVar3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar19 + (int)piVar3)" ( (binary_expression "(int)piVar19 + (int)piVar3" (cast_expression "(int)piVar19" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)piVar3" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ))) ;) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (expression_statement "cVar9 = *(char *)unaff_s5;" (assignment_expression "cVar9 = *(char *)unaff_s5" identifier = (pointer_expression "*(char *)unaff_s5" * (cast_expression "(char *)unaff_s5" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "piVar3 = unaff_s4;" (assignment_expression "piVar3 = unaff_s4" identifier = identifier) ;) (if_statement "if (cVar9 == '\0') goto LAB_000434ac;" if (parenthesized_expression "(cVar9 == '\0')" ( (binary_expression "cVar9 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000434ac;" goto statement_identifier ;)) })) (expression_statement "unaff_s5 = (int *)((int)unaff_s5 + 1);" (assignment_expression "unaff_s5 = (int *)((int)unaff_s5 + 1)" identifier = (cast_expression "(int *)((int)unaff_s5 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s5 + 1)" ( (binary_expression "(int)unaff_s5 + 1" (cast_expression "(int)unaff_s5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "iVar4 = iVar4 + 1;" (assignment_expression "iVar4 = iVar4 + 1" identifier = (binary_expression "iVar4 + 1" identifier + number_literal)) ;) (expression_statement "unaff_s4 = piVar3;" (assignment_expression "unaff_s4 = piVar3" identifier = identifier) ;) (expression_statement "cVar9 = *(char *)unaff_s5;" (assignment_expression "cVar9 = *(char *)unaff_s5" identifier = (pointer_expression "*(char *)unaff_s5" * (cast_expression "(char *)unaff_s5" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) })) (labeled_statement "LAB_000434ac:\n    (*(code *)PTR_safefree_000790f0)(piVar5);" statement_identifier : (expression_statement "(*(code *)PTR_safefree_000790f0)(piVar5);" (call_expression "(*(code *)PTR_safefree_000790f0)(piVar5)" (parenthesized_expression "(*(code *)PTR_safefree_000790f0)" ( (pointer_expression "*(code *)PTR_safefree_000790f0" * (cast_expression "(code *)PTR_safefree_000790f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar5)" ( identifier ))) ;)) (expression_statement "uVar2 = (*(code *)PTR_fgetline_00079538)(param_1);" (assignment_expression "uVar2 = (*(code *)PTR_fgetline_00079538)(param_1)" identifier = (call_expression "(*(code *)PTR_fgetline_00079538)(param_1)" (parenthesized_expression "(*(code *)PTR_fgetline_00079538)" ( (pointer_expression "*(code *)PTR_fgetline_00079538" * (cast_expression "(code *)PTR_fgetline_00079538" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "piVar5 = (int *)(*(code *)PTR_chomp_0007953c)(uVar2);" (assignment_expression "piVar5 = (int *)(*(code *)PTR_chomp_0007953c)(uVar2)" identifier = (cast_expression "(int *)(*(code *)PTR_chomp_0007953c)(uVar2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_chomp_0007953c)(uVar2)" (parenthesized_expression "(*(code *)PTR_chomp_0007953c)" ( (pointer_expression "*(code *)PTR_chomp_0007953c" * (cast_expression "(code *)PTR_chomp_0007953c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar2)" ( identifier ))))) ;) }) while (parenthesized_expression "(piVar5 != (int *)0x0)" ( (binary_expression "piVar5 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;)) (expression_statement "puVar17 = PTR_s_j_000790a8 + 0x4350;" (assignment_expression "puVar17 = PTR_s_j_000790a8 + 0x4350" identifier = (binary_expression "PTR_s_j_000790a8 + 0x4350" identifier + number_literal)) ;) (expression_statement "param_2 = piVar5;" (assignment_expression "param_2 = piVar5" identifier = identifier) ;) (labeled_statement "LAB_00043198:\n  (*(code *)PTR_safefree_000790f0)(param_2);" statement_identifier : (expression_statement "(*(code *)PTR_safefree_000790f0)(param_2);" (call_expression "(*(code *)PTR_safefree_000790f0)(param_2)" (parenthesized_expression "(*(code *)PTR_safefree_000790f0)" ( (pointer_expression "*(code *)PTR_safefree_000790f0" * (cast_expression "(code *)PTR_safefree_000790f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2)" ( identifier ))) ;)) (expression_statement "(*(code *)PTR_safefree_000790f0)(local_54);" (call_expression "(*(code *)PTR_safefree_000790f0)(local_54)" (parenthesized_expression "(*(code *)PTR_safefree_000790f0)" ( (pointer_expression "*(code *)PTR_safefree_000790f0" * (cast_expression "(code *)PTR_safefree_000790f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_54)" ( identifier ))) ;) (expression_statement "(*(code *)PTR_safefree_000790f0)(piVar19);" (call_expression "(*(code *)PTR_safefree_000790f0)(piVar19)" (parenthesized_expression "(*(code *)PTR_safefree_000790f0)" ( (pointer_expression "*(code *)PTR_safefree_000790f0" * (cast_expression "(code *)PTR_safefree_000790f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar19)" ( identifier ))) ;) (expression_statement "piVar5 = unaff_s5;" (assignment_expression "piVar5 = unaff_s5" identifier = identifier) ;) (if_statement "if (param_5 == (undefined4 *)0x0) {\n    piVar19 = (int *)0x0;\n  }\n  else {\n    piVar19 = (int *)0x0;\n    *param_5 = puVar17;\n  }" if (parenthesized_expression "(param_5 == (undefined4 *)0x0)" ( (binary_expression "param_5 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    piVar19 = (int *)0x0;\n  }" { (expression_statement "piVar19 = (int *)0x0;" (assignment_expression "piVar19 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n    piVar19 = (int *)0x0;\n    *param_5 = puVar17;\n  }" else (compound_statement "{\n    piVar19 = (int *)0x0;\n    *param_5 = puVar17;\n  }" { (expression_statement "piVar19 = (int *)0x0;" (assignment_expression "piVar19 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*param_5 = puVar17;" (assignment_expression "*param_5 = puVar17" (pointer_expression "*param_5" * identifier) = identifier) ;) }))) (labeled_statement "LAB_000431d8:\n  if (local_2c == *(int *)puVar22) {\n    return piVar19;\n  }" statement_identifier : (if_statement "if (local_2c == *(int *)puVar22) {\n    return piVar19;\n  }" if (parenthesized_expression "(local_2c == *(int *)puVar22)" ( (binary_expression "local_2c == *(int *)puVar22" identifier == (pointer_expression "*(int *)puVar22" * (cast_expression "(int *)puVar22" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return piVar19;\n  }" { (return_statement "return piVar19;" return identifier ;) }))) (expression_statement "pcVar23 = openssh_loadpub;" (assignment_expression "pcVar23 = openssh_loadpub" identifier = identifier) ;) (expression_statement "puVar22 = PTR___stack_chk_fail_000797f0;" (assignment_expression "puVar22 = PTR___stack_chk_fail_000797f0" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_000797f0)();" (call_expression "(*(code *)PTR___stack_chk_fail_000797f0)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000797f0)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_000797f0" * (cast_expression "(code *)PTR___stack_chk_fail_000797f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "piStack_a0 = (int *)(puVar22 + 0x3da44);" (assignment_expression "piStack_a0 = (int *)(puVar22 + 0x3da44)" identifier = (cast_expression "(int *)(puVar22 + 0x3da44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + 0x3da44)" ( (binary_expression "puVar22 + 0x3da44" identifier + number_literal) )))) ;) (expression_statement "piStack_98 = param_2;" (assignment_expression "piStack_98 = param_2" identifier = identifier) ;) (expression_statement "puStack_94 = puVar17;" (assignment_expression "puStack_94 = puVar17" identifier = identifier) ;) (expression_statement "piStack_90 = piVar19;" (assignment_expression "piStack_90 = piVar19" identifier = identifier) ;) (expression_statement "uStack_8c = param_1;" (assignment_expression "uStack_8c = param_1" identifier = identifier) ;) (expression_statement "piStack_88 = unaff_s4;" (assignment_expression "piStack_88 = unaff_s4" identifier = identifier) ;) (expression_statement "piStack_84 = piVar5;" (assignment_expression "piStack_84 = piVar5" identifier = identifier) ;) (expression_statement "piStack_80 = unaff_s6;" (assignment_expression "piStack_80 = unaff_s6" identifier = identifier) ;) (expression_statement "piStack_7c = unaff_s7;" (assignment_expression "piStack_7c = unaff_s7" identifier = identifier) ;) (expression_statement "pcStack_78 = unaff_s8;" (assignment_expression "pcStack_78 = unaff_s8" identifier = identifier) ;) (expression_statement "pcStack_74 = pcVar23;" (assignment_expression "pcStack_74 = pcVar23" identifier = identifier) ;) (expression_statement "uVar2 = (**(code **)(puVar22 + 0x35f0c))();" (assignment_expression "uVar2 = (**(code **)(puVar22 + 0x35f0c))()" identifier = (call_expression "(**(code **)(puVar22 + 0x35f0c))()" (parenthesized_expression "(**(code **)(puVar22 + 0x35f0c))" ( (pointer_expression "**(code **)(puVar22 + 0x35f0c)" * (pointer_expression "*(code **)(puVar22 + 0x35f0c)" * (cast_expression "(code **)(puVar22 + 0x35f0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + 0x35f0c)" ( (binary_expression "puVar22 + 0x35f0c" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "uVar2 = (*(code *)piStack_a0[-0x1ecd])(uVar2);" (assignment_expression "uVar2 = (*(code *)piStack_a0[-0x1ecd])(uVar2)" identifier = (call_expression "(*(code *)piStack_a0[-0x1ecd])(uVar2)" (parenthesized_expression "(*(code *)piStack_a0[-0x1ecd])" ( (pointer_expression "*(code *)piStack_a0[-0x1ecd]" * (cast_expression "(code *)piStack_a0[-0x1ecd]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piStack_a0[-0x1ecd]" identifier [ number_literal ]))) )) (argument_list "(uVar2)" ( identifier )))) ;) (expression_statement "puVar6 = (undefined1 *)(*(code *)piStack_a0[-0x1e0f])(uVar2,0x20);" (assignment_expression "puVar6 = (undefined1 *)(*(code *)piStack_a0[-0x1e0f])(uVar2,0x20)" identifier = (cast_expression "(undefined1 *)(*(code *)piStack_a0[-0x1e0f])(uVar2,0x20)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)piStack_a0[-0x1e0f])(uVar2,0x20)" (parenthesized_expression "(*(code *)piStack_a0[-0x1e0f])" ( (pointer_expression "*(code *)piStack_a0[-0x1e0f]" * (cast_expression "(code *)piStack_a0[-0x1e0f]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piStack_a0[-0x1e0f]" identifier [ number_literal ]))) )) (argument_list "(uVar2,0x20)" ( identifier , number_literal ))))) ;) (if_statement "if (puVar6 == (undefined1 *)0x0) {\n    piVar3 = (int *)0x0;\n    iVar4 = piStack_a0[-0x1ff2] + 0x4490;\n    puVar6 = (undefined1 *)0x0;\n  }\n  else {\n    pcVar23 = (code *)piStack_a0[-0x1e0f];\n    pcVar15 = puVar6 + 1;\n    *puVar6 = 0;\n    puVar6 = (undefined1 *)(*pcVar23)(pcVar15,0x20);\n    if (puVar6 != (undefined1 *)0x0) {\n      pcVar23 = (code *)piStack_a0[-0x1fdd];\n      *puVar6 = 0;\n      puVar6 = (undefined1 *)(*pcVar23)(puVar6 + 1);\n    }\n    iVar18 = 0;\n    uVar7 = (*(code *)piStack_a0[-0x1de8])(pcVar15);\n    iVar4 = (uVar7 >> 2) * 3;\n    piVar3 = (int *)(*(code *)piStack_a0[-0x1fe8])(iVar4,1);\n    while (iVar8 = (*(code *)piStack_a0[-0x1df7])(pcVar15,0,4), iVar8 == 0) {\n      if (iVar4 <= iVar18 + 2) {\n        puVar12 = (undefined4 *)&DAT_00000441;\n        pcVar23 = (code *)piStack_a0[-0x1e6c];\n        piVar14 = (int *)(piStack_a0[-0x1ff2] + 0x4800);\n        piVar11 = (int *)(piStack_a0[-0x1ff2] + 0x4034);\n        pcVar24 = ssh2_userkey_loadpub;\n        (*pcVar23)(piStack_a0[-0x1ff2] + 0x44b8);\n        piVar5 = piStack_a0;\n        pcStack_118 = pcVar23 + 0x3d74c;\n        piVar16 = *(int **)(pcVar23 + 0x3600c);\n        piVar19 = (int *)(*(int *)(pcVar23 + 0x35784) + 0x4078);\n        iStack_dc = *piVar16;\n        pcStack_d8 = pcVar15;\n        iStack_d4 = iVar18;\n        piStack_d0 = piVar3;\n        iStack_cc = iVar4;\n        puStack_c8 = puVar6;\n        uStack_c4 = uVar2;\n        piStack_c0 = piVar13;\n        piStack_bc = piVar20;\n        piStack_b8 = piVar10;\n        pcStack_b4 = pcVar24;\n        piVar10 = (int *)f_open();\n        if (piVar10 == (int *)0x0) {\n          if (piVar5 != (int *)0x0) {\n            *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x407c;\n          }\nLAB_000439f4:\n          piVar21 = (int *)0x0;\n          piVar10 = piVar20;\n        }\n        else {\n          iVar4 = FUN_00041f60(piVar10);\n          if (iVar4 == 9) {\n            pcVar23 = *(code **)(pcStack_118 + -0x7b14);\n          }\n          else {\n            if (iVar4 != 10) {\n              piVar20 = piVar10;\n              if (iVar4 != 3) {\nLAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }\n                goto LAB_000439f4;\n              }\n              piVar13 = aiStack_104;\n              iVar4 = FUN_00040db0(piVar10,piVar13);\n              if (iVar4 == 0) {\nLAB_00043cc0:\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);\n                iVar4 = (**(code **)(pcStack_118 + -0x78ac))(piVar13,piVar19,0x14);\n                if (iVar4 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                  if (piVar5 != (int *)0x0) {\n                    *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }\n                goto LAB_000439d4;\n              }\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214);\n              iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if (iVar4 != 0) {\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);\n                iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                if (iVar4 != 0) goto LAB_00043cc0;\n              }\n              pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74);\n              piVar3 = (int *)FUN_00040e74(piVar10);\n              if (piVar3 == (int *)0x0) {\nLAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                goto LAB_000439f4;\n              }\n              uVar2 = (**(code **)(pcStack_118 + -0x77a0))(piVar3);\n              piVar19 = piVar3;\n              iVar4 = find_pubkey_alg_len(uVar2);\n              (**(code **)(pcStack_118 + -0x7f80))(piVar3);\n              if ((iVar4 == 0) || (piVar19 = piVar13, iVar18 = FUN_00040db0(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) || (iVar18 = (*pcStack_110)(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n              piVar19 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              if (iVar18 == 0) goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) ||\n                 (pcVar23 = (code *)(*pcStack_110)(piVar10), pcVar23 == (code *)0x0))\n              goto LAB_00043c9c;\n              pcStack_10c = pcVar23;\n              if (piVar14 == (int *)0x0) {\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n              }\n              else {\n                *piVar14 = (int)pcVar23;\n              }\n              piVar3 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              pcVar23 = pcStack_10c;\n              if (iVar18 == 0) {\nLAB_00043d58:\n                piVar19 = piVar3;\n                pcStack_110 = pcVar23;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                if (piVar14 == (int *)0x0) goto LAB_000439f4;\n                piVar21 = (int *)0x0;\n                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);\n                *piVar14 = 0;\n              }\n              else {\n                piVar3 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                pcVar23 = pcStack_10c;\n                if ((iVar18 != 0) ||\n                   (iVar18 = (*pcStack_110)(piVar10), pcVar23 = pcStack_10c, iVar18 == 0))\n                goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                piVar19 = (int *)FUN_00040d14(iVar18);\n                (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n                pcVar23 = pcStack_110;\n                if (((int)piVar19 < 0) ||\n                   (piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108), piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (puVar12 != (undefined4 *)0x0) {\n                  *puVar12 = uStack_108;\n                }\n                if (piVar11 != (int *)0x0) {\n                  iVar4 = (**(code **)(pcStack_118 + -0x7f74))(*(undefined4 *)(iVar4 + 0x30));\n                  *piVar11 = iVar4;\n                }\n              }\n              goto LAB_000439f8;\n            }\n            pcVar23 = *(code **)(pcStack_118 + -0x7b10);\n          }\n          piStack_120 = piVar5;\n          piVar19 = piVar11;\n          piVar21 = (int *)(*pcVar23)(piVar10,piVar11,puVar12,piVar14);\n          (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n        }\nLAB_000439f8:\n        if (iStack_dc == *piVar16) {\n          return piVar21;\n        }\n        pcVar23 = *(code **)(pcStack_118 + -0x7880);\n        pcVar24 = ssh2_userkey_encrypted;\n        (*pcVar23)();\n        piVar20 = *(int **)(pcVar23 + 0x35b70);\n        piStack_150 = piVar5;\n        iStack_15c = *piVar20;\n        if (piVar19 != (int *)0x0) {\n          *piVar19 = 0;\n        }\n        piStack_154 = piVar16;\n        piStack_14c = piVar14;\n        piStack_148 = piVar11;\n        puStack_144 = puVar12;\n        piStack_140 = piVar21;\n        piStack_13c = piVar13;\n        piStack_138 = piVar10;\n        pcStack_134 = pcVar24;\n        iVar4 = f_open();\n        if (iVar4 == 0) {\n          piVar10 = (int *)0x0;\n        }\n        else {\n          iVar18 = FUN_00040db0(iVar4,auStack_184);\n          if ((iVar18 != 0) &&\n             (((iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4214), iVar18 == 0\n               || (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                      (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c),\n                  iVar18 == 0)) && (iVar18 = FUN_00040e74(iVar4), iVar18 != 0)))) {\n            (**(code **)(pcVar23 + 0x35330))(iVar18);\n            iVar18 = FUN_00040db0(iVar4,auStack_184);\n            if ((iVar18 != 0) &&\n               (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4244), iVar18 == 0))\n            {\n              iVar18 = FUN_00040e74(iVar4);\n              if (iVar18 == 0) {\n                (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                piVar10 = (int *)0x0;\n              }\n              else {\n                iVar8 = FUN_00040db0(iVar4,auStack_184);\n                if (((iVar8 == 0) ||\n                    (iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0)) || (iVar8 = FUN_00040e74(iVar4), iVar8 == 0)) {\n                  piVar10 = (int *)0x1;\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n                else {\n                  if (piVar19 == (int *)0x0) {\n                    (**(code **)(pcVar23 + 0x35330))(iVar8);\n                  }\n                  else {\n                    *piVar19 = iVar8;\n                  }\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  iVar4 = (**(code **)(pcVar23 + 0x35ae4))\n                                    (iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4);\n                  piVar10 = (int *)(uint)(iVar4 == 0);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n              }\n              goto LAB_00043f04;\n            }\n          }\n          piVar10 = (int *)0x0;\n          (**(code **)(pcVar23 + 0x35acc))(iVar4);\n        }\nLAB_00043f04:\n        if (iStack_15c != *piVar20) {\n          (**(code **)(pcVar23 + 0x35a30))();\n          return (int *)((iStack_15c + 0x2f) / 0x30);\n        }\n        return piVar10;\n      }\n      iVar8 = (*(code *)piStack_a0[-0x1f66])(pcVar15,(int)piVar3 + iVar18);\n      iVar18 = iVar18 + iVar8;\n      pcVar15 = pcVar15 + 4;\n    }\n    if (*pcVar15 == '\0') {\n      iVar4 = (*(code *)piStack_a0[-0x1de8])(uVar2);\n      if (((iVar4 + 3 < iVar18) && (iVar4 == *piVar3)) &&\n         (iVar4 = (*(code *)piStack_a0[-0x1dfd])(piVar3 + 1,uVar2,iVar4), iVar4 == 0)) {\n        if (piVar10 != (int *)0x0) {\n          iVar4 = (*(code *)piStack_a0[-0x1fdd])(uVar2);\n          *piVar10 = iVar4;\n        }\n        if (piVar20 != (int *)0x0) {\n          *piVar20 = iVar18;\n        }\n        if (piVar13 == (int *)0x0) {\n          (*(code *)piStack_a0[-0x1fe0])(puVar6);\n        }\n        else {\n          *piVar13 = (int)puVar6;\n        }\n        (*(code *)piStack_a0[-0x1fe0])(uVar2);\n        return piVar3;\n      }\n      iVar4 = piStack_a0[-0x1ff2] + 0x441c;\n    }\n    else {\n      iVar4 = piStack_a0[-0x1ff2] + 0x4454;\n    }\n  }" if (parenthesized_expression "(puVar6 == (undefined1 *)0x0)" ( (binary_expression "puVar6 == (undefined1 *)0x0" identifier == (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    piVar3 = (int *)0x0;\n    iVar4 = piStack_a0[-0x1ff2] + 0x4490;\n    puVar6 = (undefined1 *)0x0;\n  }" { (expression_statement "piVar3 = (int *)0x0;" (assignment_expression "piVar3 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar4 = piStack_a0[-0x1ff2] + 0x4490;" (assignment_expression "iVar4 = piStack_a0[-0x1ff2] + 0x4490" identifier = (binary_expression "piStack_a0[-0x1ff2] + 0x4490" (subscript_expression "piStack_a0[-0x1ff2]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "puVar6 = (undefined1 *)0x0;" (assignment_expression "puVar6 = (undefined1 *)0x0" identifier = (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n    pcVar23 = (code *)piStack_a0[-0x1e0f];\n    pcVar15 = puVar6 + 1;\n    *puVar6 = 0;\n    puVar6 = (undefined1 *)(*pcVar23)(pcVar15,0x20);\n    if (puVar6 != (undefined1 *)0x0) {\n      pcVar23 = (code *)piStack_a0[-0x1fdd];\n      *puVar6 = 0;\n      puVar6 = (undefined1 *)(*pcVar23)(puVar6 + 1);\n    }\n    iVar18 = 0;\n    uVar7 = (*(code *)piStack_a0[-0x1de8])(pcVar15);\n    iVar4 = (uVar7 >> 2) * 3;\n    piVar3 = (int *)(*(code *)piStack_a0[-0x1fe8])(iVar4,1);\n    while (iVar8 = (*(code *)piStack_a0[-0x1df7])(pcVar15,0,4), iVar8 == 0) {\n      if (iVar4 <= iVar18 + 2) {\n        puVar12 = (undefined4 *)&DAT_00000441;\n        pcVar23 = (code *)piStack_a0[-0x1e6c];\n        piVar14 = (int *)(piStack_a0[-0x1ff2] + 0x4800);\n        piVar11 = (int *)(piStack_a0[-0x1ff2] + 0x4034);\n        pcVar24 = ssh2_userkey_loadpub;\n        (*pcVar23)(piStack_a0[-0x1ff2] + 0x44b8);\n        piVar5 = piStack_a0;\n        pcStack_118 = pcVar23 + 0x3d74c;\n        piVar16 = *(int **)(pcVar23 + 0x3600c);\n        piVar19 = (int *)(*(int *)(pcVar23 + 0x35784) + 0x4078);\n        iStack_dc = *piVar16;\n        pcStack_d8 = pcVar15;\n        iStack_d4 = iVar18;\n        piStack_d0 = piVar3;\n        iStack_cc = iVar4;\n        puStack_c8 = puVar6;\n        uStack_c4 = uVar2;\n        piStack_c0 = piVar13;\n        piStack_bc = piVar20;\n        piStack_b8 = piVar10;\n        pcStack_b4 = pcVar24;\n        piVar10 = (int *)f_open();\n        if (piVar10 == (int *)0x0) {\n          if (piVar5 != (int *)0x0) {\n            *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x407c;\n          }\nLAB_000439f4:\n          piVar21 = (int *)0x0;\n          piVar10 = piVar20;\n        }\n        else {\n          iVar4 = FUN_00041f60(piVar10);\n          if (iVar4 == 9) {\n            pcVar23 = *(code **)(pcStack_118 + -0x7b14);\n          }\n          else {\n            if (iVar4 != 10) {\n              piVar20 = piVar10;\n              if (iVar4 != 3) {\nLAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }\n                goto LAB_000439f4;\n              }\n              piVar13 = aiStack_104;\n              iVar4 = FUN_00040db0(piVar10,piVar13);\n              if (iVar4 == 0) {\nLAB_00043cc0:\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);\n                iVar4 = (**(code **)(pcStack_118 + -0x78ac))(piVar13,piVar19,0x14);\n                if (iVar4 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                  if (piVar5 != (int *)0x0) {\n                    *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }\n                goto LAB_000439d4;\n              }\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214);\n              iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if (iVar4 != 0) {\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);\n                iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                if (iVar4 != 0) goto LAB_00043cc0;\n              }\n              pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74);\n              piVar3 = (int *)FUN_00040e74(piVar10);\n              if (piVar3 == (int *)0x0) {\nLAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                goto LAB_000439f4;\n              }\n              uVar2 = (**(code **)(pcStack_118 + -0x77a0))(piVar3);\n              piVar19 = piVar3;\n              iVar4 = find_pubkey_alg_len(uVar2);\n              (**(code **)(pcStack_118 + -0x7f80))(piVar3);\n              if ((iVar4 == 0) || (piVar19 = piVar13, iVar18 = FUN_00040db0(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) || (iVar18 = (*pcStack_110)(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n              piVar19 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              if (iVar18 == 0) goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) ||\n                 (pcVar23 = (code *)(*pcStack_110)(piVar10), pcVar23 == (code *)0x0))\n              goto LAB_00043c9c;\n              pcStack_10c = pcVar23;\n              if (piVar14 == (int *)0x0) {\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n              }\n              else {\n                *piVar14 = (int)pcVar23;\n              }\n              piVar3 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              pcVar23 = pcStack_10c;\n              if (iVar18 == 0) {\nLAB_00043d58:\n                piVar19 = piVar3;\n                pcStack_110 = pcVar23;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                if (piVar14 == (int *)0x0) goto LAB_000439f4;\n                piVar21 = (int *)0x0;\n                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);\n                *piVar14 = 0;\n              }\n              else {\n                piVar3 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                pcVar23 = pcStack_10c;\n                if ((iVar18 != 0) ||\n                   (iVar18 = (*pcStack_110)(piVar10), pcVar23 = pcStack_10c, iVar18 == 0))\n                goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                piVar19 = (int *)FUN_00040d14(iVar18);\n                (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n                pcVar23 = pcStack_110;\n                if (((int)piVar19 < 0) ||\n                   (piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108), piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (puVar12 != (undefined4 *)0x0) {\n                  *puVar12 = uStack_108;\n                }\n                if (piVar11 != (int *)0x0) {\n                  iVar4 = (**(code **)(pcStack_118 + -0x7f74))(*(undefined4 *)(iVar4 + 0x30));\n                  *piVar11 = iVar4;\n                }\n              }\n              goto LAB_000439f8;\n            }\n            pcVar23 = *(code **)(pcStack_118 + -0x7b10);\n          }\n          piStack_120 = piVar5;\n          piVar19 = piVar11;\n          piVar21 = (int *)(*pcVar23)(piVar10,piVar11,puVar12,piVar14);\n          (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n        }\nLAB_000439f8:\n        if (iStack_dc == *piVar16) {\n          return piVar21;\n        }\n        pcVar23 = *(code **)(pcStack_118 + -0x7880);\n        pcVar24 = ssh2_userkey_encrypted;\n        (*pcVar23)();\n        piVar20 = *(int **)(pcVar23 + 0x35b70);\n        piStack_150 = piVar5;\n        iStack_15c = *piVar20;\n        if (piVar19 != (int *)0x0) {\n          *piVar19 = 0;\n        }\n        piStack_154 = piVar16;\n        piStack_14c = piVar14;\n        piStack_148 = piVar11;\n        puStack_144 = puVar12;\n        piStack_140 = piVar21;\n        piStack_13c = piVar13;\n        piStack_138 = piVar10;\n        pcStack_134 = pcVar24;\n        iVar4 = f_open();\n        if (iVar4 == 0) {\n          piVar10 = (int *)0x0;\n        }\n        else {\n          iVar18 = FUN_00040db0(iVar4,auStack_184);\n          if ((iVar18 != 0) &&\n             (((iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4214), iVar18 == 0\n               || (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                      (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c),\n                  iVar18 == 0)) && (iVar18 = FUN_00040e74(iVar4), iVar18 != 0)))) {\n            (**(code **)(pcVar23 + 0x35330))(iVar18);\n            iVar18 = FUN_00040db0(iVar4,auStack_184);\n            if ((iVar18 != 0) &&\n               (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4244), iVar18 == 0))\n            {\n              iVar18 = FUN_00040e74(iVar4);\n              if (iVar18 == 0) {\n                (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                piVar10 = (int *)0x0;\n              }\n              else {\n                iVar8 = FUN_00040db0(iVar4,auStack_184);\n                if (((iVar8 == 0) ||\n                    (iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0)) || (iVar8 = FUN_00040e74(iVar4), iVar8 == 0)) {\n                  piVar10 = (int *)0x1;\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n                else {\n                  if (piVar19 == (int *)0x0) {\n                    (**(code **)(pcVar23 + 0x35330))(iVar8);\n                  }\n                  else {\n                    *piVar19 = iVar8;\n                  }\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  iVar4 = (**(code **)(pcVar23 + 0x35ae4))\n                                    (iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4);\n                  piVar10 = (int *)(uint)(iVar4 == 0);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n              }\n              goto LAB_00043f04;\n            }\n          }\n          piVar10 = (int *)0x0;\n          (**(code **)(pcVar23 + 0x35acc))(iVar4);\n        }\nLAB_00043f04:\n        if (iStack_15c != *piVar20) {\n          (**(code **)(pcVar23 + 0x35a30))();\n          return (int *)((iStack_15c + 0x2f) / 0x30);\n        }\n        return piVar10;\n      }\n      iVar8 = (*(code *)piStack_a0[-0x1f66])(pcVar15,(int)piVar3 + iVar18);\n      iVar18 = iVar18 + iVar8;\n      pcVar15 = pcVar15 + 4;\n    }\n    if (*pcVar15 == '\0') {\n      iVar4 = (*(code *)piStack_a0[-0x1de8])(uVar2);\n      if (((iVar4 + 3 < iVar18) && (iVar4 == *piVar3)) &&\n         (iVar4 = (*(code *)piStack_a0[-0x1dfd])(piVar3 + 1,uVar2,iVar4), iVar4 == 0)) {\n        if (piVar10 != (int *)0x0) {\n          iVar4 = (*(code *)piStack_a0[-0x1fdd])(uVar2);\n          *piVar10 = iVar4;\n        }\n        if (piVar20 != (int *)0x0) {\n          *piVar20 = iVar18;\n        }\n        if (piVar13 == (int *)0x0) {\n          (*(code *)piStack_a0[-0x1fe0])(puVar6);\n        }\n        else {\n          *piVar13 = (int)puVar6;\n        }\n        (*(code *)piStack_a0[-0x1fe0])(uVar2);\n        return piVar3;\n      }\n      iVar4 = piStack_a0[-0x1ff2] + 0x441c;\n    }\n    else {\n      iVar4 = piStack_a0[-0x1ff2] + 0x4454;\n    }\n  }" else (compound_statement "{\n    pcVar23 = (code *)piStack_a0[-0x1e0f];\n    pcVar15 = puVar6 + 1;\n    *puVar6 = 0;\n    puVar6 = (undefined1 *)(*pcVar23)(pcVar15,0x20);\n    if (puVar6 != (undefined1 *)0x0) {\n      pcVar23 = (code *)piStack_a0[-0x1fdd];\n      *puVar6 = 0;\n      puVar6 = (undefined1 *)(*pcVar23)(puVar6 + 1);\n    }\n    iVar18 = 0;\n    uVar7 = (*(code *)piStack_a0[-0x1de8])(pcVar15);\n    iVar4 = (uVar7 >> 2) * 3;\n    piVar3 = (int *)(*(code *)piStack_a0[-0x1fe8])(iVar4,1);\n    while (iVar8 = (*(code *)piStack_a0[-0x1df7])(pcVar15,0,4), iVar8 == 0) {\n      if (iVar4 <= iVar18 + 2) {\n        puVar12 = (undefined4 *)&DAT_00000441;\n        pcVar23 = (code *)piStack_a0[-0x1e6c];\n        piVar14 = (int *)(piStack_a0[-0x1ff2] + 0x4800);\n        piVar11 = (int *)(piStack_a0[-0x1ff2] + 0x4034);\n        pcVar24 = ssh2_userkey_loadpub;\n        (*pcVar23)(piStack_a0[-0x1ff2] + 0x44b8);\n        piVar5 = piStack_a0;\n        pcStack_118 = pcVar23 + 0x3d74c;\n        piVar16 = *(int **)(pcVar23 + 0x3600c);\n        piVar19 = (int *)(*(int *)(pcVar23 + 0x35784) + 0x4078);\n        iStack_dc = *piVar16;\n        pcStack_d8 = pcVar15;\n        iStack_d4 = iVar18;\n        piStack_d0 = piVar3;\n        iStack_cc = iVar4;\n        puStack_c8 = puVar6;\n        uStack_c4 = uVar2;\n        piStack_c0 = piVar13;\n        piStack_bc = piVar20;\n        piStack_b8 = piVar10;\n        pcStack_b4 = pcVar24;\n        piVar10 = (int *)f_open();\n        if (piVar10 == (int *)0x0) {\n          if (piVar5 != (int *)0x0) {\n            *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x407c;\n          }\nLAB_000439f4:\n          piVar21 = (int *)0x0;\n          piVar10 = piVar20;\n        }\n        else {\n          iVar4 = FUN_00041f60(piVar10);\n          if (iVar4 == 9) {\n            pcVar23 = *(code **)(pcStack_118 + -0x7b14);\n          }\n          else {\n            if (iVar4 != 10) {\n              piVar20 = piVar10;\n              if (iVar4 != 3) {\nLAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }\n                goto LAB_000439f4;\n              }\n              piVar13 = aiStack_104;\n              iVar4 = FUN_00040db0(piVar10,piVar13);\n              if (iVar4 == 0) {\nLAB_00043cc0:\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);\n                iVar4 = (**(code **)(pcStack_118 + -0x78ac))(piVar13,piVar19,0x14);\n                if (iVar4 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                  if (piVar5 != (int *)0x0) {\n                    *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }\n                goto LAB_000439d4;\n              }\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214);\n              iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if (iVar4 != 0) {\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);\n                iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                if (iVar4 != 0) goto LAB_00043cc0;\n              }\n              pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74);\n              piVar3 = (int *)FUN_00040e74(piVar10);\n              if (piVar3 == (int *)0x0) {\nLAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                goto LAB_000439f4;\n              }\n              uVar2 = (**(code **)(pcStack_118 + -0x77a0))(piVar3);\n              piVar19 = piVar3;\n              iVar4 = find_pubkey_alg_len(uVar2);\n              (**(code **)(pcStack_118 + -0x7f80))(piVar3);\n              if ((iVar4 == 0) || (piVar19 = piVar13, iVar18 = FUN_00040db0(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) || (iVar18 = (*pcStack_110)(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n              piVar19 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              if (iVar18 == 0) goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) ||\n                 (pcVar23 = (code *)(*pcStack_110)(piVar10), pcVar23 == (code *)0x0))\n              goto LAB_00043c9c;\n              pcStack_10c = pcVar23;\n              if (piVar14 == (int *)0x0) {\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n              }\n              else {\n                *piVar14 = (int)pcVar23;\n              }\n              piVar3 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              pcVar23 = pcStack_10c;\n              if (iVar18 == 0) {\nLAB_00043d58:\n                piVar19 = piVar3;\n                pcStack_110 = pcVar23;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                if (piVar14 == (int *)0x0) goto LAB_000439f4;\n                piVar21 = (int *)0x0;\n                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);\n                *piVar14 = 0;\n              }\n              else {\n                piVar3 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                pcVar23 = pcStack_10c;\n                if ((iVar18 != 0) ||\n                   (iVar18 = (*pcStack_110)(piVar10), pcVar23 = pcStack_10c, iVar18 == 0))\n                goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                piVar19 = (int *)FUN_00040d14(iVar18);\n                (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n                pcVar23 = pcStack_110;\n                if (((int)piVar19 < 0) ||\n                   (piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108), piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (puVar12 != (undefined4 *)0x0) {\n                  *puVar12 = uStack_108;\n                }\n                if (piVar11 != (int *)0x0) {\n                  iVar4 = (**(code **)(pcStack_118 + -0x7f74))(*(undefined4 *)(iVar4 + 0x30));\n                  *piVar11 = iVar4;\n                }\n              }\n              goto LAB_000439f8;\n            }\n            pcVar23 = *(code **)(pcStack_118 + -0x7b10);\n          }\n          piStack_120 = piVar5;\n          piVar19 = piVar11;\n          piVar21 = (int *)(*pcVar23)(piVar10,piVar11,puVar12,piVar14);\n          (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n        }\nLAB_000439f8:\n        if (iStack_dc == *piVar16) {\n          return piVar21;\n        }\n        pcVar23 = *(code **)(pcStack_118 + -0x7880);\n        pcVar24 = ssh2_userkey_encrypted;\n        (*pcVar23)();\n        piVar20 = *(int **)(pcVar23 + 0x35b70);\n        piStack_150 = piVar5;\n        iStack_15c = *piVar20;\n        if (piVar19 != (int *)0x0) {\n          *piVar19 = 0;\n        }\n        piStack_154 = piVar16;\n        piStack_14c = piVar14;\n        piStack_148 = piVar11;\n        puStack_144 = puVar12;\n        piStack_140 = piVar21;\n        piStack_13c = piVar13;\n        piStack_138 = piVar10;\n        pcStack_134 = pcVar24;\n        iVar4 = f_open();\n        if (iVar4 == 0) {\n          piVar10 = (int *)0x0;\n        }\n        else {\n          iVar18 = FUN_00040db0(iVar4,auStack_184);\n          if ((iVar18 != 0) &&\n             (((iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4214), iVar18 == 0\n               || (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                      (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c),\n                  iVar18 == 0)) && (iVar18 = FUN_00040e74(iVar4), iVar18 != 0)))) {\n            (**(code **)(pcVar23 + 0x35330))(iVar18);\n            iVar18 = FUN_00040db0(iVar4,auStack_184);\n            if ((iVar18 != 0) &&\n               (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4244), iVar18 == 0))\n            {\n              iVar18 = FUN_00040e74(iVar4);\n              if (iVar18 == 0) {\n                (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                piVar10 = (int *)0x0;\n              }\n              else {\n                iVar8 = FUN_00040db0(iVar4,auStack_184);\n                if (((iVar8 == 0) ||\n                    (iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0)) || (iVar8 = FUN_00040e74(iVar4), iVar8 == 0)) {\n                  piVar10 = (int *)0x1;\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n                else {\n                  if (piVar19 == (int *)0x0) {\n                    (**(code **)(pcVar23 + 0x35330))(iVar8);\n                  }\n                  else {\n                    *piVar19 = iVar8;\n                  }\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  iVar4 = (**(code **)(pcVar23 + 0x35ae4))\n                                    (iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4);\n                  piVar10 = (int *)(uint)(iVar4 == 0);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n              }\n              goto LAB_00043f04;\n            }\n          }\n          piVar10 = (int *)0x0;\n          (**(code **)(pcVar23 + 0x35acc))(iVar4);\n        }\nLAB_00043f04:\n        if (iStack_15c != *piVar20) {\n          (**(code **)(pcVar23 + 0x35a30))();\n          return (int *)((iStack_15c + 0x2f) / 0x30);\n        }\n        return piVar10;\n      }\n      iVar8 = (*(code *)piStack_a0[-0x1f66])(pcVar15,(int)piVar3 + iVar18);\n      iVar18 = iVar18 + iVar8;\n      pcVar15 = pcVar15 + 4;\n    }\n    if (*pcVar15 == '\0') {\n      iVar4 = (*(code *)piStack_a0[-0x1de8])(uVar2);\n      if (((iVar4 + 3 < iVar18) && (iVar4 == *piVar3)) &&\n         (iVar4 = (*(code *)piStack_a0[-0x1dfd])(piVar3 + 1,uVar2,iVar4), iVar4 == 0)) {\n        if (piVar10 != (int *)0x0) {\n          iVar4 = (*(code *)piStack_a0[-0x1fdd])(uVar2);\n          *piVar10 = iVar4;\n        }\n        if (piVar20 != (int *)0x0) {\n          *piVar20 = iVar18;\n        }\n        if (piVar13 == (int *)0x0) {\n          (*(code *)piStack_a0[-0x1fe0])(puVar6);\n        }\n        else {\n          *piVar13 = (int)puVar6;\n        }\n        (*(code *)piStack_a0[-0x1fe0])(uVar2);\n        return piVar3;\n      }\n      iVar4 = piStack_a0[-0x1ff2] + 0x441c;\n    }\n    else {\n      iVar4 = piStack_a0[-0x1ff2] + 0x4454;\n    }\n  }" { (expression_statement "pcVar23 = (code *)piStack_a0[-0x1e0f];" (assignment_expression "pcVar23 = (code *)piStack_a0[-0x1e0f]" identifier = (cast_expression "(code *)piStack_a0[-0x1e0f]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piStack_a0[-0x1e0f]" identifier [ number_literal ]))) ;) (expression_statement "pcVar15 = puVar6 + 1;" (assignment_expression "pcVar15 = puVar6 + 1" identifier = (binary_expression "puVar6 + 1" identifier + number_literal)) ;) (expression_statement "*puVar6 = 0;" (assignment_expression "*puVar6 = 0" (pointer_expression "*puVar6" * identifier) = number_literal) ;) (expression_statement "puVar6 = (undefined1 *)(*pcVar23)(pcVar15,0x20);" (assignment_expression "puVar6 = (undefined1 *)(*pcVar23)(pcVar15,0x20)" identifier = (cast_expression "(undefined1 *)(*pcVar23)(pcVar15,0x20)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar23)(pcVar15,0x20)" (parenthesized_expression "(*pcVar23)" ( (pointer_expression "*pcVar23" * identifier) )) (argument_list "(pcVar15,0x20)" ( identifier , number_literal ))))) ;) (if_statement "if (puVar6 != (undefined1 *)0x0) {\n      pcVar23 = (code *)piStack_a0[-0x1fdd];\n      *puVar6 = 0;\n      puVar6 = (undefined1 *)(*pcVar23)(puVar6 + 1);\n    }" if (parenthesized_expression "(puVar6 != (undefined1 *)0x0)" ( (binary_expression "puVar6 != (undefined1 *)0x0" identifier != (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pcVar23 = (code *)piStack_a0[-0x1fdd];\n      *puVar6 = 0;\n      puVar6 = (undefined1 *)(*pcVar23)(puVar6 + 1);\n    }" { (expression_statement "pcVar23 = (code *)piStack_a0[-0x1fdd];" (assignment_expression "pcVar23 = (code *)piStack_a0[-0x1fdd]" identifier = (cast_expression "(code *)piStack_a0[-0x1fdd]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piStack_a0[-0x1fdd]" identifier [ number_literal ]))) ;) (expression_statement "*puVar6 = 0;" (assignment_expression "*puVar6 = 0" (pointer_expression "*puVar6" * identifier) = number_literal) ;) (expression_statement "puVar6 = (undefined1 *)(*pcVar23)(puVar6 + 1);" (assignment_expression "puVar6 = (undefined1 *)(*pcVar23)(puVar6 + 1)" identifier = (cast_expression "(undefined1 *)(*pcVar23)(puVar6 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar23)(puVar6 + 1)" (parenthesized_expression "(*pcVar23)" ( (pointer_expression "*pcVar23" * identifier) )) (argument_list "(puVar6 + 1)" ( (binary_expression "puVar6 + 1" identifier + number_literal) ))))) ;) })) (expression_statement "iVar18 = 0;" (assignment_expression "iVar18 = 0" identifier = number_literal) ;) (expression_statement "uVar7 = (*(code *)piStack_a0[-0x1de8])(pcVar15);" (assignment_expression "uVar7 = (*(code *)piStack_a0[-0x1de8])(pcVar15)" identifier = (call_expression "(*(code *)piStack_a0[-0x1de8])(pcVar15)" (parenthesized_expression "(*(code *)piStack_a0[-0x1de8])" ( (pointer_expression "*(code *)piStack_a0[-0x1de8]" * (cast_expression "(code *)piStack_a0[-0x1de8]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piStack_a0[-0x1de8]" identifier [ number_literal ]))) )) (argument_list "(pcVar15)" ( identifier )))) ;) (expression_statement "iVar4 = (uVar7 >> 2) * 3;" (assignment_expression "iVar4 = (uVar7 >> 2) * 3" identifier = (binary_expression "(uVar7 >> 2) * 3" (parenthesized_expression "(uVar7 >> 2)" ( (binary_expression "uVar7 >> 2" identifier >> number_literal) )) * number_literal)) ;) (expression_statement "piVar3 = (int *)(*(code *)piStack_a0[-0x1fe8])(iVar4,1);" (assignment_expression "piVar3 = (int *)(*(code *)piStack_a0[-0x1fe8])(iVar4,1)" identifier = (cast_expression "(int *)(*(code *)piStack_a0[-0x1fe8])(iVar4,1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)piStack_a0[-0x1fe8])(iVar4,1)" (parenthesized_expression "(*(code *)piStack_a0[-0x1fe8])" ( (pointer_expression "*(code *)piStack_a0[-0x1fe8]" * (cast_expression "(code *)piStack_a0[-0x1fe8]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piStack_a0[-0x1fe8]" identifier [ number_literal ]))) )) (argument_list "(iVar4,1)" ( identifier , number_literal ))))) ;) (while_statement "while (iVar8 = (*(code *)piStack_a0[-0x1df7])(pcVar15,0,4), iVar8 == 0) {\n      if (iVar4 <= iVar18 + 2) {\n        puVar12 = (undefined4 *)&DAT_00000441;\n        pcVar23 = (code *)piStack_a0[-0x1e6c];\n        piVar14 = (int *)(piStack_a0[-0x1ff2] + 0x4800);\n        piVar11 = (int *)(piStack_a0[-0x1ff2] + 0x4034);\n        pcVar24 = ssh2_userkey_loadpub;\n        (*pcVar23)(piStack_a0[-0x1ff2] + 0x44b8);\n        piVar5 = piStack_a0;\n        pcStack_118 = pcVar23 + 0x3d74c;\n        piVar16 = *(int **)(pcVar23 + 0x3600c);\n        piVar19 = (int *)(*(int *)(pcVar23 + 0x35784) + 0x4078);\n        iStack_dc = *piVar16;\n        pcStack_d8 = pcVar15;\n        iStack_d4 = iVar18;\n        piStack_d0 = piVar3;\n        iStack_cc = iVar4;\n        puStack_c8 = puVar6;\n        uStack_c4 = uVar2;\n        piStack_c0 = piVar13;\n        piStack_bc = piVar20;\n        piStack_b8 = piVar10;\n        pcStack_b4 = pcVar24;\n        piVar10 = (int *)f_open();\n        if (piVar10 == (int *)0x0) {\n          if (piVar5 != (int *)0x0) {\n            *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x407c;\n          }\nLAB_000439f4:\n          piVar21 = (int *)0x0;\n          piVar10 = piVar20;\n        }\n        else {\n          iVar4 = FUN_00041f60(piVar10);\n          if (iVar4 == 9) {\n            pcVar23 = *(code **)(pcStack_118 + -0x7b14);\n          }\n          else {\n            if (iVar4 != 10) {\n              piVar20 = piVar10;\n              if (iVar4 != 3) {\nLAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }\n                goto LAB_000439f4;\n              }\n              piVar13 = aiStack_104;\n              iVar4 = FUN_00040db0(piVar10,piVar13);\n              if (iVar4 == 0) {\nLAB_00043cc0:\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);\n                iVar4 = (**(code **)(pcStack_118 + -0x78ac))(piVar13,piVar19,0x14);\n                if (iVar4 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                  if (piVar5 != (int *)0x0) {\n                    *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }\n                goto LAB_000439d4;\n              }\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214);\n              iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if (iVar4 != 0) {\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);\n                iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                if (iVar4 != 0) goto LAB_00043cc0;\n              }\n              pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74);\n              piVar3 = (int *)FUN_00040e74(piVar10);\n              if (piVar3 == (int *)0x0) {\nLAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                goto LAB_000439f4;\n              }\n              uVar2 = (**(code **)(pcStack_118 + -0x77a0))(piVar3);\n              piVar19 = piVar3;\n              iVar4 = find_pubkey_alg_len(uVar2);\n              (**(code **)(pcStack_118 + -0x7f80))(piVar3);\n              if ((iVar4 == 0) || (piVar19 = piVar13, iVar18 = FUN_00040db0(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) || (iVar18 = (*pcStack_110)(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n              piVar19 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              if (iVar18 == 0) goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) ||\n                 (pcVar23 = (code *)(*pcStack_110)(piVar10), pcVar23 == (code *)0x0))\n              goto LAB_00043c9c;\n              pcStack_10c = pcVar23;\n              if (piVar14 == (int *)0x0) {\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n              }\n              else {\n                *piVar14 = (int)pcVar23;\n              }\n              piVar3 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              pcVar23 = pcStack_10c;\n              if (iVar18 == 0) {\nLAB_00043d58:\n                piVar19 = piVar3;\n                pcStack_110 = pcVar23;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                if (piVar14 == (int *)0x0) goto LAB_000439f4;\n                piVar21 = (int *)0x0;\n                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);\n                *piVar14 = 0;\n              }\n              else {\n                piVar3 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                pcVar23 = pcStack_10c;\n                if ((iVar18 != 0) ||\n                   (iVar18 = (*pcStack_110)(piVar10), pcVar23 = pcStack_10c, iVar18 == 0))\n                goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                piVar19 = (int *)FUN_00040d14(iVar18);\n                (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n                pcVar23 = pcStack_110;\n                if (((int)piVar19 < 0) ||\n                   (piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108), piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (puVar12 != (undefined4 *)0x0) {\n                  *puVar12 = uStack_108;\n                }\n                if (piVar11 != (int *)0x0) {\n                  iVar4 = (**(code **)(pcStack_118 + -0x7f74))(*(undefined4 *)(iVar4 + 0x30));\n                  *piVar11 = iVar4;\n                }\n              }\n              goto LAB_000439f8;\n            }\n            pcVar23 = *(code **)(pcStack_118 + -0x7b10);\n          }\n          piStack_120 = piVar5;\n          piVar19 = piVar11;\n          piVar21 = (int *)(*pcVar23)(piVar10,piVar11,puVar12,piVar14);\n          (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n        }\nLAB_000439f8:\n        if (iStack_dc == *piVar16) {\n          return piVar21;\n        }\n        pcVar23 = *(code **)(pcStack_118 + -0x7880);\n        pcVar24 = ssh2_userkey_encrypted;\n        (*pcVar23)();\n        piVar20 = *(int **)(pcVar23 + 0x35b70);\n        piStack_150 = piVar5;\n        iStack_15c = *piVar20;\n        if (piVar19 != (int *)0x0) {\n          *piVar19 = 0;\n        }\n        piStack_154 = piVar16;\n        piStack_14c = piVar14;\n        piStack_148 = piVar11;\n        puStack_144 = puVar12;\n        piStack_140 = piVar21;\n        piStack_13c = piVar13;\n        piStack_138 = piVar10;\n        pcStack_134 = pcVar24;\n        iVar4 = f_open();\n        if (iVar4 == 0) {\n          piVar10 = (int *)0x0;\n        }\n        else {\n          iVar18 = FUN_00040db0(iVar4,auStack_184);\n          if ((iVar18 != 0) &&\n             (((iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4214), iVar18 == 0\n               || (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                      (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c),\n                  iVar18 == 0)) && (iVar18 = FUN_00040e74(iVar4), iVar18 != 0)))) {\n            (**(code **)(pcVar23 + 0x35330))(iVar18);\n            iVar18 = FUN_00040db0(iVar4,auStack_184);\n            if ((iVar18 != 0) &&\n               (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4244), iVar18 == 0))\n            {\n              iVar18 = FUN_00040e74(iVar4);\n              if (iVar18 == 0) {\n                (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                piVar10 = (int *)0x0;\n              }\n              else {\n                iVar8 = FUN_00040db0(iVar4,auStack_184);\n                if (((iVar8 == 0) ||\n                    (iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0)) || (iVar8 = FUN_00040e74(iVar4), iVar8 == 0)) {\n                  piVar10 = (int *)0x1;\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n                else {\n                  if (piVar19 == (int *)0x0) {\n                    (**(code **)(pcVar23 + 0x35330))(iVar8);\n                  }\n                  else {\n                    *piVar19 = iVar8;\n                  }\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  iVar4 = (**(code **)(pcVar23 + 0x35ae4))\n                                    (iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4);\n                  piVar10 = (int *)(uint)(iVar4 == 0);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n              }\n              goto LAB_00043f04;\n            }\n          }\n          piVar10 = (int *)0x0;\n          (**(code **)(pcVar23 + 0x35acc))(iVar4);\n        }\nLAB_00043f04:\n        if (iStack_15c != *piVar20) {\n          (**(code **)(pcVar23 + 0x35a30))();\n          return (int *)((iStack_15c + 0x2f) / 0x30);\n        }\n        return piVar10;\n      }\n      iVar8 = (*(code *)piStack_a0[-0x1f66])(pcVar15,(int)piVar3 + iVar18);\n      iVar18 = iVar18 + iVar8;\n      pcVar15 = pcVar15 + 4;\n    }" while (parenthesized_expression "(iVar8 = (*(code *)piStack_a0[-0x1df7])(pcVar15,0,4), iVar8 == 0)" ( (comma_expression "iVar8 = (*(code *)piStack_a0[-0x1df7])(pcVar15,0,4), iVar8 == 0" (assignment_expression "iVar8 = (*(code *)piStack_a0[-0x1df7])(pcVar15,0,4)" identifier = (call_expression "(*(code *)piStack_a0[-0x1df7])(pcVar15,0,4)" (parenthesized_expression "(*(code *)piStack_a0[-0x1df7])" ( (pointer_expression "*(code *)piStack_a0[-0x1df7]" * (cast_expression "(code *)piStack_a0[-0x1df7]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piStack_a0[-0x1df7]" identifier [ number_literal ]))) )) (argument_list "(pcVar15,0,4)" ( identifier , number_literal , number_literal )))) , (binary_expression "iVar8 == 0" identifier == number_literal)) )) (compound_statement "{\n      if (iVar4 <= iVar18 + 2) {\n        puVar12 = (undefined4 *)&DAT_00000441;\n        pcVar23 = (code *)piStack_a0[-0x1e6c];\n        piVar14 = (int *)(piStack_a0[-0x1ff2] + 0x4800);\n        piVar11 = (int *)(piStack_a0[-0x1ff2] + 0x4034);\n        pcVar24 = ssh2_userkey_loadpub;\n        (*pcVar23)(piStack_a0[-0x1ff2] + 0x44b8);\n        piVar5 = piStack_a0;\n        pcStack_118 = pcVar23 + 0x3d74c;\n        piVar16 = *(int **)(pcVar23 + 0x3600c);\n        piVar19 = (int *)(*(int *)(pcVar23 + 0x35784) + 0x4078);\n        iStack_dc = *piVar16;\n        pcStack_d8 = pcVar15;\n        iStack_d4 = iVar18;\n        piStack_d0 = piVar3;\n        iStack_cc = iVar4;\n        puStack_c8 = puVar6;\n        uStack_c4 = uVar2;\n        piStack_c0 = piVar13;\n        piStack_bc = piVar20;\n        piStack_b8 = piVar10;\n        pcStack_b4 = pcVar24;\n        piVar10 = (int *)f_open();\n        if (piVar10 == (int *)0x0) {\n          if (piVar5 != (int *)0x0) {\n            *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x407c;\n          }\nLAB_000439f4:\n          piVar21 = (int *)0x0;\n          piVar10 = piVar20;\n        }\n        else {\n          iVar4 = FUN_00041f60(piVar10);\n          if (iVar4 == 9) {\n            pcVar23 = *(code **)(pcStack_118 + -0x7b14);\n          }\n          else {\n            if (iVar4 != 10) {\n              piVar20 = piVar10;\n              if (iVar4 != 3) {\nLAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }\n                goto LAB_000439f4;\n              }\n              piVar13 = aiStack_104;\n              iVar4 = FUN_00040db0(piVar10,piVar13);\n              if (iVar4 == 0) {\nLAB_00043cc0:\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);\n                iVar4 = (**(code **)(pcStack_118 + -0x78ac))(piVar13,piVar19,0x14);\n                if (iVar4 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                  if (piVar5 != (int *)0x0) {\n                    *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }\n                goto LAB_000439d4;\n              }\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214);\n              iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if (iVar4 != 0) {\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);\n                iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                if (iVar4 != 0) goto LAB_00043cc0;\n              }\n              pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74);\n              piVar3 = (int *)FUN_00040e74(piVar10);\n              if (piVar3 == (int *)0x0) {\nLAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                goto LAB_000439f4;\n              }\n              uVar2 = (**(code **)(pcStack_118 + -0x77a0))(piVar3);\n              piVar19 = piVar3;\n              iVar4 = find_pubkey_alg_len(uVar2);\n              (**(code **)(pcStack_118 + -0x7f80))(piVar3);\n              if ((iVar4 == 0) || (piVar19 = piVar13, iVar18 = FUN_00040db0(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) || (iVar18 = (*pcStack_110)(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n              piVar19 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              if (iVar18 == 0) goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) ||\n                 (pcVar23 = (code *)(*pcStack_110)(piVar10), pcVar23 == (code *)0x0))\n              goto LAB_00043c9c;\n              pcStack_10c = pcVar23;\n              if (piVar14 == (int *)0x0) {\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n              }\n              else {\n                *piVar14 = (int)pcVar23;\n              }\n              piVar3 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              pcVar23 = pcStack_10c;\n              if (iVar18 == 0) {\nLAB_00043d58:\n                piVar19 = piVar3;\n                pcStack_110 = pcVar23;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                if (piVar14 == (int *)0x0) goto LAB_000439f4;\n                piVar21 = (int *)0x0;\n                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);\n                *piVar14 = 0;\n              }\n              else {\n                piVar3 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                pcVar23 = pcStack_10c;\n                if ((iVar18 != 0) ||\n                   (iVar18 = (*pcStack_110)(piVar10), pcVar23 = pcStack_10c, iVar18 == 0))\n                goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                piVar19 = (int *)FUN_00040d14(iVar18);\n                (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n                pcVar23 = pcStack_110;\n                if (((int)piVar19 < 0) ||\n                   (piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108), piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (puVar12 != (undefined4 *)0x0) {\n                  *puVar12 = uStack_108;\n                }\n                if (piVar11 != (int *)0x0) {\n                  iVar4 = (**(code **)(pcStack_118 + -0x7f74))(*(undefined4 *)(iVar4 + 0x30));\n                  *piVar11 = iVar4;\n                }\n              }\n              goto LAB_000439f8;\n            }\n            pcVar23 = *(code **)(pcStack_118 + -0x7b10);\n          }\n          piStack_120 = piVar5;\n          piVar19 = piVar11;\n          piVar21 = (int *)(*pcVar23)(piVar10,piVar11,puVar12,piVar14);\n          (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n        }\nLAB_000439f8:\n        if (iStack_dc == *piVar16) {\n          return piVar21;\n        }\n        pcVar23 = *(code **)(pcStack_118 + -0x7880);\n        pcVar24 = ssh2_userkey_encrypted;\n        (*pcVar23)();\n        piVar20 = *(int **)(pcVar23 + 0x35b70);\n        piStack_150 = piVar5;\n        iStack_15c = *piVar20;\n        if (piVar19 != (int *)0x0) {\n          *piVar19 = 0;\n        }\n        piStack_154 = piVar16;\n        piStack_14c = piVar14;\n        piStack_148 = piVar11;\n        puStack_144 = puVar12;\n        piStack_140 = piVar21;\n        piStack_13c = piVar13;\n        piStack_138 = piVar10;\n        pcStack_134 = pcVar24;\n        iVar4 = f_open();\n        if (iVar4 == 0) {\n          piVar10 = (int *)0x0;\n        }\n        else {\n          iVar18 = FUN_00040db0(iVar4,auStack_184);\n          if ((iVar18 != 0) &&\n             (((iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4214), iVar18 == 0\n               || (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                      (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c),\n                  iVar18 == 0)) && (iVar18 = FUN_00040e74(iVar4), iVar18 != 0)))) {\n            (**(code **)(pcVar23 + 0x35330))(iVar18);\n            iVar18 = FUN_00040db0(iVar4,auStack_184);\n            if ((iVar18 != 0) &&\n               (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4244), iVar18 == 0))\n            {\n              iVar18 = FUN_00040e74(iVar4);\n              if (iVar18 == 0) {\n                (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                piVar10 = (int *)0x0;\n              }\n              else {\n                iVar8 = FUN_00040db0(iVar4,auStack_184);\n                if (((iVar8 == 0) ||\n                    (iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0)) || (iVar8 = FUN_00040e74(iVar4), iVar8 == 0)) {\n                  piVar10 = (int *)0x1;\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n                else {\n                  if (piVar19 == (int *)0x0) {\n                    (**(code **)(pcVar23 + 0x35330))(iVar8);\n                  }\n                  else {\n                    *piVar19 = iVar8;\n                  }\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  iVar4 = (**(code **)(pcVar23 + 0x35ae4))\n                                    (iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4);\n                  piVar10 = (int *)(uint)(iVar4 == 0);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n              }\n              goto LAB_00043f04;\n            }\n          }\n          piVar10 = (int *)0x0;\n          (**(code **)(pcVar23 + 0x35acc))(iVar4);\n        }\nLAB_00043f04:\n        if (iStack_15c != *piVar20) {\n          (**(code **)(pcVar23 + 0x35a30))();\n          return (int *)((iStack_15c + 0x2f) / 0x30);\n        }\n        return piVar10;\n      }\n      iVar8 = (*(code *)piStack_a0[-0x1f66])(pcVar15,(int)piVar3 + iVar18);\n      iVar18 = iVar18 + iVar8;\n      pcVar15 = pcVar15 + 4;\n    }" { (if_statement "if (iVar4 <= iVar18 + 2) {\n        puVar12 = (undefined4 *)&DAT_00000441;\n        pcVar23 = (code *)piStack_a0[-0x1e6c];\n        piVar14 = (int *)(piStack_a0[-0x1ff2] + 0x4800);\n        piVar11 = (int *)(piStack_a0[-0x1ff2] + 0x4034);\n        pcVar24 = ssh2_userkey_loadpub;\n        (*pcVar23)(piStack_a0[-0x1ff2] + 0x44b8);\n        piVar5 = piStack_a0;\n        pcStack_118 = pcVar23 + 0x3d74c;\n        piVar16 = *(int **)(pcVar23 + 0x3600c);\n        piVar19 = (int *)(*(int *)(pcVar23 + 0x35784) + 0x4078);\n        iStack_dc = *piVar16;\n        pcStack_d8 = pcVar15;\n        iStack_d4 = iVar18;\n        piStack_d0 = piVar3;\n        iStack_cc = iVar4;\n        puStack_c8 = puVar6;\n        uStack_c4 = uVar2;\n        piStack_c0 = piVar13;\n        piStack_bc = piVar20;\n        piStack_b8 = piVar10;\n        pcStack_b4 = pcVar24;\n        piVar10 = (int *)f_open();\n        if (piVar10 == (int *)0x0) {\n          if (piVar5 != (int *)0x0) {\n            *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x407c;\n          }\nLAB_000439f4:\n          piVar21 = (int *)0x0;\n          piVar10 = piVar20;\n        }\n        else {\n          iVar4 = FUN_00041f60(piVar10);\n          if (iVar4 == 9) {\n            pcVar23 = *(code **)(pcStack_118 + -0x7b14);\n          }\n          else {\n            if (iVar4 != 10) {\n              piVar20 = piVar10;\n              if (iVar4 != 3) {\nLAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }\n                goto LAB_000439f4;\n              }\n              piVar13 = aiStack_104;\n              iVar4 = FUN_00040db0(piVar10,piVar13);\n              if (iVar4 == 0) {\nLAB_00043cc0:\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);\n                iVar4 = (**(code **)(pcStack_118 + -0x78ac))(piVar13,piVar19,0x14);\n                if (iVar4 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                  if (piVar5 != (int *)0x0) {\n                    *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }\n                goto LAB_000439d4;\n              }\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214);\n              iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if (iVar4 != 0) {\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);\n                iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                if (iVar4 != 0) goto LAB_00043cc0;\n              }\n              pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74);\n              piVar3 = (int *)FUN_00040e74(piVar10);\n              if (piVar3 == (int *)0x0) {\nLAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                goto LAB_000439f4;\n              }\n              uVar2 = (**(code **)(pcStack_118 + -0x77a0))(piVar3);\n              piVar19 = piVar3;\n              iVar4 = find_pubkey_alg_len(uVar2);\n              (**(code **)(pcStack_118 + -0x7f80))(piVar3);\n              if ((iVar4 == 0) || (piVar19 = piVar13, iVar18 = FUN_00040db0(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) || (iVar18 = (*pcStack_110)(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n              piVar19 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              if (iVar18 == 0) goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) ||\n                 (pcVar23 = (code *)(*pcStack_110)(piVar10), pcVar23 == (code *)0x0))\n              goto LAB_00043c9c;\n              pcStack_10c = pcVar23;\n              if (piVar14 == (int *)0x0) {\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n              }\n              else {\n                *piVar14 = (int)pcVar23;\n              }\n              piVar3 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              pcVar23 = pcStack_10c;\n              if (iVar18 == 0) {\nLAB_00043d58:\n                piVar19 = piVar3;\n                pcStack_110 = pcVar23;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                if (piVar14 == (int *)0x0) goto LAB_000439f4;\n                piVar21 = (int *)0x0;\n                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);\n                *piVar14 = 0;\n              }\n              else {\n                piVar3 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                pcVar23 = pcStack_10c;\n                if ((iVar18 != 0) ||\n                   (iVar18 = (*pcStack_110)(piVar10), pcVar23 = pcStack_10c, iVar18 == 0))\n                goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                piVar19 = (int *)FUN_00040d14(iVar18);\n                (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n                pcVar23 = pcStack_110;\n                if (((int)piVar19 < 0) ||\n                   (piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108), piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (puVar12 != (undefined4 *)0x0) {\n                  *puVar12 = uStack_108;\n                }\n                if (piVar11 != (int *)0x0) {\n                  iVar4 = (**(code **)(pcStack_118 + -0x7f74))(*(undefined4 *)(iVar4 + 0x30));\n                  *piVar11 = iVar4;\n                }\n              }\n              goto LAB_000439f8;\n            }\n            pcVar23 = *(code **)(pcStack_118 + -0x7b10);\n          }\n          piStack_120 = piVar5;\n          piVar19 = piVar11;\n          piVar21 = (int *)(*pcVar23)(piVar10,piVar11,puVar12,piVar14);\n          (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n        }\nLAB_000439f8:\n        if (iStack_dc == *piVar16) {\n          return piVar21;\n        }\n        pcVar23 = *(code **)(pcStack_118 + -0x7880);\n        pcVar24 = ssh2_userkey_encrypted;\n        (*pcVar23)();\n        piVar20 = *(int **)(pcVar23 + 0x35b70);\n        piStack_150 = piVar5;\n        iStack_15c = *piVar20;\n        if (piVar19 != (int *)0x0) {\n          *piVar19 = 0;\n        }\n        piStack_154 = piVar16;\n        piStack_14c = piVar14;\n        piStack_148 = piVar11;\n        puStack_144 = puVar12;\n        piStack_140 = piVar21;\n        piStack_13c = piVar13;\n        piStack_138 = piVar10;\n        pcStack_134 = pcVar24;\n        iVar4 = f_open();\n        if (iVar4 == 0) {\n          piVar10 = (int *)0x0;\n        }\n        else {\n          iVar18 = FUN_00040db0(iVar4,auStack_184);\n          if ((iVar18 != 0) &&\n             (((iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4214), iVar18 == 0\n               || (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                      (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c),\n                  iVar18 == 0)) && (iVar18 = FUN_00040e74(iVar4), iVar18 != 0)))) {\n            (**(code **)(pcVar23 + 0x35330))(iVar18);\n            iVar18 = FUN_00040db0(iVar4,auStack_184);\n            if ((iVar18 != 0) &&\n               (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4244), iVar18 == 0))\n            {\n              iVar18 = FUN_00040e74(iVar4);\n              if (iVar18 == 0) {\n                (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                piVar10 = (int *)0x0;\n              }\n              else {\n                iVar8 = FUN_00040db0(iVar4,auStack_184);\n                if (((iVar8 == 0) ||\n                    (iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0)) || (iVar8 = FUN_00040e74(iVar4), iVar8 == 0)) {\n                  piVar10 = (int *)0x1;\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n                else {\n                  if (piVar19 == (int *)0x0) {\n                    (**(code **)(pcVar23 + 0x35330))(iVar8);\n                  }\n                  else {\n                    *piVar19 = iVar8;\n                  }\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  iVar4 = (**(code **)(pcVar23 + 0x35ae4))\n                                    (iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4);\n                  piVar10 = (int *)(uint)(iVar4 == 0);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n              }\n              goto LAB_00043f04;\n            }\n          }\n          piVar10 = (int *)0x0;\n          (**(code **)(pcVar23 + 0x35acc))(iVar4);\n        }\nLAB_00043f04:\n        if (iStack_15c != *piVar20) {\n          (**(code **)(pcVar23 + 0x35a30))();\n          return (int *)((iStack_15c + 0x2f) / 0x30);\n        }\n        return piVar10;\n      }" if (parenthesized_expression "(iVar4 <= iVar18 + 2)" ( (binary_expression "iVar4 <= iVar18 + 2" identifier <= (binary_expression "iVar18 + 2" identifier + number_literal)) )) (compound_statement "{\n        puVar12 = (undefined4 *)&DAT_00000441;\n        pcVar23 = (code *)piStack_a0[-0x1e6c];\n        piVar14 = (int *)(piStack_a0[-0x1ff2] + 0x4800);\n        piVar11 = (int *)(piStack_a0[-0x1ff2] + 0x4034);\n        pcVar24 = ssh2_userkey_loadpub;\n        (*pcVar23)(piStack_a0[-0x1ff2] + 0x44b8);\n        piVar5 = piStack_a0;\n        pcStack_118 = pcVar23 + 0x3d74c;\n        piVar16 = *(int **)(pcVar23 + 0x3600c);\n        piVar19 = (int *)(*(int *)(pcVar23 + 0x35784) + 0x4078);\n        iStack_dc = *piVar16;\n        pcStack_d8 = pcVar15;\n        iStack_d4 = iVar18;\n        piStack_d0 = piVar3;\n        iStack_cc = iVar4;\n        puStack_c8 = puVar6;\n        uStack_c4 = uVar2;\n        piStack_c0 = piVar13;\n        piStack_bc = piVar20;\n        piStack_b8 = piVar10;\n        pcStack_b4 = pcVar24;\n        piVar10 = (int *)f_open();\n        if (piVar10 == (int *)0x0) {\n          if (piVar5 != (int *)0x0) {\n            *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x407c;\n          }\nLAB_000439f4:\n          piVar21 = (int *)0x0;\n          piVar10 = piVar20;\n        }\n        else {\n          iVar4 = FUN_00041f60(piVar10);\n          if (iVar4 == 9) {\n            pcVar23 = *(code **)(pcStack_118 + -0x7b14);\n          }\n          else {\n            if (iVar4 != 10) {\n              piVar20 = piVar10;\n              if (iVar4 != 3) {\nLAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }\n                goto LAB_000439f4;\n              }\n              piVar13 = aiStack_104;\n              iVar4 = FUN_00040db0(piVar10,piVar13);\n              if (iVar4 == 0) {\nLAB_00043cc0:\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);\n                iVar4 = (**(code **)(pcStack_118 + -0x78ac))(piVar13,piVar19,0x14);\n                if (iVar4 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                  if (piVar5 != (int *)0x0) {\n                    *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }\n                goto LAB_000439d4;\n              }\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214);\n              iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if (iVar4 != 0) {\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);\n                iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                if (iVar4 != 0) goto LAB_00043cc0;\n              }\n              pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74);\n              piVar3 = (int *)FUN_00040e74(piVar10);\n              if (piVar3 == (int *)0x0) {\nLAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                goto LAB_000439f4;\n              }\n              uVar2 = (**(code **)(pcStack_118 + -0x77a0))(piVar3);\n              piVar19 = piVar3;\n              iVar4 = find_pubkey_alg_len(uVar2);\n              (**(code **)(pcStack_118 + -0x7f80))(piVar3);\n              if ((iVar4 == 0) || (piVar19 = piVar13, iVar18 = FUN_00040db0(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) || (iVar18 = (*pcStack_110)(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n              piVar19 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              if (iVar18 == 0) goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) ||\n                 (pcVar23 = (code *)(*pcStack_110)(piVar10), pcVar23 == (code *)0x0))\n              goto LAB_00043c9c;\n              pcStack_10c = pcVar23;\n              if (piVar14 == (int *)0x0) {\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n              }\n              else {\n                *piVar14 = (int)pcVar23;\n              }\n              piVar3 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              pcVar23 = pcStack_10c;\n              if (iVar18 == 0) {\nLAB_00043d58:\n                piVar19 = piVar3;\n                pcStack_110 = pcVar23;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                if (piVar14 == (int *)0x0) goto LAB_000439f4;\n                piVar21 = (int *)0x0;\n                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);\n                *piVar14 = 0;\n              }\n              else {\n                piVar3 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                pcVar23 = pcStack_10c;\n                if ((iVar18 != 0) ||\n                   (iVar18 = (*pcStack_110)(piVar10), pcVar23 = pcStack_10c, iVar18 == 0))\n                goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                piVar19 = (int *)FUN_00040d14(iVar18);\n                (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n                pcVar23 = pcStack_110;\n                if (((int)piVar19 < 0) ||\n                   (piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108), piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (puVar12 != (undefined4 *)0x0) {\n                  *puVar12 = uStack_108;\n                }\n                if (piVar11 != (int *)0x0) {\n                  iVar4 = (**(code **)(pcStack_118 + -0x7f74))(*(undefined4 *)(iVar4 + 0x30));\n                  *piVar11 = iVar4;\n                }\n              }\n              goto LAB_000439f8;\n            }\n            pcVar23 = *(code **)(pcStack_118 + -0x7b10);\n          }\n          piStack_120 = piVar5;\n          piVar19 = piVar11;\n          piVar21 = (int *)(*pcVar23)(piVar10,piVar11,puVar12,piVar14);\n          (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n        }\nLAB_000439f8:\n        if (iStack_dc == *piVar16) {\n          return piVar21;\n        }\n        pcVar23 = *(code **)(pcStack_118 + -0x7880);\n        pcVar24 = ssh2_userkey_encrypted;\n        (*pcVar23)();\n        piVar20 = *(int **)(pcVar23 + 0x35b70);\n        piStack_150 = piVar5;\n        iStack_15c = *piVar20;\n        if (piVar19 != (int *)0x0) {\n          *piVar19 = 0;\n        }\n        piStack_154 = piVar16;\n        piStack_14c = piVar14;\n        piStack_148 = piVar11;\n        puStack_144 = puVar12;\n        piStack_140 = piVar21;\n        piStack_13c = piVar13;\n        piStack_138 = piVar10;\n        pcStack_134 = pcVar24;\n        iVar4 = f_open();\n        if (iVar4 == 0) {\n          piVar10 = (int *)0x0;\n        }\n        else {\n          iVar18 = FUN_00040db0(iVar4,auStack_184);\n          if ((iVar18 != 0) &&\n             (((iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4214), iVar18 == 0\n               || (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                      (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c),\n                  iVar18 == 0)) && (iVar18 = FUN_00040e74(iVar4), iVar18 != 0)))) {\n            (**(code **)(pcVar23 + 0x35330))(iVar18);\n            iVar18 = FUN_00040db0(iVar4,auStack_184);\n            if ((iVar18 != 0) &&\n               (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4244), iVar18 == 0))\n            {\n              iVar18 = FUN_00040e74(iVar4);\n              if (iVar18 == 0) {\n                (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                piVar10 = (int *)0x0;\n              }\n              else {\n                iVar8 = FUN_00040db0(iVar4,auStack_184);\n                if (((iVar8 == 0) ||\n                    (iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0)) || (iVar8 = FUN_00040e74(iVar4), iVar8 == 0)) {\n                  piVar10 = (int *)0x1;\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n                else {\n                  if (piVar19 == (int *)0x0) {\n                    (**(code **)(pcVar23 + 0x35330))(iVar8);\n                  }\n                  else {\n                    *piVar19 = iVar8;\n                  }\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  iVar4 = (**(code **)(pcVar23 + 0x35ae4))\n                                    (iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4);\n                  piVar10 = (int *)(uint)(iVar4 == 0);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n              }\n              goto LAB_00043f04;\n            }\n          }\n          piVar10 = (int *)0x0;\n          (**(code **)(pcVar23 + 0x35acc))(iVar4);\n        }\nLAB_00043f04:\n        if (iStack_15c != *piVar20) {\n          (**(code **)(pcVar23 + 0x35a30))();\n          return (int *)((iStack_15c + 0x2f) / 0x30);\n        }\n        return piVar10;\n      }" { (expression_statement "puVar12 = (undefined4 *)&DAT_00000441;" (assignment_expression "puVar12 = (undefined4 *)&DAT_00000441" identifier = (cast_expression "(undefined4 *)&DAT_00000441" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000441" & identifier))) ;) (expression_statement "pcVar23 = (code *)piStack_a0[-0x1e6c];" (assignment_expression "pcVar23 = (code *)piStack_a0[-0x1e6c]" identifier = (cast_expression "(code *)piStack_a0[-0x1e6c]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piStack_a0[-0x1e6c]" identifier [ number_literal ]))) ;) (expression_statement "piVar14 = (int *)(piStack_a0[-0x1ff2] + 0x4800);" (assignment_expression "piVar14 = (int *)(piStack_a0[-0x1ff2] + 0x4800)" identifier = (cast_expression "(int *)(piStack_a0[-0x1ff2] + 0x4800)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piStack_a0[-0x1ff2] + 0x4800)" ( (binary_expression "piStack_a0[-0x1ff2] + 0x4800" (subscript_expression "piStack_a0[-0x1ff2]" identifier [ number_literal ]) + number_literal) )))) ;) (expression_statement "piVar11 = (int *)(piStack_a0[-0x1ff2] + 0x4034);" (assignment_expression "piVar11 = (int *)(piStack_a0[-0x1ff2] + 0x4034)" identifier = (cast_expression "(int *)(piStack_a0[-0x1ff2] + 0x4034)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piStack_a0[-0x1ff2] + 0x4034)" ( (binary_expression "piStack_a0[-0x1ff2] + 0x4034" (subscript_expression "piStack_a0[-0x1ff2]" identifier [ number_literal ]) + number_literal) )))) ;) (expression_statement "pcVar24 = ssh2_userkey_loadpub;" (assignment_expression "pcVar24 = ssh2_userkey_loadpub" identifier = identifier) ;) (expression_statement "(*pcVar23)(piStack_a0[-0x1ff2] + 0x44b8);" (call_expression "(*pcVar23)(piStack_a0[-0x1ff2] + 0x44b8)" (parenthesized_expression "(*pcVar23)" ( (pointer_expression "*pcVar23" * identifier) )) (argument_list "(piStack_a0[-0x1ff2] + 0x44b8)" ( (binary_expression "piStack_a0[-0x1ff2] + 0x44b8" (subscript_expression "piStack_a0[-0x1ff2]" identifier [ number_literal ]) + number_literal) ))) ;) (expression_statement "piVar5 = piStack_a0;" (assignment_expression "piVar5 = piStack_a0" identifier = identifier) ;) (expression_statement "pcStack_118 = pcVar23 + 0x3d74c;" (assignment_expression "pcStack_118 = pcVar23 + 0x3d74c" identifier = (binary_expression "pcVar23 + 0x3d74c" identifier + number_literal)) ;) (expression_statement "piVar16 = *(int **)(pcVar23 + 0x3600c);" (assignment_expression "piVar16 = *(int **)(pcVar23 + 0x3600c)" identifier = (pointer_expression "*(int **)(pcVar23 + 0x3600c)" * (cast_expression "(int **)(pcVar23 + 0x3600c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x3600c)" ( (binary_expression "pcVar23 + 0x3600c" identifier + number_literal) ))))) ;) (expression_statement "piVar19 = (int *)(*(int *)(pcVar23 + 0x35784) + 0x4078);" (assignment_expression "piVar19 = (int *)(*(int *)(pcVar23 + 0x35784) + 0x4078)" identifier = (cast_expression "(int *)(*(int *)(pcVar23 + 0x35784) + 0x4078)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar23 + 0x35784) + 0x4078)" ( (binary_expression "*(int *)(pcVar23 + 0x35784) + 0x4078" (pointer_expression "*(int *)(pcVar23 + 0x35784)" * (cast_expression "(int *)(pcVar23 + 0x35784)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar23 + 0x35784)" ( (binary_expression "pcVar23 + 0x35784" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iStack_dc = *piVar16;" (assignment_expression "iStack_dc = *piVar16" identifier = (pointer_expression "*piVar16" * identifier)) ;) (expression_statement "pcStack_d8 = pcVar15;" (assignment_expression "pcStack_d8 = pcVar15" identifier = identifier) ;) (expression_statement "iStack_d4 = iVar18;" (assignment_expression "iStack_d4 = iVar18" identifier = identifier) ;) (expression_statement "piStack_d0 = piVar3;" (assignment_expression "piStack_d0 = piVar3" identifier = identifier) ;) (expression_statement "iStack_cc = iVar4;" (assignment_expression "iStack_cc = iVar4" identifier = identifier) ;) (expression_statement "puStack_c8 = puVar6;" (assignment_expression "puStack_c8 = puVar6" identifier = identifier) ;) (expression_statement "uStack_c4 = uVar2;" (assignment_expression "uStack_c4 = uVar2" identifier = identifier) ;) (expression_statement "piStack_c0 = piVar13;" (assignment_expression "piStack_c0 = piVar13" identifier = identifier) ;) (expression_statement "piStack_bc = piVar20;" (assignment_expression "piStack_bc = piVar20" identifier = identifier) ;) (expression_statement "piStack_b8 = piVar10;" (assignment_expression "piStack_b8 = piVar10" identifier = identifier) ;) (expression_statement "pcStack_b4 = pcVar24;" (assignment_expression "pcStack_b4 = pcVar24" identifier = identifier) ;) (expression_statement "piVar10 = (int *)f_open();" (assignment_expression "piVar10 = (int *)f_open()" identifier = (cast_expression "(int *)f_open()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "f_open()" identifier (argument_list "()" ( ))))) ;) (if_statement "if (piVar10 == (int *)0x0) {\n          if (piVar5 != (int *)0x0) {\n            *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x407c;\n          }\nLAB_000439f4:\n          piVar21 = (int *)0x0;\n          piVar10 = piVar20;\n        }\n        else {\n          iVar4 = FUN_00041f60(piVar10);\n          if (iVar4 == 9) {\n            pcVar23 = *(code **)(pcStack_118 + -0x7b14);\n          }\n          else {\n            if (iVar4 != 10) {\n              piVar20 = piVar10;\n              if (iVar4 != 3) {\nLAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }\n                goto LAB_000439f4;\n              }\n              piVar13 = aiStack_104;\n              iVar4 = FUN_00040db0(piVar10,piVar13);\n              if (iVar4 == 0) {\nLAB_00043cc0:\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);\n                iVar4 = (**(code **)(pcStack_118 + -0x78ac))(piVar13,piVar19,0x14);\n                if (iVar4 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                  if (piVar5 != (int *)0x0) {\n                    *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }\n                goto LAB_000439d4;\n              }\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214);\n              iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if (iVar4 != 0) {\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);\n                iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                if (iVar4 != 0) goto LAB_00043cc0;\n              }\n              pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74);\n              piVar3 = (int *)FUN_00040e74(piVar10);\n              if (piVar3 == (int *)0x0) {\nLAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                goto LAB_000439f4;\n              }\n              uVar2 = (**(code **)(pcStack_118 + -0x77a0))(piVar3);\n              piVar19 = piVar3;\n              iVar4 = find_pubkey_alg_len(uVar2);\n              (**(code **)(pcStack_118 + -0x7f80))(piVar3);\n              if ((iVar4 == 0) || (piVar19 = piVar13, iVar18 = FUN_00040db0(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) || (iVar18 = (*pcStack_110)(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n              piVar19 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              if (iVar18 == 0) goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) ||\n                 (pcVar23 = (code *)(*pcStack_110)(piVar10), pcVar23 == (code *)0x0))\n              goto LAB_00043c9c;\n              pcStack_10c = pcVar23;\n              if (piVar14 == (int *)0x0) {\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n              }\n              else {\n                *piVar14 = (int)pcVar23;\n              }\n              piVar3 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              pcVar23 = pcStack_10c;\n              if (iVar18 == 0) {\nLAB_00043d58:\n                piVar19 = piVar3;\n                pcStack_110 = pcVar23;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                if (piVar14 == (int *)0x0) goto LAB_000439f4;\n                piVar21 = (int *)0x0;\n                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);\n                *piVar14 = 0;\n              }\n              else {\n                piVar3 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                pcVar23 = pcStack_10c;\n                if ((iVar18 != 0) ||\n                   (iVar18 = (*pcStack_110)(piVar10), pcVar23 = pcStack_10c, iVar18 == 0))\n                goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                piVar19 = (int *)FUN_00040d14(iVar18);\n                (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n                pcVar23 = pcStack_110;\n                if (((int)piVar19 < 0) ||\n                   (piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108), piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (puVar12 != (undefined4 *)0x0) {\n                  *puVar12 = uStack_108;\n                }\n                if (piVar11 != (int *)0x0) {\n                  iVar4 = (**(code **)(pcStack_118 + -0x7f74))(*(undefined4 *)(iVar4 + 0x30));\n                  *piVar11 = iVar4;\n                }\n              }\n              goto LAB_000439f8;\n            }\n            pcVar23 = *(code **)(pcStack_118 + -0x7b10);\n          }\n          piStack_120 = piVar5;\n          piVar19 = piVar11;\n          piVar21 = (int *)(*pcVar23)(piVar10,piVar11,puVar12,piVar14);\n          (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n        }" if (parenthesized_expression "(piVar10 == (int *)0x0)" ( (binary_expression "piVar10 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if (piVar5 != (int *)0x0) {\n            *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x407c;\n          }\nLAB_000439f4:\n          piVar21 = (int *)0x0;\n          piVar10 = piVar20;\n        }" { (if_statement "if (piVar5 != (int *)0x0) {\n            *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x407c;\n          }" if (parenthesized_expression "(piVar5 != (int *)0x0)" ( (binary_expression "piVar5 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x407c;\n          }" { (expression_statement "*piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x407c;" (assignment_expression "*piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x407c" (pointer_expression "*piVar5" * identifier) = (binary_expression "*(int *)(pcStack_118 + -0x7fc8) + 0x407c" (pointer_expression "*(int *)(pcStack_118 + -0x7fc8)" * (cast_expression "(int *)(pcStack_118 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_118 + -0x7fc8)" ( (binary_expression "pcStack_118 + -0x7fc8" identifier + number_literal) )))) + number_literal)) ;) })) (labeled_statement "LAB_000439f4:\n          piVar21 = (int *)0x0;" statement_identifier : (expression_statement "piVar21 = (int *)0x0;" (assignment_expression "piVar21 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "piVar10 = piVar20;" (assignment_expression "piVar10 = piVar20" identifier = identifier) ;) }) (else_clause "else {\n          iVar4 = FUN_00041f60(piVar10);\n          if (iVar4 == 9) {\n            pcVar23 = *(code **)(pcStack_118 + -0x7b14);\n          }\n          else {\n            if (iVar4 != 10) {\n              piVar20 = piVar10;\n              if (iVar4 != 3) {\nLAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }\n                goto LAB_000439f4;\n              }\n              piVar13 = aiStack_104;\n              iVar4 = FUN_00040db0(piVar10,piVar13);\n              if (iVar4 == 0) {\nLAB_00043cc0:\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);\n                iVar4 = (**(code **)(pcStack_118 + -0x78ac))(piVar13,piVar19,0x14);\n                if (iVar4 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                  if (piVar5 != (int *)0x0) {\n                    *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }\n                goto LAB_000439d4;\n              }\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214);\n              iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if (iVar4 != 0) {\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);\n                iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                if (iVar4 != 0) goto LAB_00043cc0;\n              }\n              pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74);\n              piVar3 = (int *)FUN_00040e74(piVar10);\n              if (piVar3 == (int *)0x0) {\nLAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                goto LAB_000439f4;\n              }\n              uVar2 = (**(code **)(pcStack_118 + -0x77a0))(piVar3);\n              piVar19 = piVar3;\n              iVar4 = find_pubkey_alg_len(uVar2);\n              (**(code **)(pcStack_118 + -0x7f80))(piVar3);\n              if ((iVar4 == 0) || (piVar19 = piVar13, iVar18 = FUN_00040db0(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) || (iVar18 = (*pcStack_110)(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n              piVar19 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              if (iVar18 == 0) goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) ||\n                 (pcVar23 = (code *)(*pcStack_110)(piVar10), pcVar23 == (code *)0x0))\n              goto LAB_00043c9c;\n              pcStack_10c = pcVar23;\n              if (piVar14 == (int *)0x0) {\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n              }\n              else {\n                *piVar14 = (int)pcVar23;\n              }\n              piVar3 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              pcVar23 = pcStack_10c;\n              if (iVar18 == 0) {\nLAB_00043d58:\n                piVar19 = piVar3;\n                pcStack_110 = pcVar23;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                if (piVar14 == (int *)0x0) goto LAB_000439f4;\n                piVar21 = (int *)0x0;\n                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);\n                *piVar14 = 0;\n              }\n              else {\n                piVar3 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                pcVar23 = pcStack_10c;\n                if ((iVar18 != 0) ||\n                   (iVar18 = (*pcStack_110)(piVar10), pcVar23 = pcStack_10c, iVar18 == 0))\n                goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                piVar19 = (int *)FUN_00040d14(iVar18);\n                (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n                pcVar23 = pcStack_110;\n                if (((int)piVar19 < 0) ||\n                   (piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108), piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (puVar12 != (undefined4 *)0x0) {\n                  *puVar12 = uStack_108;\n                }\n                if (piVar11 != (int *)0x0) {\n                  iVar4 = (**(code **)(pcStack_118 + -0x7f74))(*(undefined4 *)(iVar4 + 0x30));\n                  *piVar11 = iVar4;\n                }\n              }\n              goto LAB_000439f8;\n            }\n            pcVar23 = *(code **)(pcStack_118 + -0x7b10);\n          }\n          piStack_120 = piVar5;\n          piVar19 = piVar11;\n          piVar21 = (int *)(*pcVar23)(piVar10,piVar11,puVar12,piVar14);\n          (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n        }" else (compound_statement "{\n          iVar4 = FUN_00041f60(piVar10);\n          if (iVar4 == 9) {\n            pcVar23 = *(code **)(pcStack_118 + -0x7b14);\n          }\n          else {\n            if (iVar4 != 10) {\n              piVar20 = piVar10;\n              if (iVar4 != 3) {\nLAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }\n                goto LAB_000439f4;\n              }\n              piVar13 = aiStack_104;\n              iVar4 = FUN_00040db0(piVar10,piVar13);\n              if (iVar4 == 0) {\nLAB_00043cc0:\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);\n                iVar4 = (**(code **)(pcStack_118 + -0x78ac))(piVar13,piVar19,0x14);\n                if (iVar4 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                  if (piVar5 != (int *)0x0) {\n                    *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }\n                goto LAB_000439d4;\n              }\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214);\n              iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if (iVar4 != 0) {\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);\n                iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                if (iVar4 != 0) goto LAB_00043cc0;\n              }\n              pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74);\n              piVar3 = (int *)FUN_00040e74(piVar10);\n              if (piVar3 == (int *)0x0) {\nLAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                goto LAB_000439f4;\n              }\n              uVar2 = (**(code **)(pcStack_118 + -0x77a0))(piVar3);\n              piVar19 = piVar3;\n              iVar4 = find_pubkey_alg_len(uVar2);\n              (**(code **)(pcStack_118 + -0x7f80))(piVar3);\n              if ((iVar4 == 0) || (piVar19 = piVar13, iVar18 = FUN_00040db0(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) || (iVar18 = (*pcStack_110)(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n              piVar19 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              if (iVar18 == 0) goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) ||\n                 (pcVar23 = (code *)(*pcStack_110)(piVar10), pcVar23 == (code *)0x0))\n              goto LAB_00043c9c;\n              pcStack_10c = pcVar23;\n              if (piVar14 == (int *)0x0) {\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n              }\n              else {\n                *piVar14 = (int)pcVar23;\n              }\n              piVar3 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              pcVar23 = pcStack_10c;\n              if (iVar18 == 0) {\nLAB_00043d58:\n                piVar19 = piVar3;\n                pcStack_110 = pcVar23;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                if (piVar14 == (int *)0x0) goto LAB_000439f4;\n                piVar21 = (int *)0x0;\n                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);\n                *piVar14 = 0;\n              }\n              else {\n                piVar3 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                pcVar23 = pcStack_10c;\n                if ((iVar18 != 0) ||\n                   (iVar18 = (*pcStack_110)(piVar10), pcVar23 = pcStack_10c, iVar18 == 0))\n                goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                piVar19 = (int *)FUN_00040d14(iVar18);\n                (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n                pcVar23 = pcStack_110;\n                if (((int)piVar19 < 0) ||\n                   (piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108), piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (puVar12 != (undefined4 *)0x0) {\n                  *puVar12 = uStack_108;\n                }\n                if (piVar11 != (int *)0x0) {\n                  iVar4 = (**(code **)(pcStack_118 + -0x7f74))(*(undefined4 *)(iVar4 + 0x30));\n                  *piVar11 = iVar4;\n                }\n              }\n              goto LAB_000439f8;\n            }\n            pcVar23 = *(code **)(pcStack_118 + -0x7b10);\n          }\n          piStack_120 = piVar5;\n          piVar19 = piVar11;\n          piVar21 = (int *)(*pcVar23)(piVar10,piVar11,puVar12,piVar14);\n          (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n        }" { (expression_statement "iVar4 = FUN_00041f60(piVar10);" (assignment_expression "iVar4 = FUN_00041f60(piVar10)" identifier = (call_expression "FUN_00041f60(piVar10)" identifier (argument_list "(piVar10)" ( identifier )))) ;) (if_statement "if (iVar4 == 9) {\n            pcVar23 = *(code **)(pcStack_118 + -0x7b14);\n          }\n          else {\n            if (iVar4 != 10) {\n              piVar20 = piVar10;\n              if (iVar4 != 3) {\nLAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }\n                goto LAB_000439f4;\n              }\n              piVar13 = aiStack_104;\n              iVar4 = FUN_00040db0(piVar10,piVar13);\n              if (iVar4 == 0) {\nLAB_00043cc0:\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);\n                iVar4 = (**(code **)(pcStack_118 + -0x78ac))(piVar13,piVar19,0x14);\n                if (iVar4 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                  if (piVar5 != (int *)0x0) {\n                    *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }\n                goto LAB_000439d4;\n              }\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214);\n              iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if (iVar4 != 0) {\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);\n                iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                if (iVar4 != 0) goto LAB_00043cc0;\n              }\n              pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74);\n              piVar3 = (int *)FUN_00040e74(piVar10);\n              if (piVar3 == (int *)0x0) {\nLAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                goto LAB_000439f4;\n              }\n              uVar2 = (**(code **)(pcStack_118 + -0x77a0))(piVar3);\n              piVar19 = piVar3;\n              iVar4 = find_pubkey_alg_len(uVar2);\n              (**(code **)(pcStack_118 + -0x7f80))(piVar3);\n              if ((iVar4 == 0) || (piVar19 = piVar13, iVar18 = FUN_00040db0(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) || (iVar18 = (*pcStack_110)(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n              piVar19 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              if (iVar18 == 0) goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) ||\n                 (pcVar23 = (code *)(*pcStack_110)(piVar10), pcVar23 == (code *)0x0))\n              goto LAB_00043c9c;\n              pcStack_10c = pcVar23;\n              if (piVar14 == (int *)0x0) {\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n              }\n              else {\n                *piVar14 = (int)pcVar23;\n              }\n              piVar3 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              pcVar23 = pcStack_10c;\n              if (iVar18 == 0) {\nLAB_00043d58:\n                piVar19 = piVar3;\n                pcStack_110 = pcVar23;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                if (piVar14 == (int *)0x0) goto LAB_000439f4;\n                piVar21 = (int *)0x0;\n                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);\n                *piVar14 = 0;\n              }\n              else {\n                piVar3 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                pcVar23 = pcStack_10c;\n                if ((iVar18 != 0) ||\n                   (iVar18 = (*pcStack_110)(piVar10), pcVar23 = pcStack_10c, iVar18 == 0))\n                goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                piVar19 = (int *)FUN_00040d14(iVar18);\n                (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n                pcVar23 = pcStack_110;\n                if (((int)piVar19 < 0) ||\n                   (piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108), piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (puVar12 != (undefined4 *)0x0) {\n                  *puVar12 = uStack_108;\n                }\n                if (piVar11 != (int *)0x0) {\n                  iVar4 = (**(code **)(pcStack_118 + -0x7f74))(*(undefined4 *)(iVar4 + 0x30));\n                  *piVar11 = iVar4;\n                }\n              }\n              goto LAB_000439f8;\n            }\n            pcVar23 = *(code **)(pcStack_118 + -0x7b10);\n          }" if (parenthesized_expression "(iVar4 == 9)" ( (binary_expression "iVar4 == 9" identifier == number_literal) )) (compound_statement "{\n            pcVar23 = *(code **)(pcStack_118 + -0x7b14);\n          }" { (expression_statement "pcVar23 = *(code **)(pcStack_118 + -0x7b14);" (assignment_expression "pcVar23 = *(code **)(pcStack_118 + -0x7b14)" identifier = (pointer_expression "*(code **)(pcStack_118 + -0x7b14)" * (cast_expression "(code **)(pcStack_118 + -0x7b14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_118 + -0x7b14)" ( (binary_expression "pcStack_118 + -0x7b14" identifier + number_literal) ))))) ;) }) (else_clause "else {\n            if (iVar4 != 10) {\n              piVar20 = piVar10;\n              if (iVar4 != 3) {\nLAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }\n                goto LAB_000439f4;\n              }\n              piVar13 = aiStack_104;\n              iVar4 = FUN_00040db0(piVar10,piVar13);\n              if (iVar4 == 0) {\nLAB_00043cc0:\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);\n                iVar4 = (**(code **)(pcStack_118 + -0x78ac))(piVar13,piVar19,0x14);\n                if (iVar4 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                  if (piVar5 != (int *)0x0) {\n                    *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }\n                goto LAB_000439d4;\n              }\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214);\n              iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if (iVar4 != 0) {\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);\n                iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                if (iVar4 != 0) goto LAB_00043cc0;\n              }\n              pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74);\n              piVar3 = (int *)FUN_00040e74(piVar10);\n              if (piVar3 == (int *)0x0) {\nLAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                goto LAB_000439f4;\n              }\n              uVar2 = (**(code **)(pcStack_118 + -0x77a0))(piVar3);\n              piVar19 = piVar3;\n              iVar4 = find_pubkey_alg_len(uVar2);\n              (**(code **)(pcStack_118 + -0x7f80))(piVar3);\n              if ((iVar4 == 0) || (piVar19 = piVar13, iVar18 = FUN_00040db0(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) || (iVar18 = (*pcStack_110)(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n              piVar19 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              if (iVar18 == 0) goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) ||\n                 (pcVar23 = (code *)(*pcStack_110)(piVar10), pcVar23 == (code *)0x0))\n              goto LAB_00043c9c;\n              pcStack_10c = pcVar23;\n              if (piVar14 == (int *)0x0) {\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n              }\n              else {\n                *piVar14 = (int)pcVar23;\n              }\n              piVar3 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              pcVar23 = pcStack_10c;\n              if (iVar18 == 0) {\nLAB_00043d58:\n                piVar19 = piVar3;\n                pcStack_110 = pcVar23;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                if (piVar14 == (int *)0x0) goto LAB_000439f4;\n                piVar21 = (int *)0x0;\n                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);\n                *piVar14 = 0;\n              }\n              else {\n                piVar3 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                pcVar23 = pcStack_10c;\n                if ((iVar18 != 0) ||\n                   (iVar18 = (*pcStack_110)(piVar10), pcVar23 = pcStack_10c, iVar18 == 0))\n                goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                piVar19 = (int *)FUN_00040d14(iVar18);\n                (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n                pcVar23 = pcStack_110;\n                if (((int)piVar19 < 0) ||\n                   (piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108), piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (puVar12 != (undefined4 *)0x0) {\n                  *puVar12 = uStack_108;\n                }\n                if (piVar11 != (int *)0x0) {\n                  iVar4 = (**(code **)(pcStack_118 + -0x7f74))(*(undefined4 *)(iVar4 + 0x30));\n                  *piVar11 = iVar4;\n                }\n              }\n              goto LAB_000439f8;\n            }\n            pcVar23 = *(code **)(pcStack_118 + -0x7b10);\n          }" else (compound_statement "{\n            if (iVar4 != 10) {\n              piVar20 = piVar10;\n              if (iVar4 != 3) {\nLAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }\n                goto LAB_000439f4;\n              }\n              piVar13 = aiStack_104;\n              iVar4 = FUN_00040db0(piVar10,piVar13);\n              if (iVar4 == 0) {\nLAB_00043cc0:\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);\n                iVar4 = (**(code **)(pcStack_118 + -0x78ac))(piVar13,piVar19,0x14);\n                if (iVar4 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                  if (piVar5 != (int *)0x0) {\n                    *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }\n                goto LAB_000439d4;\n              }\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214);\n              iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if (iVar4 != 0) {\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);\n                iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                if (iVar4 != 0) goto LAB_00043cc0;\n              }\n              pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74);\n              piVar3 = (int *)FUN_00040e74(piVar10);\n              if (piVar3 == (int *)0x0) {\nLAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                goto LAB_000439f4;\n              }\n              uVar2 = (**(code **)(pcStack_118 + -0x77a0))(piVar3);\n              piVar19 = piVar3;\n              iVar4 = find_pubkey_alg_len(uVar2);\n              (**(code **)(pcStack_118 + -0x7f80))(piVar3);\n              if ((iVar4 == 0) || (piVar19 = piVar13, iVar18 = FUN_00040db0(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) || (iVar18 = (*pcStack_110)(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n              piVar19 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              if (iVar18 == 0) goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) ||\n                 (pcVar23 = (code *)(*pcStack_110)(piVar10), pcVar23 == (code *)0x0))\n              goto LAB_00043c9c;\n              pcStack_10c = pcVar23;\n              if (piVar14 == (int *)0x0) {\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n              }\n              else {\n                *piVar14 = (int)pcVar23;\n              }\n              piVar3 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              pcVar23 = pcStack_10c;\n              if (iVar18 == 0) {\nLAB_00043d58:\n                piVar19 = piVar3;\n                pcStack_110 = pcVar23;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                if (piVar14 == (int *)0x0) goto LAB_000439f4;\n                piVar21 = (int *)0x0;\n                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);\n                *piVar14 = 0;\n              }\n              else {\n                piVar3 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                pcVar23 = pcStack_10c;\n                if ((iVar18 != 0) ||\n                   (iVar18 = (*pcStack_110)(piVar10), pcVar23 = pcStack_10c, iVar18 == 0))\n                goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                piVar19 = (int *)FUN_00040d14(iVar18);\n                (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n                pcVar23 = pcStack_110;\n                if (((int)piVar19 < 0) ||\n                   (piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108), piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (puVar12 != (undefined4 *)0x0) {\n                  *puVar12 = uStack_108;\n                }\n                if (piVar11 != (int *)0x0) {\n                  iVar4 = (**(code **)(pcStack_118 + -0x7f74))(*(undefined4 *)(iVar4 + 0x30));\n                  *piVar11 = iVar4;\n                }\n              }\n              goto LAB_000439f8;\n            }\n            pcVar23 = *(code **)(pcStack_118 + -0x7b10);\n          }" { (if_statement "if (iVar4 != 10) {\n              piVar20 = piVar10;\n              if (iVar4 != 3) {\nLAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }\n                goto LAB_000439f4;\n              }\n              piVar13 = aiStack_104;\n              iVar4 = FUN_00040db0(piVar10,piVar13);\n              if (iVar4 == 0) {\nLAB_00043cc0:\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);\n                iVar4 = (**(code **)(pcStack_118 + -0x78ac))(piVar13,piVar19,0x14);\n                if (iVar4 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                  if (piVar5 != (int *)0x0) {\n                    *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }\n                goto LAB_000439d4;\n              }\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214);\n              iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if (iVar4 != 0) {\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);\n                iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                if (iVar4 != 0) goto LAB_00043cc0;\n              }\n              pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74);\n              piVar3 = (int *)FUN_00040e74(piVar10);\n              if (piVar3 == (int *)0x0) {\nLAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                goto LAB_000439f4;\n              }\n              uVar2 = (**(code **)(pcStack_118 + -0x77a0))(piVar3);\n              piVar19 = piVar3;\n              iVar4 = find_pubkey_alg_len(uVar2);\n              (**(code **)(pcStack_118 + -0x7f80))(piVar3);\n              if ((iVar4 == 0) || (piVar19 = piVar13, iVar18 = FUN_00040db0(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) || (iVar18 = (*pcStack_110)(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n              piVar19 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              if (iVar18 == 0) goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) ||\n                 (pcVar23 = (code *)(*pcStack_110)(piVar10), pcVar23 == (code *)0x0))\n              goto LAB_00043c9c;\n              pcStack_10c = pcVar23;\n              if (piVar14 == (int *)0x0) {\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n              }\n              else {\n                *piVar14 = (int)pcVar23;\n              }\n              piVar3 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              pcVar23 = pcStack_10c;\n              if (iVar18 == 0) {\nLAB_00043d58:\n                piVar19 = piVar3;\n                pcStack_110 = pcVar23;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                if (piVar14 == (int *)0x0) goto LAB_000439f4;\n                piVar21 = (int *)0x0;\n                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);\n                *piVar14 = 0;\n              }\n              else {\n                piVar3 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                pcVar23 = pcStack_10c;\n                if ((iVar18 != 0) ||\n                   (iVar18 = (*pcStack_110)(piVar10), pcVar23 = pcStack_10c, iVar18 == 0))\n                goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                piVar19 = (int *)FUN_00040d14(iVar18);\n                (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n                pcVar23 = pcStack_110;\n                if (((int)piVar19 < 0) ||\n                   (piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108), piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (puVar12 != (undefined4 *)0x0) {\n                  *puVar12 = uStack_108;\n                }\n                if (piVar11 != (int *)0x0) {\n                  iVar4 = (**(code **)(pcStack_118 + -0x7f74))(*(undefined4 *)(iVar4 + 0x30));\n                  *piVar11 = iVar4;\n                }\n              }\n              goto LAB_000439f8;\n            }" if (parenthesized_expression "(iVar4 != 10)" ( (binary_expression "iVar4 != 10" identifier != number_literal) )) (compound_statement "{\n              piVar20 = piVar10;\n              if (iVar4 != 3) {\nLAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }\n                goto LAB_000439f4;\n              }\n              piVar13 = aiStack_104;\n              iVar4 = FUN_00040db0(piVar10,piVar13);\n              if (iVar4 == 0) {\nLAB_00043cc0:\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);\n                iVar4 = (**(code **)(pcStack_118 + -0x78ac))(piVar13,piVar19,0x14);\n                if (iVar4 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                  if (piVar5 != (int *)0x0) {\n                    *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }\n                goto LAB_000439d4;\n              }\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214);\n              iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if (iVar4 != 0) {\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);\n                iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                if (iVar4 != 0) goto LAB_00043cc0;\n              }\n              pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74);\n              piVar3 = (int *)FUN_00040e74(piVar10);\n              if (piVar3 == (int *)0x0) {\nLAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                goto LAB_000439f4;\n              }\n              uVar2 = (**(code **)(pcStack_118 + -0x77a0))(piVar3);\n              piVar19 = piVar3;\n              iVar4 = find_pubkey_alg_len(uVar2);\n              (**(code **)(pcStack_118 + -0x7f80))(piVar3);\n              if ((iVar4 == 0) || (piVar19 = piVar13, iVar18 = FUN_00040db0(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) || (iVar18 = (*pcStack_110)(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n              piVar19 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              if (iVar18 == 0) goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) ||\n                 (pcVar23 = (code *)(*pcStack_110)(piVar10), pcVar23 == (code *)0x0))\n              goto LAB_00043c9c;\n              pcStack_10c = pcVar23;\n              if (piVar14 == (int *)0x0) {\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n              }\n              else {\n                *piVar14 = (int)pcVar23;\n              }\n              piVar3 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              pcVar23 = pcStack_10c;\n              if (iVar18 == 0) {\nLAB_00043d58:\n                piVar19 = piVar3;\n                pcStack_110 = pcVar23;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                if (piVar14 == (int *)0x0) goto LAB_000439f4;\n                piVar21 = (int *)0x0;\n                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);\n                *piVar14 = 0;\n              }\n              else {\n                piVar3 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                pcVar23 = pcStack_10c;\n                if ((iVar18 != 0) ||\n                   (iVar18 = (*pcStack_110)(piVar10), pcVar23 = pcStack_10c, iVar18 == 0))\n                goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                piVar19 = (int *)FUN_00040d14(iVar18);\n                (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n                pcVar23 = pcStack_110;\n                if (((int)piVar19 < 0) ||\n                   (piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108), piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (puVar12 != (undefined4 *)0x0) {\n                  *puVar12 = uStack_108;\n                }\n                if (piVar11 != (int *)0x0) {\n                  iVar4 = (**(code **)(pcStack_118 + -0x7f74))(*(undefined4 *)(iVar4 + 0x30));\n                  *piVar11 = iVar4;\n                }\n              }\n              goto LAB_000439f8;\n            }" { (expression_statement "piVar20 = piVar10;" (assignment_expression "piVar20 = piVar10" identifier = identifier) ;) (if_statement "if (iVar4 != 3) {\nLAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }\n                goto LAB_000439f4;\n              }" if (parenthesized_expression "(iVar4 != 3)" ( (binary_expression "iVar4 != 3" identifier != number_literal) )) (compound_statement "{\nLAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }\n                goto LAB_000439f4;\n              }" { (labeled_statement "LAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);" statement_identifier : (expression_statement "(**(code **)(pcStack_118 + -0x77e4))(piVar10);" (call_expression "(**(code **)(pcStack_118 + -0x77e4))(piVar10)" (parenthesized_expression "(**(code **)(pcStack_118 + -0x77e4))" ( (pointer_expression "**(code **)(pcStack_118 + -0x77e4)" * (pointer_expression "*(code **)(pcStack_118 + -0x77e4)" * (cast_expression "(code **)(pcStack_118 + -0x77e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_118 + -0x77e4)" ( (binary_expression "pcStack_118 + -0x77e4" identifier + number_literal) ))))) )) (argument_list "(piVar10)" ( identifier ))) ;)) (if_statement "if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }" if (parenthesized_expression "(piVar5 != (int *)0x0)" ( (binary_expression "piVar5 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }" { (expression_statement "*piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;" (assignment_expression "*piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4" (pointer_expression "*piVar5" * identifier) = (binary_expression "*(int *)(pcStack_118 + -0x7fc8) + 0x41c4" (pointer_expression "*(int *)(pcStack_118 + -0x7fc8)" * (cast_expression "(int *)(pcStack_118 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_118 + -0x7fc8)" ( (binary_expression "pcStack_118 + -0x7fc8" identifier + number_literal) )))) + number_literal)) ;) })) (goto_statement "goto LAB_000439f4;" goto statement_identifier ;) })) (expression_statement "piVar13 = aiStack_104;" (assignment_expression "piVar13 = aiStack_104" identifier = identifier) ;) (expression_statement "iVar4 = FUN_00040db0(piVar10,piVar13);" (assignment_expression "iVar4 = FUN_00040db0(piVar10,piVar13)" identifier = (call_expression "FUN_00040db0(piVar10,piVar13)" identifier (argument_list "(piVar10,piVar13)" ( identifier , identifier )))) ;) (if_statement "if (iVar4 == 0) {\nLAB_00043cc0:\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);\n                iVar4 = (**(code **)(pcStack_118 + -0x78ac))(piVar13,piVar19,0x14);\n                if (iVar4 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                  if (piVar5 != (int *)0x0) {\n                    *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }\n                goto LAB_000439d4;\n              }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00043cc0:\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);\n                iVar4 = (**(code **)(pcStack_118 + -0x78ac))(piVar13,piVar19,0x14);\n                if (iVar4 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                  if (piVar5 != (int *)0x0) {\n                    *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }\n                goto LAB_000439d4;\n              }" { (labeled_statement "LAB_00043cc0:\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);" statement_identifier : (expression_statement "piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);" (assignment_expression "piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134)" identifier = (cast_expression "(int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_118 + -0x7fc8) + 0x4134)" ( (binary_expression "*(int *)(pcStack_118 + -0x7fc8) + 0x4134" (pointer_expression "*(int *)(pcStack_118 + -0x7fc8)" * (cast_expression "(int *)(pcStack_118 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_118 + -0x7fc8)" ( (binary_expression "pcStack_118 + -0x7fc8" identifier + number_literal) )))) + number_literal) )))) ;)) (expression_statement "iVar4 = (**(code **)(pcStack_118 + -0x78ac))(piVar13,piVar19,0x14);" (assignment_expression "iVar4 = (**(code **)(pcStack_118 + -0x78ac))(piVar13,piVar19,0x14)" identifier = (call_expression "(**(code **)(pcStack_118 + -0x78ac))(piVar13,piVar19,0x14)" (parenthesized_expression "(**(code **)(pcStack_118 + -0x78ac))" ( (pointer_expression "**(code **)(pcStack_118 + -0x78ac)" * (pointer_expression "*(code **)(pcStack_118 + -0x78ac)" * (cast_expression "(code **)(pcStack_118 + -0x78ac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_118 + -0x78ac)" ( (binary_expression "pcStack_118 + -0x78ac" identifier + number_literal) ))))) )) (argument_list "(piVar13,piVar19,0x14)" ( identifier , identifier , number_literal )))) ;) (if_statement "if (iVar4 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                  if (piVar5 != (int *)0x0) {\n                    *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n                  (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                  if (piVar5 != (int *)0x0) {\n                    *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }" { (expression_statement "(**(code **)(pcStack_118 + -0x77e4))(piVar10);" (call_expression "(**(code **)(pcStack_118 + -0x77e4))(piVar10)" (parenthesized_expression "(**(code **)(pcStack_118 + -0x77e4))" ( (pointer_expression "**(code **)(pcStack_118 + -0x77e4)" * (pointer_expression "*(code **)(pcStack_118 + -0x77e4)" * (cast_expression "(code **)(pcStack_118 + -0x77e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_118 + -0x77e4)" ( (binary_expression "pcStack_118 + -0x77e4" identifier + number_literal) ))))) )) (argument_list "(piVar10)" ( identifier ))) ;) (if_statement "if (piVar5 != (int *)0x0) {\n                    *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }" if (parenthesized_expression "(piVar5 != (int *)0x0)" ( (binary_expression "piVar5 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }" { (expression_statement "*piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;" (assignment_expression "*piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4" (pointer_expression "*piVar5" * identifier) = (binary_expression "*(int *)(pcStack_118 + -0x7fc8) + 0x41e4" (pointer_expression "*(int *)(pcStack_118 + -0x7fc8)" * (cast_expression "(int *)(pcStack_118 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_118 + -0x7fc8)" ( (binary_expression "pcStack_118 + -0x7fc8" identifier + number_literal) )))) + number_literal)) ;) })) (goto_statement "goto LAB_000439f4;" goto statement_identifier ;) })) (goto_statement "goto LAB_000439d4;" goto statement_identifier ;) })) (expression_statement "piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214);" (assignment_expression "piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214)" identifier = (cast_expression "(int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_118 + -0x7fc8) + 0x4214)" ( (binary_expression "*(int *)(pcStack_118 + -0x7fc8) + 0x4214" (pointer_expression "*(int *)(pcStack_118 + -0x7fc8)" * (cast_expression "(int *)(pcStack_118 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_118 + -0x7fc8)" ( (binary_expression "pcStack_118 + -0x7fc8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);" (assignment_expression "iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13)" identifier = (call_expression "(**(code **)(pcStack_118 + -0x77cc))(piVar13)" (parenthesized_expression "(**(code **)(pcStack_118 + -0x77cc))" ( (pointer_expression "**(code **)(pcStack_118 + -0x77cc)" * (pointer_expression "*(code **)(pcStack_118 + -0x77cc)" * (cast_expression "(code **)(pcStack_118 + -0x77cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_118 + -0x77cc)" ( (binary_expression "pcStack_118 + -0x77cc" identifier + number_literal) ))))) )) (argument_list "(piVar13)" ( identifier )))) ;) (if_statement "if (iVar4 != 0) {\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);\n                iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                if (iVar4 != 0) goto LAB_00043cc0;\n              }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);\n                iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                if (iVar4 != 0) goto LAB_00043cc0;\n              }" { (expression_statement "piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);" (assignment_expression "piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c)" identifier = (cast_expression "(int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_118 + -0x7fc8) + 0x422c)" ( (binary_expression "*(int *)(pcStack_118 + -0x7fc8) + 0x422c" (pointer_expression "*(int *)(pcStack_118 + -0x7fc8)" * (cast_expression "(int *)(pcStack_118 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_118 + -0x7fc8)" ( (binary_expression "pcStack_118 + -0x7fc8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);" (assignment_expression "iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13)" identifier = (call_expression "(**(code **)(pcStack_118 + -0x77cc))(piVar13)" (parenthesized_expression "(**(code **)(pcStack_118 + -0x77cc))" ( (pointer_expression "**(code **)(pcStack_118 + -0x77cc)" * (pointer_expression "*(code **)(pcStack_118 + -0x77cc)" * (cast_expression "(code **)(pcStack_118 + -0x77cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_118 + -0x77cc)" ( (binary_expression "pcStack_118 + -0x77cc" identifier + number_literal) ))))) )) (argument_list "(piVar13)" ( identifier )))) ;) (if_statement "if (iVar4 != 0) goto LAB_00043cc0;" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00043cc0;" goto statement_identifier ;)) })) (expression_statement "pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74);" (assignment_expression "pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74)" identifier = (cast_expression "(code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_118 + -0x7b8c) + 0xe74)" ( (binary_expression "*(int *)(pcStack_118 + -0x7b8c) + 0xe74" (pointer_expression "*(int *)(pcStack_118 + -0x7b8c)" * (cast_expression "(int *)(pcStack_118 + -0x7b8c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_118 + -0x7b8c)" ( (binary_expression "pcStack_118 + -0x7b8c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "piVar3 = (int *)FUN_00040e74(piVar10);" (assignment_expression "piVar3 = (int *)FUN_00040e74(piVar10)" identifier = (cast_expression "(int *)FUN_00040e74(piVar10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00040e74(piVar10)" identifier (argument_list "(piVar10)" ( identifier ))))) ;) (if_statement "if (piVar3 == (int *)0x0) {\nLAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                goto LAB_000439f4;\n              }" if (parenthesized_expression "(piVar3 == (int *)0x0)" ( (binary_expression "piVar3 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                goto LAB_000439f4;\n              }" { (labeled_statement "LAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);" statement_identifier : (expression_statement "(**(code **)(pcStack_118 + -0x77e4))(piVar10);" (call_expression "(**(code **)(pcStack_118 + -0x77e4))(piVar10)" (parenthesized_expression "(**(code **)(pcStack_118 + -0x77e4))" ( (pointer_expression "**(code **)(pcStack_118 + -0x77e4)" * (pointer_expression "*(code **)(pcStack_118 + -0x77e4)" * (cast_expression "(code **)(pcStack_118 + -0x77e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_118 + -0x77e4)" ( (binary_expression "pcStack_118 + -0x77e4" identifier + number_literal) ))))) )) (argument_list "(piVar10)" ( identifier ))) ;)) (if_statement "if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }" if (parenthesized_expression "(piVar5 != (int *)0x0)" ( (binary_expression "piVar5 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }" { (expression_statement "*piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;" (assignment_expression "*piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8" (pointer_expression "*piVar5" * identifier) = (binary_expression "*(int *)(pcStack_118 + -0x7fc8) + 0x3ff8" (pointer_expression "*(int *)(pcStack_118 + -0x7fc8)" * (cast_expression "(int *)(pcStack_118 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_118 + -0x7fc8)" ( (binary_expression "pcStack_118 + -0x7fc8" identifier + number_literal) )))) + number_literal)) ;) })) (goto_statement "goto LAB_000439f4;" goto statement_identifier ;) })) (expression_statement "uVar2 = (**(code **)(pcStack_118 + -0x77a0))(piVar3);" (assignment_expression "uVar2 = (**(code **)(pcStack_118 + -0x77a0))(piVar3)" identifier = (call_expression "(**(code **)(pcStack_118 + -0x77a0))(piVar3)" (parenthesized_expression "(**(code **)(pcStack_118 + -0x77a0))" ( (pointer_expression "**(code **)(pcStack_118 + -0x77a0)" * (pointer_expression "*(code **)(pcStack_118 + -0x77a0)" * (cast_expression "(code **)(pcStack_118 + -0x77a0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_118 + -0x77a0)" ( (binary_expression "pcStack_118 + -0x77a0" identifier + number_literal) ))))) )) (argument_list "(piVar3)" ( identifier )))) ;) (expression_statement "piVar19 = piVar3;" (assignment_expression "piVar19 = piVar3" identifier = identifier) ;) (expression_statement "iVar4 = find_pubkey_alg_len(uVar2);" (assignment_expression "iVar4 = find_pubkey_alg_len(uVar2)" identifier = (call_expression "find_pubkey_alg_len(uVar2)" identifier (argument_list "(uVar2)" ( identifier )))) ;) (expression_statement "(**(code **)(pcStack_118 + -0x7f80))(piVar3);" (call_expression "(**(code **)(pcStack_118 + -0x7f80))(piVar3)" (parenthesized_expression "(**(code **)(pcStack_118 + -0x7f80))" ( (pointer_expression "**(code **)(pcStack_118 + -0x7f80)" * (pointer_expression "*(code **)(pcStack_118 + -0x7f80)" * (cast_expression "(code **)(pcStack_118 + -0x7f80)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_118 + -0x7f80)" ( (binary_expression "pcStack_118 + -0x7f80" identifier + number_literal) ))))) )) (argument_list "(piVar3)" ( identifier ))) ;) (if_statement "if ((iVar4 == 0) || (piVar19 = piVar13, iVar18 = FUN_00040db0(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;" if (parenthesized_expression "((iVar4 == 0) || (piVar19 = piVar13, iVar18 = FUN_00040db0(piVar10), iVar18 == 0))" ( (binary_expression "(iVar4 == 0) || (piVar19 = piVar13, iVar18 = FUN_00040db0(piVar10), iVar18 == 0)" (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) || (parenthesized_expression "(piVar19 = piVar13, iVar18 = FUN_00040db0(piVar10), iVar18 == 0)" ( (comma_expression "piVar19 = piVar13, iVar18 = FUN_00040db0(piVar10), iVar18 == 0" (assignment_expression "piVar19 = piVar13" identifier = identifier) , (comma_expression "iVar18 = FUN_00040db0(piVar10), iVar18 == 0" (assignment_expression "iVar18 = FUN_00040db0(piVar10)" identifier = (call_expression "FUN_00040db0(piVar10)" identifier (argument_list "(piVar10)" ( identifier )))) , (binary_expression "iVar18 == 0" identifier == number_literal))) ))) )) (goto_statement "goto LAB_00043c9c;" goto statement_identifier ;)) (expression_statement "piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244);" (assignment_expression "piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244)" identifier = (cast_expression "(int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_118 + -0x7fc8) + 0x4244)" ( (binary_expression "*(int *)(pcStack_118 + -0x7fc8) + 0x4244" (pointer_expression "*(int *)(pcStack_118 + -0x7fc8)" * (cast_expression "(int *)(pcStack_118 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_118 + -0x7fc8)" ( (binary_expression "pcStack_118 + -0x7fc8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);" (assignment_expression "iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13)" identifier = (call_expression "(**(code **)(pcStack_118 + -0x77cc))(piVar13)" (parenthesized_expression "(**(code **)(pcStack_118 + -0x77cc))" ( (pointer_expression "**(code **)(pcStack_118 + -0x77cc)" * (pointer_expression "*(code **)(pcStack_118 + -0x77cc)" * (cast_expression "(code **)(pcStack_118 + -0x77cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_118 + -0x77cc)" ( (binary_expression "pcStack_118 + -0x77cc" identifier + number_literal) ))))) )) (argument_list "(piVar13)" ( identifier )))) ;) (if_statement "if ((iVar18 != 0) || (iVar18 = (*pcStack_110)(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;" if (parenthesized_expression "((iVar18 != 0) || (iVar18 = (*pcStack_110)(piVar10), iVar18 == 0))" ( (binary_expression "(iVar18 != 0) || (iVar18 = (*pcStack_110)(piVar10), iVar18 == 0)" (parenthesized_expression "(iVar18 != 0)" ( (binary_expression "iVar18 != 0" identifier != number_literal) )) || (parenthesized_expression "(iVar18 = (*pcStack_110)(piVar10), iVar18 == 0)" ( (comma_expression "iVar18 = (*pcStack_110)(piVar10), iVar18 == 0" (assignment_expression "iVar18 = (*pcStack_110)(piVar10)" identifier = (call_expression "(*pcStack_110)(piVar10)" (parenthesized_expression "(*pcStack_110)" ( (pointer_expression "*pcStack_110" * identifier) )) (argument_list "(piVar10)" ( identifier )))) , (binary_expression "iVar18 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_00043c9c;" goto statement_identifier ;)) (expression_statement "(**(code **)(pcStack_118 + -0x7f80))(iVar18);" (call_expression "(**(code **)(pcStack_118 + -0x7f80))(iVar18)" (parenthesized_expression "(**(code **)(pcStack_118 + -0x7f80))" ( (pointer_expression "**(code **)(pcStack_118 + -0x7f80)" * (pointer_expression "*(code **)(pcStack_118 + -0x7f80)" * (cast_expression "(code **)(pcStack_118 + -0x7f80)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_118 + -0x7f80)" ( (binary_expression "pcStack_118 + -0x7f80" identifier + number_literal) ))))) )) (argument_list "(iVar18)" ( identifier ))) ;) (expression_statement "piVar19 = piVar13;" (assignment_expression "piVar19 = piVar13" identifier = identifier) ;) (expression_statement "iVar18 = FUN_00040db0(piVar10);" (assignment_expression "iVar18 = FUN_00040db0(piVar10)" identifier = (call_expression "FUN_00040db0(piVar10)" identifier (argument_list "(piVar10)" ( identifier )))) ;) (if_statement "if (iVar18 == 0) goto LAB_00043c9c;" if (parenthesized_expression "(iVar18 == 0)" ( (binary_expression "iVar18 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00043c9c;" goto statement_identifier ;)) (expression_statement "piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258);" (assignment_expression "piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258)" identifier = (cast_expression "(int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_118 + -0x7fc8) + 0x4258)" ( (binary_expression "*(int *)(pcStack_118 + -0x7fc8) + 0x4258" (pointer_expression "*(int *)(pcStack_118 + -0x7fc8)" * (cast_expression "(int *)(pcStack_118 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_118 + -0x7fc8)" ( (binary_expression "pcStack_118 + -0x7fc8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);" (assignment_expression "iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13)" identifier = (call_expression "(**(code **)(pcStack_118 + -0x77cc))(piVar13)" (parenthesized_expression "(**(code **)(pcStack_118 + -0x77cc))" ( (pointer_expression "**(code **)(pcStack_118 + -0x77cc)" * (pointer_expression "*(code **)(pcStack_118 + -0x77cc)" * (cast_expression "(code **)(pcStack_118 + -0x77cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_118 + -0x77cc)" ( (binary_expression "pcStack_118 + -0x77cc" identifier + number_literal) ))))) )) (argument_list "(piVar13)" ( identifier )))) ;) (if_statement "if ((iVar18 != 0) ||\n                 (pcVar23 = (code *)(*pcStack_110)(piVar10), pcVar23 == (code *)0x0))\n              goto LAB_00043c9c;" if (parenthesized_expression "((iVar18 != 0) ||\n                 (pcVar23 = (code *)(*pcStack_110)(piVar10), pcVar23 == (code *)0x0))" ( (binary_expression "(iVar18 != 0) ||\n                 (pcVar23 = (code *)(*pcStack_110)(piVar10), pcVar23 == (code *)0x0)" (parenthesized_expression "(iVar18 != 0)" ( (binary_expression "iVar18 != 0" identifier != number_literal) )) || (parenthesized_expression "(pcVar23 = (code *)(*pcStack_110)(piVar10), pcVar23 == (code *)0x0)" ( (comma_expression "pcVar23 = (code *)(*pcStack_110)(piVar10), pcVar23 == (code *)0x0" (assignment_expression "pcVar23 = (code *)(*pcStack_110)(piVar10)" identifier = (cast_expression "(code *)(*pcStack_110)(piVar10)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcStack_110)(piVar10)" (parenthesized_expression "(*pcStack_110)" ( (pointer_expression "*pcStack_110" * identifier) )) (argument_list "(piVar10)" ( identifier ))))) , (binary_expression "pcVar23 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (goto_statement "goto LAB_00043c9c;" goto statement_identifier ;)) (expression_statement "pcStack_10c = pcVar23;" (assignment_expression "pcStack_10c = pcVar23" identifier = identifier) ;) (if_statement "if (piVar14 == (int *)0x0) {\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n              }\n              else {\n                *piVar14 = (int)pcVar23;\n              }" if (parenthesized_expression "(piVar14 == (int *)0x0)" ( (binary_expression "piVar14 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n              }" { (expression_statement "(**(code **)(pcStack_118 + -0x7f80))(pcVar23);" (call_expression "(**(code **)(pcStack_118 + -0x7f80))(pcVar23)" (parenthesized_expression "(**(code **)(pcStack_118 + -0x7f80))" ( (pointer_expression "**(code **)(pcStack_118 + -0x7f80)" * (pointer_expression "*(code **)(pcStack_118 + -0x7f80)" * (cast_expression "(code **)(pcStack_118 + -0x7f80)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_118 + -0x7f80)" ( (binary_expression "pcStack_118 + -0x7f80" identifier + number_literal) ))))) )) (argument_list "(pcVar23)" ( identifier ))) ;) }) (else_clause "else {\n                *piVar14 = (int)pcVar23;\n              }" else (compound_statement "{\n                *piVar14 = (int)pcVar23;\n              }" { (expression_statement "*piVar14 = (int)pcVar23;" (assignment_expression "*piVar14 = (int)pcVar23" (pointer_expression "*piVar14" * identifier) = (cast_expression "(int)pcVar23" ( (type_descriptor "int" primitive_type) ) identifier)) ;) }))) (expression_statement "piVar3 = piVar13;" (assignment_expression "piVar3 = piVar13" identifier = identifier) ;) (expression_statement "iVar18 = FUN_00040db0(piVar10);" (assignment_expression "iVar18 = FUN_00040db0(piVar10)" identifier = (call_expression "FUN_00040db0(piVar10)" identifier (argument_list "(piVar10)" ( identifier )))) ;) (expression_statement "pcVar23 = pcStack_10c;" (assignment_expression "pcVar23 = pcStack_10c" identifier = identifier) ;) (if_statement "if (iVar18 == 0) {\nLAB_00043d58:\n                piVar19 = piVar3;\n                pcStack_110 = pcVar23;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                if (piVar14 == (int *)0x0) goto LAB_000439f4;\n                piVar21 = (int *)0x0;\n                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);\n                *piVar14 = 0;\n              }\n              else {\n                piVar3 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                pcVar23 = pcStack_10c;\n                if ((iVar18 != 0) ||\n                   (iVar18 = (*pcStack_110)(piVar10), pcVar23 = pcStack_10c, iVar18 == 0))\n                goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                piVar19 = (int *)FUN_00040d14(iVar18);\n                (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n                pcVar23 = pcStack_110;\n                if (((int)piVar19 < 0) ||\n                   (piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108), piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (puVar12 != (undefined4 *)0x0) {\n                  *puVar12 = uStack_108;\n                }\n                if (piVar11 != (int *)0x0) {\n                  iVar4 = (**(code **)(pcStack_118 + -0x7f74))(*(undefined4 *)(iVar4 + 0x30));\n                  *piVar11 = iVar4;\n                }\n              }" if (parenthesized_expression "(iVar18 == 0)" ( (binary_expression "iVar18 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00043d58:\n                piVar19 = piVar3;\n                pcStack_110 = pcVar23;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                if (piVar14 == (int *)0x0) goto LAB_000439f4;\n                piVar21 = (int *)0x0;\n                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);\n                *piVar14 = 0;\n              }" { (labeled_statement "LAB_00043d58:\n                piVar19 = piVar3;" statement_identifier : (expression_statement "piVar19 = piVar3;" (assignment_expression "piVar19 = piVar3" identifier = identifier) ;)) (expression_statement "pcStack_110 = pcVar23;" (assignment_expression "pcStack_110 = pcVar23" identifier = identifier) ;) (expression_statement "(**(code **)(pcStack_118 + -0x77e4))(piVar10);" (call_expression "(**(code **)(pcStack_118 + -0x77e4))(piVar10)" (parenthesized_expression "(**(code **)(pcStack_118 + -0x77e4))" ( (pointer_expression "**(code **)(pcStack_118 + -0x77e4)" * (pointer_expression "*(code **)(pcStack_118 + -0x77e4)" * (cast_expression "(code **)(pcStack_118 + -0x77e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_118 + -0x77e4)" ( (binary_expression "pcStack_118 + -0x77e4" identifier + number_literal) ))))) )) (argument_list "(piVar10)" ( identifier ))) ;) (if_statement "if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }" if (parenthesized_expression "(piVar5 != (int *)0x0)" ( (binary_expression "piVar5 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }" { (expression_statement "*piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;" (assignment_expression "*piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8" (pointer_expression "*piVar5" * identifier) = (binary_expression "*(int *)(pcStack_118 + -0x7fc8) + 0x3ff8" (pointer_expression "*(int *)(pcStack_118 + -0x7fc8)" * (cast_expression "(int *)(pcStack_118 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_118 + -0x7fc8)" ( (binary_expression "pcStack_118 + -0x7fc8" identifier + number_literal) )))) + number_literal)) ;) })) (if_statement "if (piVar14 == (int *)0x0) goto LAB_000439f4;" if (parenthesized_expression "(piVar14 == (int *)0x0)" ( (binary_expression "piVar14 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000439f4;" goto statement_identifier ;)) (expression_statement "piVar21 = (int *)0x0;" (assignment_expression "piVar21 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(pcStack_118 + -0x7f80))(pcStack_110);" (call_expression "(**(code **)(pcStack_118 + -0x7f80))(pcStack_110)" (parenthesized_expression "(**(code **)(pcStack_118 + -0x7f80))" ( (pointer_expression "**(code **)(pcStack_118 + -0x7f80)" * (pointer_expression "*(code **)(pcStack_118 + -0x7f80)" * (cast_expression "(code **)(pcStack_118 + -0x7f80)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_118 + -0x7f80)" ( (binary_expression "pcStack_118 + -0x7f80" identifier + number_literal) ))))) )) (argument_list "(pcStack_110)" ( identifier ))) ;) (expression_statement "*piVar14 = 0;" (assignment_expression "*piVar14 = 0" (pointer_expression "*piVar14" * identifier) = number_literal) ;) }) (else_clause "else {\n                piVar3 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                pcVar23 = pcStack_10c;\n                if ((iVar18 != 0) ||\n                   (iVar18 = (*pcStack_110)(piVar10), pcVar23 = pcStack_10c, iVar18 == 0))\n                goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                piVar19 = (int *)FUN_00040d14(iVar18);\n                (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n                pcVar23 = pcStack_110;\n                if (((int)piVar19 < 0) ||\n                   (piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108), piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (puVar12 != (undefined4 *)0x0) {\n                  *puVar12 = uStack_108;\n                }\n                if (piVar11 != (int *)0x0) {\n                  iVar4 = (**(code **)(pcStack_118 + -0x7f74))(*(undefined4 *)(iVar4 + 0x30));\n                  *piVar11 = iVar4;\n                }\n              }" else (compound_statement "{\n                piVar3 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                pcVar23 = pcStack_10c;\n                if ((iVar18 != 0) ||\n                   (iVar18 = (*pcStack_110)(piVar10), pcVar23 = pcStack_10c, iVar18 == 0))\n                goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                piVar19 = (int *)FUN_00040d14(iVar18);\n                (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n                pcVar23 = pcStack_110;\n                if (((int)piVar19 < 0) ||\n                   (piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108), piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (puVar12 != (undefined4 *)0x0) {\n                  *puVar12 = uStack_108;\n                }\n                if (piVar11 != (int *)0x0) {\n                  iVar4 = (**(code **)(pcStack_118 + -0x7f74))(*(undefined4 *)(iVar4 + 0x30));\n                  *piVar11 = iVar4;\n                }\n              }" { (expression_statement "piVar3 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);" (assignment_expression "piVar3 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260)" identifier = (cast_expression "(int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_118 + -0x7fc8) + 0x4260)" ( (binary_expression "*(int *)(pcStack_118 + -0x7fc8) + 0x4260" (pointer_expression "*(int *)(pcStack_118 + -0x7fc8)" * (cast_expression "(int *)(pcStack_118 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_118 + -0x7fc8)" ( (binary_expression "pcStack_118 + -0x7fc8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);" (assignment_expression "iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13)" identifier = (call_expression "(**(code **)(pcStack_118 + -0x77cc))(piVar13)" (parenthesized_expression "(**(code **)(pcStack_118 + -0x77cc))" ( (pointer_expression "**(code **)(pcStack_118 + -0x77cc)" * (pointer_expression "*(code **)(pcStack_118 + -0x77cc)" * (cast_expression "(code **)(pcStack_118 + -0x77cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_118 + -0x77cc)" ( (binary_expression "pcStack_118 + -0x77cc" identifier + number_literal) ))))) )) (argument_list "(piVar13)" ( identifier )))) ;) (expression_statement "pcVar23 = pcStack_10c;" (assignment_expression "pcVar23 = pcStack_10c" identifier = identifier) ;) (if_statement "if ((iVar18 != 0) ||\n                   (iVar18 = (*pcStack_110)(piVar10), pcVar23 = pcStack_10c, iVar18 == 0))\n                goto LAB_00043d58;" if (parenthesized_expression "((iVar18 != 0) ||\n                   (iVar18 = (*pcStack_110)(piVar10), pcVar23 = pcStack_10c, iVar18 == 0))" ( (binary_expression "(iVar18 != 0) ||\n                   (iVar18 = (*pcStack_110)(piVar10), pcVar23 = pcStack_10c, iVar18 == 0)" (parenthesized_expression "(iVar18 != 0)" ( (binary_expression "iVar18 != 0" identifier != number_literal) )) || (parenthesized_expression "(iVar18 = (*pcStack_110)(piVar10), pcVar23 = pcStack_10c, iVar18 == 0)" ( (comma_expression "iVar18 = (*pcStack_110)(piVar10), pcVar23 = pcStack_10c, iVar18 == 0" (assignment_expression "iVar18 = (*pcStack_110)(piVar10)" identifier = (call_expression "(*pcStack_110)(piVar10)" (parenthesized_expression "(*pcStack_110)" ( (pointer_expression "*pcStack_110" * identifier) )) (argument_list "(piVar10)" ( identifier )))) , (comma_expression "pcVar23 = pcStack_10c, iVar18 == 0" (assignment_expression "pcVar23 = pcStack_10c" identifier = identifier) , (binary_expression "iVar18 == 0" identifier == number_literal))) ))) )) (goto_statement "goto LAB_00043d58;" goto statement_identifier ;)) (expression_statement "pcStack_110 = pcStack_10c;" (assignment_expression "pcStack_110 = pcStack_10c" identifier = identifier) ;) (expression_statement "piVar19 = (int *)FUN_00040d14(iVar18);" (assignment_expression "piVar19 = (int *)FUN_00040d14(iVar18)" identifier = (cast_expression "(int *)FUN_00040d14(iVar18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00040d14(iVar18)" identifier (argument_list "(iVar18)" ( identifier ))))) ;) (expression_statement "(**(code **)(pcStack_118 + -0x7f80))(iVar18);" (call_expression "(**(code **)(pcStack_118 + -0x7f80))(iVar18)" (parenthesized_expression "(**(code **)(pcStack_118 + -0x7f80))" ( (pointer_expression "**(code **)(pcStack_118 + -0x7f80)" * (pointer_expression "*(code **)(pcStack_118 + -0x7f80)" * (cast_expression "(code **)(pcStack_118 + -0x7f80)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_118 + -0x7f80)" ( (binary_expression "pcStack_118 + -0x7f80" identifier + number_literal) ))))) )) (argument_list "(iVar18)" ( identifier ))) ;) (expression_statement "pcVar23 = pcStack_110;" (assignment_expression "pcVar23 = pcStack_110" identifier = identifier) ;) (if_statement "if (((int)piVar19 < 0) ||\n                   (piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108), piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0)) goto LAB_00043d58;" if (parenthesized_expression "(((int)piVar19 < 0) ||\n                   (piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108), piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0))" ( (binary_expression "((int)piVar19 < 0) ||\n                   (piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108), piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0)" (parenthesized_expression "((int)piVar19 < 0)" ( (binary_expression "(int)piVar19 < 0" (cast_expression "(int)piVar19" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) || (parenthesized_expression "(piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108), piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0)" ( (comma_expression "piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108), piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0" (assignment_expression "piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108)" identifier = (cast_expression "(int *)FUN_00040fc0(piVar10,piVar19,&uStack_108)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00040fc0(piVar10,piVar19,&uStack_108)" identifier (argument_list "(piVar10,piVar19,&uStack_108)" ( identifier , identifier , (pointer_expression "&uStack_108" & identifier) ))))) , (comma_expression "piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0" (assignment_expression "piVar3 = piVar19" identifier = identifier) , (comma_expression "pcVar23 = pcStack_110, piVar21 == (int *)0x0" (assignment_expression "pcVar23 = pcStack_110" identifier = identifier) , (binary_expression "piVar21 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))))) ))) )) (goto_statement "goto LAB_00043d58;" goto statement_identifier ;)) (expression_statement "(**(code **)(pcStack_118 + -0x77e4))(piVar10);" (call_expression "(**(code **)(pcStack_118 + -0x77e4))(piVar10)" (parenthesized_expression "(**(code **)(pcStack_118 + -0x77e4))" ( (pointer_expression "**(code **)(pcStack_118 + -0x77e4)" * (pointer_expression "*(code **)(pcStack_118 + -0x77e4)" * (cast_expression "(code **)(pcStack_118 + -0x77e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_118 + -0x77e4)" ( (binary_expression "pcStack_118 + -0x77e4" identifier + number_literal) ))))) )) (argument_list "(piVar10)" ( identifier ))) ;) (if_statement "if (puVar12 != (undefined4 *)0x0) {\n                  *puVar12 = uStack_108;\n                }" if (parenthesized_expression "(puVar12 != (undefined4 *)0x0)" ( (binary_expression "puVar12 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  *puVar12 = uStack_108;\n                }" { (expression_statement "*puVar12 = uStack_108;" (assignment_expression "*puVar12 = uStack_108" (pointer_expression "*puVar12" * identifier) = identifier) ;) })) (if_statement "if (piVar11 != (int *)0x0) {\n                  iVar4 = (**(code **)(pcStack_118 + -0x7f74))(*(undefined4 *)(iVar4 + 0x30));\n                  *piVar11 = iVar4;\n                }" if (parenthesized_expression "(piVar11 != (int *)0x0)" ( (binary_expression "piVar11 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  iVar4 = (**(code **)(pcStack_118 + -0x7f74))(*(undefined4 *)(iVar4 + 0x30));\n                  *piVar11 = iVar4;\n                }" { (expression_statement "iVar4 = (**(code **)(pcStack_118 + -0x7f74))(*(undefined4 *)(iVar4 + 0x30));" (assignment_expression "iVar4 = (**(code **)(pcStack_118 + -0x7f74))(*(undefined4 *)(iVar4 + 0x30))" identifier = (call_expression "(**(code **)(pcStack_118 + -0x7f74))(*(undefined4 *)(iVar4 + 0x30))" (parenthesized_expression "(**(code **)(pcStack_118 + -0x7f74))" ( (pointer_expression "**(code **)(pcStack_118 + -0x7f74)" * (pointer_expression "*(code **)(pcStack_118 + -0x7f74)" * (cast_expression "(code **)(pcStack_118 + -0x7f74)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_118 + -0x7f74)" ( (binary_expression "pcStack_118 + -0x7f74" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar4 + 0x30))" ( (pointer_expression "*(undefined4 *)(iVar4 + 0x30)" * (cast_expression "(undefined4 *)(iVar4 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x30)" ( (binary_expression "iVar4 + 0x30" identifier + number_literal) )))) )))) ;) (expression_statement "*piVar11 = iVar4;" (assignment_expression "*piVar11 = iVar4" (pointer_expression "*piVar11" * identifier) = identifier) ;) })) }))) (goto_statement "goto LAB_000439f8;" goto statement_identifier ;) })) (expression_statement "pcVar23 = *(code **)(pcStack_118 + -0x7b10);" (assignment_expression "pcVar23 = *(code **)(pcStack_118 + -0x7b10)" identifier = (pointer_expression "*(code **)(pcStack_118 + -0x7b10)" * (cast_expression "(code **)(pcStack_118 + -0x7b10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_118 + -0x7b10)" ( (binary_expression "pcStack_118 + -0x7b10" identifier + number_literal) ))))) ;) }))) (expression_statement "piStack_120 = piVar5;" (assignment_expression "piStack_120 = piVar5" identifier = identifier) ;) (expression_statement "piVar19 = piVar11;" (assignment_expression "piVar19 = piVar11" identifier = identifier) ;) (expression_statement "piVar21 = (int *)(*pcVar23)(piVar10,piVar11,puVar12,piVar14);" (assignment_expression "piVar21 = (int *)(*pcVar23)(piVar10,piVar11,puVar12,piVar14)" identifier = (cast_expression "(int *)(*pcVar23)(piVar10,piVar11,puVar12,piVar14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar23)(piVar10,piVar11,puVar12,piVar14)" (parenthesized_expression "(*pcVar23)" ( (pointer_expression "*pcVar23" * identifier) )) (argument_list "(piVar10,piVar11,puVar12,piVar14)" ( identifier , identifier , identifier , identifier ))))) ;) (expression_statement "(**(code **)(pcStack_118 + -0x77e4))(piVar10);" (call_expression "(**(code **)(pcStack_118 + -0x77e4))(piVar10)" (parenthesized_expression "(**(code **)(pcStack_118 + -0x77e4))" ( (pointer_expression "**(code **)(pcStack_118 + -0x77e4)" * (pointer_expression "*(code **)(pcStack_118 + -0x77e4)" * (cast_expression "(code **)(pcStack_118 + -0x77e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_118 + -0x77e4)" ( (binary_expression "pcStack_118 + -0x77e4" identifier + number_literal) ))))) )) (argument_list "(piVar10)" ( identifier ))) ;) }))) (labeled_statement "LAB_000439f8:\n        if (iStack_dc == *piVar16) {\n          return piVar21;\n        }" statement_identifier : (if_statement "if (iStack_dc == *piVar16) {\n          return piVar21;\n        }" if (parenthesized_expression "(iStack_dc == *piVar16)" ( (binary_expression "iStack_dc == *piVar16" identifier == (pointer_expression "*piVar16" * identifier)) )) (compound_statement "{\n          return piVar21;\n        }" { (return_statement "return piVar21;" return identifier ;) }))) (expression_statement "pcVar23 = *(code **)(pcStack_118 + -0x7880);" (assignment_expression "pcVar23 = *(code **)(pcStack_118 + -0x7880)" identifier = (pointer_expression "*(code **)(pcStack_118 + -0x7880)" * (cast_expression "(code **)(pcStack_118 + -0x7880)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_118 + -0x7880)" ( (binary_expression "pcStack_118 + -0x7880" identifier + number_literal) ))))) ;) (expression_statement "pcVar24 = ssh2_userkey_encrypted;" (assignment_expression "pcVar24 = ssh2_userkey_encrypted" identifier = identifier) ;) (expression_statement "(*pcVar23)();" (call_expression "(*pcVar23)()" (parenthesized_expression "(*pcVar23)" ( (pointer_expression "*pcVar23" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piVar20 = *(int **)(pcVar23 + 0x35b70);" (assignment_expression "piVar20 = *(int **)(pcVar23 + 0x35b70)" identifier = (pointer_expression "*(int **)(pcVar23 + 0x35b70)" * (cast_expression "(int **)(pcVar23 + 0x35b70)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x35b70)" ( (binary_expression "pcVar23 + 0x35b70" identifier + number_literal) ))))) ;) (expression_statement "piStack_150 = piVar5;" (assignment_expression "piStack_150 = piVar5" identifier = identifier) ;) (expression_statement "iStack_15c = *piVar20;" (assignment_expression "iStack_15c = *piVar20" identifier = (pointer_expression "*piVar20" * identifier)) ;) (if_statement "if (piVar19 != (int *)0x0) {\n          *piVar19 = 0;\n        }" if (parenthesized_expression "(piVar19 != (int *)0x0)" ( (binary_expression "piVar19 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          *piVar19 = 0;\n        }" { (expression_statement "*piVar19 = 0;" (assignment_expression "*piVar19 = 0" (pointer_expression "*piVar19" * identifier) = number_literal) ;) })) (expression_statement "piStack_154 = piVar16;" (assignment_expression "piStack_154 = piVar16" identifier = identifier) ;) (expression_statement "piStack_14c = piVar14;" (assignment_expression "piStack_14c = piVar14" identifier = identifier) ;) (expression_statement "piStack_148 = piVar11;" (assignment_expression "piStack_148 = piVar11" identifier = identifier) ;) (expression_statement "puStack_144 = puVar12;" (assignment_expression "puStack_144 = puVar12" identifier = identifier) ;) (expression_statement "piStack_140 = piVar21;" (assignment_expression "piStack_140 = piVar21" identifier = identifier) ;) (expression_statement "piStack_13c = piVar13;" (assignment_expression "piStack_13c = piVar13" identifier = identifier) ;) (expression_statement "piStack_138 = piVar10;" (assignment_expression "piStack_138 = piVar10" identifier = identifier) ;) (expression_statement "pcStack_134 = pcVar24;" (assignment_expression "pcStack_134 = pcVar24" identifier = identifier) ;) (expression_statement "iVar4 = f_open();" (assignment_expression "iVar4 = f_open()" identifier = (call_expression "f_open()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar4 == 0) {\n          piVar10 = (int *)0x0;\n        }\n        else {\n          iVar18 = FUN_00040db0(iVar4,auStack_184);\n          if ((iVar18 != 0) &&\n             (((iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4214), iVar18 == 0\n               || (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                      (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c),\n                  iVar18 == 0)) && (iVar18 = FUN_00040e74(iVar4), iVar18 != 0)))) {\n            (**(code **)(pcVar23 + 0x35330))(iVar18);\n            iVar18 = FUN_00040db0(iVar4,auStack_184);\n            if ((iVar18 != 0) &&\n               (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4244), iVar18 == 0))\n            {\n              iVar18 = FUN_00040e74(iVar4);\n              if (iVar18 == 0) {\n                (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                piVar10 = (int *)0x0;\n              }\n              else {\n                iVar8 = FUN_00040db0(iVar4,auStack_184);\n                if (((iVar8 == 0) ||\n                    (iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0)) || (iVar8 = FUN_00040e74(iVar4), iVar8 == 0)) {\n                  piVar10 = (int *)0x1;\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n                else {\n                  if (piVar19 == (int *)0x0) {\n                    (**(code **)(pcVar23 + 0x35330))(iVar8);\n                  }\n                  else {\n                    *piVar19 = iVar8;\n                  }\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  iVar4 = (**(code **)(pcVar23 + 0x35ae4))\n                                    (iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4);\n                  piVar10 = (int *)(uint)(iVar4 == 0);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n              }\n              goto LAB_00043f04;\n            }\n          }\n          piVar10 = (int *)0x0;\n          (**(code **)(pcVar23 + 0x35acc))(iVar4);\n        }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n          piVar10 = (int *)0x0;\n        }" { (expression_statement "piVar10 = (int *)0x0;" (assignment_expression "piVar10 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n          iVar18 = FUN_00040db0(iVar4,auStack_184);\n          if ((iVar18 != 0) &&\n             (((iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4214), iVar18 == 0\n               || (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                      (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c),\n                  iVar18 == 0)) && (iVar18 = FUN_00040e74(iVar4), iVar18 != 0)))) {\n            (**(code **)(pcVar23 + 0x35330))(iVar18);\n            iVar18 = FUN_00040db0(iVar4,auStack_184);\n            if ((iVar18 != 0) &&\n               (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4244), iVar18 == 0))\n            {\n              iVar18 = FUN_00040e74(iVar4);\n              if (iVar18 == 0) {\n                (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                piVar10 = (int *)0x0;\n              }\n              else {\n                iVar8 = FUN_00040db0(iVar4,auStack_184);\n                if (((iVar8 == 0) ||\n                    (iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0)) || (iVar8 = FUN_00040e74(iVar4), iVar8 == 0)) {\n                  piVar10 = (int *)0x1;\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n                else {\n                  if (piVar19 == (int *)0x0) {\n                    (**(code **)(pcVar23 + 0x35330))(iVar8);\n                  }\n                  else {\n                    *piVar19 = iVar8;\n                  }\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  iVar4 = (**(code **)(pcVar23 + 0x35ae4))\n                                    (iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4);\n                  piVar10 = (int *)(uint)(iVar4 == 0);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n              }\n              goto LAB_00043f04;\n            }\n          }\n          piVar10 = (int *)0x0;\n          (**(code **)(pcVar23 + 0x35acc))(iVar4);\n        }" else (compound_statement "{\n          iVar18 = FUN_00040db0(iVar4,auStack_184);\n          if ((iVar18 != 0) &&\n             (((iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4214), iVar18 == 0\n               || (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                      (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c),\n                  iVar18 == 0)) && (iVar18 = FUN_00040e74(iVar4), iVar18 != 0)))) {\n            (**(code **)(pcVar23 + 0x35330))(iVar18);\n            iVar18 = FUN_00040db0(iVar4,auStack_184);\n            if ((iVar18 != 0) &&\n               (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4244), iVar18 == 0))\n            {\n              iVar18 = FUN_00040e74(iVar4);\n              if (iVar18 == 0) {\n                (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                piVar10 = (int *)0x0;\n              }\n              else {\n                iVar8 = FUN_00040db0(iVar4,auStack_184);\n                if (((iVar8 == 0) ||\n                    (iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0)) || (iVar8 = FUN_00040e74(iVar4), iVar8 == 0)) {\n                  piVar10 = (int *)0x1;\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n                else {\n                  if (piVar19 == (int *)0x0) {\n                    (**(code **)(pcVar23 + 0x35330))(iVar8);\n                  }\n                  else {\n                    *piVar19 = iVar8;\n                  }\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  iVar4 = (**(code **)(pcVar23 + 0x35ae4))\n                                    (iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4);\n                  piVar10 = (int *)(uint)(iVar4 == 0);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n              }\n              goto LAB_00043f04;\n            }\n          }\n          piVar10 = (int *)0x0;\n          (**(code **)(pcVar23 + 0x35acc))(iVar4);\n        }" { (expression_statement "iVar18 = FUN_00040db0(iVar4,auStack_184);" (assignment_expression "iVar18 = FUN_00040db0(iVar4,auStack_184)" identifier = (call_expression "FUN_00040db0(iVar4,auStack_184)" identifier (argument_list "(iVar4,auStack_184)" ( identifier , identifier )))) ;) (if_statement "if ((iVar18 != 0) &&\n             (((iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4214), iVar18 == 0\n               || (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                      (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c),\n                  iVar18 == 0)) && (iVar18 = FUN_00040e74(iVar4), iVar18 != 0)))) {\n            (**(code **)(pcVar23 + 0x35330))(iVar18);\n            iVar18 = FUN_00040db0(iVar4,auStack_184);\n            if ((iVar18 != 0) &&\n               (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4244), iVar18 == 0))\n            {\n              iVar18 = FUN_00040e74(iVar4);\n              if (iVar18 == 0) {\n                (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                piVar10 = (int *)0x0;\n              }\n              else {\n                iVar8 = FUN_00040db0(iVar4,auStack_184);\n                if (((iVar8 == 0) ||\n                    (iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0)) || (iVar8 = FUN_00040e74(iVar4), iVar8 == 0)) {\n                  piVar10 = (int *)0x1;\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n                else {\n                  if (piVar19 == (int *)0x0) {\n                    (**(code **)(pcVar23 + 0x35330))(iVar8);\n                  }\n                  else {\n                    *piVar19 = iVar8;\n                  }\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  iVar4 = (**(code **)(pcVar23 + 0x35ae4))\n                                    (iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4);\n                  piVar10 = (int *)(uint)(iVar4 == 0);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n              }\n              goto LAB_00043f04;\n            }\n          }" if (parenthesized_expression "((iVar18 != 0) &&\n             (((iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4214), iVar18 == 0\n               || (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                      (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c),\n                  iVar18 == 0)) && (iVar18 = FUN_00040e74(iVar4), iVar18 != 0))))" ( (binary_expression "(iVar18 != 0) &&\n             (((iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4214), iVar18 == 0\n               || (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                      (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c),\n                  iVar18 == 0)) && (iVar18 = FUN_00040e74(iVar4), iVar18 != 0)))" (parenthesized_expression "(iVar18 != 0)" ( (binary_expression "iVar18 != 0" identifier != number_literal) )) && (parenthesized_expression "(((iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4214), iVar18 == 0\n               || (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                      (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c),\n                  iVar18 == 0)) && (iVar18 = FUN_00040e74(iVar4), iVar18 != 0)))" ( (parenthesized_expression "((iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4214), iVar18 == 0\n               || (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                      (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c),\n                  iVar18 == 0)) && (iVar18 = FUN_00040e74(iVar4), iVar18 != 0))" ( (binary_expression "(iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4214), iVar18 == 0\n               || (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                      (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c),\n                  iVar18 == 0)) && (iVar18 = FUN_00040e74(iVar4), iVar18 != 0)" (parenthesized_expression "(iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4214), iVar18 == 0\n               || (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                      (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c),\n                  iVar18 == 0))" ( (comma_expression "iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4214), iVar18 == 0\n               || (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                      (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c),\n                  iVar18 == 0)" (assignment_expression "iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4214)" identifier = (call_expression "(**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4214)" (parenthesized_expression "(**(code **)(pcVar23 + 0x35ae4))" ( (pointer_expression "**(code **)(pcVar23 + 0x35ae4)" * (pointer_expression "*(code **)(pcVar23 + 0x35ae4)" * (cast_expression "(code **)(pcVar23 + 0x35ae4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x35ae4)" ( (binary_expression "pcVar23 + 0x35ae4" identifier + number_literal) ))))) )) (argument_list "(auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4214)" ( identifier , (binary_expression "*(int *)(pcVar23 + 0x352e8) + 0x4214" (pointer_expression "*(int *)(pcVar23 + 0x352e8)" * (cast_expression "(int *)(pcVar23 + 0x352e8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar23 + 0x352e8)" ( (binary_expression "pcVar23 + 0x352e8" identifier + number_literal) )))) + number_literal) )))) , (binary_expression "iVar18 == 0\n               || (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                      (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c),\n                  iVar18 == 0)" (binary_expression "iVar18 == 0" identifier == number_literal) || (parenthesized_expression "(iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                      (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c),\n                  iVar18 == 0)" ( (comma_expression "iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                      (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c),\n                  iVar18 == 0" (assignment_expression "iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                      (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c)" identifier = (call_expression "(**(code **)(pcVar23 + 0x35ae4))\n                                      (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c)" (parenthesized_expression "(**(code **)(pcVar23 + 0x35ae4))" ( (pointer_expression "**(code **)(pcVar23 + 0x35ae4)" * (pointer_expression "*(code **)(pcVar23 + 0x35ae4)" * (cast_expression "(code **)(pcVar23 + 0x35ae4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x35ae4)" ( (binary_expression "pcVar23 + 0x35ae4" identifier + number_literal) ))))) )) (argument_list "(auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c)" ( identifier , (binary_expression "*(int *)(pcVar23 + 0x352e8) + 0x422c" (pointer_expression "*(int *)(pcVar23 + 0x352e8)" * (cast_expression "(int *)(pcVar23 + 0x352e8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar23 + 0x352e8)" ( (binary_expression "pcVar23 + 0x352e8" identifier + number_literal) )))) + number_literal) )))) , (binary_expression "iVar18 == 0" identifier == number_literal)) )))) )) && (parenthesized_expression "(iVar18 = FUN_00040e74(iVar4), iVar18 != 0)" ( (comma_expression "iVar18 = FUN_00040e74(iVar4), iVar18 != 0" (assignment_expression "iVar18 = FUN_00040e74(iVar4)" identifier = (call_expression "FUN_00040e74(iVar4)" identifier (argument_list "(iVar4)" ( identifier )))) , (binary_expression "iVar18 != 0" identifier != number_literal)) ))) )) ))) )) (compound_statement "{\n            (**(code **)(pcVar23 + 0x35330))(iVar18);\n            iVar18 = FUN_00040db0(iVar4,auStack_184);\n            if ((iVar18 != 0) &&\n               (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4244), iVar18 == 0))\n            {\n              iVar18 = FUN_00040e74(iVar4);\n              if (iVar18 == 0) {\n                (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                piVar10 = (int *)0x0;\n              }\n              else {\n                iVar8 = FUN_00040db0(iVar4,auStack_184);\n                if (((iVar8 == 0) ||\n                    (iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0)) || (iVar8 = FUN_00040e74(iVar4), iVar8 == 0)) {\n                  piVar10 = (int *)0x1;\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n                else {\n                  if (piVar19 == (int *)0x0) {\n                    (**(code **)(pcVar23 + 0x35330))(iVar8);\n                  }\n                  else {\n                    *piVar19 = iVar8;\n                  }\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  iVar4 = (**(code **)(pcVar23 + 0x35ae4))\n                                    (iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4);\n                  piVar10 = (int *)(uint)(iVar4 == 0);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n              }\n              goto LAB_00043f04;\n            }\n          }" { (expression_statement "(**(code **)(pcVar23 + 0x35330))(iVar18);" (call_expression "(**(code **)(pcVar23 + 0x35330))(iVar18)" (parenthesized_expression "(**(code **)(pcVar23 + 0x35330))" ( (pointer_expression "**(code **)(pcVar23 + 0x35330)" * (pointer_expression "*(code **)(pcVar23 + 0x35330)" * (cast_expression "(code **)(pcVar23 + 0x35330)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x35330)" ( (binary_expression "pcVar23 + 0x35330" identifier + number_literal) ))))) )) (argument_list "(iVar18)" ( identifier ))) ;) (expression_statement "iVar18 = FUN_00040db0(iVar4,auStack_184);" (assignment_expression "iVar18 = FUN_00040db0(iVar4,auStack_184)" identifier = (call_expression "FUN_00040db0(iVar4,auStack_184)" identifier (argument_list "(iVar4,auStack_184)" ( identifier , identifier )))) ;) (if_statement "if ((iVar18 != 0) &&\n               (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4244), iVar18 == 0))\n            {\n              iVar18 = FUN_00040e74(iVar4);\n              if (iVar18 == 0) {\n                (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                piVar10 = (int *)0x0;\n              }\n              else {\n                iVar8 = FUN_00040db0(iVar4,auStack_184);\n                if (((iVar8 == 0) ||\n                    (iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0)) || (iVar8 = FUN_00040e74(iVar4), iVar8 == 0)) {\n                  piVar10 = (int *)0x1;\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n                else {\n                  if (piVar19 == (int *)0x0) {\n                    (**(code **)(pcVar23 + 0x35330))(iVar8);\n                  }\n                  else {\n                    *piVar19 = iVar8;\n                  }\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  iVar4 = (**(code **)(pcVar23 + 0x35ae4))\n                                    (iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4);\n                  piVar10 = (int *)(uint)(iVar4 == 0);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n              }\n              goto LAB_00043f04;\n            }" if (parenthesized_expression "((iVar18 != 0) &&\n               (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4244), iVar18 == 0))" ( (binary_expression "(iVar18 != 0) &&\n               (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4244), iVar18 == 0)" (parenthesized_expression "(iVar18 != 0)" ( (binary_expression "iVar18 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4244), iVar18 == 0)" ( (comma_expression "iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4244), iVar18 == 0" (assignment_expression "iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4244)" identifier = (call_expression "(**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4244)" (parenthesized_expression "(**(code **)(pcVar23 + 0x35ae4))" ( (pointer_expression "**(code **)(pcVar23 + 0x35ae4)" * (pointer_expression "*(code **)(pcVar23 + 0x35ae4)" * (cast_expression "(code **)(pcVar23 + 0x35ae4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x35ae4)" ( (binary_expression "pcVar23 + 0x35ae4" identifier + number_literal) ))))) )) (argument_list "(auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4244)" ( identifier , (binary_expression "*(int *)(pcVar23 + 0x352e8) + 0x4244" (pointer_expression "*(int *)(pcVar23 + 0x352e8)" * (cast_expression "(int *)(pcVar23 + 0x352e8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar23 + 0x352e8)" ( (binary_expression "pcVar23 + 0x352e8" identifier + number_literal) )))) + number_literal) )))) , (binary_expression "iVar18 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n              iVar18 = FUN_00040e74(iVar4);\n              if (iVar18 == 0) {\n                (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                piVar10 = (int *)0x0;\n              }\n              else {\n                iVar8 = FUN_00040db0(iVar4,auStack_184);\n                if (((iVar8 == 0) ||\n                    (iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0)) || (iVar8 = FUN_00040e74(iVar4), iVar8 == 0)) {\n                  piVar10 = (int *)0x1;\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n                else {\n                  if (piVar19 == (int *)0x0) {\n                    (**(code **)(pcVar23 + 0x35330))(iVar8);\n                  }\n                  else {\n                    *piVar19 = iVar8;\n                  }\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  iVar4 = (**(code **)(pcVar23 + 0x35ae4))\n                                    (iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4);\n                  piVar10 = (int *)(uint)(iVar4 == 0);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n              }\n              goto LAB_00043f04;\n            }" { (expression_statement "iVar18 = FUN_00040e74(iVar4);" (assignment_expression "iVar18 = FUN_00040e74(iVar4)" identifier = (call_expression "FUN_00040e74(iVar4)" identifier (argument_list "(iVar4)" ( identifier )))) ;) (if_statement "if (iVar18 == 0) {\n                (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                piVar10 = (int *)0x0;\n              }\n              else {\n                iVar8 = FUN_00040db0(iVar4,auStack_184);\n                if (((iVar8 == 0) ||\n                    (iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0)) || (iVar8 = FUN_00040e74(iVar4), iVar8 == 0)) {\n                  piVar10 = (int *)0x1;\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n                else {\n                  if (piVar19 == (int *)0x0) {\n                    (**(code **)(pcVar23 + 0x35330))(iVar8);\n                  }\n                  else {\n                    *piVar19 = iVar8;\n                  }\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  iVar4 = (**(code **)(pcVar23 + 0x35ae4))\n                                    (iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4);\n                  piVar10 = (int *)(uint)(iVar4 == 0);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n              }" if (parenthesized_expression "(iVar18 == 0)" ( (binary_expression "iVar18 == 0" identifier == number_literal) )) (compound_statement "{\n                (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                piVar10 = (int *)0x0;\n              }" { (expression_statement "(**(code **)(pcVar23 + 0x35acc))(iVar4);" (call_expression "(**(code **)(pcVar23 + 0x35acc))(iVar4)" (parenthesized_expression "(**(code **)(pcVar23 + 0x35acc))" ( (pointer_expression "**(code **)(pcVar23 + 0x35acc)" * (pointer_expression "*(code **)(pcVar23 + 0x35acc)" * (cast_expression "(code **)(pcVar23 + 0x35acc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x35acc)" ( (binary_expression "pcVar23 + 0x35acc" identifier + number_literal) ))))) )) (argument_list "(iVar4)" ( identifier ))) ;) (expression_statement "piVar10 = (int *)0x0;" (assignment_expression "piVar10 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n                iVar8 = FUN_00040db0(iVar4,auStack_184);\n                if (((iVar8 == 0) ||\n                    (iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0)) || (iVar8 = FUN_00040e74(iVar4), iVar8 == 0)) {\n                  piVar10 = (int *)0x1;\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n                else {\n                  if (piVar19 == (int *)0x0) {\n                    (**(code **)(pcVar23 + 0x35330))(iVar8);\n                  }\n                  else {\n                    *piVar19 = iVar8;\n                  }\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  iVar4 = (**(code **)(pcVar23 + 0x35ae4))\n                                    (iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4);\n                  piVar10 = (int *)(uint)(iVar4 == 0);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n              }" else (compound_statement "{\n                iVar8 = FUN_00040db0(iVar4,auStack_184);\n                if (((iVar8 == 0) ||\n                    (iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0)) || (iVar8 = FUN_00040e74(iVar4), iVar8 == 0)) {\n                  piVar10 = (int *)0x1;\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n                else {\n                  if (piVar19 == (int *)0x0) {\n                    (**(code **)(pcVar23 + 0x35330))(iVar8);\n                  }\n                  else {\n                    *piVar19 = iVar8;\n                  }\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  iVar4 = (**(code **)(pcVar23 + 0x35ae4))\n                                    (iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4);\n                  piVar10 = (int *)(uint)(iVar4 == 0);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n              }" { (expression_statement "iVar8 = FUN_00040db0(iVar4,auStack_184);" (assignment_expression "iVar8 = FUN_00040db0(iVar4,auStack_184)" identifier = (call_expression "FUN_00040db0(iVar4,auStack_184)" identifier (argument_list "(iVar4,auStack_184)" ( identifier , identifier )))) ;) (if_statement "if (((iVar8 == 0) ||\n                    (iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0)) || (iVar8 = FUN_00040e74(iVar4), iVar8 == 0)) {\n                  piVar10 = (int *)0x1;\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n                else {\n                  if (piVar19 == (int *)0x0) {\n                    (**(code **)(pcVar23 + 0x35330))(iVar8);\n                  }\n                  else {\n                    *piVar19 = iVar8;\n                  }\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  iVar4 = (**(code **)(pcVar23 + 0x35ae4))\n                                    (iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4);\n                  piVar10 = (int *)(uint)(iVar4 == 0);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }" if (parenthesized_expression "(((iVar8 == 0) ||\n                    (iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0)) || (iVar8 = FUN_00040e74(iVar4), iVar8 == 0))" ( (binary_expression "((iVar8 == 0) ||\n                    (iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0)) || (iVar8 = FUN_00040e74(iVar4), iVar8 == 0)" (parenthesized_expression "((iVar8 == 0) ||\n                    (iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0))" ( (binary_expression "(iVar8 == 0) ||\n                    (iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0)" (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0)" ( (comma_expression "iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0" (assignment_expression "iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258)" identifier = (call_expression "(**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258)" (parenthesized_expression "(**(code **)(pcVar23 + 0x35ae4))" ( (pointer_expression "**(code **)(pcVar23 + 0x35ae4)" * (pointer_expression "*(code **)(pcVar23 + 0x35ae4)" * (cast_expression "(code **)(pcVar23 + 0x35ae4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x35ae4)" ( (binary_expression "pcVar23 + 0x35ae4" identifier + number_literal) ))))) )) (argument_list "(auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258)" ( identifier , (binary_expression "*(int *)(pcVar23 + 0x352e8) + 0x4258" (pointer_expression "*(int *)(pcVar23 + 0x352e8)" * (cast_expression "(int *)(pcVar23 + 0x352e8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar23 + 0x352e8)" ( (binary_expression "pcVar23 + 0x352e8" identifier + number_literal) )))) + number_literal) )))) , (binary_expression "iVar8 != 0" identifier != number_literal)) ))) )) || (parenthesized_expression "(iVar8 = FUN_00040e74(iVar4), iVar8 == 0)" ( (comma_expression "iVar8 = FUN_00040e74(iVar4), iVar8 == 0" (assignment_expression "iVar8 = FUN_00040e74(iVar4)" identifier = (call_expression "FUN_00040e74(iVar4)" identifier (argument_list "(iVar4)" ( identifier )))) , (binary_expression "iVar8 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n                  piVar10 = (int *)0x1;\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }" { (expression_statement "piVar10 = (int *)0x1;" (assignment_expression "piVar10 = (int *)0x1" identifier = (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(pcVar23 + 0x35acc))(iVar4);" (call_expression "(**(code **)(pcVar23 + 0x35acc))(iVar4)" (parenthesized_expression "(**(code **)(pcVar23 + 0x35acc))" ( (pointer_expression "**(code **)(pcVar23 + 0x35acc)" * (pointer_expression "*(code **)(pcVar23 + 0x35acc)" * (cast_expression "(code **)(pcVar23 + 0x35acc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x35acc)" ( (binary_expression "pcVar23 + 0x35acc" identifier + number_literal) ))))) )) (argument_list "(iVar4)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar23 + 0x35330))(iVar18);" (call_expression "(**(code **)(pcVar23 + 0x35330))(iVar18)" (parenthesized_expression "(**(code **)(pcVar23 + 0x35330))" ( (pointer_expression "**(code **)(pcVar23 + 0x35330)" * (pointer_expression "*(code **)(pcVar23 + 0x35330)" * (cast_expression "(code **)(pcVar23 + 0x35330)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x35330)" ( (binary_expression "pcVar23 + 0x35330" identifier + number_literal) ))))) )) (argument_list "(iVar18)" ( identifier ))) ;) }) (else_clause "else {\n                  if (piVar19 == (int *)0x0) {\n                    (**(code **)(pcVar23 + 0x35330))(iVar8);\n                  }\n                  else {\n                    *piVar19 = iVar8;\n                  }\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  iVar4 = (**(code **)(pcVar23 + 0x35ae4))\n                                    (iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4);\n                  piVar10 = (int *)(uint)(iVar4 == 0);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }" else (compound_statement "{\n                  if (piVar19 == (int *)0x0) {\n                    (**(code **)(pcVar23 + 0x35330))(iVar8);\n                  }\n                  else {\n                    *piVar19 = iVar8;\n                  }\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  iVar4 = (**(code **)(pcVar23 + 0x35ae4))\n                                    (iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4);\n                  piVar10 = (int *)(uint)(iVar4 == 0);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }" { (if_statement "if (piVar19 == (int *)0x0) {\n                    (**(code **)(pcVar23 + 0x35330))(iVar8);\n                  }\n                  else {\n                    *piVar19 = iVar8;\n                  }" if (parenthesized_expression "(piVar19 == (int *)0x0)" ( (binary_expression "piVar19 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    (**(code **)(pcVar23 + 0x35330))(iVar8);\n                  }" { (expression_statement "(**(code **)(pcVar23 + 0x35330))(iVar8);" (call_expression "(**(code **)(pcVar23 + 0x35330))(iVar8)" (parenthesized_expression "(**(code **)(pcVar23 + 0x35330))" ( (pointer_expression "**(code **)(pcVar23 + 0x35330)" * (pointer_expression "*(code **)(pcVar23 + 0x35330)" * (cast_expression "(code **)(pcVar23 + 0x35330)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x35330)" ( (binary_expression "pcVar23 + 0x35330" identifier + number_literal) ))))) )) (argument_list "(iVar8)" ( identifier ))) ;) }) (else_clause "else {\n                    *piVar19 = iVar8;\n                  }" else (compound_statement "{\n                    *piVar19 = iVar8;\n                  }" { (expression_statement "*piVar19 = iVar8;" (assignment_expression "*piVar19 = iVar8" (pointer_expression "*piVar19" * identifier) = identifier) ;) }))) (expression_statement "(**(code **)(pcVar23 + 0x35acc))(iVar4);" (call_expression "(**(code **)(pcVar23 + 0x35acc))(iVar4)" (parenthesized_expression "(**(code **)(pcVar23 + 0x35acc))" ( (pointer_expression "**(code **)(pcVar23 + 0x35acc)" * (pointer_expression "*(code **)(pcVar23 + 0x35acc)" * (cast_expression "(code **)(pcVar23 + 0x35acc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x35acc)" ( (binary_expression "pcVar23 + 0x35acc" identifier + number_literal) ))))) )) (argument_list "(iVar4)" ( identifier ))) ;) (expression_statement "iVar4 = (**(code **)(pcVar23 + 0x35ae4))\n                                    (iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4);" (assignment_expression "iVar4 = (**(code **)(pcVar23 + 0x35ae4))\n                                    (iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4)" identifier = (call_expression "(**(code **)(pcVar23 + 0x35ae4))\n                                    (iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4)" (parenthesized_expression "(**(code **)(pcVar23 + 0x35ae4))" ( (pointer_expression "**(code **)(pcVar23 + 0x35ae4)" * (pointer_expression "*(code **)(pcVar23 + 0x35ae4)" * (cast_expression "(code **)(pcVar23 + 0x35ae4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x35ae4)" ( (binary_expression "pcVar23 + 0x35ae4" identifier + number_literal) ))))) )) (argument_list "(iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4)" ( identifier , (binary_expression "*(int *)(pcVar23 + 0x352e8) + 0x7c4" (pointer_expression "*(int *)(pcVar23 + 0x352e8)" * (cast_expression "(int *)(pcVar23 + 0x352e8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar23 + 0x352e8)" ( (binary_expression "pcVar23 + 0x352e8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "piVar10 = (int *)(uint)(iVar4 == 0);" (assignment_expression "piVar10 = (int *)(uint)(iVar4 == 0)" identifier = (cast_expression "(int *)(uint)(iVar4 == 0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(iVar4 == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) ))))) ;) (expression_statement "(**(code **)(pcVar23 + 0x35330))(iVar18);" (call_expression "(**(code **)(pcVar23 + 0x35330))(iVar18)" (parenthesized_expression "(**(code **)(pcVar23 + 0x35330))" ( (pointer_expression "**(code **)(pcVar23 + 0x35330)" * (pointer_expression "*(code **)(pcVar23 + 0x35330)" * (cast_expression "(code **)(pcVar23 + 0x35330)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x35330)" ( (binary_expression "pcVar23 + 0x35330" identifier + number_literal) ))))) )) (argument_list "(iVar18)" ( identifier ))) ;) }))) }))) (goto_statement "goto LAB_00043f04;" goto statement_identifier ;) })) })) (expression_statement "piVar10 = (int *)0x0;" (assignment_expression "piVar10 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(pcVar23 + 0x35acc))(iVar4);" (call_expression "(**(code **)(pcVar23 + 0x35acc))(iVar4)" (parenthesized_expression "(**(code **)(pcVar23 + 0x35acc))" ( (pointer_expression "**(code **)(pcVar23 + 0x35acc)" * (pointer_expression "*(code **)(pcVar23 + 0x35acc)" * (cast_expression "(code **)(pcVar23 + 0x35acc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x35acc)" ( (binary_expression "pcVar23 + 0x35acc" identifier + number_literal) ))))) )) (argument_list "(iVar4)" ( identifier ))) ;) }))) (labeled_statement "LAB_00043f04:\n        if (iStack_15c != *piVar20) {\n          (**(code **)(pcVar23 + 0x35a30))();\n          return (int *)((iStack_15c + 0x2f) / 0x30);\n        }" statement_identifier : (if_statement "if (iStack_15c != *piVar20) {\n          (**(code **)(pcVar23 + 0x35a30))();\n          return (int *)((iStack_15c + 0x2f) / 0x30);\n        }" if (parenthesized_expression "(iStack_15c != *piVar20)" ( (binary_expression "iStack_15c != *piVar20" identifier != (pointer_expression "*piVar20" * identifier)) )) (compound_statement "{\n          (**(code **)(pcVar23 + 0x35a30))();\n          return (int *)((iStack_15c + 0x2f) / 0x30);\n        }" { (expression_statement "(**(code **)(pcVar23 + 0x35a30))();" (call_expression "(**(code **)(pcVar23 + 0x35a30))()" (parenthesized_expression "(**(code **)(pcVar23 + 0x35a30))" ( (pointer_expression "**(code **)(pcVar23 + 0x35a30)" * (pointer_expression "*(code **)(pcVar23 + 0x35a30)" * (cast_expression "(code **)(pcVar23 + 0x35a30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x35a30)" ( (binary_expression "pcVar23 + 0x35a30" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (return_statement "return (int *)((iStack_15c + 0x2f) / 0x30);" return (cast_expression "(int *)((iStack_15c + 0x2f) / 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((iStack_15c + 0x2f) / 0x30)" ( (binary_expression "(iStack_15c + 0x2f) / 0x30" (parenthesized_expression "(iStack_15c + 0x2f)" ( (binary_expression "iStack_15c + 0x2f" identifier + number_literal) )) / number_literal) ))) ;) }))) (return_statement "return piVar10;" return identifier ;) })) (expression_statement "iVar8 = (*(code *)piStack_a0[-0x1f66])(pcVar15,(int)piVar3 + iVar18);" (assignment_expression "iVar8 = (*(code *)piStack_a0[-0x1f66])(pcVar15,(int)piVar3 + iVar18)" identifier = (call_expression "(*(code *)piStack_a0[-0x1f66])(pcVar15,(int)piVar3 + iVar18)" (parenthesized_expression "(*(code *)piStack_a0[-0x1f66])" ( (pointer_expression "*(code *)piStack_a0[-0x1f66]" * (cast_expression "(code *)piStack_a0[-0x1f66]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piStack_a0[-0x1f66]" identifier [ number_literal ]))) )) (argument_list "(pcVar15,(int)piVar3 + iVar18)" ( identifier , (binary_expression "(int)piVar3 + iVar18" (cast_expression "(int)piVar3" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "iVar18 = iVar18 + iVar8;" (assignment_expression "iVar18 = iVar18 + iVar8" identifier = (binary_expression "iVar18 + iVar8" identifier + identifier)) ;) (expression_statement "pcVar15 = pcVar15 + 4;" (assignment_expression "pcVar15 = pcVar15 + 4" identifier = (binary_expression "pcVar15 + 4" identifier + number_literal)) ;) })) (if_statement "if (*pcVar15 == '\0') {\n      iVar4 = (*(code *)piStack_a0[-0x1de8])(uVar2);\n      if (((iVar4 + 3 < iVar18) && (iVar4 == *piVar3)) &&\n         (iVar4 = (*(code *)piStack_a0[-0x1dfd])(piVar3 + 1,uVar2,iVar4), iVar4 == 0)) {\n        if (piVar10 != (int *)0x0) {\n          iVar4 = (*(code *)piStack_a0[-0x1fdd])(uVar2);\n          *piVar10 = iVar4;\n        }\n        if (piVar20 != (int *)0x0) {\n          *piVar20 = iVar18;\n        }\n        if (piVar13 == (int *)0x0) {\n          (*(code *)piStack_a0[-0x1fe0])(puVar6);\n        }\n        else {\n          *piVar13 = (int)puVar6;\n        }\n        (*(code *)piStack_a0[-0x1fe0])(uVar2);\n        return piVar3;\n      }\n      iVar4 = piStack_a0[-0x1ff2] + 0x441c;\n    }\n    else {\n      iVar4 = piStack_a0[-0x1ff2] + 0x4454;\n    }" if (parenthesized_expression "(*pcVar15 == '\0')" ( (binary_expression "*pcVar15 == '\0'" (pointer_expression "*pcVar15" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      iVar4 = (*(code *)piStack_a0[-0x1de8])(uVar2);\n      if (((iVar4 + 3 < iVar18) && (iVar4 == *piVar3)) &&\n         (iVar4 = (*(code *)piStack_a0[-0x1dfd])(piVar3 + 1,uVar2,iVar4), iVar4 == 0)) {\n        if (piVar10 != (int *)0x0) {\n          iVar4 = (*(code *)piStack_a0[-0x1fdd])(uVar2);\n          *piVar10 = iVar4;\n        }\n        if (piVar20 != (int *)0x0) {\n          *piVar20 = iVar18;\n        }\n        if (piVar13 == (int *)0x0) {\n          (*(code *)piStack_a0[-0x1fe0])(puVar6);\n        }\n        else {\n          *piVar13 = (int)puVar6;\n        }\n        (*(code *)piStack_a0[-0x1fe0])(uVar2);\n        return piVar3;\n      }\n      iVar4 = piStack_a0[-0x1ff2] + 0x441c;\n    }" { (expression_statement "iVar4 = (*(code *)piStack_a0[-0x1de8])(uVar2);" (assignment_expression "iVar4 = (*(code *)piStack_a0[-0x1de8])(uVar2)" identifier = (call_expression "(*(code *)piStack_a0[-0x1de8])(uVar2)" (parenthesized_expression "(*(code *)piStack_a0[-0x1de8])" ( (pointer_expression "*(code *)piStack_a0[-0x1de8]" * (cast_expression "(code *)piStack_a0[-0x1de8]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piStack_a0[-0x1de8]" identifier [ number_literal ]))) )) (argument_list "(uVar2)" ( identifier )))) ;) (if_statement "if (((iVar4 + 3 < iVar18) && (iVar4 == *piVar3)) &&\n         (iVar4 = (*(code *)piStack_a0[-0x1dfd])(piVar3 + 1,uVar2,iVar4), iVar4 == 0)) {\n        if (piVar10 != (int *)0x0) {\n          iVar4 = (*(code *)piStack_a0[-0x1fdd])(uVar2);\n          *piVar10 = iVar4;\n        }\n        if (piVar20 != (int *)0x0) {\n          *piVar20 = iVar18;\n        }\n        if (piVar13 == (int *)0x0) {\n          (*(code *)piStack_a0[-0x1fe0])(puVar6);\n        }\n        else {\n          *piVar13 = (int)puVar6;\n        }\n        (*(code *)piStack_a0[-0x1fe0])(uVar2);\n        return piVar3;\n      }" if (parenthesized_expression "(((iVar4 + 3 < iVar18) && (iVar4 == *piVar3)) &&\n         (iVar4 = (*(code *)piStack_a0[-0x1dfd])(piVar3 + 1,uVar2,iVar4), iVar4 == 0))" ( (binary_expression "((iVar4 + 3 < iVar18) && (iVar4 == *piVar3)) &&\n         (iVar4 = (*(code *)piStack_a0[-0x1dfd])(piVar3 + 1,uVar2,iVar4), iVar4 == 0)" (parenthesized_expression "((iVar4 + 3 < iVar18) && (iVar4 == *piVar3))" ( (binary_expression "(iVar4 + 3 < iVar18) && (iVar4 == *piVar3)" (parenthesized_expression "(iVar4 + 3 < iVar18)" ( (binary_expression "iVar4 + 3 < iVar18" (binary_expression "iVar4 + 3" identifier + number_literal) < identifier) )) && (parenthesized_expression "(iVar4 == *piVar3)" ( (binary_expression "iVar4 == *piVar3" identifier == (pointer_expression "*piVar3" * identifier)) ))) )) && (parenthesized_expression "(iVar4 = (*(code *)piStack_a0[-0x1dfd])(piVar3 + 1,uVar2,iVar4), iVar4 == 0)" ( (comma_expression "iVar4 = (*(code *)piStack_a0[-0x1dfd])(piVar3 + 1,uVar2,iVar4), iVar4 == 0" (assignment_expression "iVar4 = (*(code *)piStack_a0[-0x1dfd])(piVar3 + 1,uVar2,iVar4)" identifier = (call_expression "(*(code *)piStack_a0[-0x1dfd])(piVar3 + 1,uVar2,iVar4)" (parenthesized_expression "(*(code *)piStack_a0[-0x1dfd])" ( (pointer_expression "*(code *)piStack_a0[-0x1dfd]" * (cast_expression "(code *)piStack_a0[-0x1dfd]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piStack_a0[-0x1dfd]" identifier [ number_literal ]))) )) (argument_list "(piVar3 + 1,uVar2,iVar4)" ( (binary_expression "piVar3 + 1" identifier + number_literal) , identifier , identifier )))) , (binary_expression "iVar4 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n        if (piVar10 != (int *)0x0) {\n          iVar4 = (*(code *)piStack_a0[-0x1fdd])(uVar2);\n          *piVar10 = iVar4;\n        }\n        if (piVar20 != (int *)0x0) {\n          *piVar20 = iVar18;\n        }\n        if (piVar13 == (int *)0x0) {\n          (*(code *)piStack_a0[-0x1fe0])(puVar6);\n        }\n        else {\n          *piVar13 = (int)puVar6;\n        }\n        (*(code *)piStack_a0[-0x1fe0])(uVar2);\n        return piVar3;\n      }" { (if_statement "if (piVar10 != (int *)0x0) {\n          iVar4 = (*(code *)piStack_a0[-0x1fdd])(uVar2);\n          *piVar10 = iVar4;\n        }" if (parenthesized_expression "(piVar10 != (int *)0x0)" ( (binary_expression "piVar10 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          iVar4 = (*(code *)piStack_a0[-0x1fdd])(uVar2);\n          *piVar10 = iVar4;\n        }" { (expression_statement "iVar4 = (*(code *)piStack_a0[-0x1fdd])(uVar2);" (assignment_expression "iVar4 = (*(code *)piStack_a0[-0x1fdd])(uVar2)" identifier = (call_expression "(*(code *)piStack_a0[-0x1fdd])(uVar2)" (parenthesized_expression "(*(code *)piStack_a0[-0x1fdd])" ( (pointer_expression "*(code *)piStack_a0[-0x1fdd]" * (cast_expression "(code *)piStack_a0[-0x1fdd]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piStack_a0[-0x1fdd]" identifier [ number_literal ]))) )) (argument_list "(uVar2)" ( identifier )))) ;) (expression_statement "*piVar10 = iVar4;" (assignment_expression "*piVar10 = iVar4" (pointer_expression "*piVar10" * identifier) = identifier) ;) })) (if_statement "if (piVar20 != (int *)0x0) {\n          *piVar20 = iVar18;\n        }" 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)) )) (compound_statement "{\n          *piVar20 = iVar18;\n        }" { (expression_statement "*piVar20 = iVar18;" (assignment_expression "*piVar20 = iVar18" (pointer_expression "*piVar20" * identifier) = identifier) ;) })) (if_statement "if (piVar13 == (int *)0x0) {\n          (*(code *)piStack_a0[-0x1fe0])(puVar6);\n        }\n        else {\n          *piVar13 = (int)puVar6;\n        }" if (parenthesized_expression "(piVar13 == (int *)0x0)" ( (binary_expression "piVar13 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          (*(code *)piStack_a0[-0x1fe0])(puVar6);\n        }" { (expression_statement "(*(code *)piStack_a0[-0x1fe0])(puVar6);" (call_expression "(*(code *)piStack_a0[-0x1fe0])(puVar6)" (parenthesized_expression "(*(code *)piStack_a0[-0x1fe0])" ( (pointer_expression "*(code *)piStack_a0[-0x1fe0]" * (cast_expression "(code *)piStack_a0[-0x1fe0]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piStack_a0[-0x1fe0]" identifier [ number_literal ]))) )) (argument_list "(puVar6)" ( identifier ))) ;) }) (else_clause "else {\n          *piVar13 = (int)puVar6;\n        }" else (compound_statement "{\n          *piVar13 = (int)puVar6;\n        }" { (expression_statement "*piVar13 = (int)puVar6;" (assignment_expression "*piVar13 = (int)puVar6" (pointer_expression "*piVar13" * identifier) = (cast_expression "(int)puVar6" ( (type_descriptor "int" primitive_type) ) identifier)) ;) }))) (expression_statement "(*(code *)piStack_a0[-0x1fe0])(uVar2);" (call_expression "(*(code *)piStack_a0[-0x1fe0])(uVar2)" (parenthesized_expression "(*(code *)piStack_a0[-0x1fe0])" ( (pointer_expression "*(code *)piStack_a0[-0x1fe0]" * (cast_expression "(code *)piStack_a0[-0x1fe0]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piStack_a0[-0x1fe0]" identifier [ number_literal ]))) )) (argument_list "(uVar2)" ( identifier ))) ;) (return_statement "return piVar3;" return identifier ;) })) (expression_statement "iVar4 = piStack_a0[-0x1ff2] + 0x441c;" (assignment_expression "iVar4 = piStack_a0[-0x1ff2] + 0x441c" identifier = (binary_expression "piStack_a0[-0x1ff2] + 0x441c" (subscript_expression "piStack_a0[-0x1ff2]" identifier [ number_literal ]) + number_literal)) ;) }) (else_clause "else {\n      iVar4 = piStack_a0[-0x1ff2] + 0x4454;\n    }" else (compound_statement "{\n      iVar4 = piStack_a0[-0x1ff2] + 0x4454;\n    }" { (expression_statement "iVar4 = piStack_a0[-0x1ff2] + 0x4454;" (assignment_expression "iVar4 = piStack_a0[-0x1ff2] + 0x4454" identifier = (binary_expression "piStack_a0[-0x1ff2] + 0x4454" (subscript_expression "piStack_a0[-0x1ff2]" identifier [ number_literal ]) + number_literal)) ;) }))) }))) (expression_statement "(*(code *)piStack_a0[-0x1fe0])(uVar2);" (call_expression "(*(code *)piStack_a0[-0x1fe0])(uVar2)" (parenthesized_expression "(*(code *)piStack_a0[-0x1fe0])" ( (pointer_expression "*(code *)piStack_a0[-0x1fe0]" * (cast_expression "(code *)piStack_a0[-0x1fe0]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piStack_a0[-0x1fe0]" identifier [ number_literal ]))) )) (argument_list "(uVar2)" ( identifier ))) ;) (expression_statement "(*(code *)piStack_a0[-0x1fe0])(puVar6);" (call_expression "(*(code *)piStack_a0[-0x1fe0])(puVar6)" (parenthesized_expression "(*(code *)piStack_a0[-0x1fe0])" ( (pointer_expression "*(code *)piStack_a0[-0x1fe0]" * (cast_expression "(code *)piStack_a0[-0x1fe0]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piStack_a0[-0x1fe0]" identifier [ number_literal ]))) )) (argument_list "(puVar6)" ( identifier ))) ;) (expression_statement "(*(code *)piStack_a0[-0x1fe0])(piVar3);" (call_expression "(*(code *)piStack_a0[-0x1fe0])(piVar3)" (parenthesized_expression "(*(code *)piStack_a0[-0x1fe0])" ( (pointer_expression "*(code *)piStack_a0[-0x1fe0]" * (cast_expression "(code *)piStack_a0[-0x1fe0]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piStack_a0[-0x1fe0]" identifier [ number_literal ]))) )) (argument_list "(piVar3)" ( identifier ))) ;) (expression_statement "__gp_1 = iVar4;" (assignment_expression "__gp_1 = iVar4" identifier = identifier) ;) (return_statement "return (int *)0x0;" return (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) )))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * 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 (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) , (binary_expression (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) == (char_literal ' escape_sequence ')) )))) )) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (char_literal ' escape_sequence ')) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) })) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_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 *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) || (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))) <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (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)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) }))) (goto_statement goto statement_identifier ;) })) (break_statement break ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT != (char_literal ' escape_sequence '))) )) (compound_statement { (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) != LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) >> LIT) )) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , LIT ))))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) })) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )) (compound_statement { (return_statement return IDENT ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (argument_list ( IDENT , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (binary_expression IDENT + LIT) ))))) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) * LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (argument_list ( IDENT , LIT ))))) ;) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (argument_list ( IDENT , LIT , LIT )))) , (binary_expression IDENT == LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT <= (binary_expression IDENT + LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) })) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) , (binary_expression IDENT == LIT))) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT )))) , (binary_expression IDENT == LIT)) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT ))))) , (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_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 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 *)) ) LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT )))) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT == LIT))) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT , (pointer_expression & IDENT) ))))) , (comma_expression (assignment_expression IDENT = IDENT) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))))) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) })) }))) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , IDENT , IDENT ))))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (compound_statement { (return_statement return IDENT ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) , (binary_expression (binary_expression IDENT == LIT) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) , (binary_expression IDENT == LIT)) )))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) , (binary_expression IDENT != LIT)) ))) )) ))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) , (binary_expression IDENT != LIT)) ))) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT == LIT) ))))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) }))) }))) (goto_statement goto statement_identifier ;) })) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * IDENT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))) ;) (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) / LIT) ))) ;) }))) (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (argument_list ( IDENT , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) < IDENT) )) && (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (argument_list ( (binary_expression IDENT + LIT) , IDENT , IDENT )))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (argument_list ( IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (argument_list ( IDENT ))) ;) (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) }))) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (argument_list ( IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (argument_list ( IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) ;) })))
(function_definition "int * rfc4716_loadpub(undefined4 param_1,int *param_2,int *param_3,int *param_4,undefined4 *param_5)\n\n{\n  undefined *puVar1;\n  undefined4 uVar2;\n  int *piVar3;\n  int iVar4;\n  int *piVar5;\n  char cVar9;\n  undefined1 *puVar6;\n  uint uVar7;\n  int iVar8;\n  int *piVar10;\n  int *piVar11;\n  undefined4 *puVar12;\n  int *piVar13;\n  int *piVar14;\n  char *pcVar15;\n  int *piVar16;\n  undefined *puVar17;\n  int iVar18;\n  int *piVar19;\n  int *piVar20;\n  int *unaff_s4;\n  int *unaff_s5;\n  int *piVar21;\n  int *unaff_s6;\n  int *unaff_s7;\n  undefined *puVar22;\n  char *unaff_s8;\n  code *pcVar23;\n  code *pcVar24;\n  undefined1 auStack_184 [40];\n  int iStack_15c;\n  int *piStack_154;\n  int *piStack_150;\n  int *piStack_14c;\n  int *piStack_148;\n  undefined4 *puStack_144;\n  int *piStack_140;\n  int *piStack_13c;\n  int *piStack_138;\n  code *pcStack_134;\n  int *piStack_120;\n  code *pcStack_118;\n  code *pcStack_110;\n  code *pcStack_10c;\n  undefined4 uStack_108;\n  int aiStack_104 [10];\n  int iStack_dc;\n  char *pcStack_d8;\n  int iStack_d4;\n  int *piStack_d0;\n  int iStack_cc;\n  undefined1 *puStack_c8;\n  undefined4 uStack_c4;\n  int *piStack_c0;\n  int *piStack_bc;\n  int *piStack_b8;\n  code *pcStack_b4;\n  int *piStack_a0;\n  int *piStack_98;\n  undefined *puStack_94;\n  int *piStack_90;\n  undefined4 uStack_8c;\n  int *piStack_88;\n  int *piStack_84;\n  int *piStack_80;\n  int *piStack_7c;\n  char *pcStack_78;\n  code *pcStack_74;\n  int local_54;\n  int iStack_34;\n  char local_30 [4];\n  int local_2c;\n  \n  puVar22 = PTR___stack_chk_guard_00079930;\n  local_2c = *(int *)PTR___stack_chk_guard_00079930;\n  piVar10 = param_2;\n  piVar20 = param_3;\n  piVar13 = param_4;\n  uVar2 = (*(code *)PTR_fgetline_00079538)();\n  piVar3 = (int *)(*(code *)PTR_chomp_0007953c)(uVar2);\n  if (piVar3 != (int *)0x0) {\n    piVar10 = (int *)(PTR_s_j_000790a8 + 0x43cc);\n    iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar3);\n    if (iVar4 == 0) {\n      (*(code *)PTR_safefree_000790f0)(piVar3);\n      local_54 = 0;\n      puVar17 = PTR_s_j_000790a8 + 0x43ec;\n      piVar3 = (int *)(PTR_s_j_000790a8 + 0x4258);\n      unaff_s4 = (int *)(PTR_s_j_000790a8 + 0x43f0);\n      unaff_s7 = (int *)(PTR_s_j_000790a8 + 0x43f8);\n      while( true ) {\n        uVar2 = (*(code *)PTR_fgetline_00079538)(param_1);\n        piVar5 = (int *)(*(code *)PTR_chomp_0007953c)(uVar2);\n        if (piVar5 == (int *)0x0) break;\n        unaff_s8 = (char *)(*(code *)PTR_strstr_00079944)(piVar5,puVar17);\n        puVar1 = PTR_strcmp_000798a4;\n        if (unaff_s8 == (char *)0x0) {\n          piVar10 = (int *)0x1;\n          unaff_s7 = &iStack_34;\n          piVar19 = (int *)(*(code *)PTR_safemalloc_000790d0)(0x1000);\n          unaff_s8 = local_30;\n          iVar4 = 0;\n          unaff_s4 = (int *)0x0;\n          iVar18 = 0x1000;\n          goto LAB_0004340c;\n        }\n        *unaff_s8 = '\0';\n        piVar10 = piVar3;\n        iVar4 = (*(code *)puVar1)(piVar5);\n        if (iVar4 == 0) {\n          unaff_s5 = (int *)(int)unaff_s8[2];\n          unaff_s6 = (int *)(unaff_s8 + 2);\n          piVar20 = piVar5;\n          if (unaff_s5 == (int *)0x22) {\n            iVar4 = (*(code *)PTR_strlen_000798d0)(unaff_s6);\n            pcVar15 = (char *)((int)unaff_s6 + iVar4 + -1);\n            if (*pcVar15 == '\"') {\n              *pcVar15 = '\0';\n              unaff_s5 = (int *)(int)unaff_s8[3];\n              unaff_s6 = (int *)(unaff_s8 + 3);\n              if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n            }\nLAB_00043310:\n            piVar13 = (int *)&DAT_0000005c;\n            piVar19 = piVar10;\n            piVar11 = piVar5;\n            piVar14 = unaff_s6;\n            do {\n              while ((piVar10 = (int *)((int)piVar14 + 1), unaff_s5 != (int *)&DAT_0000005c ||\n                     (*(char *)((int)piVar14 + 1) == '\0'))) {\n                *(char *)piVar11 = *(char *)piVar14;\n                unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 1);\n                piVar19 = piVar10;\n                piVar20 = (int *)((int)piVar11 + 1);\n                piVar11 = (int *)((int)piVar11 + 1);\n                unaff_s6 = piVar10;\n                piVar14 = piVar10;\n                if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n              }\n              *(char *)piVar11 = *(char *)((int)piVar14 + 1);\n              unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 2);\n              piVar10 = piVar19;\n              piVar20 = (int *)((int)piVar11 + 1);\n              piVar11 = (int *)((int)piVar11 + 1);\n              unaff_s6 = (int *)((int)piVar14 + 2);\n              piVar14 = (int *)((int)piVar14 + 2);\n            } while (unaff_s5 != (int *)0x0);\n          }\n          else if (unaff_s5 != (int *)0x0) goto LAB_00043310;\nLAB_00043364:\n          puVar1 = PTR_safefree_000790f0;\n          *(char *)piVar20 = '\0';\n          (*(code *)puVar1)(local_54);\n          local_54 = (*(code *)PTR_dupstr_000790fc)(piVar5);\n        }\n        else {\n          piVar10 = unaff_s4;\n          iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar5);\n          if (iVar4 != 0) {\n            piVar20 = (int *)0x2;\n            piVar10 = unaff_s7;\n            iVar4 = (*(code *)PTR_strncmp_000797c4)(piVar5);\n            if (iVar4 != 0) {\n              piVar19 = (int *)0x0;\n              puVar17 = PTR_s_j_000790a8 + 0x437c;\n              param_2 = piVar5;\n              goto LAB_00043198;\n            }\n          }\n        }\n        (*(code *)PTR_safefree_000790f0)(piVar5);\n      }\n      piVar19 = (int *)0x0;\n      puVar17 = PTR_s_j_000790a8 + 0x43ac;\n      param_2 = piVar5;\n      goto LAB_00043198;\n    }\n  }\n  piVar19 = (int *)0x0;\n  local_54 = 0;\n  puVar17 = PTR_s_j_000790a8 + 0x42f0;\n  param_2 = piVar3;\n  goto LAB_00043198;\nLAB_0004340c:\n  do {\n    cVar9 = *(char *)piVar5;\n    unaff_s5 = piVar5;\n    if (cVar9 == '-') {\n      piVar10 = (int *)(PTR_s_j_000790a8 + 0x43fc);\n      iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar5);\n      if (iVar4 == 0) {\n        (*(code *)PTR_safefree_000790f0)(piVar5);\n        if ((int)unaff_s4 < 4) {\n          puVar17 = PTR_s_j_000790a8 + 0x42c4;\n          param_2 = (int *)0x0;\n          goto LAB_00043198;\n        }\n        piVar3 = (int *)(*(code *)PTR_toint_000792c8)(*piVar19);\n        puVar17 = PTR_s_j_000790a8;\n        if (((int)piVar3 < 0) || ((int)((int)unaff_s4 + -3) <= (int)piVar3)) {\n          puVar17 = PTR_s_j_000790a8 + 0x431c;\n          param_2 = (int *)0x0;\n          goto LAB_00043198;\n        }\n        piVar20 = piVar19 + 1;\n        if (param_2 != (int *)0x0) {\n          iVar4 = (*(code *)PTR_dupprintf_000790e8)(PTR_s_j_000790a8 + -0x26d0);\n          *param_2 = iVar4;\n          piVar10 = piVar3;\n        }\n        if (param_3 != (int *)0x0) {\n          *param_3 = (int)unaff_s4;\n        }\n        if (param_4 == (int *)0x0) {\n          (*(code *)PTR_safefree_000790f0)(local_54);\n        }\n        else {\n          *param_4 = local_54;\n        }\n        goto LAB_000431d8;\n      }\n      break;\n    }\n    unaff_s6 = (int *)&DAT_00000004;\n    while (piVar3 = unaff_s4, cVar9 != '\0') {\n      while( true ) {\n        local_30[iVar4] = cVar9;\n        if (iVar4 + 1 != 4) break;\n        piVar20 = (int *)(*(code *)PTR_base64_decode_atom_000792d8)(unaff_s8,unaff_s7);\n        unaff_s4 = (int *)((int)piVar3 + (int)piVar20);\n        if (iVar18 < (int)unaff_s4) {\n          iVar18 = ((int)unaff_s4 * 5 >> 2) + 0x400;\n          piVar19 = (int *)(*(code *)PTR_saferealloc_000791a0)(piVar19,iVar18,1);\n        }\n        unaff_s5 = (int *)((int)unaff_s5 + 1);\n        piVar10 = unaff_s7;\n        (*(code *)PTR_memcpy_000798e0)((char *)((int)piVar19 + (int)piVar3));\n        iVar4 = 0;\n        cVar9 = *(char *)unaff_s5;\n        piVar3 = unaff_s4;\n        if (cVar9 == '\0') goto LAB_000434ac;\n      }\n      unaff_s5 = (int *)((int)unaff_s5 + 1);\n      iVar4 = iVar4 + 1;\n      unaff_s4 = piVar3;\n      cVar9 = *(char *)unaff_s5;\n    }\nLAB_000434ac:\n    (*(code *)PTR_safefree_000790f0)(piVar5);\n    uVar2 = (*(code *)PTR_fgetline_00079538)(param_1);\n    piVar5 = (int *)(*(code *)PTR_chomp_0007953c)(uVar2);\n  } while (piVar5 != (int *)0x0);\n  puVar17 = PTR_s_j_000790a8 + 0x4350;\n  param_2 = piVar5;\nLAB_00043198:\n  (*(code *)PTR_safefree_000790f0)(param_2);\n  (*(code *)PTR_safefree_000790f0)(local_54);\n  (*(code *)PTR_safefree_000790f0)(piVar19);\n  piVar5 = unaff_s5;\n  if (param_5 == (undefined4 *)0x0) {\n    piVar19 = (int *)0x0;\n  }\n  else {\n    piVar19 = (int *)0x0;\n    *param_5 = puVar17;\n  }\nLAB_000431d8:\n  if (local_2c == *(int *)puVar22) {\n    return piVar19;\n  }\n  pcVar23 = openssh_loadpub;\n  puVar22 = PTR___stack_chk_fail_000797f0;\n  (*(code *)PTR___stack_chk_fail_000797f0)();\n  piStack_a0 = (int *)(puVar22 + 0x3da44);\n  piStack_98 = param_2;\n  puStack_94 = puVar17;\n  piStack_90 = piVar19;\n  uStack_8c = param_1;\n  piStack_88 = unaff_s4;\n  piStack_84 = piVar5;\n  piStack_80 = unaff_s6;\n  piStack_7c = unaff_s7;\n  pcStack_78 = unaff_s8;\n  pcStack_74 = pcVar23;\n  uVar2 = (**(code **)(puVar22 + 0x35f0c))();\n  uVar2 = (*(code *)piStack_a0[-0x1ecd])(uVar2);\n  puVar6 = (undefined1 *)(*(code *)piStack_a0[-0x1e0f])(uVar2,0x20);\n  if (puVar6 == (undefined1 *)0x0) {\n    piVar3 = (int *)0x0;\n    iVar4 = piStack_a0[-0x1ff2] + 0x4490;\n    puVar6 = (undefined1 *)0x0;\n  }\n  else {\n    pcVar23 = (code *)piStack_a0[-0x1e0f];\n    pcVar15 = puVar6 + 1;\n    *puVar6 = 0;\n    puVar6 = (undefined1 *)(*pcVar23)(pcVar15,0x20);\n    if (puVar6 != (undefined1 *)0x0) {\n      pcVar23 = (code *)piStack_a0[-0x1fdd];\n      *puVar6 = 0;\n      puVar6 = (undefined1 *)(*pcVar23)(puVar6 + 1);\n    }\n    iVar18 = 0;\n    uVar7 = (*(code *)piStack_a0[-0x1de8])(pcVar15);\n    iVar4 = (uVar7 >> 2) * 3;\n    piVar3 = (int *)(*(code *)piStack_a0[-0x1fe8])(iVar4,1);\n    while (iVar8 = (*(code *)piStack_a0[-0x1df7])(pcVar15,0,4), iVar8 == 0) {\n      if (iVar4 <= iVar18 + 2) {\n        puVar12 = (undefined4 *)&DAT_00000441;\n        pcVar23 = (code *)piStack_a0[-0x1e6c];\n        piVar14 = (int *)(piStack_a0[-0x1ff2] + 0x4800);\n        piVar11 = (int *)(piStack_a0[-0x1ff2] + 0x4034);\n        pcVar24 = ssh2_userkey_loadpub;\n        (*pcVar23)(piStack_a0[-0x1ff2] + 0x44b8);\n        piVar5 = piStack_a0;\n        pcStack_118 = pcVar23 + 0x3d74c;\n        piVar16 = *(int **)(pcVar23 + 0x3600c);\n        piVar19 = (int *)(*(int *)(pcVar23 + 0x35784) + 0x4078);\n        iStack_dc = *piVar16;\n        pcStack_d8 = pcVar15;\n        iStack_d4 = iVar18;\n        piStack_d0 = piVar3;\n        iStack_cc = iVar4;\n        puStack_c8 = puVar6;\n        uStack_c4 = uVar2;\n        piStack_c0 = piVar13;\n        piStack_bc = piVar20;\n        piStack_b8 = piVar10;\n        pcStack_b4 = pcVar24;\n        piVar10 = (int *)f_open();\n        if (piVar10 == (int *)0x0) {\n          if (piVar5 != (int *)0x0) {\n            *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x407c;\n          }\nLAB_000439f4:\n          piVar21 = (int *)0x0;\n          piVar10 = piVar20;\n        }\n        else {\n          iVar4 = FUN_00041f60(piVar10);\n          if (iVar4 == 9) {\n            pcVar23 = *(code **)(pcStack_118 + -0x7b14);\n          }\n          else {\n            if (iVar4 != 10) {\n              piVar20 = piVar10;\n              if (iVar4 != 3) {\nLAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }\n                goto LAB_000439f4;\n              }\n              piVar13 = aiStack_104;\n              iVar4 = FUN_00040db0(piVar10,piVar13);\n              if (iVar4 == 0) {\nLAB_00043cc0:\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);\n                iVar4 = (**(code **)(pcStack_118 + -0x78ac))(piVar13,piVar19,0x14);\n                if (iVar4 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                  if (piVar5 != (int *)0x0) {\n                    *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }\n                goto LAB_000439d4;\n              }\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214);\n              iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if (iVar4 != 0) {\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);\n                iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                if (iVar4 != 0) goto LAB_00043cc0;\n              }\n              pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74);\n              piVar3 = (int *)FUN_00040e74(piVar10);\n              if (piVar3 == (int *)0x0) {\nLAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                goto LAB_000439f4;\n              }\n              uVar2 = (**(code **)(pcStack_118 + -0x77a0))(piVar3);\n              piVar19 = piVar3;\n              iVar4 = find_pubkey_alg_len(uVar2);\n              (**(code **)(pcStack_118 + -0x7f80))(piVar3);\n              if ((iVar4 == 0) || (piVar19 = piVar13, iVar18 = FUN_00040db0(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) || (iVar18 = (*pcStack_110)(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n              piVar19 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              if (iVar18 == 0) goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) ||\n                 (pcVar23 = (code *)(*pcStack_110)(piVar10), pcVar23 == (code *)0x0))\n              goto LAB_00043c9c;\n              pcStack_10c = pcVar23;\n              if (piVar14 == (int *)0x0) {\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n              }\n              else {\n                *piVar14 = (int)pcVar23;\n              }\n              piVar3 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              pcVar23 = pcStack_10c;\n              if (iVar18 == 0) {\nLAB_00043d58:\n                piVar19 = piVar3;\n                pcStack_110 = pcVar23;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                if (piVar14 == (int *)0x0) goto LAB_000439f4;\n                piVar21 = (int *)0x0;\n                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);\n                *piVar14 = 0;\n              }\n              else {\n                piVar3 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                pcVar23 = pcStack_10c;\n                if ((iVar18 != 0) ||\n                   (iVar18 = (*pcStack_110)(piVar10), pcVar23 = pcStack_10c, iVar18 == 0))\n                goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                piVar19 = (int *)FUN_00040d14(iVar18);\n                (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n                pcVar23 = pcStack_110;\n                if (((int)piVar19 < 0) ||\n                   (piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108), piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (puVar12 != (undefined4 *)0x0) {\n                  *puVar12 = uStack_108;\n                }\n                if (piVar11 != (int *)0x0) {\n                  iVar4 = (**(code **)(pcStack_118 + -0x7f74))(*(undefined4 *)(iVar4 + 0x30));\n                  *piVar11 = iVar4;\n                }\n              }\n              goto LAB_000439f8;\n            }\n            pcVar23 = *(code **)(pcStack_118 + -0x7b10);\n          }\n          piStack_120 = piVar5;\n          piVar19 = piVar11;\n          piVar21 = (int *)(*pcVar23)(piVar10,piVar11,puVar12,piVar14);\n          (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n        }\nLAB_000439f8:\n        if (iStack_dc == *piVar16) {\n          return piVar21;\n        }\n        pcVar23 = *(code **)(pcStack_118 + -0x7880);\n        pcVar24 = ssh2_userkey_encrypted;\n        (*pcVar23)();\n        piVar20 = *(int **)(pcVar23 + 0x35b70);\n        piStack_150 = piVar5;\n        iStack_15c = *piVar20;\n        if (piVar19 != (int *)0x0) {\n          *piVar19 = 0;\n        }\n        piStack_154 = piVar16;\n        piStack_14c = piVar14;\n        piStack_148 = piVar11;\n        puStack_144 = puVar12;\n        piStack_140 = piVar21;\n        piStack_13c = piVar13;\n        piStack_138 = piVar10;\n        pcStack_134 = pcVar24;\n        iVar4 = f_open();\n        if (iVar4 == 0) {\n          piVar10 = (int *)0x0;\n        }\n        else {\n          iVar18 = FUN_00040db0(iVar4,auStack_184);\n          if ((iVar18 != 0) &&\n             (((iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4214), iVar18 == 0\n               || (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                      (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c),\n                  iVar18 == 0)) && (iVar18 = FUN_00040e74(iVar4), iVar18 != 0)))) {\n            (**(code **)(pcVar23 + 0x35330))(iVar18);\n            iVar18 = FUN_00040db0(iVar4,auStack_184);\n            if ((iVar18 != 0) &&\n               (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4244), iVar18 == 0))\n            {\n              iVar18 = FUN_00040e74(iVar4);\n              if (iVar18 == 0) {\n                (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                piVar10 = (int *)0x0;\n              }\n              else {\n                iVar8 = FUN_00040db0(iVar4,auStack_184);\n                if (((iVar8 == 0) ||\n                    (iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0)) || (iVar8 = FUN_00040e74(iVar4), iVar8 == 0)) {\n                  piVar10 = (int *)0x1;\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n                else {\n                  if (piVar19 == (int *)0x0) {\n                    (**(code **)(pcVar23 + 0x35330))(iVar8);\n                  }\n                  else {\n                    *piVar19 = iVar8;\n                  }\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  iVar4 = (**(code **)(pcVar23 + 0x35ae4))\n                                    (iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4);\n                  piVar10 = (int *)(uint)(iVar4 == 0);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n              }\n              goto LAB_00043f04;\n            }\n          }\n          piVar10 = (int *)0x0;\n          (**(code **)(pcVar23 + 0x35acc))(iVar4);\n        }\nLAB_00043f04:\n        if (iStack_15c != *piVar20) {\n          (**(code **)(pcVar23 + 0x35a30))();\n          return (int *)((iStack_15c + 0x2f) / 0x30);\n        }\n        return piVar10;\n      }\n      iVar8 = (*(code *)piStack_a0[-0x1f66])(pcVar15,(int)piVar3 + iVar18);\n      iVar18 = iVar18 + iVar8;\n      pcVar15 = pcVar15 + 4;\n    }\n    if (*pcVar15 == '\0') {\n      iVar4 = (*(code *)piStack_a0[-0x1de8])(uVar2);\n      if (((iVar4 + 3 < iVar18) && (iVar4 == *piVar3)) &&\n         (iVar4 = (*(code *)piStack_a0[-0x1dfd])(piVar3 + 1,uVar2,iVar4), iVar4 == 0)) {\n        if (piVar10 != (int *)0x0) {\n          iVar4 = (*(code *)piStack_a0[-0x1fdd])(uVar2);\n          *piVar10 = iVar4;\n        }\n        if (piVar20 != (int *)0x0) {\n          *piVar20 = iVar18;\n        }\n        if (piVar13 == (int *)0x0) {\n          (*(code *)piStack_a0[-0x1fe0])(puVar6);\n        }\n        else {\n          *piVar13 = (int)puVar6;\n        }\n        (*(code *)piStack_a0[-0x1fe0])(uVar2);\n        return piVar3;\n      }\n      iVar4 = piStack_a0[-0x1ff2] + 0x441c;\n    }\n    else {\n      iVar4 = piStack_a0[-0x1ff2] + 0x4454;\n    }\n  }\n  (*(code *)piStack_a0[-0x1fe0])(uVar2);\n  (*(code *)piStack_a0[-0x1fe0])(puVar6);\n  (*(code *)piStack_a0[-0x1fe0])(piVar3);\n  __gp_1 = iVar4;\n  return (int *)0x0;\n}" (primitive_type "int") (pointer_declarator "* rfc4716_loadpub(undefined4 param_1,int *param_2,int *param_3,int *param_4,undefined4 *param_5)" (* "*") (function_declarator "rfc4716_loadpub(undefined4 param_1,int *param_2,int *param_3,int *param_4,undefined4 *param_5)" (identifier "rfc4716_loadpub") (parameter_list "(undefined4 param_1,int *param_2,int *param_3,int *param_4,undefined4 *param_5)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) (, ",") (parameter_declaration "int *param_2" (primitive_type "int") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "int *param_3" (primitive_type "int") (pointer_declarator "*param_3" (* "*") (identifier "param_3"))) (, ",") (parameter_declaration "int *param_4" (primitive_type "int") (pointer_declarator "*param_4" (* "*") (identifier "param_4"))) (, ",") (parameter_declaration "undefined4 *param_5" (type_identifier "undefined4") (pointer_declarator "*param_5" (* "*") (identifier "param_5"))) () ")")))) (compound_statement "{\n  undefined *puVar1;\n  undefined4 uVar2;\n  int *piVar3;\n  int iVar4;\n  int *piVar5;\n  char cVar9;\n  undefined1 *puVar6;\n  uint uVar7;\n  int iVar8;\n  int *piVar10;\n  int *piVar11;\n  undefined4 *puVar12;\n  int *piVar13;\n  int *piVar14;\n  char *pcVar15;\n  int *piVar16;\n  undefined *puVar17;\n  int iVar18;\n  int *piVar19;\n  int *piVar20;\n  int *unaff_s4;\n  int *unaff_s5;\n  int *piVar21;\n  int *unaff_s6;\n  int *unaff_s7;\n  undefined *puVar22;\n  char *unaff_s8;\n  code *pcVar23;\n  code *pcVar24;\n  undefined1 auStack_184 [40];\n  int iStack_15c;\n  int *piStack_154;\n  int *piStack_150;\n  int *piStack_14c;\n  int *piStack_148;\n  undefined4 *puStack_144;\n  int *piStack_140;\n  int *piStack_13c;\n  int *piStack_138;\n  code *pcStack_134;\n  int *piStack_120;\n  code *pcStack_118;\n  code *pcStack_110;\n  code *pcStack_10c;\n  undefined4 uStack_108;\n  int aiStack_104 [10];\n  int iStack_dc;\n  char *pcStack_d8;\n  int iStack_d4;\n  int *piStack_d0;\n  int iStack_cc;\n  undefined1 *puStack_c8;\n  undefined4 uStack_c4;\n  int *piStack_c0;\n  int *piStack_bc;\n  int *piStack_b8;\n  code *pcStack_b4;\n  int *piStack_a0;\n  int *piStack_98;\n  undefined *puStack_94;\n  int *piStack_90;\n  undefined4 uStack_8c;\n  int *piStack_88;\n  int *piStack_84;\n  int *piStack_80;\n  int *piStack_7c;\n  char *pcStack_78;\n  code *pcStack_74;\n  int local_54;\n  int iStack_34;\n  char local_30 [4];\n  int local_2c;\n  \n  puVar22 = PTR___stack_chk_guard_00079930;\n  local_2c = *(int *)PTR___stack_chk_guard_00079930;\n  piVar10 = param_2;\n  piVar20 = param_3;\n  piVar13 = param_4;\n  uVar2 = (*(code *)PTR_fgetline_00079538)();\n  piVar3 = (int *)(*(code *)PTR_chomp_0007953c)(uVar2);\n  if (piVar3 != (int *)0x0) {\n    piVar10 = (int *)(PTR_s_j_000790a8 + 0x43cc);\n    iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar3);\n    if (iVar4 == 0) {\n      (*(code *)PTR_safefree_000790f0)(piVar3);\n      local_54 = 0;\n      puVar17 = PTR_s_j_000790a8 + 0x43ec;\n      piVar3 = (int *)(PTR_s_j_000790a8 + 0x4258);\n      unaff_s4 = (int *)(PTR_s_j_000790a8 + 0x43f0);\n      unaff_s7 = (int *)(PTR_s_j_000790a8 + 0x43f8);\n      while( true ) {\n        uVar2 = (*(code *)PTR_fgetline_00079538)(param_1);\n        piVar5 = (int *)(*(code *)PTR_chomp_0007953c)(uVar2);\n        if (piVar5 == (int *)0x0) break;\n        unaff_s8 = (char *)(*(code *)PTR_strstr_00079944)(piVar5,puVar17);\n        puVar1 = PTR_strcmp_000798a4;\n        if (unaff_s8 == (char *)0x0) {\n          piVar10 = (int *)0x1;\n          unaff_s7 = &iStack_34;\n          piVar19 = (int *)(*(code *)PTR_safemalloc_000790d0)(0x1000);\n          unaff_s8 = local_30;\n          iVar4 = 0;\n          unaff_s4 = (int *)0x0;\n          iVar18 = 0x1000;\n          goto LAB_0004340c;\n        }\n        *unaff_s8 = '\0';\n        piVar10 = piVar3;\n        iVar4 = (*(code *)puVar1)(piVar5);\n        if (iVar4 == 0) {\n          unaff_s5 = (int *)(int)unaff_s8[2];\n          unaff_s6 = (int *)(unaff_s8 + 2);\n          piVar20 = piVar5;\n          if (unaff_s5 == (int *)0x22) {\n            iVar4 = (*(code *)PTR_strlen_000798d0)(unaff_s6);\n            pcVar15 = (char *)((int)unaff_s6 + iVar4 + -1);\n            if (*pcVar15 == '\"') {\n              *pcVar15 = '\0';\n              unaff_s5 = (int *)(int)unaff_s8[3];\n              unaff_s6 = (int *)(unaff_s8 + 3);\n              if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n            }\nLAB_00043310:\n            piVar13 = (int *)&DAT_0000005c;\n            piVar19 = piVar10;\n            piVar11 = piVar5;\n            piVar14 = unaff_s6;\n            do {\n              while ((piVar10 = (int *)((int)piVar14 + 1), unaff_s5 != (int *)&DAT_0000005c ||\n                     (*(char *)((int)piVar14 + 1) == '\0'))) {\n                *(char *)piVar11 = *(char *)piVar14;\n                unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 1);\n                piVar19 = piVar10;\n                piVar20 = (int *)((int)piVar11 + 1);\n                piVar11 = (int *)((int)piVar11 + 1);\n                unaff_s6 = piVar10;\n                piVar14 = piVar10;\n                if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n              }\n              *(char *)piVar11 = *(char *)((int)piVar14 + 1);\n              unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 2);\n              piVar10 = piVar19;\n              piVar20 = (int *)((int)piVar11 + 1);\n              piVar11 = (int *)((int)piVar11 + 1);\n              unaff_s6 = (int *)((int)piVar14 + 2);\n              piVar14 = (int *)((int)piVar14 + 2);\n            } while (unaff_s5 != (int *)0x0);\n          }\n          else if (unaff_s5 != (int *)0x0) goto LAB_00043310;\nLAB_00043364:\n          puVar1 = PTR_safefree_000790f0;\n          *(char *)piVar20 = '\0';\n          (*(code *)puVar1)(local_54);\n          local_54 = (*(code *)PTR_dupstr_000790fc)(piVar5);\n        }\n        else {\n          piVar10 = unaff_s4;\n          iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar5);\n          if (iVar4 != 0) {\n            piVar20 = (int *)0x2;\n            piVar10 = unaff_s7;\n            iVar4 = (*(code *)PTR_strncmp_000797c4)(piVar5);\n            if (iVar4 != 0) {\n              piVar19 = (int *)0x0;\n              puVar17 = PTR_s_j_000790a8 + 0x437c;\n              param_2 = piVar5;\n              goto LAB_00043198;\n            }\n          }\n        }\n        (*(code *)PTR_safefree_000790f0)(piVar5);\n      }\n      piVar19 = (int *)0x0;\n      puVar17 = PTR_s_j_000790a8 + 0x43ac;\n      param_2 = piVar5;\n      goto LAB_00043198;\n    }\n  }\n  piVar19 = (int *)0x0;\n  local_54 = 0;\n  puVar17 = PTR_s_j_000790a8 + 0x42f0;\n  param_2 = piVar3;\n  goto LAB_00043198;\nLAB_0004340c:\n  do {\n    cVar9 = *(char *)piVar5;\n    unaff_s5 = piVar5;\n    if (cVar9 == '-') {\n      piVar10 = (int *)(PTR_s_j_000790a8 + 0x43fc);\n      iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar5);\n      if (iVar4 == 0) {\n        (*(code *)PTR_safefree_000790f0)(piVar5);\n        if ((int)unaff_s4 < 4) {\n          puVar17 = PTR_s_j_000790a8 + 0x42c4;\n          param_2 = (int *)0x0;\n          goto LAB_00043198;\n        }\n        piVar3 = (int *)(*(code *)PTR_toint_000792c8)(*piVar19);\n        puVar17 = PTR_s_j_000790a8;\n        if (((int)piVar3 < 0) || ((int)((int)unaff_s4 + -3) <= (int)piVar3)) {\n          puVar17 = PTR_s_j_000790a8 + 0x431c;\n          param_2 = (int *)0x0;\n          goto LAB_00043198;\n        }\n        piVar20 = piVar19 + 1;\n        if (param_2 != (int *)0x0) {\n          iVar4 = (*(code *)PTR_dupprintf_000790e8)(PTR_s_j_000790a8 + -0x26d0);\n          *param_2 = iVar4;\n          piVar10 = piVar3;\n        }\n        if (param_3 != (int *)0x0) {\n          *param_3 = (int)unaff_s4;\n        }\n        if (param_4 == (int *)0x0) {\n          (*(code *)PTR_safefree_000790f0)(local_54);\n        }\n        else {\n          *param_4 = local_54;\n        }\n        goto LAB_000431d8;\n      }\n      break;\n    }\n    unaff_s6 = (int *)&DAT_00000004;\n    while (piVar3 = unaff_s4, cVar9 != '\0') {\n      while( true ) {\n        local_30[iVar4] = cVar9;\n        if (iVar4 + 1 != 4) break;\n        piVar20 = (int *)(*(code *)PTR_base64_decode_atom_000792d8)(unaff_s8,unaff_s7);\n        unaff_s4 = (int *)((int)piVar3 + (int)piVar20);\n        if (iVar18 < (int)unaff_s4) {\n          iVar18 = ((int)unaff_s4 * 5 >> 2) + 0x400;\n          piVar19 = (int *)(*(code *)PTR_saferealloc_000791a0)(piVar19,iVar18,1);\n        }\n        unaff_s5 = (int *)((int)unaff_s5 + 1);\n        piVar10 = unaff_s7;\n        (*(code *)PTR_memcpy_000798e0)((char *)((int)piVar19 + (int)piVar3));\n        iVar4 = 0;\n        cVar9 = *(char *)unaff_s5;\n        piVar3 = unaff_s4;\n        if (cVar9 == '\0') goto LAB_000434ac;\n      }\n      unaff_s5 = (int *)((int)unaff_s5 + 1);\n      iVar4 = iVar4 + 1;\n      unaff_s4 = piVar3;\n      cVar9 = *(char *)unaff_s5;\n    }\nLAB_000434ac:\n    (*(code *)PTR_safefree_000790f0)(piVar5);\n    uVar2 = (*(code *)PTR_fgetline_00079538)(param_1);\n    piVar5 = (int *)(*(code *)PTR_chomp_0007953c)(uVar2);\n  } while (piVar5 != (int *)0x0);\n  puVar17 = PTR_s_j_000790a8 + 0x4350;\n  param_2 = piVar5;\nLAB_00043198:\n  (*(code *)PTR_safefree_000790f0)(param_2);\n  (*(code *)PTR_safefree_000790f0)(local_54);\n  (*(code *)PTR_safefree_000790f0)(piVar19);\n  piVar5 = unaff_s5;\n  if (param_5 == (undefined4 *)0x0) {\n    piVar19 = (int *)0x0;\n  }\n  else {\n    piVar19 = (int *)0x0;\n    *param_5 = puVar17;\n  }\nLAB_000431d8:\n  if (local_2c == *(int *)puVar22) {\n    return piVar19;\n  }\n  pcVar23 = openssh_loadpub;\n  puVar22 = PTR___stack_chk_fail_000797f0;\n  (*(code *)PTR___stack_chk_fail_000797f0)();\n  piStack_a0 = (int *)(puVar22 + 0x3da44);\n  piStack_98 = param_2;\n  puStack_94 = puVar17;\n  piStack_90 = piVar19;\n  uStack_8c = param_1;\n  piStack_88 = unaff_s4;\n  piStack_84 = piVar5;\n  piStack_80 = unaff_s6;\n  piStack_7c = unaff_s7;\n  pcStack_78 = unaff_s8;\n  pcStack_74 = pcVar23;\n  uVar2 = (**(code **)(puVar22 + 0x35f0c))();\n  uVar2 = (*(code *)piStack_a0[-0x1ecd])(uVar2);\n  puVar6 = (undefined1 *)(*(code *)piStack_a0[-0x1e0f])(uVar2,0x20);\n  if (puVar6 == (undefined1 *)0x0) {\n    piVar3 = (int *)0x0;\n    iVar4 = piStack_a0[-0x1ff2] + 0x4490;\n    puVar6 = (undefined1 *)0x0;\n  }\n  else {\n    pcVar23 = (code *)piStack_a0[-0x1e0f];\n    pcVar15 = puVar6 + 1;\n    *puVar6 = 0;\n    puVar6 = (undefined1 *)(*pcVar23)(pcVar15,0x20);\n    if (puVar6 != (undefined1 *)0x0) {\n      pcVar23 = (code *)piStack_a0[-0x1fdd];\n      *puVar6 = 0;\n      puVar6 = (undefined1 *)(*pcVar23)(puVar6 + 1);\n    }\n    iVar18 = 0;\n    uVar7 = (*(code *)piStack_a0[-0x1de8])(pcVar15);\n    iVar4 = (uVar7 >> 2) * 3;\n    piVar3 = (int *)(*(code *)piStack_a0[-0x1fe8])(iVar4,1);\n    while (iVar8 = (*(code *)piStack_a0[-0x1df7])(pcVar15,0,4), iVar8 == 0) {\n      if (iVar4 <= iVar18 + 2) {\n        puVar12 = (undefined4 *)&DAT_00000441;\n        pcVar23 = (code *)piStack_a0[-0x1e6c];\n        piVar14 = (int *)(piStack_a0[-0x1ff2] + 0x4800);\n        piVar11 = (int *)(piStack_a0[-0x1ff2] + 0x4034);\n        pcVar24 = ssh2_userkey_loadpub;\n        (*pcVar23)(piStack_a0[-0x1ff2] + 0x44b8);\n        piVar5 = piStack_a0;\n        pcStack_118 = pcVar23 + 0x3d74c;\n        piVar16 = *(int **)(pcVar23 + 0x3600c);\n        piVar19 = (int *)(*(int *)(pcVar23 + 0x35784) + 0x4078);\n        iStack_dc = *piVar16;\n        pcStack_d8 = pcVar15;\n        iStack_d4 = iVar18;\n        piStack_d0 = piVar3;\n        iStack_cc = iVar4;\n        puStack_c8 = puVar6;\n        uStack_c4 = uVar2;\n        piStack_c0 = piVar13;\n        piStack_bc = piVar20;\n        piStack_b8 = piVar10;\n        pcStack_b4 = pcVar24;\n        piVar10 = (int *)f_open();\n        if (piVar10 == (int *)0x0) {\n          if (piVar5 != (int *)0x0) {\n            *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x407c;\n          }\nLAB_000439f4:\n          piVar21 = (int *)0x0;\n          piVar10 = piVar20;\n        }\n        else {\n          iVar4 = FUN_00041f60(piVar10);\n          if (iVar4 == 9) {\n            pcVar23 = *(code **)(pcStack_118 + -0x7b14);\n          }\n          else {\n            if (iVar4 != 10) {\n              piVar20 = piVar10;\n              if (iVar4 != 3) {\nLAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }\n                goto LAB_000439f4;\n              }\n              piVar13 = aiStack_104;\n              iVar4 = FUN_00040db0(piVar10,piVar13);\n              if (iVar4 == 0) {\nLAB_00043cc0:\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);\n                iVar4 = (**(code **)(pcStack_118 + -0x78ac))(piVar13,piVar19,0x14);\n                if (iVar4 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                  if (piVar5 != (int *)0x0) {\n                    *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }\n                goto LAB_000439d4;\n              }\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214);\n              iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if (iVar4 != 0) {\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);\n                iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                if (iVar4 != 0) goto LAB_00043cc0;\n              }\n              pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74);\n              piVar3 = (int *)FUN_00040e74(piVar10);\n              if (piVar3 == (int *)0x0) {\nLAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                goto LAB_000439f4;\n              }\n              uVar2 = (**(code **)(pcStack_118 + -0x77a0))(piVar3);\n              piVar19 = piVar3;\n              iVar4 = find_pubkey_alg_len(uVar2);\n              (**(code **)(pcStack_118 + -0x7f80))(piVar3);\n              if ((iVar4 == 0) || (piVar19 = piVar13, iVar18 = FUN_00040db0(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) || (iVar18 = (*pcStack_110)(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n              piVar19 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              if (iVar18 == 0) goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) ||\n                 (pcVar23 = (code *)(*pcStack_110)(piVar10), pcVar23 == (code *)0x0))\n              goto LAB_00043c9c;\n              pcStack_10c = pcVar23;\n              if (piVar14 == (int *)0x0) {\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n              }\n              else {\n                *piVar14 = (int)pcVar23;\n              }\n              piVar3 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              pcVar23 = pcStack_10c;\n              if (iVar18 == 0) {\nLAB_00043d58:\n                piVar19 = piVar3;\n                pcStack_110 = pcVar23;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                if (piVar14 == (int *)0x0) goto LAB_000439f4;\n                piVar21 = (int *)0x0;\n                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);\n                *piVar14 = 0;\n              }\n              else {\n                piVar3 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                pcVar23 = pcStack_10c;\n                if ((iVar18 != 0) ||\n                   (iVar18 = (*pcStack_110)(piVar10), pcVar23 = pcStack_10c, iVar18 == 0))\n                goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                piVar19 = (int *)FUN_00040d14(iVar18);\n                (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n                pcVar23 = pcStack_110;\n                if (((int)piVar19 < 0) ||\n                   (piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108), piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (puVar12 != (undefined4 *)0x0) {\n                  *puVar12 = uStack_108;\n                }\n                if (piVar11 != (int *)0x0) {\n                  iVar4 = (**(code **)(pcStack_118 + -0x7f74))(*(undefined4 *)(iVar4 + 0x30));\n                  *piVar11 = iVar4;\n                }\n              }\n              goto LAB_000439f8;\n            }\n            pcVar23 = *(code **)(pcStack_118 + -0x7b10);\n          }\n          piStack_120 = piVar5;\n          piVar19 = piVar11;\n          piVar21 = (int *)(*pcVar23)(piVar10,piVar11,puVar12,piVar14);\n          (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n        }\nLAB_000439f8:\n        if (iStack_dc == *piVar16) {\n          return piVar21;\n        }\n        pcVar23 = *(code **)(pcStack_118 + -0x7880);\n        pcVar24 = ssh2_userkey_encrypted;\n        (*pcVar23)();\n        piVar20 = *(int **)(pcVar23 + 0x35b70);\n        piStack_150 = piVar5;\n        iStack_15c = *piVar20;\n        if (piVar19 != (int *)0x0) {\n          *piVar19 = 0;\n        }\n        piStack_154 = piVar16;\n        piStack_14c = piVar14;\n        piStack_148 = piVar11;\n        puStack_144 = puVar12;\n        piStack_140 = piVar21;\n        piStack_13c = piVar13;\n        piStack_138 = piVar10;\n        pcStack_134 = pcVar24;\n        iVar4 = f_open();\n        if (iVar4 == 0) {\n          piVar10 = (int *)0x0;\n        }\n        else {\n          iVar18 = FUN_00040db0(iVar4,auStack_184);\n          if ((iVar18 != 0) &&\n             (((iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4214), iVar18 == 0\n               || (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                      (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c),\n                  iVar18 == 0)) && (iVar18 = FUN_00040e74(iVar4), iVar18 != 0)))) {\n            (**(code **)(pcVar23 + 0x35330))(iVar18);\n            iVar18 = FUN_00040db0(iVar4,auStack_184);\n            if ((iVar18 != 0) &&\n               (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4244), iVar18 == 0))\n            {\n              iVar18 = FUN_00040e74(iVar4);\n              if (iVar18 == 0) {\n                (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                piVar10 = (int *)0x0;\n              }\n              else {\n                iVar8 = FUN_00040db0(iVar4,auStack_184);\n                if (((iVar8 == 0) ||\n                    (iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0)) || (iVar8 = FUN_00040e74(iVar4), iVar8 == 0)) {\n                  piVar10 = (int *)0x1;\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n                else {\n                  if (piVar19 == (int *)0x0) {\n                    (**(code **)(pcVar23 + 0x35330))(iVar8);\n                  }\n                  else {\n                    *piVar19 = iVar8;\n                  }\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  iVar4 = (**(code **)(pcVar23 + 0x35ae4))\n                                    (iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4);\n                  piVar10 = (int *)(uint)(iVar4 == 0);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n              }\n              goto LAB_00043f04;\n            }\n          }\n          piVar10 = (int *)0x0;\n          (**(code **)(pcVar23 + 0x35acc))(iVar4);\n        }\nLAB_00043f04:\n        if (iStack_15c != *piVar20) {\n          (**(code **)(pcVar23 + 0x35a30))();\n          return (int *)((iStack_15c + 0x2f) / 0x30);\n        }\n        return piVar10;\n      }\n      iVar8 = (*(code *)piStack_a0[-0x1f66])(pcVar15,(int)piVar3 + iVar18);\n      iVar18 = iVar18 + iVar8;\n      pcVar15 = pcVar15 + 4;\n    }\n    if (*pcVar15 == '\0') {\n      iVar4 = (*(code *)piStack_a0[-0x1de8])(uVar2);\n      if (((iVar4 + 3 < iVar18) && (iVar4 == *piVar3)) &&\n         (iVar4 = (*(code *)piStack_a0[-0x1dfd])(piVar3 + 1,uVar2,iVar4), iVar4 == 0)) {\n        if (piVar10 != (int *)0x0) {\n          iVar4 = (*(code *)piStack_a0[-0x1fdd])(uVar2);\n          *piVar10 = iVar4;\n        }\n        if (piVar20 != (int *)0x0) {\n          *piVar20 = iVar18;\n        }\n        if (piVar13 == (int *)0x0) {\n          (*(code *)piStack_a0[-0x1fe0])(puVar6);\n        }\n        else {\n          *piVar13 = (int)puVar6;\n        }\n        (*(code *)piStack_a0[-0x1fe0])(uVar2);\n        return piVar3;\n      }\n      iVar4 = piStack_a0[-0x1ff2] + 0x441c;\n    }\n    else {\n      iVar4 = piStack_a0[-0x1ff2] + 0x4454;\n    }\n  }\n  (*(code *)piStack_a0[-0x1fe0])(uVar2);\n  (*(code *)piStack_a0[-0x1fe0])(puVar6);\n  (*(code *)piStack_a0[-0x1fe0])(piVar3);\n  __gp_1 = iVar4;\n  return (int *)0x0;\n}" ({ "{") (declaration "undefined *puVar1;" (type_identifier "undefined") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "undefined4 uVar2;" (type_identifier "undefined4") (identifier "uVar2") (; ";")) (declaration "int *piVar3;" (primitive_type "int") (pointer_declarator "*piVar3" (* "*") (identifier "piVar3")) (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "int *piVar5;" (primitive_type "int") (pointer_declarator "*piVar5" (* "*") (identifier "piVar5")) (; ";")) (declaration "char cVar9;" (primitive_type "char") (identifier "cVar9") (; ";")) (declaration "undefined1 *puVar6;" (type_identifier "undefined1") (pointer_declarator "*puVar6" (* "*") (identifier "puVar6")) (; ";")) (declaration "uint uVar7;" (type_identifier "uint") (identifier "uVar7") (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (declaration "int *piVar10;" (primitive_type "int") (pointer_declarator "*piVar10" (* "*") (identifier "piVar10")) (; ";")) (declaration "int *piVar11;" (primitive_type "int") (pointer_declarator "*piVar11" (* "*") (identifier "piVar11")) (; ";")) (declaration "undefined4 *puVar12;" (type_identifier "undefined4") (pointer_declarator "*puVar12" (* "*") (identifier "puVar12")) (; ";")) (declaration "int *piVar13;" (primitive_type "int") (pointer_declarator "*piVar13" (* "*") (identifier "piVar13")) (; ";")) (declaration "int *piVar14;" (primitive_type "int") (pointer_declarator "*piVar14" (* "*") (identifier "piVar14")) (; ";")) (declaration "char *pcVar15;" (primitive_type "char") (pointer_declarator "*pcVar15" (* "*") (identifier "pcVar15")) (; ";")) (declaration "int *piVar16;" (primitive_type "int") (pointer_declarator "*piVar16" (* "*") (identifier "piVar16")) (; ";")) (declaration "undefined *puVar17;" (type_identifier "undefined") (pointer_declarator "*puVar17" (* "*") (identifier "puVar17")) (; ";")) (declaration "int iVar18;" (primitive_type "int") (identifier "iVar18") (; ";")) (declaration "int *piVar19;" (primitive_type "int") (pointer_declarator "*piVar19" (* "*") (identifier "piVar19")) (; ";")) (declaration "int *piVar20;" (primitive_type "int") (pointer_declarator "*piVar20" (* "*") (identifier "piVar20")) (; ";")) (declaration "int *unaff_s4;" (primitive_type "int") (pointer_declarator "*unaff_s4" (* "*") (identifier "unaff_s4")) (; ";")) (declaration "int *unaff_s5;" (primitive_type "int") (pointer_declarator "*unaff_s5" (* "*") (identifier "unaff_s5")) (; ";")) (declaration "int *piVar21;" (primitive_type "int") (pointer_declarator "*piVar21" (* "*") (identifier "piVar21")) (; ";")) (declaration "int *unaff_s6;" (primitive_type "int") (pointer_declarator "*unaff_s6" (* "*") (identifier "unaff_s6")) (; ";")) (declaration "int *unaff_s7;" (primitive_type "int") (pointer_declarator "*unaff_s7" (* "*") (identifier "unaff_s7")) (; ";")) (declaration "undefined *puVar22;" (type_identifier "undefined") (pointer_declarator "*puVar22" (* "*") (identifier "puVar22")) (; ";")) (declaration "char *unaff_s8;" (primitive_type "char") (pointer_declarator "*unaff_s8" (* "*") (identifier "unaff_s8")) (; ";")) (declaration "code *pcVar23;" (type_identifier "code") (pointer_declarator "*pcVar23" (* "*") (identifier "pcVar23")) (; ";")) (declaration "code *pcVar24;" (type_identifier "code") (pointer_declarator "*pcVar24" (* "*") (identifier "pcVar24")) (; ";")) (declaration "undefined1 auStack_184 [40];" (type_identifier "undefined1") (array_declarator "auStack_184 [40]" (identifier "auStack_184") ([ "[") (number_literal "40") (] "]")) (; ";")) (declaration "int iStack_15c;" (primitive_type "int") (identifier "iStack_15c") (; ";")) (declaration "int *piStack_154;" (primitive_type "int") (pointer_declarator "*piStack_154" (* "*") (identifier "piStack_154")) (; ";")) (declaration "int *piStack_150;" (primitive_type "int") (pointer_declarator "*piStack_150" (* "*") (identifier "piStack_150")) (; ";")) (declaration "int *piStack_14c;" (primitive_type "int") (pointer_declarator "*piStack_14c" (* "*") (identifier "piStack_14c")) (; ";")) (declaration "int *piStack_148;" (primitive_type "int") (pointer_declarator "*piStack_148" (* "*") (identifier "piStack_148")) (; ";")) (declaration "undefined4 *puStack_144;" (type_identifier "undefined4") (pointer_declarator "*puStack_144" (* "*") (identifier "puStack_144")) (; ";")) (declaration "int *piStack_140;" (primitive_type "int") (pointer_declarator "*piStack_140" (* "*") (identifier "piStack_140")) (; ";")) (declaration "int *piStack_13c;" (primitive_type "int") (pointer_declarator "*piStack_13c" (* "*") (identifier "piStack_13c")) (; ";")) (declaration "int *piStack_138;" (primitive_type "int") (pointer_declarator "*piStack_138" (* "*") (identifier "piStack_138")) (; ";")) (declaration "code *pcStack_134;" (type_identifier "code") (pointer_declarator "*pcStack_134" (* "*") (identifier "pcStack_134")) (; ";")) (declaration "int *piStack_120;" (primitive_type "int") (pointer_declarator "*piStack_120" (* "*") (identifier "piStack_120")) (; ";")) (declaration "code *pcStack_118;" (type_identifier "code") (pointer_declarator "*pcStack_118" (* "*") (identifier "pcStack_118")) (; ";")) (declaration "code *pcStack_110;" (type_identifier "code") (pointer_declarator "*pcStack_110" (* "*") (identifier "pcStack_110")) (; ";")) (declaration "code *pcStack_10c;" (type_identifier "code") (pointer_declarator "*pcStack_10c" (* "*") (identifier "pcStack_10c")) (; ";")) (declaration "undefined4 uStack_108;" (type_identifier "undefined4") (identifier "uStack_108") (; ";")) (declaration "int aiStack_104 [10];" (primitive_type "int") (array_declarator "aiStack_104 [10]" (identifier "aiStack_104") ([ "[") (number_literal "10") (] "]")) (; ";")) (declaration "int iStack_dc;" (primitive_type "int") (identifier "iStack_dc") (; ";")) (declaration "char *pcStack_d8;" (primitive_type "char") (pointer_declarator "*pcStack_d8" (* "*") (identifier "pcStack_d8")) (; ";")) (declaration "int iStack_d4;" (primitive_type "int") (identifier "iStack_d4") (; ";")) (declaration "int *piStack_d0;" (primitive_type "int") (pointer_declarator "*piStack_d0" (* "*") (identifier "piStack_d0")) (; ";")) (declaration "int iStack_cc;" (primitive_type "int") (identifier "iStack_cc") (; ";")) (declaration "undefined1 *puStack_c8;" (type_identifier "undefined1") (pointer_declarator "*puStack_c8" (* "*") (identifier "puStack_c8")) (; ";")) (declaration "undefined4 uStack_c4;" (type_identifier "undefined4") (identifier "uStack_c4") (; ";")) (declaration "int *piStack_c0;" (primitive_type "int") (pointer_declarator "*piStack_c0" (* "*") (identifier "piStack_c0")) (; ";")) (declaration "int *piStack_bc;" (primitive_type "int") (pointer_declarator "*piStack_bc" (* "*") (identifier "piStack_bc")) (; ";")) (declaration "int *piStack_b8;" (primitive_type "int") (pointer_declarator "*piStack_b8" (* "*") (identifier "piStack_b8")) (; ";")) (declaration "code *pcStack_b4;" (type_identifier "code") (pointer_declarator "*pcStack_b4" (* "*") (identifier "pcStack_b4")) (; ";")) (declaration "int *piStack_a0;" (primitive_type "int") (pointer_declarator "*piStack_a0" (* "*") (identifier "piStack_a0")) (; ";")) (declaration "int *piStack_98;" (primitive_type "int") (pointer_declarator "*piStack_98" (* "*") (identifier "piStack_98")) (; ";")) (declaration "undefined *puStack_94;" (type_identifier "undefined") (pointer_declarator "*puStack_94" (* "*") (identifier "puStack_94")) (; ";")) (declaration "int *piStack_90;" (primitive_type "int") (pointer_declarator "*piStack_90" (* "*") (identifier "piStack_90")) (; ";")) (declaration "undefined4 uStack_8c;" (type_identifier "undefined4") (identifier "uStack_8c") (; ";")) (declaration "int *piStack_88;" (primitive_type "int") (pointer_declarator "*piStack_88" (* "*") (identifier "piStack_88")) (; ";")) (declaration "int *piStack_84;" (primitive_type "int") (pointer_declarator "*piStack_84" (* "*") (identifier "piStack_84")) (; ";")) (declaration "int *piStack_80;" (primitive_type "int") (pointer_declarator "*piStack_80" (* "*") (identifier "piStack_80")) (; ";")) (declaration "int *piStack_7c;" (primitive_type "int") (pointer_declarator "*piStack_7c" (* "*") (identifier "piStack_7c")) (; ";")) (declaration "char *pcStack_78;" (primitive_type "char") (pointer_declarator "*pcStack_78" (* "*") (identifier "pcStack_78")) (; ";")) (declaration "code *pcStack_74;" (type_identifier "code") (pointer_declarator "*pcStack_74" (* "*") (identifier "pcStack_74")) (; ";")) (declaration "int local_54;" (primitive_type "int") (identifier "local_54") (; ";")) (declaration "int iStack_34;" (primitive_type "int") (identifier "iStack_34") (; ";")) (declaration "char local_30 [4];" (primitive_type "char") (array_declarator "local_30 [4]" (identifier "local_30") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "int local_2c;" (primitive_type "int") (identifier "local_2c") (; ";")) (expression_statement "puVar22 = PTR___stack_chk_guard_00079930;" (assignment_expression "puVar22 = PTR___stack_chk_guard_00079930" (identifier "puVar22") (= "=") (identifier "PTR___stack_chk_guard_00079930")) (; ";")) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_00079930;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_00079930" (identifier "local_2c") (= "=") (pointer_expression "*(int *)PTR___stack_chk_guard_00079930" (* "*") (cast_expression "(int *)PTR___stack_chk_guard_00079930" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_guard_00079930")))) (; ";")) (expression_statement "piVar10 = param_2;" (assignment_expression "piVar10 = param_2" (identifier "piVar10") (= "=") (identifier "param_2")) (; ";")) (expression_statement "piVar20 = param_3;" (assignment_expression "piVar20 = param_3" (identifier "piVar20") (= "=") (identifier "param_3")) (; ";")) (expression_statement "piVar13 = param_4;" (assignment_expression "piVar13 = param_4" (identifier "piVar13") (= "=") (identifier "param_4")) (; ";")) (expression_statement "uVar2 = (*(code *)PTR_fgetline_00079538)();" (assignment_expression "uVar2 = (*(code *)PTR_fgetline_00079538)()" (identifier "uVar2") (= "=") (call_expression "(*(code *)PTR_fgetline_00079538)()" (parenthesized_expression "(*(code *)PTR_fgetline_00079538)" (( "(") (pointer_expression "*(code *)PTR_fgetline_00079538" (* "*") (cast_expression "(code *)PTR_fgetline_00079538" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_fgetline_00079538"))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "piVar3 = (int *)(*(code *)PTR_chomp_0007953c)(uVar2);" (assignment_expression "piVar3 = (int *)(*(code *)PTR_chomp_0007953c)(uVar2)" (identifier "piVar3") (= "=") (cast_expression "(int *)(*(code *)PTR_chomp_0007953c)(uVar2)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_chomp_0007953c)(uVar2)" (parenthesized_expression "(*(code *)PTR_chomp_0007953c)" (( "(") (pointer_expression "*(code *)PTR_chomp_0007953c" (* "*") (cast_expression "(code *)PTR_chomp_0007953c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_chomp_0007953c"))) () ")")) (argument_list "(uVar2)" (( "(") (identifier "uVar2") () ")"))))) (; ";")) (if_statement "if (piVar3 != (int *)0x0) {\n    piVar10 = (int *)(PTR_s_j_000790a8 + 0x43cc);\n    iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar3);\n    if (iVar4 == 0) {\n      (*(code *)PTR_safefree_000790f0)(piVar3);\n      local_54 = 0;\n      puVar17 = PTR_s_j_000790a8 + 0x43ec;\n      piVar3 = (int *)(PTR_s_j_000790a8 + 0x4258);\n      unaff_s4 = (int *)(PTR_s_j_000790a8 + 0x43f0);\n      unaff_s7 = (int *)(PTR_s_j_000790a8 + 0x43f8);\n      while( true ) {\n        uVar2 = (*(code *)PTR_fgetline_00079538)(param_1);\n        piVar5 = (int *)(*(code *)PTR_chomp_0007953c)(uVar2);\n        if (piVar5 == (int *)0x0) break;\n        unaff_s8 = (char *)(*(code *)PTR_strstr_00079944)(piVar5,puVar17);\n        puVar1 = PTR_strcmp_000798a4;\n        if (unaff_s8 == (char *)0x0) {\n          piVar10 = (int *)0x1;\n          unaff_s7 = &iStack_34;\n          piVar19 = (int *)(*(code *)PTR_safemalloc_000790d0)(0x1000);\n          unaff_s8 = local_30;\n          iVar4 = 0;\n          unaff_s4 = (int *)0x0;\n          iVar18 = 0x1000;\n          goto LAB_0004340c;\n        }\n        *unaff_s8 = '\0';\n        piVar10 = piVar3;\n        iVar4 = (*(code *)puVar1)(piVar5);\n        if (iVar4 == 0) {\n          unaff_s5 = (int *)(int)unaff_s8[2];\n          unaff_s6 = (int *)(unaff_s8 + 2);\n          piVar20 = piVar5;\n          if (unaff_s5 == (int *)0x22) {\n            iVar4 = (*(code *)PTR_strlen_000798d0)(unaff_s6);\n            pcVar15 = (char *)((int)unaff_s6 + iVar4 + -1);\n            if (*pcVar15 == '\"') {\n              *pcVar15 = '\0';\n              unaff_s5 = (int *)(int)unaff_s8[3];\n              unaff_s6 = (int *)(unaff_s8 + 3);\n              if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n            }\nLAB_00043310:\n            piVar13 = (int *)&DAT_0000005c;\n            piVar19 = piVar10;\n            piVar11 = piVar5;\n            piVar14 = unaff_s6;\n            do {\n              while ((piVar10 = (int *)((int)piVar14 + 1), unaff_s5 != (int *)&DAT_0000005c ||\n                     (*(char *)((int)piVar14 + 1) == '\0'))) {\n                *(char *)piVar11 = *(char *)piVar14;\n                unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 1);\n                piVar19 = piVar10;\n                piVar20 = (int *)((int)piVar11 + 1);\n                piVar11 = (int *)((int)piVar11 + 1);\n                unaff_s6 = piVar10;\n                piVar14 = piVar10;\n                if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n              }\n              *(char *)piVar11 = *(char *)((int)piVar14 + 1);\n              unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 2);\n              piVar10 = piVar19;\n              piVar20 = (int *)((int)piVar11 + 1);\n              piVar11 = (int *)((int)piVar11 + 1);\n              unaff_s6 = (int *)((int)piVar14 + 2);\n              piVar14 = (int *)((int)piVar14 + 2);\n            } while (unaff_s5 != (int *)0x0);\n          }\n          else if (unaff_s5 != (int *)0x0) goto LAB_00043310;\nLAB_00043364:\n          puVar1 = PTR_safefree_000790f0;\n          *(char *)piVar20 = '\0';\n          (*(code *)puVar1)(local_54);\n          local_54 = (*(code *)PTR_dupstr_000790fc)(piVar5);\n        }\n        else {\n          piVar10 = unaff_s4;\n          iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar5);\n          if (iVar4 != 0) {\n            piVar20 = (int *)0x2;\n            piVar10 = unaff_s7;\n            iVar4 = (*(code *)PTR_strncmp_000797c4)(piVar5);\n            if (iVar4 != 0) {\n              piVar19 = (int *)0x0;\n              puVar17 = PTR_s_j_000790a8 + 0x437c;\n              param_2 = piVar5;\n              goto LAB_00043198;\n            }\n          }\n        }\n        (*(code *)PTR_safefree_000790f0)(piVar5);\n      }\n      piVar19 = (int *)0x0;\n      puVar17 = PTR_s_j_000790a8 + 0x43ac;\n      param_2 = piVar5;\n      goto LAB_00043198;\n    }\n  }" (if "if") (parenthesized_expression "(piVar3 != (int *)0x0)" (( "(") (binary_expression "piVar3 != (int *)0x0" (identifier "piVar3") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    piVar10 = (int *)(PTR_s_j_000790a8 + 0x43cc);\n    iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar3);\n    if (iVar4 == 0) {\n      (*(code *)PTR_safefree_000790f0)(piVar3);\n      local_54 = 0;\n      puVar17 = PTR_s_j_000790a8 + 0x43ec;\n      piVar3 = (int *)(PTR_s_j_000790a8 + 0x4258);\n      unaff_s4 = (int *)(PTR_s_j_000790a8 + 0x43f0);\n      unaff_s7 = (int *)(PTR_s_j_000790a8 + 0x43f8);\n      while( true ) {\n        uVar2 = (*(code *)PTR_fgetline_00079538)(param_1);\n        piVar5 = (int *)(*(code *)PTR_chomp_0007953c)(uVar2);\n        if (piVar5 == (int *)0x0) break;\n        unaff_s8 = (char *)(*(code *)PTR_strstr_00079944)(piVar5,puVar17);\n        puVar1 = PTR_strcmp_000798a4;\n        if (unaff_s8 == (char *)0x0) {\n          piVar10 = (int *)0x1;\n          unaff_s7 = &iStack_34;\n          piVar19 = (int *)(*(code *)PTR_safemalloc_000790d0)(0x1000);\n          unaff_s8 = local_30;\n          iVar4 = 0;\n          unaff_s4 = (int *)0x0;\n          iVar18 = 0x1000;\n          goto LAB_0004340c;\n        }\n        *unaff_s8 = '\0';\n        piVar10 = piVar3;\n        iVar4 = (*(code *)puVar1)(piVar5);\n        if (iVar4 == 0) {\n          unaff_s5 = (int *)(int)unaff_s8[2];\n          unaff_s6 = (int *)(unaff_s8 + 2);\n          piVar20 = piVar5;\n          if (unaff_s5 == (int *)0x22) {\n            iVar4 = (*(code *)PTR_strlen_000798d0)(unaff_s6);\n            pcVar15 = (char *)((int)unaff_s6 + iVar4 + -1);\n            if (*pcVar15 == '\"') {\n              *pcVar15 = '\0';\n              unaff_s5 = (int *)(int)unaff_s8[3];\n              unaff_s6 = (int *)(unaff_s8 + 3);\n              if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n            }\nLAB_00043310:\n            piVar13 = (int *)&DAT_0000005c;\n            piVar19 = piVar10;\n            piVar11 = piVar5;\n            piVar14 = unaff_s6;\n            do {\n              while ((piVar10 = (int *)((int)piVar14 + 1), unaff_s5 != (int *)&DAT_0000005c ||\n                     (*(char *)((int)piVar14 + 1) == '\0'))) {\n                *(char *)piVar11 = *(char *)piVar14;\n                unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 1);\n                piVar19 = piVar10;\n                piVar20 = (int *)((int)piVar11 + 1);\n                piVar11 = (int *)((int)piVar11 + 1);\n                unaff_s6 = piVar10;\n                piVar14 = piVar10;\n                if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n              }\n              *(char *)piVar11 = *(char *)((int)piVar14 + 1);\n              unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 2);\n              piVar10 = piVar19;\n              piVar20 = (int *)((int)piVar11 + 1);\n              piVar11 = (int *)((int)piVar11 + 1);\n              unaff_s6 = (int *)((int)piVar14 + 2);\n              piVar14 = (int *)((int)piVar14 + 2);\n            } while (unaff_s5 != (int *)0x0);\n          }\n          else if (unaff_s5 != (int *)0x0) goto LAB_00043310;\nLAB_00043364:\n          puVar1 = PTR_safefree_000790f0;\n          *(char *)piVar20 = '\0';\n          (*(code *)puVar1)(local_54);\n          local_54 = (*(code *)PTR_dupstr_000790fc)(piVar5);\n        }\n        else {\n          piVar10 = unaff_s4;\n          iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar5);\n          if (iVar4 != 0) {\n            piVar20 = (int *)0x2;\n            piVar10 = unaff_s7;\n            iVar4 = (*(code *)PTR_strncmp_000797c4)(piVar5);\n            if (iVar4 != 0) {\n              piVar19 = (int *)0x0;\n              puVar17 = PTR_s_j_000790a8 + 0x437c;\n              param_2 = piVar5;\n              goto LAB_00043198;\n            }\n          }\n        }\n        (*(code *)PTR_safefree_000790f0)(piVar5);\n      }\n      piVar19 = (int *)0x0;\n      puVar17 = PTR_s_j_000790a8 + 0x43ac;\n      param_2 = piVar5;\n      goto LAB_00043198;\n    }\n  }" ({ "{") (expression_statement "piVar10 = (int *)(PTR_s_j_000790a8 + 0x43cc);" (assignment_expression "piVar10 = (int *)(PTR_s_j_000790a8 + 0x43cc)" (identifier "piVar10") (= "=") (cast_expression "(int *)(PTR_s_j_000790a8 + 0x43cc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_s_j_000790a8 + 0x43cc)" (( "(") (binary_expression "PTR_s_j_000790a8 + 0x43cc" (identifier "PTR_s_j_000790a8") (+ "+") (number_literal "0x43cc")) () ")")))) (; ";")) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar3);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar3)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_strcmp_000798a4)(piVar3)" (parenthesized_expression "(*(code *)PTR_strcmp_000798a4)" (( "(") (pointer_expression "*(code *)PTR_strcmp_000798a4" (* "*") (cast_expression "(code *)PTR_strcmp_000798a4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strcmp_000798a4"))) () ")")) (argument_list "(piVar3)" (( "(") (identifier "piVar3") () ")")))) (; ";")) (if_statement "if (iVar4 == 0) {\n      (*(code *)PTR_safefree_000790f0)(piVar3);\n      local_54 = 0;\n      puVar17 = PTR_s_j_000790a8 + 0x43ec;\n      piVar3 = (int *)(PTR_s_j_000790a8 + 0x4258);\n      unaff_s4 = (int *)(PTR_s_j_000790a8 + 0x43f0);\n      unaff_s7 = (int *)(PTR_s_j_000790a8 + 0x43f8);\n      while( true ) {\n        uVar2 = (*(code *)PTR_fgetline_00079538)(param_1);\n        piVar5 = (int *)(*(code *)PTR_chomp_0007953c)(uVar2);\n        if (piVar5 == (int *)0x0) break;\n        unaff_s8 = (char *)(*(code *)PTR_strstr_00079944)(piVar5,puVar17);\n        puVar1 = PTR_strcmp_000798a4;\n        if (unaff_s8 == (char *)0x0) {\n          piVar10 = (int *)0x1;\n          unaff_s7 = &iStack_34;\n          piVar19 = (int *)(*(code *)PTR_safemalloc_000790d0)(0x1000);\n          unaff_s8 = local_30;\n          iVar4 = 0;\n          unaff_s4 = (int *)0x0;\n          iVar18 = 0x1000;\n          goto LAB_0004340c;\n        }\n        *unaff_s8 = '\0';\n        piVar10 = piVar3;\n        iVar4 = (*(code *)puVar1)(piVar5);\n        if (iVar4 == 0) {\n          unaff_s5 = (int *)(int)unaff_s8[2];\n          unaff_s6 = (int *)(unaff_s8 + 2);\n          piVar20 = piVar5;\n          if (unaff_s5 == (int *)0x22) {\n            iVar4 = (*(code *)PTR_strlen_000798d0)(unaff_s6);\n            pcVar15 = (char *)((int)unaff_s6 + iVar4 + -1);\n            if (*pcVar15 == '\"') {\n              *pcVar15 = '\0';\n              unaff_s5 = (int *)(int)unaff_s8[3];\n              unaff_s6 = (int *)(unaff_s8 + 3);\n              if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n            }\nLAB_00043310:\n            piVar13 = (int *)&DAT_0000005c;\n            piVar19 = piVar10;\n            piVar11 = piVar5;\n            piVar14 = unaff_s6;\n            do {\n              while ((piVar10 = (int *)((int)piVar14 + 1), unaff_s5 != (int *)&DAT_0000005c ||\n                     (*(char *)((int)piVar14 + 1) == '\0'))) {\n                *(char *)piVar11 = *(char *)piVar14;\n                unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 1);\n                piVar19 = piVar10;\n                piVar20 = (int *)((int)piVar11 + 1);\n                piVar11 = (int *)((int)piVar11 + 1);\n                unaff_s6 = piVar10;\n                piVar14 = piVar10;\n                if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n              }\n              *(char *)piVar11 = *(char *)((int)piVar14 + 1);\n              unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 2);\n              piVar10 = piVar19;\n              piVar20 = (int *)((int)piVar11 + 1);\n              piVar11 = (int *)((int)piVar11 + 1);\n              unaff_s6 = (int *)((int)piVar14 + 2);\n              piVar14 = (int *)((int)piVar14 + 2);\n            } while (unaff_s5 != (int *)0x0);\n          }\n          else if (unaff_s5 != (int *)0x0) goto LAB_00043310;\nLAB_00043364:\n          puVar1 = PTR_safefree_000790f0;\n          *(char *)piVar20 = '\0';\n          (*(code *)puVar1)(local_54);\n          local_54 = (*(code *)PTR_dupstr_000790fc)(piVar5);\n        }\n        else {\n          piVar10 = unaff_s4;\n          iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar5);\n          if (iVar4 != 0) {\n            piVar20 = (int *)0x2;\n            piVar10 = unaff_s7;\n            iVar4 = (*(code *)PTR_strncmp_000797c4)(piVar5);\n            if (iVar4 != 0) {\n              piVar19 = (int *)0x0;\n              puVar17 = PTR_s_j_000790a8 + 0x437c;\n              param_2 = piVar5;\n              goto LAB_00043198;\n            }\n          }\n        }\n        (*(code *)PTR_safefree_000790f0)(piVar5);\n      }\n      piVar19 = (int *)0x0;\n      puVar17 = PTR_s_j_000790a8 + 0x43ac;\n      param_2 = piVar5;\n      goto LAB_00043198;\n    }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      (*(code *)PTR_safefree_000790f0)(piVar3);\n      local_54 = 0;\n      puVar17 = PTR_s_j_000790a8 + 0x43ec;\n      piVar3 = (int *)(PTR_s_j_000790a8 + 0x4258);\n      unaff_s4 = (int *)(PTR_s_j_000790a8 + 0x43f0);\n      unaff_s7 = (int *)(PTR_s_j_000790a8 + 0x43f8);\n      while( true ) {\n        uVar2 = (*(code *)PTR_fgetline_00079538)(param_1);\n        piVar5 = (int *)(*(code *)PTR_chomp_0007953c)(uVar2);\n        if (piVar5 == (int *)0x0) break;\n        unaff_s8 = (char *)(*(code *)PTR_strstr_00079944)(piVar5,puVar17);\n        puVar1 = PTR_strcmp_000798a4;\n        if (unaff_s8 == (char *)0x0) {\n          piVar10 = (int *)0x1;\n          unaff_s7 = &iStack_34;\n          piVar19 = (int *)(*(code *)PTR_safemalloc_000790d0)(0x1000);\n          unaff_s8 = local_30;\n          iVar4 = 0;\n          unaff_s4 = (int *)0x0;\n          iVar18 = 0x1000;\n          goto LAB_0004340c;\n        }\n        *unaff_s8 = '\0';\n        piVar10 = piVar3;\n        iVar4 = (*(code *)puVar1)(piVar5);\n        if (iVar4 == 0) {\n          unaff_s5 = (int *)(int)unaff_s8[2];\n          unaff_s6 = (int *)(unaff_s8 + 2);\n          piVar20 = piVar5;\n          if (unaff_s5 == (int *)0x22) {\n            iVar4 = (*(code *)PTR_strlen_000798d0)(unaff_s6);\n            pcVar15 = (char *)((int)unaff_s6 + iVar4 + -1);\n            if (*pcVar15 == '\"') {\n              *pcVar15 = '\0';\n              unaff_s5 = (int *)(int)unaff_s8[3];\n              unaff_s6 = (int *)(unaff_s8 + 3);\n              if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n            }\nLAB_00043310:\n            piVar13 = (int *)&DAT_0000005c;\n            piVar19 = piVar10;\n            piVar11 = piVar5;\n            piVar14 = unaff_s6;\n            do {\n              while ((piVar10 = (int *)((int)piVar14 + 1), unaff_s5 != (int *)&DAT_0000005c ||\n                     (*(char *)((int)piVar14 + 1) == '\0'))) {\n                *(char *)piVar11 = *(char *)piVar14;\n                unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 1);\n                piVar19 = piVar10;\n                piVar20 = (int *)((int)piVar11 + 1);\n                piVar11 = (int *)((int)piVar11 + 1);\n                unaff_s6 = piVar10;\n                piVar14 = piVar10;\n                if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n              }\n              *(char *)piVar11 = *(char *)((int)piVar14 + 1);\n              unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 2);\n              piVar10 = piVar19;\n              piVar20 = (int *)((int)piVar11 + 1);\n              piVar11 = (int *)((int)piVar11 + 1);\n              unaff_s6 = (int *)((int)piVar14 + 2);\n              piVar14 = (int *)((int)piVar14 + 2);\n            } while (unaff_s5 != (int *)0x0);\n          }\n          else if (unaff_s5 != (int *)0x0) goto LAB_00043310;\nLAB_00043364:\n          puVar1 = PTR_safefree_000790f0;\n          *(char *)piVar20 = '\0';\n          (*(code *)puVar1)(local_54);\n          local_54 = (*(code *)PTR_dupstr_000790fc)(piVar5);\n        }\n        else {\n          piVar10 = unaff_s4;\n          iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar5);\n          if (iVar4 != 0) {\n            piVar20 = (int *)0x2;\n            piVar10 = unaff_s7;\n            iVar4 = (*(code *)PTR_strncmp_000797c4)(piVar5);\n            if (iVar4 != 0) {\n              piVar19 = (int *)0x0;\n              puVar17 = PTR_s_j_000790a8 + 0x437c;\n              param_2 = piVar5;\n              goto LAB_00043198;\n            }\n          }\n        }\n        (*(code *)PTR_safefree_000790f0)(piVar5);\n      }\n      piVar19 = (int *)0x0;\n      puVar17 = PTR_s_j_000790a8 + 0x43ac;\n      param_2 = piVar5;\n      goto LAB_00043198;\n    }" ({ "{") (expression_statement "(*(code *)PTR_safefree_000790f0)(piVar3);" (call_expression "(*(code *)PTR_safefree_000790f0)(piVar3)" (parenthesized_expression "(*(code *)PTR_safefree_000790f0)" (( "(") (pointer_expression "*(code *)PTR_safefree_000790f0" (* "*") (cast_expression "(code *)PTR_safefree_000790f0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_safefree_000790f0"))) () ")")) (argument_list "(piVar3)" (( "(") (identifier "piVar3") () ")"))) (; ";")) (expression_statement "local_54 = 0;" (assignment_expression "local_54 = 0" (identifier "local_54") (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar17 = PTR_s_j_000790a8 + 0x43ec;" (assignment_expression "puVar17 = PTR_s_j_000790a8 + 0x43ec" (identifier "puVar17") (= "=") (binary_expression "PTR_s_j_000790a8 + 0x43ec" (identifier "PTR_s_j_000790a8") (+ "+") (number_literal "0x43ec"))) (; ";")) (expression_statement "piVar3 = (int *)(PTR_s_j_000790a8 + 0x4258);" (assignment_expression "piVar3 = (int *)(PTR_s_j_000790a8 + 0x4258)" (identifier "piVar3") (= "=") (cast_expression "(int *)(PTR_s_j_000790a8 + 0x4258)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_s_j_000790a8 + 0x4258)" (( "(") (binary_expression "PTR_s_j_000790a8 + 0x4258" (identifier "PTR_s_j_000790a8") (+ "+") (number_literal "0x4258")) () ")")))) (; ";")) (expression_statement "unaff_s4 = (int *)(PTR_s_j_000790a8 + 0x43f0);" (assignment_expression "unaff_s4 = (int *)(PTR_s_j_000790a8 + 0x43f0)" (identifier "unaff_s4") (= "=") (cast_expression "(int *)(PTR_s_j_000790a8 + 0x43f0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_s_j_000790a8 + 0x43f0)" (( "(") (binary_expression "PTR_s_j_000790a8 + 0x43f0" (identifier "PTR_s_j_000790a8") (+ "+") (number_literal "0x43f0")) () ")")))) (; ";")) (expression_statement "unaff_s7 = (int *)(PTR_s_j_000790a8 + 0x43f8);" (assignment_expression "unaff_s7 = (int *)(PTR_s_j_000790a8 + 0x43f8)" (identifier "unaff_s7") (= "=") (cast_expression "(int *)(PTR_s_j_000790a8 + 0x43f8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_s_j_000790a8 + 0x43f8)" (( "(") (binary_expression "PTR_s_j_000790a8 + 0x43f8" (identifier "PTR_s_j_000790a8") (+ "+") (number_literal "0x43f8")) () ")")))) (; ";")) (while_statement "while( true ) {\n        uVar2 = (*(code *)PTR_fgetline_00079538)(param_1);\n        piVar5 = (int *)(*(code *)PTR_chomp_0007953c)(uVar2);\n        if (piVar5 == (int *)0x0) break;\n        unaff_s8 = (char *)(*(code *)PTR_strstr_00079944)(piVar5,puVar17);\n        puVar1 = PTR_strcmp_000798a4;\n        if (unaff_s8 == (char *)0x0) {\n          piVar10 = (int *)0x1;\n          unaff_s7 = &iStack_34;\n          piVar19 = (int *)(*(code *)PTR_safemalloc_000790d0)(0x1000);\n          unaff_s8 = local_30;\n          iVar4 = 0;\n          unaff_s4 = (int *)0x0;\n          iVar18 = 0x1000;\n          goto LAB_0004340c;\n        }\n        *unaff_s8 = '\0';\n        piVar10 = piVar3;\n        iVar4 = (*(code *)puVar1)(piVar5);\n        if (iVar4 == 0) {\n          unaff_s5 = (int *)(int)unaff_s8[2];\n          unaff_s6 = (int *)(unaff_s8 + 2);\n          piVar20 = piVar5;\n          if (unaff_s5 == (int *)0x22) {\n            iVar4 = (*(code *)PTR_strlen_000798d0)(unaff_s6);\n            pcVar15 = (char *)((int)unaff_s6 + iVar4 + -1);\n            if (*pcVar15 == '\"') {\n              *pcVar15 = '\0';\n              unaff_s5 = (int *)(int)unaff_s8[3];\n              unaff_s6 = (int *)(unaff_s8 + 3);\n              if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n            }\nLAB_00043310:\n            piVar13 = (int *)&DAT_0000005c;\n            piVar19 = piVar10;\n            piVar11 = piVar5;\n            piVar14 = unaff_s6;\n            do {\n              while ((piVar10 = (int *)((int)piVar14 + 1), unaff_s5 != (int *)&DAT_0000005c ||\n                     (*(char *)((int)piVar14 + 1) == '\0'))) {\n                *(char *)piVar11 = *(char *)piVar14;\n                unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 1);\n                piVar19 = piVar10;\n                piVar20 = (int *)((int)piVar11 + 1);\n                piVar11 = (int *)((int)piVar11 + 1);\n                unaff_s6 = piVar10;\n                piVar14 = piVar10;\n                if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n              }\n              *(char *)piVar11 = *(char *)((int)piVar14 + 1);\n              unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 2);\n              piVar10 = piVar19;\n              piVar20 = (int *)((int)piVar11 + 1);\n              piVar11 = (int *)((int)piVar11 + 1);\n              unaff_s6 = (int *)((int)piVar14 + 2);\n              piVar14 = (int *)((int)piVar14 + 2);\n            } while (unaff_s5 != (int *)0x0);\n          }\n          else if (unaff_s5 != (int *)0x0) goto LAB_00043310;\nLAB_00043364:\n          puVar1 = PTR_safefree_000790f0;\n          *(char *)piVar20 = '\0';\n          (*(code *)puVar1)(local_54);\n          local_54 = (*(code *)PTR_dupstr_000790fc)(piVar5);\n        }\n        else {\n          piVar10 = unaff_s4;\n          iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar5);\n          if (iVar4 != 0) {\n            piVar20 = (int *)0x2;\n            piVar10 = unaff_s7;\n            iVar4 = (*(code *)PTR_strncmp_000797c4)(piVar5);\n            if (iVar4 != 0) {\n              piVar19 = (int *)0x0;\n              puVar17 = PTR_s_j_000790a8 + 0x437c;\n              param_2 = piVar5;\n              goto LAB_00043198;\n            }\n          }\n        }\n        (*(code *)PTR_safefree_000790f0)(piVar5);\n      }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n        uVar2 = (*(code *)PTR_fgetline_00079538)(param_1);\n        piVar5 = (int *)(*(code *)PTR_chomp_0007953c)(uVar2);\n        if (piVar5 == (int *)0x0) break;\n        unaff_s8 = (char *)(*(code *)PTR_strstr_00079944)(piVar5,puVar17);\n        puVar1 = PTR_strcmp_000798a4;\n        if (unaff_s8 == (char *)0x0) {\n          piVar10 = (int *)0x1;\n          unaff_s7 = &iStack_34;\n          piVar19 = (int *)(*(code *)PTR_safemalloc_000790d0)(0x1000);\n          unaff_s8 = local_30;\n          iVar4 = 0;\n          unaff_s4 = (int *)0x0;\n          iVar18 = 0x1000;\n          goto LAB_0004340c;\n        }\n        *unaff_s8 = '\0';\n        piVar10 = piVar3;\n        iVar4 = (*(code *)puVar1)(piVar5);\n        if (iVar4 == 0) {\n          unaff_s5 = (int *)(int)unaff_s8[2];\n          unaff_s6 = (int *)(unaff_s8 + 2);\n          piVar20 = piVar5;\n          if (unaff_s5 == (int *)0x22) {\n            iVar4 = (*(code *)PTR_strlen_000798d0)(unaff_s6);\n            pcVar15 = (char *)((int)unaff_s6 + iVar4 + -1);\n            if (*pcVar15 == '\"') {\n              *pcVar15 = '\0';\n              unaff_s5 = (int *)(int)unaff_s8[3];\n              unaff_s6 = (int *)(unaff_s8 + 3);\n              if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n            }\nLAB_00043310:\n            piVar13 = (int *)&DAT_0000005c;\n            piVar19 = piVar10;\n            piVar11 = piVar5;\n            piVar14 = unaff_s6;\n            do {\n              while ((piVar10 = (int *)((int)piVar14 + 1), unaff_s5 != (int *)&DAT_0000005c ||\n                     (*(char *)((int)piVar14 + 1) == '\0'))) {\n                *(char *)piVar11 = *(char *)piVar14;\n                unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 1);\n                piVar19 = piVar10;\n                piVar20 = (int *)((int)piVar11 + 1);\n                piVar11 = (int *)((int)piVar11 + 1);\n                unaff_s6 = piVar10;\n                piVar14 = piVar10;\n                if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n              }\n              *(char *)piVar11 = *(char *)((int)piVar14 + 1);\n              unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 2);\n              piVar10 = piVar19;\n              piVar20 = (int *)((int)piVar11 + 1);\n              piVar11 = (int *)((int)piVar11 + 1);\n              unaff_s6 = (int *)((int)piVar14 + 2);\n              piVar14 = (int *)((int)piVar14 + 2);\n            } while (unaff_s5 != (int *)0x0);\n          }\n          else if (unaff_s5 != (int *)0x0) goto LAB_00043310;\nLAB_00043364:\n          puVar1 = PTR_safefree_000790f0;\n          *(char *)piVar20 = '\0';\n          (*(code *)puVar1)(local_54);\n          local_54 = (*(code *)PTR_dupstr_000790fc)(piVar5);\n        }\n        else {\n          piVar10 = unaff_s4;\n          iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar5);\n          if (iVar4 != 0) {\n            piVar20 = (int *)0x2;\n            piVar10 = unaff_s7;\n            iVar4 = (*(code *)PTR_strncmp_000797c4)(piVar5);\n            if (iVar4 != 0) {\n              piVar19 = (int *)0x0;\n              puVar17 = PTR_s_j_000790a8 + 0x437c;\n              param_2 = piVar5;\n              goto LAB_00043198;\n            }\n          }\n        }\n        (*(code *)PTR_safefree_000790f0)(piVar5);\n      }" ({ "{") (expression_statement "uVar2 = (*(code *)PTR_fgetline_00079538)(param_1);" (assignment_expression "uVar2 = (*(code *)PTR_fgetline_00079538)(param_1)" (identifier "uVar2") (= "=") (call_expression "(*(code *)PTR_fgetline_00079538)(param_1)" (parenthesized_expression "(*(code *)PTR_fgetline_00079538)" (( "(") (pointer_expression "*(code *)PTR_fgetline_00079538" (* "*") (cast_expression "(code *)PTR_fgetline_00079538" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_fgetline_00079538"))) () ")")) (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (expression_statement "piVar5 = (int *)(*(code *)PTR_chomp_0007953c)(uVar2);" (assignment_expression "piVar5 = (int *)(*(code *)PTR_chomp_0007953c)(uVar2)" (identifier "piVar5") (= "=") (cast_expression "(int *)(*(code *)PTR_chomp_0007953c)(uVar2)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_chomp_0007953c)(uVar2)" (parenthesized_expression "(*(code *)PTR_chomp_0007953c)" (( "(") (pointer_expression "*(code *)PTR_chomp_0007953c" (* "*") (cast_expression "(code *)PTR_chomp_0007953c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_chomp_0007953c"))) () ")")) (argument_list "(uVar2)" (( "(") (identifier "uVar2") () ")"))))) (; ";")) (if_statement "if (piVar5 == (int *)0x0) break;" (if "if") (parenthesized_expression "(piVar5 == (int *)0x0)" (( "(") (binary_expression "piVar5 == (int *)0x0" (identifier "piVar5") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "unaff_s8 = (char *)(*(code *)PTR_strstr_00079944)(piVar5,puVar17);" (assignment_expression "unaff_s8 = (char *)(*(code *)PTR_strstr_00079944)(piVar5,puVar17)" (identifier "unaff_s8") (= "=") (cast_expression "(char *)(*(code *)PTR_strstr_00079944)(piVar5,puVar17)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_strstr_00079944)(piVar5,puVar17)" (parenthesized_expression "(*(code *)PTR_strstr_00079944)" (( "(") (pointer_expression "*(code *)PTR_strstr_00079944" (* "*") (cast_expression "(code *)PTR_strstr_00079944" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strstr_00079944"))) () ")")) (argument_list "(piVar5,puVar17)" (( "(") (identifier "piVar5") (, ",") (identifier "puVar17") () ")"))))) (; ";")) (expression_statement "puVar1 = PTR_strcmp_000798a4;" (assignment_expression "puVar1 = PTR_strcmp_000798a4" (identifier "puVar1") (= "=") (identifier "PTR_strcmp_000798a4")) (; ";")) (if_statement "if (unaff_s8 == (char *)0x0) {\n          piVar10 = (int *)0x1;\n          unaff_s7 = &iStack_34;\n          piVar19 = (int *)(*(code *)PTR_safemalloc_000790d0)(0x1000);\n          unaff_s8 = local_30;\n          iVar4 = 0;\n          unaff_s4 = (int *)0x0;\n          iVar18 = 0x1000;\n          goto LAB_0004340c;\n        }" (if "if") (parenthesized_expression "(unaff_s8 == (char *)0x0)" (( "(") (binary_expression "unaff_s8 == (char *)0x0" (identifier "unaff_s8") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          piVar10 = (int *)0x1;\n          unaff_s7 = &iStack_34;\n          piVar19 = (int *)(*(code *)PTR_safemalloc_000790d0)(0x1000);\n          unaff_s8 = local_30;\n          iVar4 = 0;\n          unaff_s4 = (int *)0x0;\n          iVar18 = 0x1000;\n          goto LAB_0004340c;\n        }" ({ "{") (expression_statement "piVar10 = (int *)0x1;" (assignment_expression "piVar10 = (int *)0x1" (identifier "piVar10") (= "=") (cast_expression "(int *)0x1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "unaff_s7 = &iStack_34;" (assignment_expression "unaff_s7 = &iStack_34" (identifier "unaff_s7") (= "=") (pointer_expression "&iStack_34" (& "&") (identifier "iStack_34"))) (; ";")) (expression_statement "piVar19 = (int *)(*(code *)PTR_safemalloc_000790d0)(0x1000);" (assignment_expression "piVar19 = (int *)(*(code *)PTR_safemalloc_000790d0)(0x1000)" (identifier "piVar19") (= "=") (cast_expression "(int *)(*(code *)PTR_safemalloc_000790d0)(0x1000)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_safemalloc_000790d0)(0x1000)" (parenthesized_expression "(*(code *)PTR_safemalloc_000790d0)" (( "(") (pointer_expression "*(code *)PTR_safemalloc_000790d0" (* "*") (cast_expression "(code *)PTR_safemalloc_000790d0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_safemalloc_000790d0"))) () ")")) (argument_list "(0x1000)" (( "(") (number_literal "0x1000") () ")"))))) (; ";")) (expression_statement "unaff_s8 = local_30;" (assignment_expression "unaff_s8 = local_30" (identifier "unaff_s8") (= "=") (identifier "local_30")) (; ";")) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" (identifier "iVar4") (= "=") (number_literal "0")) (; ";")) (expression_statement "unaff_s4 = (int *)0x0;" (assignment_expression "unaff_s4 = (int *)0x0" (identifier "unaff_s4") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar18 = 0x1000;" (assignment_expression "iVar18 = 0x1000" (identifier "iVar18") (= "=") (number_literal "0x1000")) (; ";")) (goto_statement "goto LAB_0004340c;" (goto "goto") (statement_identifier "LAB_0004340c") (; ";")) (} "}"))) (expression_statement "*unaff_s8 = '\0';" (assignment_expression "*unaff_s8 = '\0'" (pointer_expression "*unaff_s8" (* "*") (identifier "unaff_s8")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "piVar10 = piVar3;" (assignment_expression "piVar10 = piVar3" (identifier "piVar10") (= "=") (identifier "piVar3")) (; ";")) (expression_statement "iVar4 = (*(code *)puVar1)(piVar5);" (assignment_expression "iVar4 = (*(code *)puVar1)(piVar5)" (identifier "iVar4") (= "=") (call_expression "(*(code *)puVar1)(piVar5)" (parenthesized_expression "(*(code *)puVar1)" (( "(") (pointer_expression "*(code *)puVar1" (* "*") (cast_expression "(code *)puVar1" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1"))) () ")")) (argument_list "(piVar5)" (( "(") (identifier "piVar5") () ")")))) (; ";")) (if_statement "if (iVar4 == 0) {\n          unaff_s5 = (int *)(int)unaff_s8[2];\n          unaff_s6 = (int *)(unaff_s8 + 2);\n          piVar20 = piVar5;\n          if (unaff_s5 == (int *)0x22) {\n            iVar4 = (*(code *)PTR_strlen_000798d0)(unaff_s6);\n            pcVar15 = (char *)((int)unaff_s6 + iVar4 + -1);\n            if (*pcVar15 == '\"') {\n              *pcVar15 = '\0';\n              unaff_s5 = (int *)(int)unaff_s8[3];\n              unaff_s6 = (int *)(unaff_s8 + 3);\n              if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n            }\nLAB_00043310:\n            piVar13 = (int *)&DAT_0000005c;\n            piVar19 = piVar10;\n            piVar11 = piVar5;\n            piVar14 = unaff_s6;\n            do {\n              while ((piVar10 = (int *)((int)piVar14 + 1), unaff_s5 != (int *)&DAT_0000005c ||\n                     (*(char *)((int)piVar14 + 1) == '\0'))) {\n                *(char *)piVar11 = *(char *)piVar14;\n                unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 1);\n                piVar19 = piVar10;\n                piVar20 = (int *)((int)piVar11 + 1);\n                piVar11 = (int *)((int)piVar11 + 1);\n                unaff_s6 = piVar10;\n                piVar14 = piVar10;\n                if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n              }\n              *(char *)piVar11 = *(char *)((int)piVar14 + 1);\n              unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 2);\n              piVar10 = piVar19;\n              piVar20 = (int *)((int)piVar11 + 1);\n              piVar11 = (int *)((int)piVar11 + 1);\n              unaff_s6 = (int *)((int)piVar14 + 2);\n              piVar14 = (int *)((int)piVar14 + 2);\n            } while (unaff_s5 != (int *)0x0);\n          }\n          else if (unaff_s5 != (int *)0x0) goto LAB_00043310;\nLAB_00043364:\n          puVar1 = PTR_safefree_000790f0;\n          *(char *)piVar20 = '\0';\n          (*(code *)puVar1)(local_54);\n          local_54 = (*(code *)PTR_dupstr_000790fc)(piVar5);\n        }\n        else {\n          piVar10 = unaff_s4;\n          iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar5);\n          if (iVar4 != 0) {\n            piVar20 = (int *)0x2;\n            piVar10 = unaff_s7;\n            iVar4 = (*(code *)PTR_strncmp_000797c4)(piVar5);\n            if (iVar4 != 0) {\n              piVar19 = (int *)0x0;\n              puVar17 = PTR_s_j_000790a8 + 0x437c;\n              param_2 = piVar5;\n              goto LAB_00043198;\n            }\n          }\n        }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          unaff_s5 = (int *)(int)unaff_s8[2];\n          unaff_s6 = (int *)(unaff_s8 + 2);\n          piVar20 = piVar5;\n          if (unaff_s5 == (int *)0x22) {\n            iVar4 = (*(code *)PTR_strlen_000798d0)(unaff_s6);\n            pcVar15 = (char *)((int)unaff_s6 + iVar4 + -1);\n            if (*pcVar15 == '\"') {\n              *pcVar15 = '\0';\n              unaff_s5 = (int *)(int)unaff_s8[3];\n              unaff_s6 = (int *)(unaff_s8 + 3);\n              if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n            }\nLAB_00043310:\n            piVar13 = (int *)&DAT_0000005c;\n            piVar19 = piVar10;\n            piVar11 = piVar5;\n            piVar14 = unaff_s6;\n            do {\n              while ((piVar10 = (int *)((int)piVar14 + 1), unaff_s5 != (int *)&DAT_0000005c ||\n                     (*(char *)((int)piVar14 + 1) == '\0'))) {\n                *(char *)piVar11 = *(char *)piVar14;\n                unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 1);\n                piVar19 = piVar10;\n                piVar20 = (int *)((int)piVar11 + 1);\n                piVar11 = (int *)((int)piVar11 + 1);\n                unaff_s6 = piVar10;\n                piVar14 = piVar10;\n                if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n              }\n              *(char *)piVar11 = *(char *)((int)piVar14 + 1);\n              unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 2);\n              piVar10 = piVar19;\n              piVar20 = (int *)((int)piVar11 + 1);\n              piVar11 = (int *)((int)piVar11 + 1);\n              unaff_s6 = (int *)((int)piVar14 + 2);\n              piVar14 = (int *)((int)piVar14 + 2);\n            } while (unaff_s5 != (int *)0x0);\n          }\n          else if (unaff_s5 != (int *)0x0) goto LAB_00043310;\nLAB_00043364:\n          puVar1 = PTR_safefree_000790f0;\n          *(char *)piVar20 = '\0';\n          (*(code *)puVar1)(local_54);\n          local_54 = (*(code *)PTR_dupstr_000790fc)(piVar5);\n        }" ({ "{") (expression_statement "unaff_s5 = (int *)(int)unaff_s8[2];" (assignment_expression "unaff_s5 = (int *)(int)unaff_s8[2]" (identifier "unaff_s5") (= "=") (cast_expression "(int *)(int)unaff_s8[2]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(int)unaff_s8[2]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "unaff_s8[2]" (identifier "unaff_s8") ([ "[") (number_literal "2") (] "]"))))) (; ";")) (expression_statement "unaff_s6 = (int *)(unaff_s8 + 2);" (assignment_expression "unaff_s6 = (int *)(unaff_s8 + 2)" (identifier "unaff_s6") (= "=") (cast_expression "(int *)(unaff_s8 + 2)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s8 + 2)" (( "(") (binary_expression "unaff_s8 + 2" (identifier "unaff_s8") (+ "+") (number_literal "2")) () ")")))) (; ";")) (expression_statement "piVar20 = piVar5;" (assignment_expression "piVar20 = piVar5" (identifier "piVar20") (= "=") (identifier "piVar5")) (; ";")) (if_statement "if (unaff_s5 == (int *)0x22) {\n            iVar4 = (*(code *)PTR_strlen_000798d0)(unaff_s6);\n            pcVar15 = (char *)((int)unaff_s6 + iVar4 + -1);\n            if (*pcVar15 == '\"') {\n              *pcVar15 = '\0';\n              unaff_s5 = (int *)(int)unaff_s8[3];\n              unaff_s6 = (int *)(unaff_s8 + 3);\n              if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n            }\nLAB_00043310:\n            piVar13 = (int *)&DAT_0000005c;\n            piVar19 = piVar10;\n            piVar11 = piVar5;\n            piVar14 = unaff_s6;\n            do {\n              while ((piVar10 = (int *)((int)piVar14 + 1), unaff_s5 != (int *)&DAT_0000005c ||\n                     (*(char *)((int)piVar14 + 1) == '\0'))) {\n                *(char *)piVar11 = *(char *)piVar14;\n                unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 1);\n                piVar19 = piVar10;\n                piVar20 = (int *)((int)piVar11 + 1);\n                piVar11 = (int *)((int)piVar11 + 1);\n                unaff_s6 = piVar10;\n                piVar14 = piVar10;\n                if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n              }\n              *(char *)piVar11 = *(char *)((int)piVar14 + 1);\n              unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 2);\n              piVar10 = piVar19;\n              piVar20 = (int *)((int)piVar11 + 1);\n              piVar11 = (int *)((int)piVar11 + 1);\n              unaff_s6 = (int *)((int)piVar14 + 2);\n              piVar14 = (int *)((int)piVar14 + 2);\n            } while (unaff_s5 != (int *)0x0);\n          }\n          else if (unaff_s5 != (int *)0x0) goto LAB_00043310;" (if "if") (parenthesized_expression "(unaff_s5 == (int *)0x22)" (( "(") (binary_expression "unaff_s5 == (int *)0x22" (identifier "unaff_s5") (== "==") (cast_expression "(int *)0x22" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x22"))) () ")")) (compound_statement "{\n            iVar4 = (*(code *)PTR_strlen_000798d0)(unaff_s6);\n            pcVar15 = (char *)((int)unaff_s6 + iVar4 + -1);\n            if (*pcVar15 == '\"') {\n              *pcVar15 = '\0';\n              unaff_s5 = (int *)(int)unaff_s8[3];\n              unaff_s6 = (int *)(unaff_s8 + 3);\n              if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n            }\nLAB_00043310:\n            piVar13 = (int *)&DAT_0000005c;\n            piVar19 = piVar10;\n            piVar11 = piVar5;\n            piVar14 = unaff_s6;\n            do {\n              while ((piVar10 = (int *)((int)piVar14 + 1), unaff_s5 != (int *)&DAT_0000005c ||\n                     (*(char *)((int)piVar14 + 1) == '\0'))) {\n                *(char *)piVar11 = *(char *)piVar14;\n                unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 1);\n                piVar19 = piVar10;\n                piVar20 = (int *)((int)piVar11 + 1);\n                piVar11 = (int *)((int)piVar11 + 1);\n                unaff_s6 = piVar10;\n                piVar14 = piVar10;\n                if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n              }\n              *(char *)piVar11 = *(char *)((int)piVar14 + 1);\n              unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 2);\n              piVar10 = piVar19;\n              piVar20 = (int *)((int)piVar11 + 1);\n              piVar11 = (int *)((int)piVar11 + 1);\n              unaff_s6 = (int *)((int)piVar14 + 2);\n              piVar14 = (int *)((int)piVar14 + 2);\n            } while (unaff_s5 != (int *)0x0);\n          }" ({ "{") (expression_statement "iVar4 = (*(code *)PTR_strlen_000798d0)(unaff_s6);" (assignment_expression "iVar4 = (*(code *)PTR_strlen_000798d0)(unaff_s6)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_strlen_000798d0)(unaff_s6)" (parenthesized_expression "(*(code *)PTR_strlen_000798d0)" (( "(") (pointer_expression "*(code *)PTR_strlen_000798d0" (* "*") (cast_expression "(code *)PTR_strlen_000798d0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_000798d0"))) () ")")) (argument_list "(unaff_s6)" (( "(") (identifier "unaff_s6") () ")")))) (; ";")) (expression_statement "pcVar15 = (char *)((int)unaff_s6 + iVar4 + -1);" (assignment_expression "pcVar15 = (char *)((int)unaff_s6 + iVar4 + -1)" (identifier "pcVar15") (= "=") (cast_expression "(char *)((int)unaff_s6 + iVar4 + -1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_s6 + iVar4 + -1)" (( "(") (binary_expression "(int)unaff_s6 + iVar4 + -1" (binary_expression "(int)unaff_s6 + iVar4" (cast_expression "(int)unaff_s6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s6")) (+ "+") (identifier "iVar4")) (+ "+") (number_literal "-1")) () ")")))) (; ";")) (if_statement "if (*pcVar15 == '\"') {\n              *pcVar15 = '\0';\n              unaff_s5 = (int *)(int)unaff_s8[3];\n              unaff_s6 = (int *)(unaff_s8 + 3);\n              if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n            }" (if "if") (parenthesized_expression "(*pcVar15 == '\"')" (( "(") (binary_expression "*pcVar15 == '\"'" (pointer_expression "*pcVar15" (* "*") (identifier "pcVar15")) (== "==") (char_literal "'\"'" (' "'") (escape_sequence "\"") (' "'"))) () ")")) (compound_statement "{\n              *pcVar15 = '\0';\n              unaff_s5 = (int *)(int)unaff_s8[3];\n              unaff_s6 = (int *)(unaff_s8 + 3);\n              if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n            }" ({ "{") (expression_statement "*pcVar15 = '\0';" (assignment_expression "*pcVar15 = '\0'" (pointer_expression "*pcVar15" (* "*") (identifier "pcVar15")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "unaff_s5 = (int *)(int)unaff_s8[3];" (assignment_expression "unaff_s5 = (int *)(int)unaff_s8[3]" (identifier "unaff_s5") (= "=") (cast_expression "(int *)(int)unaff_s8[3]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(int)unaff_s8[3]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "unaff_s8[3]" (identifier "unaff_s8") ([ "[") (number_literal "3") (] "]"))))) (; ";")) (expression_statement "unaff_s6 = (int *)(unaff_s8 + 3);" (assignment_expression "unaff_s6 = (int *)(unaff_s8 + 3)" (identifier "unaff_s6") (= "=") (cast_expression "(int *)(unaff_s8 + 3)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s8 + 3)" (( "(") (binary_expression "unaff_s8 + 3" (identifier "unaff_s8") (+ "+") (number_literal "3")) () ")")))) (; ";")) (if_statement "if (unaff_s5 == (int *)0x0) goto LAB_00043364;" (if "if") (parenthesized_expression "(unaff_s5 == (int *)0x0)" (( "(") (binary_expression "unaff_s5 == (int *)0x0" (identifier "unaff_s5") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00043364;" (goto "goto") (statement_identifier "LAB_00043364") (; ";"))) (} "}"))) (labeled_statement "LAB_00043310:\n            piVar13 = (int *)&DAT_0000005c;" (statement_identifier "LAB_00043310") (: ":") (expression_statement "piVar13 = (int *)&DAT_0000005c;" (assignment_expression "piVar13 = (int *)&DAT_0000005c" (identifier "piVar13") (= "=") (cast_expression "(int *)&DAT_0000005c" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_0000005c" (& "&") (identifier "DAT_0000005c")))) (; ";"))) (expression_statement "piVar19 = piVar10;" (assignment_expression "piVar19 = piVar10" (identifier "piVar19") (= "=") (identifier "piVar10")) (; ";")) (expression_statement "piVar11 = piVar5;" (assignment_expression "piVar11 = piVar5" (identifier "piVar11") (= "=") (identifier "piVar5")) (; ";")) (expression_statement "piVar14 = unaff_s6;" (assignment_expression "piVar14 = unaff_s6" (identifier "piVar14") (= "=") (identifier "unaff_s6")) (; ";")) (do_statement "do {\n              while ((piVar10 = (int *)((int)piVar14 + 1), unaff_s5 != (int *)&DAT_0000005c ||\n                     (*(char *)((int)piVar14 + 1) == '\0'))) {\n                *(char *)piVar11 = *(char *)piVar14;\n                unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 1);\n                piVar19 = piVar10;\n                piVar20 = (int *)((int)piVar11 + 1);\n                piVar11 = (int *)((int)piVar11 + 1);\n                unaff_s6 = piVar10;\n                piVar14 = piVar10;\n                if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n              }\n              *(char *)piVar11 = *(char *)((int)piVar14 + 1);\n              unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 2);\n              piVar10 = piVar19;\n              piVar20 = (int *)((int)piVar11 + 1);\n              piVar11 = (int *)((int)piVar11 + 1);\n              unaff_s6 = (int *)((int)piVar14 + 2);\n              piVar14 = (int *)((int)piVar14 + 2);\n            } while (unaff_s5 != (int *)0x0);" (do "do") (compound_statement "{\n              while ((piVar10 = (int *)((int)piVar14 + 1), unaff_s5 != (int *)&DAT_0000005c ||\n                     (*(char *)((int)piVar14 + 1) == '\0'))) {\n                *(char *)piVar11 = *(char *)piVar14;\n                unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 1);\n                piVar19 = piVar10;\n                piVar20 = (int *)((int)piVar11 + 1);\n                piVar11 = (int *)((int)piVar11 + 1);\n                unaff_s6 = piVar10;\n                piVar14 = piVar10;\n                if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n              }\n              *(char *)piVar11 = *(char *)((int)piVar14 + 1);\n              unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 2);\n              piVar10 = piVar19;\n              piVar20 = (int *)((int)piVar11 + 1);\n              piVar11 = (int *)((int)piVar11 + 1);\n              unaff_s6 = (int *)((int)piVar14 + 2);\n              piVar14 = (int *)((int)piVar14 + 2);\n            }" ({ "{") (while_statement "while ((piVar10 = (int *)((int)piVar14 + 1), unaff_s5 != (int *)&DAT_0000005c ||\n                     (*(char *)((int)piVar14 + 1) == '\0'))) {\n                *(char *)piVar11 = *(char *)piVar14;\n                unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 1);\n                piVar19 = piVar10;\n                piVar20 = (int *)((int)piVar11 + 1);\n                piVar11 = (int *)((int)piVar11 + 1);\n                unaff_s6 = piVar10;\n                piVar14 = piVar10;\n                if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n              }" (while "while") (parenthesized_expression "((piVar10 = (int *)((int)piVar14 + 1), unaff_s5 != (int *)&DAT_0000005c ||\n                     (*(char *)((int)piVar14 + 1) == '\0')))" (( "(") (parenthesized_expression "(piVar10 = (int *)((int)piVar14 + 1), unaff_s5 != (int *)&DAT_0000005c ||\n                     (*(char *)((int)piVar14 + 1) == '\0'))" (( "(") (comma_expression "piVar10 = (int *)((int)piVar14 + 1), unaff_s5 != (int *)&DAT_0000005c ||\n                     (*(char *)((int)piVar14 + 1) == '\0')" (assignment_expression "piVar10 = (int *)((int)piVar14 + 1)" (identifier "piVar10") (= "=") (cast_expression "(int *)((int)piVar14 + 1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar14 + 1)" (( "(") (binary_expression "(int)piVar14 + 1" (cast_expression "(int)piVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar14")) (+ "+") (number_literal "1")) () ")")))) (, ",") (binary_expression "unaff_s5 != (int *)&DAT_0000005c ||\n                     (*(char *)((int)piVar14 + 1) == '\0')" (binary_expression "unaff_s5 != (int *)&DAT_0000005c" (identifier "unaff_s5") (!= "!=") (cast_expression "(int *)&DAT_0000005c" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_0000005c" (& "&") (identifier "DAT_0000005c")))) (|| "||") (parenthesized_expression "(*(char *)((int)piVar14 + 1) == '\0')" (( "(") (binary_expression "*(char *)((int)piVar14 + 1) == '\0'" (pointer_expression "*(char *)((int)piVar14 + 1)" (* "*") (cast_expression "(char *)((int)piVar14 + 1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar14 + 1)" (( "(") (binary_expression "(int)piVar14 + 1" (cast_expression "(int)piVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar14")) (+ "+") (number_literal "1")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")))) () ")")) () ")")) (compound_statement "{\n                *(char *)piVar11 = *(char *)piVar14;\n                unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 1);\n                piVar19 = piVar10;\n                piVar20 = (int *)((int)piVar11 + 1);\n                piVar11 = (int *)((int)piVar11 + 1);\n                unaff_s6 = piVar10;\n                piVar14 = piVar10;\n                if (unaff_s5 == (int *)0x0) goto LAB_00043364;\n              }" ({ "{") (expression_statement "*(char *)piVar11 = *(char *)piVar14;" (assignment_expression "*(char *)piVar11 = *(char *)piVar14" (pointer_expression "*(char *)piVar11" (* "*") (cast_expression "(char *)piVar11" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "piVar11"))) (= "=") (pointer_expression "*(char *)piVar14" (* "*") (cast_expression "(char *)piVar14" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "piVar14")))) (; ";")) (expression_statement "unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 1);" (assignment_expression "unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 1)" (identifier "unaff_s5") (= "=") (cast_expression "(int *)(int)*(char *)((int)piVar14 + 1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(int)*(char *)((int)piVar14 + 1)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*(char *)((int)piVar14 + 1)" (* "*") (cast_expression "(char *)((int)piVar14 + 1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar14 + 1)" (( "(") (binary_expression "(int)piVar14 + 1" (cast_expression "(int)piVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar14")) (+ "+") (number_literal "1")) () ")"))))))) (; ";")) (expression_statement "piVar19 = piVar10;" (assignment_expression "piVar19 = piVar10" (identifier "piVar19") (= "=") (identifier "piVar10")) (; ";")) (expression_statement "piVar20 = (int *)((int)piVar11 + 1);" (assignment_expression "piVar20 = (int *)((int)piVar11 + 1)" (identifier "piVar20") (= "=") (cast_expression "(int *)((int)piVar11 + 1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar11 + 1)" (( "(") (binary_expression "(int)piVar11 + 1" (cast_expression "(int)piVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar11")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "piVar11 = (int *)((int)piVar11 + 1);" (assignment_expression "piVar11 = (int *)((int)piVar11 + 1)" (identifier "piVar11") (= "=") (cast_expression "(int *)((int)piVar11 + 1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar11 + 1)" (( "(") (binary_expression "(int)piVar11 + 1" (cast_expression "(int)piVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar11")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "unaff_s6 = piVar10;" (assignment_expression "unaff_s6 = piVar10" (identifier "unaff_s6") (= "=") (identifier "piVar10")) (; ";")) (expression_statement "piVar14 = piVar10;" (assignment_expression "piVar14 = piVar10" (identifier "piVar14") (= "=") (identifier "piVar10")) (; ";")) (if_statement "if (unaff_s5 == (int *)0x0) goto LAB_00043364;" (if "if") (parenthesized_expression "(unaff_s5 == (int *)0x0)" (( "(") (binary_expression "unaff_s5 == (int *)0x0" (identifier "unaff_s5") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00043364;" (goto "goto") (statement_identifier "LAB_00043364") (; ";"))) (} "}"))) (expression_statement "*(char *)piVar11 = *(char *)((int)piVar14 + 1);" (assignment_expression "*(char *)piVar11 = *(char *)((int)piVar14 + 1)" (pointer_expression "*(char *)piVar11" (* "*") (cast_expression "(char *)piVar11" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "piVar11"))) (= "=") (pointer_expression "*(char *)((int)piVar14 + 1)" (* "*") (cast_expression "(char *)((int)piVar14 + 1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar14 + 1)" (( "(") (binary_expression "(int)piVar14 + 1" (cast_expression "(int)piVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar14")) (+ "+") (number_literal "1")) () ")"))))) (; ";")) (expression_statement "unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 2);" (assignment_expression "unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 2)" (identifier "unaff_s5") (= "=") (cast_expression "(int *)(int)*(char *)((int)piVar14 + 2)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(int)*(char *)((int)piVar14 + 2)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*(char *)((int)piVar14 + 2)" (* "*") (cast_expression "(char *)((int)piVar14 + 2)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar14 + 2)" (( "(") (binary_expression "(int)piVar14 + 2" (cast_expression "(int)piVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar14")) (+ "+") (number_literal "2")) () ")"))))))) (; ";")) (expression_statement "piVar10 = piVar19;" (assignment_expression "piVar10 = piVar19" (identifier "piVar10") (= "=") (identifier "piVar19")) (; ";")) (expression_statement "piVar20 = (int *)((int)piVar11 + 1);" (assignment_expression "piVar20 = (int *)((int)piVar11 + 1)" (identifier "piVar20") (= "=") (cast_expression "(int *)((int)piVar11 + 1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar11 + 1)" (( "(") (binary_expression "(int)piVar11 + 1" (cast_expression "(int)piVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar11")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "piVar11 = (int *)((int)piVar11 + 1);" (assignment_expression "piVar11 = (int *)((int)piVar11 + 1)" (identifier "piVar11") (= "=") (cast_expression "(int *)((int)piVar11 + 1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar11 + 1)" (( "(") (binary_expression "(int)piVar11 + 1" (cast_expression "(int)piVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar11")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "unaff_s6 = (int *)((int)piVar14 + 2);" (assignment_expression "unaff_s6 = (int *)((int)piVar14 + 2)" (identifier "unaff_s6") (= "=") (cast_expression "(int *)((int)piVar14 + 2)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar14 + 2)" (( "(") (binary_expression "(int)piVar14 + 2" (cast_expression "(int)piVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar14")) (+ "+") (number_literal "2")) () ")")))) (; ";")) (expression_statement "piVar14 = (int *)((int)piVar14 + 2);" (assignment_expression "piVar14 = (int *)((int)piVar14 + 2)" (identifier "piVar14") (= "=") (cast_expression "(int *)((int)piVar14 + 2)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar14 + 2)" (( "(") (binary_expression "(int)piVar14 + 2" (cast_expression "(int)piVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar14")) (+ "+") (number_literal "2")) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(unaff_s5 != (int *)0x0)" (( "(") (binary_expression "unaff_s5 != (int *)0x0" (identifier "unaff_s5") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (} "}")) (else_clause "else if (unaff_s5 != (int *)0x0) goto LAB_00043310;" (else "else") (if_statement "if (unaff_s5 != (int *)0x0) goto LAB_00043310;" (if "if") (parenthesized_expression "(unaff_s5 != (int *)0x0)" (( "(") (binary_expression "unaff_s5 != (int *)0x0" (identifier "unaff_s5") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00043310;" (goto "goto") (statement_identifier "LAB_00043310") (; ";"))))) (labeled_statement "LAB_00043364:\n          puVar1 = PTR_safefree_000790f0;" (statement_identifier "LAB_00043364") (: ":") (expression_statement "puVar1 = PTR_safefree_000790f0;" (assignment_expression "puVar1 = PTR_safefree_000790f0" (identifier "puVar1") (= "=") (identifier "PTR_safefree_000790f0")) (; ";"))) (expression_statement "*(char *)piVar20 = '\0';" (assignment_expression "*(char *)piVar20 = '\0'" (pointer_expression "*(char *)piVar20" (* "*") (cast_expression "(char *)piVar20" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "piVar20"))) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "(*(code *)puVar1)(local_54);" (call_expression "(*(code *)puVar1)(local_54)" (parenthesized_expression "(*(code *)puVar1)" (( "(") (pointer_expression "*(code *)puVar1" (* "*") (cast_expression "(code *)puVar1" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1"))) () ")")) (argument_list "(local_54)" (( "(") (identifier "local_54") () ")"))) (; ";")) (expression_statement "local_54 = (*(code *)PTR_dupstr_000790fc)(piVar5);" (assignment_expression "local_54 = (*(code *)PTR_dupstr_000790fc)(piVar5)" (identifier "local_54") (= "=") (call_expression "(*(code *)PTR_dupstr_000790fc)(piVar5)" (parenthesized_expression "(*(code *)PTR_dupstr_000790fc)" (( "(") (pointer_expression "*(code *)PTR_dupstr_000790fc" (* "*") (cast_expression "(code *)PTR_dupstr_000790fc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_dupstr_000790fc"))) () ")")) (argument_list "(piVar5)" (( "(") (identifier "piVar5") () ")")))) (; ";")) (} "}")) (else_clause "else {\n          piVar10 = unaff_s4;\n          iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar5);\n          if (iVar4 != 0) {\n            piVar20 = (int *)0x2;\n            piVar10 = unaff_s7;\n            iVar4 = (*(code *)PTR_strncmp_000797c4)(piVar5);\n            if (iVar4 != 0) {\n              piVar19 = (int *)0x0;\n              puVar17 = PTR_s_j_000790a8 + 0x437c;\n              param_2 = piVar5;\n              goto LAB_00043198;\n            }\n          }\n        }" (else "else") (compound_statement "{\n          piVar10 = unaff_s4;\n          iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar5);\n          if (iVar4 != 0) {\n            piVar20 = (int *)0x2;\n            piVar10 = unaff_s7;\n            iVar4 = (*(code *)PTR_strncmp_000797c4)(piVar5);\n            if (iVar4 != 0) {\n              piVar19 = (int *)0x0;\n              puVar17 = PTR_s_j_000790a8 + 0x437c;\n              param_2 = piVar5;\n              goto LAB_00043198;\n            }\n          }\n        }" ({ "{") (expression_statement "piVar10 = unaff_s4;" (assignment_expression "piVar10 = unaff_s4" (identifier "piVar10") (= "=") (identifier "unaff_s4")) (; ";")) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar5);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar5)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_strcmp_000798a4)(piVar5)" (parenthesized_expression "(*(code *)PTR_strcmp_000798a4)" (( "(") (pointer_expression "*(code *)PTR_strcmp_000798a4" (* "*") (cast_expression "(code *)PTR_strcmp_000798a4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strcmp_000798a4"))) () ")")) (argument_list "(piVar5)" (( "(") (identifier "piVar5") () ")")))) (; ";")) (if_statement "if (iVar4 != 0) {\n            piVar20 = (int *)0x2;\n            piVar10 = unaff_s7;\n            iVar4 = (*(code *)PTR_strncmp_000797c4)(piVar5);\n            if (iVar4 != 0) {\n              piVar19 = (int *)0x0;\n              puVar17 = PTR_s_j_000790a8 + 0x437c;\n              param_2 = piVar5;\n              goto LAB_00043198;\n            }\n          }" (if "if") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            piVar20 = (int *)0x2;\n            piVar10 = unaff_s7;\n            iVar4 = (*(code *)PTR_strncmp_000797c4)(piVar5);\n            if (iVar4 != 0) {\n              piVar19 = (int *)0x0;\n              puVar17 = PTR_s_j_000790a8 + 0x437c;\n              param_2 = piVar5;\n              goto LAB_00043198;\n            }\n          }" ({ "{") (expression_statement "piVar20 = (int *)0x2;" (assignment_expression "piVar20 = (int *)0x2" (identifier "piVar20") (= "=") (cast_expression "(int *)0x2" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x2"))) (; ";")) (expression_statement "piVar10 = unaff_s7;" (assignment_expression "piVar10 = unaff_s7" (identifier "piVar10") (= "=") (identifier "unaff_s7")) (; ";")) (expression_statement "iVar4 = (*(code *)PTR_strncmp_000797c4)(piVar5);" (assignment_expression "iVar4 = (*(code *)PTR_strncmp_000797c4)(piVar5)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_strncmp_000797c4)(piVar5)" (parenthesized_expression "(*(code *)PTR_strncmp_000797c4)" (( "(") (pointer_expression "*(code *)PTR_strncmp_000797c4" (* "*") (cast_expression "(code *)PTR_strncmp_000797c4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strncmp_000797c4"))) () ")")) (argument_list "(piVar5)" (( "(") (identifier "piVar5") () ")")))) (; ";")) (if_statement "if (iVar4 != 0) {\n              piVar19 = (int *)0x0;\n              puVar17 = PTR_s_j_000790a8 + 0x437c;\n              param_2 = piVar5;\n              goto LAB_00043198;\n            }" (if "if") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              piVar19 = (int *)0x0;\n              puVar17 = PTR_s_j_000790a8 + 0x437c;\n              param_2 = piVar5;\n              goto LAB_00043198;\n            }" ({ "{") (expression_statement "piVar19 = (int *)0x0;" (assignment_expression "piVar19 = (int *)0x0" (identifier "piVar19") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "puVar17 = PTR_s_j_000790a8 + 0x437c;" (assignment_expression "puVar17 = PTR_s_j_000790a8 + 0x437c" (identifier "puVar17") (= "=") (binary_expression "PTR_s_j_000790a8 + 0x437c" (identifier "PTR_s_j_000790a8") (+ "+") (number_literal "0x437c"))) (; ";")) (expression_statement "param_2 = piVar5;" (assignment_expression "param_2 = piVar5" (identifier "param_2") (= "=") (identifier "piVar5")) (; ";")) (goto_statement "goto LAB_00043198;" (goto "goto") (statement_identifier "LAB_00043198") (; ";")) (} "}"))) (} "}"))) (} "}")))) (expression_statement "(*(code *)PTR_safefree_000790f0)(piVar5);" (call_expression "(*(code *)PTR_safefree_000790f0)(piVar5)" (parenthesized_expression "(*(code *)PTR_safefree_000790f0)" (( "(") (pointer_expression "*(code *)PTR_safefree_000790f0" (* "*") (cast_expression "(code *)PTR_safefree_000790f0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_safefree_000790f0"))) () ")")) (argument_list "(piVar5)" (( "(") (identifier "piVar5") () ")"))) (; ";")) (} "}"))) (expression_statement "piVar19 = (int *)0x0;" (assignment_expression "piVar19 = (int *)0x0" (identifier "piVar19") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "puVar17 = PTR_s_j_000790a8 + 0x43ac;" (assignment_expression "puVar17 = PTR_s_j_000790a8 + 0x43ac" (identifier "puVar17") (= "=") (binary_expression "PTR_s_j_000790a8 + 0x43ac" (identifier "PTR_s_j_000790a8") (+ "+") (number_literal "0x43ac"))) (; ";")) (expression_statement "param_2 = piVar5;" (assignment_expression "param_2 = piVar5" (identifier "param_2") (= "=") (identifier "piVar5")) (; ";")) (goto_statement "goto LAB_00043198;" (goto "goto") (statement_identifier "LAB_00043198") (; ";")) (} "}"))) (} "}"))) (expression_statement "piVar19 = (int *)0x0;" (assignment_expression "piVar19 = (int *)0x0" (identifier "piVar19") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_54 = 0;" (assignment_expression "local_54 = 0" (identifier "local_54") (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar17 = PTR_s_j_000790a8 + 0x42f0;" (assignment_expression "puVar17 = PTR_s_j_000790a8 + 0x42f0" (identifier "puVar17") (= "=") (binary_expression "PTR_s_j_000790a8 + 0x42f0" (identifier "PTR_s_j_000790a8") (+ "+") (number_literal "0x42f0"))) (; ";")) (expression_statement "param_2 = piVar3;" (assignment_expression "param_2 = piVar3" (identifier "param_2") (= "=") (identifier "piVar3")) (; ";")) (goto_statement "goto LAB_00043198;" (goto "goto") (statement_identifier "LAB_00043198") (; ";")) (labeled_statement "LAB_0004340c:\n  do {\n    cVar9 = *(char *)piVar5;\n    unaff_s5 = piVar5;\n    if (cVar9 == '-') {\n      piVar10 = (int *)(PTR_s_j_000790a8 + 0x43fc);\n      iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar5);\n      if (iVar4 == 0) {\n        (*(code *)PTR_safefree_000790f0)(piVar5);\n        if ((int)unaff_s4 < 4) {\n          puVar17 = PTR_s_j_000790a8 + 0x42c4;\n          param_2 = (int *)0x0;\n          goto LAB_00043198;\n        }\n        piVar3 = (int *)(*(code *)PTR_toint_000792c8)(*piVar19);\n        puVar17 = PTR_s_j_000790a8;\n        if (((int)piVar3 < 0) || ((int)((int)unaff_s4 + -3) <= (int)piVar3)) {\n          puVar17 = PTR_s_j_000790a8 + 0x431c;\n          param_2 = (int *)0x0;\n          goto LAB_00043198;\n        }\n        piVar20 = piVar19 + 1;\n        if (param_2 != (int *)0x0) {\n          iVar4 = (*(code *)PTR_dupprintf_000790e8)(PTR_s_j_000790a8 + -0x26d0);\n          *param_2 = iVar4;\n          piVar10 = piVar3;\n        }\n        if (param_3 != (int *)0x0) {\n          *param_3 = (int)unaff_s4;\n        }\n        if (param_4 == (int *)0x0) {\n          (*(code *)PTR_safefree_000790f0)(local_54);\n        }\n        else {\n          *param_4 = local_54;\n        }\n        goto LAB_000431d8;\n      }\n      break;\n    }\n    unaff_s6 = (int *)&DAT_00000004;\n    while (piVar3 = unaff_s4, cVar9 != '\0') {\n      while( true ) {\n        local_30[iVar4] = cVar9;\n        if (iVar4 + 1 != 4) break;\n        piVar20 = (int *)(*(code *)PTR_base64_decode_atom_000792d8)(unaff_s8,unaff_s7);\n        unaff_s4 = (int *)((int)piVar3 + (int)piVar20);\n        if (iVar18 < (int)unaff_s4) {\n          iVar18 = ((int)unaff_s4 * 5 >> 2) + 0x400;\n          piVar19 = (int *)(*(code *)PTR_saferealloc_000791a0)(piVar19,iVar18,1);\n        }\n        unaff_s5 = (int *)((int)unaff_s5 + 1);\n        piVar10 = unaff_s7;\n        (*(code *)PTR_memcpy_000798e0)((char *)((int)piVar19 + (int)piVar3));\n        iVar4 = 0;\n        cVar9 = *(char *)unaff_s5;\n        piVar3 = unaff_s4;\n        if (cVar9 == '\0') goto LAB_000434ac;\n      }\n      unaff_s5 = (int *)((int)unaff_s5 + 1);\n      iVar4 = iVar4 + 1;\n      unaff_s4 = piVar3;\n      cVar9 = *(char *)unaff_s5;\n    }\nLAB_000434ac:\n    (*(code *)PTR_safefree_000790f0)(piVar5);\n    uVar2 = (*(code *)PTR_fgetline_00079538)(param_1);\n    piVar5 = (int *)(*(code *)PTR_chomp_0007953c)(uVar2);\n  } while (piVar5 != (int *)0x0);" (statement_identifier "LAB_0004340c") (: ":") (do_statement "do {\n    cVar9 = *(char *)piVar5;\n    unaff_s5 = piVar5;\n    if (cVar9 == '-') {\n      piVar10 = (int *)(PTR_s_j_000790a8 + 0x43fc);\n      iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar5);\n      if (iVar4 == 0) {\n        (*(code *)PTR_safefree_000790f0)(piVar5);\n        if ((int)unaff_s4 < 4) {\n          puVar17 = PTR_s_j_000790a8 + 0x42c4;\n          param_2 = (int *)0x0;\n          goto LAB_00043198;\n        }\n        piVar3 = (int *)(*(code *)PTR_toint_000792c8)(*piVar19);\n        puVar17 = PTR_s_j_000790a8;\n        if (((int)piVar3 < 0) || ((int)((int)unaff_s4 + -3) <= (int)piVar3)) {\n          puVar17 = PTR_s_j_000790a8 + 0x431c;\n          param_2 = (int *)0x0;\n          goto LAB_00043198;\n        }\n        piVar20 = piVar19 + 1;\n        if (param_2 != (int *)0x0) {\n          iVar4 = (*(code *)PTR_dupprintf_000790e8)(PTR_s_j_000790a8 + -0x26d0);\n          *param_2 = iVar4;\n          piVar10 = piVar3;\n        }\n        if (param_3 != (int *)0x0) {\n          *param_3 = (int)unaff_s4;\n        }\n        if (param_4 == (int *)0x0) {\n          (*(code *)PTR_safefree_000790f0)(local_54);\n        }\n        else {\n          *param_4 = local_54;\n        }\n        goto LAB_000431d8;\n      }\n      break;\n    }\n    unaff_s6 = (int *)&DAT_00000004;\n    while (piVar3 = unaff_s4, cVar9 != '\0') {\n      while( true ) {\n        local_30[iVar4] = cVar9;\n        if (iVar4 + 1 != 4) break;\n        piVar20 = (int *)(*(code *)PTR_base64_decode_atom_000792d8)(unaff_s8,unaff_s7);\n        unaff_s4 = (int *)((int)piVar3 + (int)piVar20);\n        if (iVar18 < (int)unaff_s4) {\n          iVar18 = ((int)unaff_s4 * 5 >> 2) + 0x400;\n          piVar19 = (int *)(*(code *)PTR_saferealloc_000791a0)(piVar19,iVar18,1);\n        }\n        unaff_s5 = (int *)((int)unaff_s5 + 1);\n        piVar10 = unaff_s7;\n        (*(code *)PTR_memcpy_000798e0)((char *)((int)piVar19 + (int)piVar3));\n        iVar4 = 0;\n        cVar9 = *(char *)unaff_s5;\n        piVar3 = unaff_s4;\n        if (cVar9 == '\0') goto LAB_000434ac;\n      }\n      unaff_s5 = (int *)((int)unaff_s5 + 1);\n      iVar4 = iVar4 + 1;\n      unaff_s4 = piVar3;\n      cVar9 = *(char *)unaff_s5;\n    }\nLAB_000434ac:\n    (*(code *)PTR_safefree_000790f0)(piVar5);\n    uVar2 = (*(code *)PTR_fgetline_00079538)(param_1);\n    piVar5 = (int *)(*(code *)PTR_chomp_0007953c)(uVar2);\n  } while (piVar5 != (int *)0x0);" (do "do") (compound_statement "{\n    cVar9 = *(char *)piVar5;\n    unaff_s5 = piVar5;\n    if (cVar9 == '-') {\n      piVar10 = (int *)(PTR_s_j_000790a8 + 0x43fc);\n      iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar5);\n      if (iVar4 == 0) {\n        (*(code *)PTR_safefree_000790f0)(piVar5);\n        if ((int)unaff_s4 < 4) {\n          puVar17 = PTR_s_j_000790a8 + 0x42c4;\n          param_2 = (int *)0x0;\n          goto LAB_00043198;\n        }\n        piVar3 = (int *)(*(code *)PTR_toint_000792c8)(*piVar19);\n        puVar17 = PTR_s_j_000790a8;\n        if (((int)piVar3 < 0) || ((int)((int)unaff_s4 + -3) <= (int)piVar3)) {\n          puVar17 = PTR_s_j_000790a8 + 0x431c;\n          param_2 = (int *)0x0;\n          goto LAB_00043198;\n        }\n        piVar20 = piVar19 + 1;\n        if (param_2 != (int *)0x0) {\n          iVar4 = (*(code *)PTR_dupprintf_000790e8)(PTR_s_j_000790a8 + -0x26d0);\n          *param_2 = iVar4;\n          piVar10 = piVar3;\n        }\n        if (param_3 != (int *)0x0) {\n          *param_3 = (int)unaff_s4;\n        }\n        if (param_4 == (int *)0x0) {\n          (*(code *)PTR_safefree_000790f0)(local_54);\n        }\n        else {\n          *param_4 = local_54;\n        }\n        goto LAB_000431d8;\n      }\n      break;\n    }\n    unaff_s6 = (int *)&DAT_00000004;\n    while (piVar3 = unaff_s4, cVar9 != '\0') {\n      while( true ) {\n        local_30[iVar4] = cVar9;\n        if (iVar4 + 1 != 4) break;\n        piVar20 = (int *)(*(code *)PTR_base64_decode_atom_000792d8)(unaff_s8,unaff_s7);\n        unaff_s4 = (int *)((int)piVar3 + (int)piVar20);\n        if (iVar18 < (int)unaff_s4) {\n          iVar18 = ((int)unaff_s4 * 5 >> 2) + 0x400;\n          piVar19 = (int *)(*(code *)PTR_saferealloc_000791a0)(piVar19,iVar18,1);\n        }\n        unaff_s5 = (int *)((int)unaff_s5 + 1);\n        piVar10 = unaff_s7;\n        (*(code *)PTR_memcpy_000798e0)((char *)((int)piVar19 + (int)piVar3));\n        iVar4 = 0;\n        cVar9 = *(char *)unaff_s5;\n        piVar3 = unaff_s4;\n        if (cVar9 == '\0') goto LAB_000434ac;\n      }\n      unaff_s5 = (int *)((int)unaff_s5 + 1);\n      iVar4 = iVar4 + 1;\n      unaff_s4 = piVar3;\n      cVar9 = *(char *)unaff_s5;\n    }\nLAB_000434ac:\n    (*(code *)PTR_safefree_000790f0)(piVar5);\n    uVar2 = (*(code *)PTR_fgetline_00079538)(param_1);\n    piVar5 = (int *)(*(code *)PTR_chomp_0007953c)(uVar2);\n  }" ({ "{") (expression_statement "cVar9 = *(char *)piVar5;" (assignment_expression "cVar9 = *(char *)piVar5" (identifier "cVar9") (= "=") (pointer_expression "*(char *)piVar5" (* "*") (cast_expression "(char *)piVar5" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "piVar5")))) (; ";")) (expression_statement "unaff_s5 = piVar5;" (assignment_expression "unaff_s5 = piVar5" (identifier "unaff_s5") (= "=") (identifier "piVar5")) (; ";")) (if_statement "if (cVar9 == '-') {\n      piVar10 = (int *)(PTR_s_j_000790a8 + 0x43fc);\n      iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar5);\n      if (iVar4 == 0) {\n        (*(code *)PTR_safefree_000790f0)(piVar5);\n        if ((int)unaff_s4 < 4) {\n          puVar17 = PTR_s_j_000790a8 + 0x42c4;\n          param_2 = (int *)0x0;\n          goto LAB_00043198;\n        }\n        piVar3 = (int *)(*(code *)PTR_toint_000792c8)(*piVar19);\n        puVar17 = PTR_s_j_000790a8;\n        if (((int)piVar3 < 0) || ((int)((int)unaff_s4 + -3) <= (int)piVar3)) {\n          puVar17 = PTR_s_j_000790a8 + 0x431c;\n          param_2 = (int *)0x0;\n          goto LAB_00043198;\n        }\n        piVar20 = piVar19 + 1;\n        if (param_2 != (int *)0x0) {\n          iVar4 = (*(code *)PTR_dupprintf_000790e8)(PTR_s_j_000790a8 + -0x26d0);\n          *param_2 = iVar4;\n          piVar10 = piVar3;\n        }\n        if (param_3 != (int *)0x0) {\n          *param_3 = (int)unaff_s4;\n        }\n        if (param_4 == (int *)0x0) {\n          (*(code *)PTR_safefree_000790f0)(local_54);\n        }\n        else {\n          *param_4 = local_54;\n        }\n        goto LAB_000431d8;\n      }\n      break;\n    }" (if "if") (parenthesized_expression "(cVar9 == '-')" (( "(") (binary_expression "cVar9 == '-'" (identifier "cVar9") (== "==") (char_literal "'-'" (' "'") (character "-") (' "'"))) () ")")) (compound_statement "{\n      piVar10 = (int *)(PTR_s_j_000790a8 + 0x43fc);\n      iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar5);\n      if (iVar4 == 0) {\n        (*(code *)PTR_safefree_000790f0)(piVar5);\n        if ((int)unaff_s4 < 4) {\n          puVar17 = PTR_s_j_000790a8 + 0x42c4;\n          param_2 = (int *)0x0;\n          goto LAB_00043198;\n        }\n        piVar3 = (int *)(*(code *)PTR_toint_000792c8)(*piVar19);\n        puVar17 = PTR_s_j_000790a8;\n        if (((int)piVar3 < 0) || ((int)((int)unaff_s4 + -3) <= (int)piVar3)) {\n          puVar17 = PTR_s_j_000790a8 + 0x431c;\n          param_2 = (int *)0x0;\n          goto LAB_00043198;\n        }\n        piVar20 = piVar19 + 1;\n        if (param_2 != (int *)0x0) {\n          iVar4 = (*(code *)PTR_dupprintf_000790e8)(PTR_s_j_000790a8 + -0x26d0);\n          *param_2 = iVar4;\n          piVar10 = piVar3;\n        }\n        if (param_3 != (int *)0x0) {\n          *param_3 = (int)unaff_s4;\n        }\n        if (param_4 == (int *)0x0) {\n          (*(code *)PTR_safefree_000790f0)(local_54);\n        }\n        else {\n          *param_4 = local_54;\n        }\n        goto LAB_000431d8;\n      }\n      break;\n    }" ({ "{") (expression_statement "piVar10 = (int *)(PTR_s_j_000790a8 + 0x43fc);" (assignment_expression "piVar10 = (int *)(PTR_s_j_000790a8 + 0x43fc)" (identifier "piVar10") (= "=") (cast_expression "(int *)(PTR_s_j_000790a8 + 0x43fc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_s_j_000790a8 + 0x43fc)" (( "(") (binary_expression "PTR_s_j_000790a8 + 0x43fc" (identifier "PTR_s_j_000790a8") (+ "+") (number_literal "0x43fc")) () ")")))) (; ";")) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar5);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar5)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_strcmp_000798a4)(piVar5)" (parenthesized_expression "(*(code *)PTR_strcmp_000798a4)" (( "(") (pointer_expression "*(code *)PTR_strcmp_000798a4" (* "*") (cast_expression "(code *)PTR_strcmp_000798a4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strcmp_000798a4"))) () ")")) (argument_list "(piVar5)" (( "(") (identifier "piVar5") () ")")))) (; ";")) (if_statement "if (iVar4 == 0) {\n        (*(code *)PTR_safefree_000790f0)(piVar5);\n        if ((int)unaff_s4 < 4) {\n          puVar17 = PTR_s_j_000790a8 + 0x42c4;\n          param_2 = (int *)0x0;\n          goto LAB_00043198;\n        }\n        piVar3 = (int *)(*(code *)PTR_toint_000792c8)(*piVar19);\n        puVar17 = PTR_s_j_000790a8;\n        if (((int)piVar3 < 0) || ((int)((int)unaff_s4 + -3) <= (int)piVar3)) {\n          puVar17 = PTR_s_j_000790a8 + 0x431c;\n          param_2 = (int *)0x0;\n          goto LAB_00043198;\n        }\n        piVar20 = piVar19 + 1;\n        if (param_2 != (int *)0x0) {\n          iVar4 = (*(code *)PTR_dupprintf_000790e8)(PTR_s_j_000790a8 + -0x26d0);\n          *param_2 = iVar4;\n          piVar10 = piVar3;\n        }\n        if (param_3 != (int *)0x0) {\n          *param_3 = (int)unaff_s4;\n        }\n        if (param_4 == (int *)0x0) {\n          (*(code *)PTR_safefree_000790f0)(local_54);\n        }\n        else {\n          *param_4 = local_54;\n        }\n        goto LAB_000431d8;\n      }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        (*(code *)PTR_safefree_000790f0)(piVar5);\n        if ((int)unaff_s4 < 4) {\n          puVar17 = PTR_s_j_000790a8 + 0x42c4;\n          param_2 = (int *)0x0;\n          goto LAB_00043198;\n        }\n        piVar3 = (int *)(*(code *)PTR_toint_000792c8)(*piVar19);\n        puVar17 = PTR_s_j_000790a8;\n        if (((int)piVar3 < 0) || ((int)((int)unaff_s4 + -3) <= (int)piVar3)) {\n          puVar17 = PTR_s_j_000790a8 + 0x431c;\n          param_2 = (int *)0x0;\n          goto LAB_00043198;\n        }\n        piVar20 = piVar19 + 1;\n        if (param_2 != (int *)0x0) {\n          iVar4 = (*(code *)PTR_dupprintf_000790e8)(PTR_s_j_000790a8 + -0x26d0);\n          *param_2 = iVar4;\n          piVar10 = piVar3;\n        }\n        if (param_3 != (int *)0x0) {\n          *param_3 = (int)unaff_s4;\n        }\n        if (param_4 == (int *)0x0) {\n          (*(code *)PTR_safefree_000790f0)(local_54);\n        }\n        else {\n          *param_4 = local_54;\n        }\n        goto LAB_000431d8;\n      }" ({ "{") (expression_statement "(*(code *)PTR_safefree_000790f0)(piVar5);" (call_expression "(*(code *)PTR_safefree_000790f0)(piVar5)" (parenthesized_expression "(*(code *)PTR_safefree_000790f0)" (( "(") (pointer_expression "*(code *)PTR_safefree_000790f0" (* "*") (cast_expression "(code *)PTR_safefree_000790f0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_safefree_000790f0"))) () ")")) (argument_list "(piVar5)" (( "(") (identifier "piVar5") () ")"))) (; ";")) (if_statement "if ((int)unaff_s4 < 4) {\n          puVar17 = PTR_s_j_000790a8 + 0x42c4;\n          param_2 = (int *)0x0;\n          goto LAB_00043198;\n        }" (if "if") (parenthesized_expression "((int)unaff_s4 < 4)" (( "(") (binary_expression "(int)unaff_s4 < 4" (cast_expression "(int)unaff_s4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s4")) (< "<") (number_literal "4")) () ")")) (compound_statement "{\n          puVar17 = PTR_s_j_000790a8 + 0x42c4;\n          param_2 = (int *)0x0;\n          goto LAB_00043198;\n        }" ({ "{") (expression_statement "puVar17 = PTR_s_j_000790a8 + 0x42c4;" (assignment_expression "puVar17 = PTR_s_j_000790a8 + 0x42c4" (identifier "puVar17") (= "=") (binary_expression "PTR_s_j_000790a8 + 0x42c4" (identifier "PTR_s_j_000790a8") (+ "+") (number_literal "0x42c4"))) (; ";")) (expression_statement "param_2 = (int *)0x0;" (assignment_expression "param_2 = (int *)0x0" (identifier "param_2") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (goto_statement "goto LAB_00043198;" (goto "goto") (statement_identifier "LAB_00043198") (; ";")) (} "}"))) (expression_statement "piVar3 = (int *)(*(code *)PTR_toint_000792c8)(*piVar19);" (assignment_expression "piVar3 = (int *)(*(code *)PTR_toint_000792c8)(*piVar19)" (identifier "piVar3") (= "=") (cast_expression "(int *)(*(code *)PTR_toint_000792c8)(*piVar19)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_toint_000792c8)(*piVar19)" (parenthesized_expression "(*(code *)PTR_toint_000792c8)" (( "(") (pointer_expression "*(code *)PTR_toint_000792c8" (* "*") (cast_expression "(code *)PTR_toint_000792c8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_toint_000792c8"))) () ")")) (argument_list "(*piVar19)" (( "(") (pointer_expression "*piVar19" (* "*") (identifier "piVar19")) () ")"))))) (; ";")) (expression_statement "puVar17 = PTR_s_j_000790a8;" (assignment_expression "puVar17 = PTR_s_j_000790a8" (identifier "puVar17") (= "=") (identifier "PTR_s_j_000790a8")) (; ";")) (if_statement "if (((int)piVar3 < 0) || ((int)((int)unaff_s4 + -3) <= (int)piVar3)) {\n          puVar17 = PTR_s_j_000790a8 + 0x431c;\n          param_2 = (int *)0x0;\n          goto LAB_00043198;\n        }" (if "if") (parenthesized_expression "(((int)piVar3 < 0) || ((int)((int)unaff_s4 + -3) <= (int)piVar3))" (( "(") (binary_expression "((int)piVar3 < 0) || ((int)((int)unaff_s4 + -3) <= (int)piVar3)" (parenthesized_expression "((int)piVar3 < 0)" (( "(") (binary_expression "(int)piVar3 < 0" (cast_expression "(int)piVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar3")) (< "<") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "((int)((int)unaff_s4 + -3) <= (int)piVar3)" (( "(") (binary_expression "(int)((int)unaff_s4 + -3) <= (int)piVar3" (cast_expression "(int)((int)unaff_s4 + -3)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((int)unaff_s4 + -3)" (( "(") (binary_expression "(int)unaff_s4 + -3" (cast_expression "(int)unaff_s4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s4")) (+ "+") (number_literal "-3")) () ")"))) (<= "<=") (cast_expression "(int)piVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar3"))) () ")"))) () ")")) (compound_statement "{\n          puVar17 = PTR_s_j_000790a8 + 0x431c;\n          param_2 = (int *)0x0;\n          goto LAB_00043198;\n        }" ({ "{") (expression_statement "puVar17 = PTR_s_j_000790a8 + 0x431c;" (assignment_expression "puVar17 = PTR_s_j_000790a8 + 0x431c" (identifier "puVar17") (= "=") (binary_expression "PTR_s_j_000790a8 + 0x431c" (identifier "PTR_s_j_000790a8") (+ "+") (number_literal "0x431c"))) (; ";")) (expression_statement "param_2 = (int *)0x0;" (assignment_expression "param_2 = (int *)0x0" (identifier "param_2") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (goto_statement "goto LAB_00043198;" (goto "goto") (statement_identifier "LAB_00043198") (; ";")) (} "}"))) (expression_statement "piVar20 = piVar19 + 1;" (assignment_expression "piVar20 = piVar19 + 1" (identifier "piVar20") (= "=") (binary_expression "piVar19 + 1" (identifier "piVar19") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (param_2 != (int *)0x0) {\n          iVar4 = (*(code *)PTR_dupprintf_000790e8)(PTR_s_j_000790a8 + -0x26d0);\n          *param_2 = iVar4;\n          piVar10 = piVar3;\n        }" (if "if") (parenthesized_expression "(param_2 != (int *)0x0)" (( "(") (binary_expression "param_2 != (int *)0x0" (identifier "param_2") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          iVar4 = (*(code *)PTR_dupprintf_000790e8)(PTR_s_j_000790a8 + -0x26d0);\n          *param_2 = iVar4;\n          piVar10 = piVar3;\n        }" ({ "{") (expression_statement "iVar4 = (*(code *)PTR_dupprintf_000790e8)(PTR_s_j_000790a8 + -0x26d0);" (assignment_expression "iVar4 = (*(code *)PTR_dupprintf_000790e8)(PTR_s_j_000790a8 + -0x26d0)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_dupprintf_000790e8)(PTR_s_j_000790a8 + -0x26d0)" (parenthesized_expression "(*(code *)PTR_dupprintf_000790e8)" (( "(") (pointer_expression "*(code *)PTR_dupprintf_000790e8" (* "*") (cast_expression "(code *)PTR_dupprintf_000790e8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_dupprintf_000790e8"))) () ")")) (argument_list "(PTR_s_j_000790a8 + -0x26d0)" (( "(") (binary_expression "PTR_s_j_000790a8 + -0x26d0" (identifier "PTR_s_j_000790a8") (+ "+") (number_literal "-0x26d0")) () ")")))) (; ";")) (expression_statement "*param_2 = iVar4;" (assignment_expression "*param_2 = iVar4" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (= "=") (identifier "iVar4")) (; ";")) (expression_statement "piVar10 = piVar3;" (assignment_expression "piVar10 = piVar3" (identifier "piVar10") (= "=") (identifier "piVar3")) (; ";")) (} "}"))) (if_statement "if (param_3 != (int *)0x0) {\n          *param_3 = (int)unaff_s4;\n        }" (if "if") (parenthesized_expression "(param_3 != (int *)0x0)" (( "(") (binary_expression "param_3 != (int *)0x0" (identifier "param_3") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          *param_3 = (int)unaff_s4;\n        }" ({ "{") (expression_statement "*param_3 = (int)unaff_s4;" (assignment_expression "*param_3 = (int)unaff_s4" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (= "=") (cast_expression "(int)unaff_s4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s4"))) (; ";")) (} "}"))) (if_statement "if (param_4 == (int *)0x0) {\n          (*(code *)PTR_safefree_000790f0)(local_54);\n        }\n        else {\n          *param_4 = local_54;\n        }" (if "if") (parenthesized_expression "(param_4 == (int *)0x0)" (( "(") (binary_expression "param_4 == (int *)0x0" (identifier "param_4") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          (*(code *)PTR_safefree_000790f0)(local_54);\n        }" ({ "{") (expression_statement "(*(code *)PTR_safefree_000790f0)(local_54);" (call_expression "(*(code *)PTR_safefree_000790f0)(local_54)" (parenthesized_expression "(*(code *)PTR_safefree_000790f0)" (( "(") (pointer_expression "*(code *)PTR_safefree_000790f0" (* "*") (cast_expression "(code *)PTR_safefree_000790f0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_safefree_000790f0"))) () ")")) (argument_list "(local_54)" (( "(") (identifier "local_54") () ")"))) (; ";")) (} "}")) (else_clause "else {\n          *param_4 = local_54;\n        }" (else "else") (compound_statement "{\n          *param_4 = local_54;\n        }" ({ "{") (expression_statement "*param_4 = local_54;" (assignment_expression "*param_4 = local_54" (pointer_expression "*param_4" (* "*") (identifier "param_4")) (= "=") (identifier "local_54")) (; ";")) (} "}")))) (goto_statement "goto LAB_000431d8;" (goto "goto") (statement_identifier "LAB_000431d8") (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";")) (} "}"))) (expression_statement "unaff_s6 = (int *)&DAT_00000004;" (assignment_expression "unaff_s6 = (int *)&DAT_00000004" (identifier "unaff_s6") (= "=") (cast_expression "(int *)&DAT_00000004" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00000004" (& "&") (identifier "DAT_00000004")))) (; ";")) (while_statement "while (piVar3 = unaff_s4, cVar9 != '\0') {\n      while( true ) {\n        local_30[iVar4] = cVar9;\n        if (iVar4 + 1 != 4) break;\n        piVar20 = (int *)(*(code *)PTR_base64_decode_atom_000792d8)(unaff_s8,unaff_s7);\n        unaff_s4 = (int *)((int)piVar3 + (int)piVar20);\n        if (iVar18 < (int)unaff_s4) {\n          iVar18 = ((int)unaff_s4 * 5 >> 2) + 0x400;\n          piVar19 = (int *)(*(code *)PTR_saferealloc_000791a0)(piVar19,iVar18,1);\n        }\n        unaff_s5 = (int *)((int)unaff_s5 + 1);\n        piVar10 = unaff_s7;\n        (*(code *)PTR_memcpy_000798e0)((char *)((int)piVar19 + (int)piVar3));\n        iVar4 = 0;\n        cVar9 = *(char *)unaff_s5;\n        piVar3 = unaff_s4;\n        if (cVar9 == '\0') goto LAB_000434ac;\n      }\n      unaff_s5 = (int *)((int)unaff_s5 + 1);\n      iVar4 = iVar4 + 1;\n      unaff_s4 = piVar3;\n      cVar9 = *(char *)unaff_s5;\n    }" (while "while") (parenthesized_expression "(piVar3 = unaff_s4, cVar9 != '\0')" (( "(") (comma_expression "piVar3 = unaff_s4, cVar9 != '\0'" (assignment_expression "piVar3 = unaff_s4" (identifier "piVar3") (= "=") (identifier "unaff_s4")) (, ",") (binary_expression "cVar9 != '\0'" (identifier "cVar9") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")))) () ")")) (compound_statement "{\n      while( true ) {\n        local_30[iVar4] = cVar9;\n        if (iVar4 + 1 != 4) break;\n        piVar20 = (int *)(*(code *)PTR_base64_decode_atom_000792d8)(unaff_s8,unaff_s7);\n        unaff_s4 = (int *)((int)piVar3 + (int)piVar20);\n        if (iVar18 < (int)unaff_s4) {\n          iVar18 = ((int)unaff_s4 * 5 >> 2) + 0x400;\n          piVar19 = (int *)(*(code *)PTR_saferealloc_000791a0)(piVar19,iVar18,1);\n        }\n        unaff_s5 = (int *)((int)unaff_s5 + 1);\n        piVar10 = unaff_s7;\n        (*(code *)PTR_memcpy_000798e0)((char *)((int)piVar19 + (int)piVar3));\n        iVar4 = 0;\n        cVar9 = *(char *)unaff_s5;\n        piVar3 = unaff_s4;\n        if (cVar9 == '\0') goto LAB_000434ac;\n      }\n      unaff_s5 = (int *)((int)unaff_s5 + 1);\n      iVar4 = iVar4 + 1;\n      unaff_s4 = piVar3;\n      cVar9 = *(char *)unaff_s5;\n    }" ({ "{") (while_statement "while( true ) {\n        local_30[iVar4] = cVar9;\n        if (iVar4 + 1 != 4) break;\n        piVar20 = (int *)(*(code *)PTR_base64_decode_atom_000792d8)(unaff_s8,unaff_s7);\n        unaff_s4 = (int *)((int)piVar3 + (int)piVar20);\n        if (iVar18 < (int)unaff_s4) {\n          iVar18 = ((int)unaff_s4 * 5 >> 2) + 0x400;\n          piVar19 = (int *)(*(code *)PTR_saferealloc_000791a0)(piVar19,iVar18,1);\n        }\n        unaff_s5 = (int *)((int)unaff_s5 + 1);\n        piVar10 = unaff_s7;\n        (*(code *)PTR_memcpy_000798e0)((char *)((int)piVar19 + (int)piVar3));\n        iVar4 = 0;\n        cVar9 = *(char *)unaff_s5;\n        piVar3 = unaff_s4;\n        if (cVar9 == '\0') goto LAB_000434ac;\n      }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n        local_30[iVar4] = cVar9;\n        if (iVar4 + 1 != 4) break;\n        piVar20 = (int *)(*(code *)PTR_base64_decode_atom_000792d8)(unaff_s8,unaff_s7);\n        unaff_s4 = (int *)((int)piVar3 + (int)piVar20);\n        if (iVar18 < (int)unaff_s4) {\n          iVar18 = ((int)unaff_s4 * 5 >> 2) + 0x400;\n          piVar19 = (int *)(*(code *)PTR_saferealloc_000791a0)(piVar19,iVar18,1);\n        }\n        unaff_s5 = (int *)((int)unaff_s5 + 1);\n        piVar10 = unaff_s7;\n        (*(code *)PTR_memcpy_000798e0)((char *)((int)piVar19 + (int)piVar3));\n        iVar4 = 0;\n        cVar9 = *(char *)unaff_s5;\n        piVar3 = unaff_s4;\n        if (cVar9 == '\0') goto LAB_000434ac;\n      }" ({ "{") (expression_statement "local_30[iVar4] = cVar9;" (assignment_expression "local_30[iVar4] = cVar9" (subscript_expression "local_30[iVar4]" (identifier "local_30") ([ "[") (identifier "iVar4") (] "]")) (= "=") (identifier "cVar9")) (; ";")) (if_statement "if (iVar4 + 1 != 4) break;" (if "if") (parenthesized_expression "(iVar4 + 1 != 4)" (( "(") (binary_expression "iVar4 + 1 != 4" (binary_expression "iVar4 + 1" (identifier "iVar4") (+ "+") (number_literal "1")) (!= "!=") (number_literal "4")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "piVar20 = (int *)(*(code *)PTR_base64_decode_atom_000792d8)(unaff_s8,unaff_s7);" (assignment_expression "piVar20 = (int *)(*(code *)PTR_base64_decode_atom_000792d8)(unaff_s8,unaff_s7)" (identifier "piVar20") (= "=") (cast_expression "(int *)(*(code *)PTR_base64_decode_atom_000792d8)(unaff_s8,unaff_s7)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_base64_decode_atom_000792d8)(unaff_s8,unaff_s7)" (parenthesized_expression "(*(code *)PTR_base64_decode_atom_000792d8)" (( "(") (pointer_expression "*(code *)PTR_base64_decode_atom_000792d8" (* "*") (cast_expression "(code *)PTR_base64_decode_atom_000792d8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_base64_decode_atom_000792d8"))) () ")")) (argument_list "(unaff_s8,unaff_s7)" (( "(") (identifier "unaff_s8") (, ",") (identifier "unaff_s7") () ")"))))) (; ";")) (expression_statement "unaff_s4 = (int *)((int)piVar3 + (int)piVar20);" (assignment_expression "unaff_s4 = (int *)((int)piVar3 + (int)piVar20)" (identifier "unaff_s4") (= "=") (cast_expression "(int *)((int)piVar3 + (int)piVar20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar3 + (int)piVar20)" (( "(") (binary_expression "(int)piVar3 + (int)piVar20" (cast_expression "(int)piVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar3")) (+ "+") (cast_expression "(int)piVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar20"))) () ")")))) (; ";")) (if_statement "if (iVar18 < (int)unaff_s4) {\n          iVar18 = ((int)unaff_s4 * 5 >> 2) + 0x400;\n          piVar19 = (int *)(*(code *)PTR_saferealloc_000791a0)(piVar19,iVar18,1);\n        }" (if "if") (parenthesized_expression "(iVar18 < (int)unaff_s4)" (( "(") (binary_expression "iVar18 < (int)unaff_s4" (identifier "iVar18") (< "<") (cast_expression "(int)unaff_s4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s4"))) () ")")) (compound_statement "{\n          iVar18 = ((int)unaff_s4 * 5 >> 2) + 0x400;\n          piVar19 = (int *)(*(code *)PTR_saferealloc_000791a0)(piVar19,iVar18,1);\n        }" ({ "{") (expression_statement "iVar18 = ((int)unaff_s4 * 5 >> 2) + 0x400;" (assignment_expression "iVar18 = ((int)unaff_s4 * 5 >> 2) + 0x400" (identifier "iVar18") (= "=") (binary_expression "((int)unaff_s4 * 5 >> 2) + 0x400" (parenthesized_expression "((int)unaff_s4 * 5 >> 2)" (( "(") (binary_expression "(int)unaff_s4 * 5 >> 2" (binary_expression "(int)unaff_s4 * 5" (cast_expression "(int)unaff_s4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s4")) (* "*") (number_literal "5")) (>> ">>") (number_literal "2")) () ")")) (+ "+") (number_literal "0x400"))) (; ";")) (expression_statement "piVar19 = (int *)(*(code *)PTR_saferealloc_000791a0)(piVar19,iVar18,1);" (assignment_expression "piVar19 = (int *)(*(code *)PTR_saferealloc_000791a0)(piVar19,iVar18,1)" (identifier "piVar19") (= "=") (cast_expression "(int *)(*(code *)PTR_saferealloc_000791a0)(piVar19,iVar18,1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_saferealloc_000791a0)(piVar19,iVar18,1)" (parenthesized_expression "(*(code *)PTR_saferealloc_000791a0)" (( "(") (pointer_expression "*(code *)PTR_saferealloc_000791a0" (* "*") (cast_expression "(code *)PTR_saferealloc_000791a0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_saferealloc_000791a0"))) () ")")) (argument_list "(piVar19,iVar18,1)" (( "(") (identifier "piVar19") (, ",") (identifier "iVar18") (, ",") (number_literal "1") () ")"))))) (; ";")) (} "}"))) (expression_statement "unaff_s5 = (int *)((int)unaff_s5 + 1);" (assignment_expression "unaff_s5 = (int *)((int)unaff_s5 + 1)" (identifier "unaff_s5") (= "=") (cast_expression "(int *)((int)unaff_s5 + 1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_s5 + 1)" (( "(") (binary_expression "(int)unaff_s5 + 1" (cast_expression "(int)unaff_s5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s5")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "piVar10 = unaff_s7;" (assignment_expression "piVar10 = unaff_s7" (identifier "piVar10") (= "=") (identifier "unaff_s7")) (; ";")) (expression_statement "(*(code *)PTR_memcpy_000798e0)((char *)((int)piVar19 + (int)piVar3));" (call_expression "(*(code *)PTR_memcpy_000798e0)((char *)((int)piVar19 + (int)piVar3))" (parenthesized_expression "(*(code *)PTR_memcpy_000798e0)" (( "(") (pointer_expression "*(code *)PTR_memcpy_000798e0" (* "*") (cast_expression "(code *)PTR_memcpy_000798e0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_memcpy_000798e0"))) () ")")) (argument_list "((char *)((int)piVar19 + (int)piVar3))" (( "(") (cast_expression "(char *)((int)piVar19 + (int)piVar3)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar19 + (int)piVar3)" (( "(") (binary_expression "(int)piVar19 + (int)piVar3" (cast_expression "(int)piVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar19")) (+ "+") (cast_expression "(int)piVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar3"))) () ")"))) () ")"))) (; ";")) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" (identifier "iVar4") (= "=") (number_literal "0")) (; ";")) (expression_statement "cVar9 = *(char *)unaff_s5;" (assignment_expression "cVar9 = *(char *)unaff_s5" (identifier "cVar9") (= "=") (pointer_expression "*(char *)unaff_s5" (* "*") (cast_expression "(char *)unaff_s5" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "unaff_s5")))) (; ";")) (expression_statement "piVar3 = unaff_s4;" (assignment_expression "piVar3 = unaff_s4" (identifier "piVar3") (= "=") (identifier "unaff_s4")) (; ";")) (if_statement "if (cVar9 == '\0') goto LAB_000434ac;" (if "if") (parenthesized_expression "(cVar9 == '\0')" (( "(") (binary_expression "cVar9 == '\0'" (identifier "cVar9") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_000434ac;" (goto "goto") (statement_identifier "LAB_000434ac") (; ";"))) (} "}"))) (expression_statement "unaff_s5 = (int *)((int)unaff_s5 + 1);" (assignment_expression "unaff_s5 = (int *)((int)unaff_s5 + 1)" (identifier "unaff_s5") (= "=") (cast_expression "(int *)((int)unaff_s5 + 1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_s5 + 1)" (( "(") (binary_expression "(int)unaff_s5 + 1" (cast_expression "(int)unaff_s5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s5")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "iVar4 = iVar4 + 1;" (assignment_expression "iVar4 = iVar4 + 1" (identifier "iVar4") (= "=") (binary_expression "iVar4 + 1" (identifier "iVar4") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "unaff_s4 = piVar3;" (assignment_expression "unaff_s4 = piVar3" (identifier "unaff_s4") (= "=") (identifier "piVar3")) (; ";")) (expression_statement "cVar9 = *(char *)unaff_s5;" (assignment_expression "cVar9 = *(char *)unaff_s5" (identifier "cVar9") (= "=") (pointer_expression "*(char *)unaff_s5" (* "*") (cast_expression "(char *)unaff_s5" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "unaff_s5")))) (; ";")) (} "}"))) (labeled_statement "LAB_000434ac:\n    (*(code *)PTR_safefree_000790f0)(piVar5);" (statement_identifier "LAB_000434ac") (: ":") (expression_statement "(*(code *)PTR_safefree_000790f0)(piVar5);" (call_expression "(*(code *)PTR_safefree_000790f0)(piVar5)" (parenthesized_expression "(*(code *)PTR_safefree_000790f0)" (( "(") (pointer_expression "*(code *)PTR_safefree_000790f0" (* "*") (cast_expression "(code *)PTR_safefree_000790f0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_safefree_000790f0"))) () ")")) (argument_list "(piVar5)" (( "(") (identifier "piVar5") () ")"))) (; ";"))) (expression_statement "uVar2 = (*(code *)PTR_fgetline_00079538)(param_1);" (assignment_expression "uVar2 = (*(code *)PTR_fgetline_00079538)(param_1)" (identifier "uVar2") (= "=") (call_expression "(*(code *)PTR_fgetline_00079538)(param_1)" (parenthesized_expression "(*(code *)PTR_fgetline_00079538)" (( "(") (pointer_expression "*(code *)PTR_fgetline_00079538" (* "*") (cast_expression "(code *)PTR_fgetline_00079538" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_fgetline_00079538"))) () ")")) (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (expression_statement "piVar5 = (int *)(*(code *)PTR_chomp_0007953c)(uVar2);" (assignment_expression "piVar5 = (int *)(*(code *)PTR_chomp_0007953c)(uVar2)" (identifier "piVar5") (= "=") (cast_expression "(int *)(*(code *)PTR_chomp_0007953c)(uVar2)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_chomp_0007953c)(uVar2)" (parenthesized_expression "(*(code *)PTR_chomp_0007953c)" (( "(") (pointer_expression "*(code *)PTR_chomp_0007953c" (* "*") (cast_expression "(code *)PTR_chomp_0007953c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_chomp_0007953c"))) () ")")) (argument_list "(uVar2)" (( "(") (identifier "uVar2") () ")"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(piVar5 != (int *)0x0)" (( "(") (binary_expression "piVar5 != (int *)0x0" (identifier "piVar5") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (; ";"))) (expression_statement "puVar17 = PTR_s_j_000790a8 + 0x4350;" (assignment_expression "puVar17 = PTR_s_j_000790a8 + 0x4350" (identifier "puVar17") (= "=") (binary_expression "PTR_s_j_000790a8 + 0x4350" (identifier "PTR_s_j_000790a8") (+ "+") (number_literal "0x4350"))) (; ";")) (expression_statement "param_2 = piVar5;" (assignment_expression "param_2 = piVar5" (identifier "param_2") (= "=") (identifier "piVar5")) (; ";")) (labeled_statement "LAB_00043198:\n  (*(code *)PTR_safefree_000790f0)(param_2);" (statement_identifier "LAB_00043198") (: ":") (expression_statement "(*(code *)PTR_safefree_000790f0)(param_2);" (call_expression "(*(code *)PTR_safefree_000790f0)(param_2)" (parenthesized_expression "(*(code *)PTR_safefree_000790f0)" (( "(") (pointer_expression "*(code *)PTR_safefree_000790f0" (* "*") (cast_expression "(code *)PTR_safefree_000790f0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_safefree_000790f0"))) () ")")) (argument_list "(param_2)" (( "(") (identifier "param_2") () ")"))) (; ";"))) (expression_statement "(*(code *)PTR_safefree_000790f0)(local_54);" (call_expression "(*(code *)PTR_safefree_000790f0)(local_54)" (parenthesized_expression "(*(code *)PTR_safefree_000790f0)" (( "(") (pointer_expression "*(code *)PTR_safefree_000790f0" (* "*") (cast_expression "(code *)PTR_safefree_000790f0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_safefree_000790f0"))) () ")")) (argument_list "(local_54)" (( "(") (identifier "local_54") () ")"))) (; ";")) (expression_statement "(*(code *)PTR_safefree_000790f0)(piVar19);" (call_expression "(*(code *)PTR_safefree_000790f0)(piVar19)" (parenthesized_expression "(*(code *)PTR_safefree_000790f0)" (( "(") (pointer_expression "*(code *)PTR_safefree_000790f0" (* "*") (cast_expression "(code *)PTR_safefree_000790f0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_safefree_000790f0"))) () ")")) (argument_list "(piVar19)" (( "(") (identifier "piVar19") () ")"))) (; ";")) (expression_statement "piVar5 = unaff_s5;" (assignment_expression "piVar5 = unaff_s5" (identifier "piVar5") (= "=") (identifier "unaff_s5")) (; ";")) (if_statement "if (param_5 == (undefined4 *)0x0) {\n    piVar19 = (int *)0x0;\n  }\n  else {\n    piVar19 = (int *)0x0;\n    *param_5 = puVar17;\n  }" (if "if") (parenthesized_expression "(param_5 == (undefined4 *)0x0)" (( "(") (binary_expression "param_5 == (undefined4 *)0x0" (identifier "param_5") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    piVar19 = (int *)0x0;\n  }" ({ "{") (expression_statement "piVar19 = (int *)0x0;" (assignment_expression "piVar19 = (int *)0x0" (identifier "piVar19") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")) (else_clause "else {\n    piVar19 = (int *)0x0;\n    *param_5 = puVar17;\n  }" (else "else") (compound_statement "{\n    piVar19 = (int *)0x0;\n    *param_5 = puVar17;\n  }" ({ "{") (expression_statement "piVar19 = (int *)0x0;" (assignment_expression "piVar19 = (int *)0x0" (identifier "piVar19") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "*param_5 = puVar17;" (assignment_expression "*param_5 = puVar17" (pointer_expression "*param_5" (* "*") (identifier "param_5")) (= "=") (identifier "puVar17")) (; ";")) (} "}")))) (labeled_statement "LAB_000431d8:\n  if (local_2c == *(int *)puVar22) {\n    return piVar19;\n  }" (statement_identifier "LAB_000431d8") (: ":") (if_statement "if (local_2c == *(int *)puVar22) {\n    return piVar19;\n  }" (if "if") (parenthesized_expression "(local_2c == *(int *)puVar22)" (( "(") (binary_expression "local_2c == *(int *)puVar22" (identifier "local_2c") (== "==") (pointer_expression "*(int *)puVar22" (* "*") (cast_expression "(int *)puVar22" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar22")))) () ")")) (compound_statement "{\n    return piVar19;\n  }" ({ "{") (return_statement "return piVar19;" (return "return") (identifier "piVar19") (; ";")) (} "}")))) (expression_statement "pcVar23 = openssh_loadpub;" (assignment_expression "pcVar23 = openssh_loadpub" (identifier "pcVar23") (= "=") (identifier "openssh_loadpub")) (; ";")) (expression_statement "puVar22 = PTR___stack_chk_fail_000797f0;" (assignment_expression "puVar22 = PTR___stack_chk_fail_000797f0" (identifier "puVar22") (= "=") (identifier "PTR___stack_chk_fail_000797f0")) (; ";")) (expression_statement "(*(code *)PTR___stack_chk_fail_000797f0)();" (call_expression "(*(code *)PTR___stack_chk_fail_000797f0)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000797f0)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_000797f0" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_000797f0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_000797f0"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piStack_a0 = (int *)(puVar22 + 0x3da44);" (assignment_expression "piStack_a0 = (int *)(puVar22 + 0x3da44)" (identifier "piStack_a0") (= "=") (cast_expression "(int *)(puVar22 + 0x3da44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + 0x3da44)" (( "(") (binary_expression "puVar22 + 0x3da44" (identifier "puVar22") (+ "+") (number_literal "0x3da44")) () ")")))) (; ";")) (expression_statement "piStack_98 = param_2;" (assignment_expression "piStack_98 = param_2" (identifier "piStack_98") (= "=") (identifier "param_2")) (; ";")) (expression_statement "puStack_94 = puVar17;" (assignment_expression "puStack_94 = puVar17" (identifier "puStack_94") (= "=") (identifier "puVar17")) (; ";")) (expression_statement "piStack_90 = piVar19;" (assignment_expression "piStack_90 = piVar19" (identifier "piStack_90") (= "=") (identifier "piVar19")) (; ";")) (expression_statement "uStack_8c = param_1;" (assignment_expression "uStack_8c = param_1" (identifier "uStack_8c") (= "=") (identifier "param_1")) (; ";")) (expression_statement "piStack_88 = unaff_s4;" (assignment_expression "piStack_88 = unaff_s4" (identifier "piStack_88") (= "=") (identifier "unaff_s4")) (; ";")) (expression_statement "piStack_84 = piVar5;" (assignment_expression "piStack_84 = piVar5" (identifier "piStack_84") (= "=") (identifier "piVar5")) (; ";")) (expression_statement "piStack_80 = unaff_s6;" (assignment_expression "piStack_80 = unaff_s6" (identifier "piStack_80") (= "=") (identifier "unaff_s6")) (; ";")) (expression_statement "piStack_7c = unaff_s7;" (assignment_expression "piStack_7c = unaff_s7" (identifier "piStack_7c") (= "=") (identifier "unaff_s7")) (; ";")) (expression_statement "pcStack_78 = unaff_s8;" (assignment_expression "pcStack_78 = unaff_s8" (identifier "pcStack_78") (= "=") (identifier "unaff_s8")) (; ";")) (expression_statement "pcStack_74 = pcVar23;" (assignment_expression "pcStack_74 = pcVar23" (identifier "pcStack_74") (= "=") (identifier "pcVar23")) (; ";")) (expression_statement "uVar2 = (**(code **)(puVar22 + 0x35f0c))();" (assignment_expression "uVar2 = (**(code **)(puVar22 + 0x35f0c))()" (identifier "uVar2") (= "=") (call_expression "(**(code **)(puVar22 + 0x35f0c))()" (parenthesized_expression "(**(code **)(puVar22 + 0x35f0c))" (( "(") (pointer_expression "**(code **)(puVar22 + 0x35f0c)" (* "*") (pointer_expression "*(code **)(puVar22 + 0x35f0c)" (* "*") (cast_expression "(code **)(puVar22 + 0x35f0c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar22 + 0x35f0c)" (( "(") (binary_expression "puVar22 + 0x35f0c" (identifier "puVar22") (+ "+") (number_literal "0x35f0c")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar2 = (*(code *)piStack_a0[-0x1ecd])(uVar2);" (assignment_expression "uVar2 = (*(code *)piStack_a0[-0x1ecd])(uVar2)" (identifier "uVar2") (= "=") (call_expression "(*(code *)piStack_a0[-0x1ecd])(uVar2)" (parenthesized_expression "(*(code *)piStack_a0[-0x1ecd])" (( "(") (pointer_expression "*(code *)piStack_a0[-0x1ecd]" (* "*") (cast_expression "(code *)piStack_a0[-0x1ecd]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piStack_a0[-0x1ecd]" (identifier "piStack_a0") ([ "[") (number_literal "-0x1ecd") (] "]")))) () ")")) (argument_list "(uVar2)" (( "(") (identifier "uVar2") () ")")))) (; ";")) (expression_statement "puVar6 = (undefined1 *)(*(code *)piStack_a0[-0x1e0f])(uVar2,0x20);" (assignment_expression "puVar6 = (undefined1 *)(*(code *)piStack_a0[-0x1e0f])(uVar2,0x20)" (identifier "puVar6") (= "=") (cast_expression "(undefined1 *)(*(code *)piStack_a0[-0x1e0f])(uVar2,0x20)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)piStack_a0[-0x1e0f])(uVar2,0x20)" (parenthesized_expression "(*(code *)piStack_a0[-0x1e0f])" (( "(") (pointer_expression "*(code *)piStack_a0[-0x1e0f]" (* "*") (cast_expression "(code *)piStack_a0[-0x1e0f]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piStack_a0[-0x1e0f]" (identifier "piStack_a0") ([ "[") (number_literal "-0x1e0f") (] "]")))) () ")")) (argument_list "(uVar2,0x20)" (( "(") (identifier "uVar2") (, ",") (number_literal "0x20") () ")"))))) (; ";")) (if_statement "if (puVar6 == (undefined1 *)0x0) {\n    piVar3 = (int *)0x0;\n    iVar4 = piStack_a0[-0x1ff2] + 0x4490;\n    puVar6 = (undefined1 *)0x0;\n  }\n  else {\n    pcVar23 = (code *)piStack_a0[-0x1e0f];\n    pcVar15 = puVar6 + 1;\n    *puVar6 = 0;\n    puVar6 = (undefined1 *)(*pcVar23)(pcVar15,0x20);\n    if (puVar6 != (undefined1 *)0x0) {\n      pcVar23 = (code *)piStack_a0[-0x1fdd];\n      *puVar6 = 0;\n      puVar6 = (undefined1 *)(*pcVar23)(puVar6 + 1);\n    }\n    iVar18 = 0;\n    uVar7 = (*(code *)piStack_a0[-0x1de8])(pcVar15);\n    iVar4 = (uVar7 >> 2) * 3;\n    piVar3 = (int *)(*(code *)piStack_a0[-0x1fe8])(iVar4,1);\n    while (iVar8 = (*(code *)piStack_a0[-0x1df7])(pcVar15,0,4), iVar8 == 0) {\n      if (iVar4 <= iVar18 + 2) {\n        puVar12 = (undefined4 *)&DAT_00000441;\n        pcVar23 = (code *)piStack_a0[-0x1e6c];\n        piVar14 = (int *)(piStack_a0[-0x1ff2] + 0x4800);\n        piVar11 = (int *)(piStack_a0[-0x1ff2] + 0x4034);\n        pcVar24 = ssh2_userkey_loadpub;\n        (*pcVar23)(piStack_a0[-0x1ff2] + 0x44b8);\n        piVar5 = piStack_a0;\n        pcStack_118 = pcVar23 + 0x3d74c;\n        piVar16 = *(int **)(pcVar23 + 0x3600c);\n        piVar19 = (int *)(*(int *)(pcVar23 + 0x35784) + 0x4078);\n        iStack_dc = *piVar16;\n        pcStack_d8 = pcVar15;\n        iStack_d4 = iVar18;\n        piStack_d0 = piVar3;\n        iStack_cc = iVar4;\n        puStack_c8 = puVar6;\n        uStack_c4 = uVar2;\n        piStack_c0 = piVar13;\n        piStack_bc = piVar20;\n        piStack_b8 = piVar10;\n        pcStack_b4 = pcVar24;\n        piVar10 = (int *)f_open();\n        if (piVar10 == (int *)0x0) {\n          if (piVar5 != (int *)0x0) {\n            *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x407c;\n          }\nLAB_000439f4:\n          piVar21 = (int *)0x0;\n          piVar10 = piVar20;\n        }\n        else {\n          iVar4 = FUN_00041f60(piVar10);\n          if (iVar4 == 9) {\n            pcVar23 = *(code **)(pcStack_118 + -0x7b14);\n          }\n          else {\n            if (iVar4 != 10) {\n              piVar20 = piVar10;\n              if (iVar4 != 3) {\nLAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }\n                goto LAB_000439f4;\n              }\n              piVar13 = aiStack_104;\n              iVar4 = FUN_00040db0(piVar10,piVar13);\n              if (iVar4 == 0) {\nLAB_00043cc0:\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);\n                iVar4 = (**(code **)(pcStack_118 + -0x78ac))(piVar13,piVar19,0x14);\n                if (iVar4 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                  if (piVar5 != (int *)0x0) {\n                    *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }\n                goto LAB_000439d4;\n              }\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214);\n              iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if (iVar4 != 0) {\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);\n                iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                if (iVar4 != 0) goto LAB_00043cc0;\n              }\n              pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74);\n              piVar3 = (int *)FUN_00040e74(piVar10);\n              if (piVar3 == (int *)0x0) {\nLAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                goto LAB_000439f4;\n              }\n              uVar2 = (**(code **)(pcStack_118 + -0x77a0))(piVar3);\n              piVar19 = piVar3;\n              iVar4 = find_pubkey_alg_len(uVar2);\n              (**(code **)(pcStack_118 + -0x7f80))(piVar3);\n              if ((iVar4 == 0) || (piVar19 = piVar13, iVar18 = FUN_00040db0(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) || (iVar18 = (*pcStack_110)(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n              piVar19 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              if (iVar18 == 0) goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) ||\n                 (pcVar23 = (code *)(*pcStack_110)(piVar10), pcVar23 == (code *)0x0))\n              goto LAB_00043c9c;\n              pcStack_10c = pcVar23;\n              if (piVar14 == (int *)0x0) {\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n              }\n              else {\n                *piVar14 = (int)pcVar23;\n              }\n              piVar3 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              pcVar23 = pcStack_10c;\n              if (iVar18 == 0) {\nLAB_00043d58:\n                piVar19 = piVar3;\n                pcStack_110 = pcVar23;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                if (piVar14 == (int *)0x0) goto LAB_000439f4;\n                piVar21 = (int *)0x0;\n                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);\n                *piVar14 = 0;\n              }\n              else {\n                piVar3 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                pcVar23 = pcStack_10c;\n                if ((iVar18 != 0) ||\n                   (iVar18 = (*pcStack_110)(piVar10), pcVar23 = pcStack_10c, iVar18 == 0))\n                goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                piVar19 = (int *)FUN_00040d14(iVar18);\n                (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n                pcVar23 = pcStack_110;\n                if (((int)piVar19 < 0) ||\n                   (piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108), piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (puVar12 != (undefined4 *)0x0) {\n                  *puVar12 = uStack_108;\n                }\n                if (piVar11 != (int *)0x0) {\n                  iVar4 = (**(code **)(pcStack_118 + -0x7f74))(*(undefined4 *)(iVar4 + 0x30));\n                  *piVar11 = iVar4;\n                }\n              }\n              goto LAB_000439f8;\n            }\n            pcVar23 = *(code **)(pcStack_118 + -0x7b10);\n          }\n          piStack_120 = piVar5;\n          piVar19 = piVar11;\n          piVar21 = (int *)(*pcVar23)(piVar10,piVar11,puVar12,piVar14);\n          (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n        }\nLAB_000439f8:\n        if (iStack_dc == *piVar16) {\n          return piVar21;\n        }\n        pcVar23 = *(code **)(pcStack_118 + -0x7880);\n        pcVar24 = ssh2_userkey_encrypted;\n        (*pcVar23)();\n        piVar20 = *(int **)(pcVar23 + 0x35b70);\n        piStack_150 = piVar5;\n        iStack_15c = *piVar20;\n        if (piVar19 != (int *)0x0) {\n          *piVar19 = 0;\n        }\n        piStack_154 = piVar16;\n        piStack_14c = piVar14;\n        piStack_148 = piVar11;\n        puStack_144 = puVar12;\n        piStack_140 = piVar21;\n        piStack_13c = piVar13;\n        piStack_138 = piVar10;\n        pcStack_134 = pcVar24;\n        iVar4 = f_open();\n        if (iVar4 == 0) {\n          piVar10 = (int *)0x0;\n        }\n        else {\n          iVar18 = FUN_00040db0(iVar4,auStack_184);\n          if ((iVar18 != 0) &&\n             (((iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4214), iVar18 == 0\n               || (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                      (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c),\n                  iVar18 == 0)) && (iVar18 = FUN_00040e74(iVar4), iVar18 != 0)))) {\n            (**(code **)(pcVar23 + 0x35330))(iVar18);\n            iVar18 = FUN_00040db0(iVar4,auStack_184);\n            if ((iVar18 != 0) &&\n               (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4244), iVar18 == 0))\n            {\n              iVar18 = FUN_00040e74(iVar4);\n              if (iVar18 == 0) {\n                (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                piVar10 = (int *)0x0;\n              }\n              else {\n                iVar8 = FUN_00040db0(iVar4,auStack_184);\n                if (((iVar8 == 0) ||\n                    (iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0)) || (iVar8 = FUN_00040e74(iVar4), iVar8 == 0)) {\n                  piVar10 = (int *)0x1;\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n                else {\n                  if (piVar19 == (int *)0x0) {\n                    (**(code **)(pcVar23 + 0x35330))(iVar8);\n                  }\n                  else {\n                    *piVar19 = iVar8;\n                  }\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  iVar4 = (**(code **)(pcVar23 + 0x35ae4))\n                                    (iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4);\n                  piVar10 = (int *)(uint)(iVar4 == 0);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n              }\n              goto LAB_00043f04;\n            }\n          }\n          piVar10 = (int *)0x0;\n          (**(code **)(pcVar23 + 0x35acc))(iVar4);\n        }\nLAB_00043f04:\n        if (iStack_15c != *piVar20) {\n          (**(code **)(pcVar23 + 0x35a30))();\n          return (int *)((iStack_15c + 0x2f) / 0x30);\n        }\n        return piVar10;\n      }\n      iVar8 = (*(code *)piStack_a0[-0x1f66])(pcVar15,(int)piVar3 + iVar18);\n      iVar18 = iVar18 + iVar8;\n      pcVar15 = pcVar15 + 4;\n    }\n    if (*pcVar15 == '\0') {\n      iVar4 = (*(code *)piStack_a0[-0x1de8])(uVar2);\n      if (((iVar4 + 3 < iVar18) && (iVar4 == *piVar3)) &&\n         (iVar4 = (*(code *)piStack_a0[-0x1dfd])(piVar3 + 1,uVar2,iVar4), iVar4 == 0)) {\n        if (piVar10 != (int *)0x0) {\n          iVar4 = (*(code *)piStack_a0[-0x1fdd])(uVar2);\n          *piVar10 = iVar4;\n        }\n        if (piVar20 != (int *)0x0) {\n          *piVar20 = iVar18;\n        }\n        if (piVar13 == (int *)0x0) {\n          (*(code *)piStack_a0[-0x1fe0])(puVar6);\n        }\n        else {\n          *piVar13 = (int)puVar6;\n        }\n        (*(code *)piStack_a0[-0x1fe0])(uVar2);\n        return piVar3;\n      }\n      iVar4 = piStack_a0[-0x1ff2] + 0x441c;\n    }\n    else {\n      iVar4 = piStack_a0[-0x1ff2] + 0x4454;\n    }\n  }" (if "if") (parenthesized_expression "(puVar6 == (undefined1 *)0x0)" (( "(") (binary_expression "puVar6 == (undefined1 *)0x0" (identifier "puVar6") (== "==") (cast_expression "(undefined1 *)0x0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    piVar3 = (int *)0x0;\n    iVar4 = piStack_a0[-0x1ff2] + 0x4490;\n    puVar6 = (undefined1 *)0x0;\n  }" ({ "{") (expression_statement "piVar3 = (int *)0x0;" (assignment_expression "piVar3 = (int *)0x0" (identifier "piVar3") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar4 = piStack_a0[-0x1ff2] + 0x4490;" (assignment_expression "iVar4 = piStack_a0[-0x1ff2] + 0x4490" (identifier "iVar4") (= "=") (binary_expression "piStack_a0[-0x1ff2] + 0x4490" (subscript_expression "piStack_a0[-0x1ff2]" (identifier "piStack_a0") ([ "[") (number_literal "-0x1ff2") (] "]")) (+ "+") (number_literal "0x4490"))) (; ";")) (expression_statement "puVar6 = (undefined1 *)0x0;" (assignment_expression "puVar6 = (undefined1 *)0x0" (identifier "puVar6") (= "=") (cast_expression "(undefined1 *)0x0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")) (else_clause "else {\n    pcVar23 = (code *)piStack_a0[-0x1e0f];\n    pcVar15 = puVar6 + 1;\n    *puVar6 = 0;\n    puVar6 = (undefined1 *)(*pcVar23)(pcVar15,0x20);\n    if (puVar6 != (undefined1 *)0x0) {\n      pcVar23 = (code *)piStack_a0[-0x1fdd];\n      *puVar6 = 0;\n      puVar6 = (undefined1 *)(*pcVar23)(puVar6 + 1);\n    }\n    iVar18 = 0;\n    uVar7 = (*(code *)piStack_a0[-0x1de8])(pcVar15);\n    iVar4 = (uVar7 >> 2) * 3;\n    piVar3 = (int *)(*(code *)piStack_a0[-0x1fe8])(iVar4,1);\n    while (iVar8 = (*(code *)piStack_a0[-0x1df7])(pcVar15,0,4), iVar8 == 0) {\n      if (iVar4 <= iVar18 + 2) {\n        puVar12 = (undefined4 *)&DAT_00000441;\n        pcVar23 = (code *)piStack_a0[-0x1e6c];\n        piVar14 = (int *)(piStack_a0[-0x1ff2] + 0x4800);\n        piVar11 = (int *)(piStack_a0[-0x1ff2] + 0x4034);\n        pcVar24 = ssh2_userkey_loadpub;\n        (*pcVar23)(piStack_a0[-0x1ff2] + 0x44b8);\n        piVar5 = piStack_a0;\n        pcStack_118 = pcVar23 + 0x3d74c;\n        piVar16 = *(int **)(pcVar23 + 0x3600c);\n        piVar19 = (int *)(*(int *)(pcVar23 + 0x35784) + 0x4078);\n        iStack_dc = *piVar16;\n        pcStack_d8 = pcVar15;\n        iStack_d4 = iVar18;\n        piStack_d0 = piVar3;\n        iStack_cc = iVar4;\n        puStack_c8 = puVar6;\n        uStack_c4 = uVar2;\n        piStack_c0 = piVar13;\n        piStack_bc = piVar20;\n        piStack_b8 = piVar10;\n        pcStack_b4 = pcVar24;\n        piVar10 = (int *)f_open();\n        if (piVar10 == (int *)0x0) {\n          if (piVar5 != (int *)0x0) {\n            *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x407c;\n          }\nLAB_000439f4:\n          piVar21 = (int *)0x0;\n          piVar10 = piVar20;\n        }\n        else {\n          iVar4 = FUN_00041f60(piVar10);\n          if (iVar4 == 9) {\n            pcVar23 = *(code **)(pcStack_118 + -0x7b14);\n          }\n          else {\n            if (iVar4 != 10) {\n              piVar20 = piVar10;\n              if (iVar4 != 3) {\nLAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }\n                goto LAB_000439f4;\n              }\n              piVar13 = aiStack_104;\n              iVar4 = FUN_00040db0(piVar10,piVar13);\n              if (iVar4 == 0) {\nLAB_00043cc0:\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);\n                iVar4 = (**(code **)(pcStack_118 + -0x78ac))(piVar13,piVar19,0x14);\n                if (iVar4 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                  if (piVar5 != (int *)0x0) {\n                    *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }\n                goto LAB_000439d4;\n              }\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214);\n              iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if (iVar4 != 0) {\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);\n                iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                if (iVar4 != 0) goto LAB_00043cc0;\n              }\n              pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74);\n              piVar3 = (int *)FUN_00040e74(piVar10);\n              if (piVar3 == (int *)0x0) {\nLAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                goto LAB_000439f4;\n              }\n              uVar2 = (**(code **)(pcStack_118 + -0x77a0))(piVar3);\n              piVar19 = piVar3;\n              iVar4 = find_pubkey_alg_len(uVar2);\n              (**(code **)(pcStack_118 + -0x7f80))(piVar3);\n              if ((iVar4 == 0) || (piVar19 = piVar13, iVar18 = FUN_00040db0(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) || (iVar18 = (*pcStack_110)(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n              piVar19 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              if (iVar18 == 0) goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) ||\n                 (pcVar23 = (code *)(*pcStack_110)(piVar10), pcVar23 == (code *)0x0))\n              goto LAB_00043c9c;\n              pcStack_10c = pcVar23;\n              if (piVar14 == (int *)0x0) {\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n              }\n              else {\n                *piVar14 = (int)pcVar23;\n              }\n              piVar3 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              pcVar23 = pcStack_10c;\n              if (iVar18 == 0) {\nLAB_00043d58:\n                piVar19 = piVar3;\n                pcStack_110 = pcVar23;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                if (piVar14 == (int *)0x0) goto LAB_000439f4;\n                piVar21 = (int *)0x0;\n                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);\n                *piVar14 = 0;\n              }\n              else {\n                piVar3 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                pcVar23 = pcStack_10c;\n                if ((iVar18 != 0) ||\n                   (iVar18 = (*pcStack_110)(piVar10), pcVar23 = pcStack_10c, iVar18 == 0))\n                goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                piVar19 = (int *)FUN_00040d14(iVar18);\n                (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n                pcVar23 = pcStack_110;\n                if (((int)piVar19 < 0) ||\n                   (piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108), piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (puVar12 != (undefined4 *)0x0) {\n                  *puVar12 = uStack_108;\n                }\n                if (piVar11 != (int *)0x0) {\n                  iVar4 = (**(code **)(pcStack_118 + -0x7f74))(*(undefined4 *)(iVar4 + 0x30));\n                  *piVar11 = iVar4;\n                }\n              }\n              goto LAB_000439f8;\n            }\n            pcVar23 = *(code **)(pcStack_118 + -0x7b10);\n          }\n          piStack_120 = piVar5;\n          piVar19 = piVar11;\n          piVar21 = (int *)(*pcVar23)(piVar10,piVar11,puVar12,piVar14);\n          (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n        }\nLAB_000439f8:\n        if (iStack_dc == *piVar16) {\n          return piVar21;\n        }\n        pcVar23 = *(code **)(pcStack_118 + -0x7880);\n        pcVar24 = ssh2_userkey_encrypted;\n        (*pcVar23)();\n        piVar20 = *(int **)(pcVar23 + 0x35b70);\n        piStack_150 = piVar5;\n        iStack_15c = *piVar20;\n        if (piVar19 != (int *)0x0) {\n          *piVar19 = 0;\n        }\n        piStack_154 = piVar16;\n        piStack_14c = piVar14;\n        piStack_148 = piVar11;\n        puStack_144 = puVar12;\n        piStack_140 = piVar21;\n        piStack_13c = piVar13;\n        piStack_138 = piVar10;\n        pcStack_134 = pcVar24;\n        iVar4 = f_open();\n        if (iVar4 == 0) {\n          piVar10 = (int *)0x0;\n        }\n        else {\n          iVar18 = FUN_00040db0(iVar4,auStack_184);\n          if ((iVar18 != 0) &&\n             (((iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4214), iVar18 == 0\n               || (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                      (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c),\n                  iVar18 == 0)) && (iVar18 = FUN_00040e74(iVar4), iVar18 != 0)))) {\n            (**(code **)(pcVar23 + 0x35330))(iVar18);\n            iVar18 = FUN_00040db0(iVar4,auStack_184);\n            if ((iVar18 != 0) &&\n               (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4244), iVar18 == 0))\n            {\n              iVar18 = FUN_00040e74(iVar4);\n              if (iVar18 == 0) {\n                (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                piVar10 = (int *)0x0;\n              }\n              else {\n                iVar8 = FUN_00040db0(iVar4,auStack_184);\n                if (((iVar8 == 0) ||\n                    (iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0)) || (iVar8 = FUN_00040e74(iVar4), iVar8 == 0)) {\n                  piVar10 = (int *)0x1;\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n                else {\n                  if (piVar19 == (int *)0x0) {\n                    (**(code **)(pcVar23 + 0x35330))(iVar8);\n                  }\n                  else {\n                    *piVar19 = iVar8;\n                  }\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  iVar4 = (**(code **)(pcVar23 + 0x35ae4))\n                                    (iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4);\n                  piVar10 = (int *)(uint)(iVar4 == 0);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n              }\n              goto LAB_00043f04;\n            }\n          }\n          piVar10 = (int *)0x0;\n          (**(code **)(pcVar23 + 0x35acc))(iVar4);\n        }\nLAB_00043f04:\n        if (iStack_15c != *piVar20) {\n          (**(code **)(pcVar23 + 0x35a30))();\n          return (int *)((iStack_15c + 0x2f) / 0x30);\n        }\n        return piVar10;\n      }\n      iVar8 = (*(code *)piStack_a0[-0x1f66])(pcVar15,(int)piVar3 + iVar18);\n      iVar18 = iVar18 + iVar8;\n      pcVar15 = pcVar15 + 4;\n    }\n    if (*pcVar15 == '\0') {\n      iVar4 = (*(code *)piStack_a0[-0x1de8])(uVar2);\n      if (((iVar4 + 3 < iVar18) && (iVar4 == *piVar3)) &&\n         (iVar4 = (*(code *)piStack_a0[-0x1dfd])(piVar3 + 1,uVar2,iVar4), iVar4 == 0)) {\n        if (piVar10 != (int *)0x0) {\n          iVar4 = (*(code *)piStack_a0[-0x1fdd])(uVar2);\n          *piVar10 = iVar4;\n        }\n        if (piVar20 != (int *)0x0) {\n          *piVar20 = iVar18;\n        }\n        if (piVar13 == (int *)0x0) {\n          (*(code *)piStack_a0[-0x1fe0])(puVar6);\n        }\n        else {\n          *piVar13 = (int)puVar6;\n        }\n        (*(code *)piStack_a0[-0x1fe0])(uVar2);\n        return piVar3;\n      }\n      iVar4 = piStack_a0[-0x1ff2] + 0x441c;\n    }\n    else {\n      iVar4 = piStack_a0[-0x1ff2] + 0x4454;\n    }\n  }" (else "else") (compound_statement "{\n    pcVar23 = (code *)piStack_a0[-0x1e0f];\n    pcVar15 = puVar6 + 1;\n    *puVar6 = 0;\n    puVar6 = (undefined1 *)(*pcVar23)(pcVar15,0x20);\n    if (puVar6 != (undefined1 *)0x0) {\n      pcVar23 = (code *)piStack_a0[-0x1fdd];\n      *puVar6 = 0;\n      puVar6 = (undefined1 *)(*pcVar23)(puVar6 + 1);\n    }\n    iVar18 = 0;\n    uVar7 = (*(code *)piStack_a0[-0x1de8])(pcVar15);\n    iVar4 = (uVar7 >> 2) * 3;\n    piVar3 = (int *)(*(code *)piStack_a0[-0x1fe8])(iVar4,1);\n    while (iVar8 = (*(code *)piStack_a0[-0x1df7])(pcVar15,0,4), iVar8 == 0) {\n      if (iVar4 <= iVar18 + 2) {\n        puVar12 = (undefined4 *)&DAT_00000441;\n        pcVar23 = (code *)piStack_a0[-0x1e6c];\n        piVar14 = (int *)(piStack_a0[-0x1ff2] + 0x4800);\n        piVar11 = (int *)(piStack_a0[-0x1ff2] + 0x4034);\n        pcVar24 = ssh2_userkey_loadpub;\n        (*pcVar23)(piStack_a0[-0x1ff2] + 0x44b8);\n        piVar5 = piStack_a0;\n        pcStack_118 = pcVar23 + 0x3d74c;\n        piVar16 = *(int **)(pcVar23 + 0x3600c);\n        piVar19 = (int *)(*(int *)(pcVar23 + 0x35784) + 0x4078);\n        iStack_dc = *piVar16;\n        pcStack_d8 = pcVar15;\n        iStack_d4 = iVar18;\n        piStack_d0 = piVar3;\n        iStack_cc = iVar4;\n        puStack_c8 = puVar6;\n        uStack_c4 = uVar2;\n        piStack_c0 = piVar13;\n        piStack_bc = piVar20;\n        piStack_b8 = piVar10;\n        pcStack_b4 = pcVar24;\n        piVar10 = (int *)f_open();\n        if (piVar10 == (int *)0x0) {\n          if (piVar5 != (int *)0x0) {\n            *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x407c;\n          }\nLAB_000439f4:\n          piVar21 = (int *)0x0;\n          piVar10 = piVar20;\n        }\n        else {\n          iVar4 = FUN_00041f60(piVar10);\n          if (iVar4 == 9) {\n            pcVar23 = *(code **)(pcStack_118 + -0x7b14);\n          }\n          else {\n            if (iVar4 != 10) {\n              piVar20 = piVar10;\n              if (iVar4 != 3) {\nLAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }\n                goto LAB_000439f4;\n              }\n              piVar13 = aiStack_104;\n              iVar4 = FUN_00040db0(piVar10,piVar13);\n              if (iVar4 == 0) {\nLAB_00043cc0:\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);\n                iVar4 = (**(code **)(pcStack_118 + -0x78ac))(piVar13,piVar19,0x14);\n                if (iVar4 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                  if (piVar5 != (int *)0x0) {\n                    *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }\n                goto LAB_000439d4;\n              }\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214);\n              iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if (iVar4 != 0) {\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);\n                iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                if (iVar4 != 0) goto LAB_00043cc0;\n              }\n              pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74);\n              piVar3 = (int *)FUN_00040e74(piVar10);\n              if (piVar3 == (int *)0x0) {\nLAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                goto LAB_000439f4;\n              }\n              uVar2 = (**(code **)(pcStack_118 + -0x77a0))(piVar3);\n              piVar19 = piVar3;\n              iVar4 = find_pubkey_alg_len(uVar2);\n              (**(code **)(pcStack_118 + -0x7f80))(piVar3);\n              if ((iVar4 == 0) || (piVar19 = piVar13, iVar18 = FUN_00040db0(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) || (iVar18 = (*pcStack_110)(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n              piVar19 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              if (iVar18 == 0) goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) ||\n                 (pcVar23 = (code *)(*pcStack_110)(piVar10), pcVar23 == (code *)0x0))\n              goto LAB_00043c9c;\n              pcStack_10c = pcVar23;\n              if (piVar14 == (int *)0x0) {\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n              }\n              else {\n                *piVar14 = (int)pcVar23;\n              }\n              piVar3 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              pcVar23 = pcStack_10c;\n              if (iVar18 == 0) {\nLAB_00043d58:\n                piVar19 = piVar3;\n                pcStack_110 = pcVar23;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                if (piVar14 == (int *)0x0) goto LAB_000439f4;\n                piVar21 = (int *)0x0;\n                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);\n                *piVar14 = 0;\n              }\n              else {\n                piVar3 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                pcVar23 = pcStack_10c;\n                if ((iVar18 != 0) ||\n                   (iVar18 = (*pcStack_110)(piVar10), pcVar23 = pcStack_10c, iVar18 == 0))\n                goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                piVar19 = (int *)FUN_00040d14(iVar18);\n                (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n                pcVar23 = pcStack_110;\n                if (((int)piVar19 < 0) ||\n                   (piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108), piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (puVar12 != (undefined4 *)0x0) {\n                  *puVar12 = uStack_108;\n                }\n                if (piVar11 != (int *)0x0) {\n                  iVar4 = (**(code **)(pcStack_118 + -0x7f74))(*(undefined4 *)(iVar4 + 0x30));\n                  *piVar11 = iVar4;\n                }\n              }\n              goto LAB_000439f8;\n            }\n            pcVar23 = *(code **)(pcStack_118 + -0x7b10);\n          }\n          piStack_120 = piVar5;\n          piVar19 = piVar11;\n          piVar21 = (int *)(*pcVar23)(piVar10,piVar11,puVar12,piVar14);\n          (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n        }\nLAB_000439f8:\n        if (iStack_dc == *piVar16) {\n          return piVar21;\n        }\n        pcVar23 = *(code **)(pcStack_118 + -0x7880);\n        pcVar24 = ssh2_userkey_encrypted;\n        (*pcVar23)();\n        piVar20 = *(int **)(pcVar23 + 0x35b70);\n        piStack_150 = piVar5;\n        iStack_15c = *piVar20;\n        if (piVar19 != (int *)0x0) {\n          *piVar19 = 0;\n        }\n        piStack_154 = piVar16;\n        piStack_14c = piVar14;\n        piStack_148 = piVar11;\n        puStack_144 = puVar12;\n        piStack_140 = piVar21;\n        piStack_13c = piVar13;\n        piStack_138 = piVar10;\n        pcStack_134 = pcVar24;\n        iVar4 = f_open();\n        if (iVar4 == 0) {\n          piVar10 = (int *)0x0;\n        }\n        else {\n          iVar18 = FUN_00040db0(iVar4,auStack_184);\n          if ((iVar18 != 0) &&\n             (((iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4214), iVar18 == 0\n               || (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                      (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c),\n                  iVar18 == 0)) && (iVar18 = FUN_00040e74(iVar4), iVar18 != 0)))) {\n            (**(code **)(pcVar23 + 0x35330))(iVar18);\n            iVar18 = FUN_00040db0(iVar4,auStack_184);\n            if ((iVar18 != 0) &&\n               (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4244), iVar18 == 0))\n            {\n              iVar18 = FUN_00040e74(iVar4);\n              if (iVar18 == 0) {\n                (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                piVar10 = (int *)0x0;\n              }\n              else {\n                iVar8 = FUN_00040db0(iVar4,auStack_184);\n                if (((iVar8 == 0) ||\n                    (iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0)) || (iVar8 = FUN_00040e74(iVar4), iVar8 == 0)) {\n                  piVar10 = (int *)0x1;\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n                else {\n                  if (piVar19 == (int *)0x0) {\n                    (**(code **)(pcVar23 + 0x35330))(iVar8);\n                  }\n                  else {\n                    *piVar19 = iVar8;\n                  }\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  iVar4 = (**(code **)(pcVar23 + 0x35ae4))\n                                    (iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4);\n                  piVar10 = (int *)(uint)(iVar4 == 0);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n              }\n              goto LAB_00043f04;\n            }\n          }\n          piVar10 = (int *)0x0;\n          (**(code **)(pcVar23 + 0x35acc))(iVar4);\n        }\nLAB_00043f04:\n        if (iStack_15c != *piVar20) {\n          (**(code **)(pcVar23 + 0x35a30))();\n          return (int *)((iStack_15c + 0x2f) / 0x30);\n        }\n        return piVar10;\n      }\n      iVar8 = (*(code *)piStack_a0[-0x1f66])(pcVar15,(int)piVar3 + iVar18);\n      iVar18 = iVar18 + iVar8;\n      pcVar15 = pcVar15 + 4;\n    }\n    if (*pcVar15 == '\0') {\n      iVar4 = (*(code *)piStack_a0[-0x1de8])(uVar2);\n      if (((iVar4 + 3 < iVar18) && (iVar4 == *piVar3)) &&\n         (iVar4 = (*(code *)piStack_a0[-0x1dfd])(piVar3 + 1,uVar2,iVar4), iVar4 == 0)) {\n        if (piVar10 != (int *)0x0) {\n          iVar4 = (*(code *)piStack_a0[-0x1fdd])(uVar2);\n          *piVar10 = iVar4;\n        }\n        if (piVar20 != (int *)0x0) {\n          *piVar20 = iVar18;\n        }\n        if (piVar13 == (int *)0x0) {\n          (*(code *)piStack_a0[-0x1fe0])(puVar6);\n        }\n        else {\n          *piVar13 = (int)puVar6;\n        }\n        (*(code *)piStack_a0[-0x1fe0])(uVar2);\n        return piVar3;\n      }\n      iVar4 = piStack_a0[-0x1ff2] + 0x441c;\n    }\n    else {\n      iVar4 = piStack_a0[-0x1ff2] + 0x4454;\n    }\n  }" ({ "{") (expression_statement "pcVar23 = (code *)piStack_a0[-0x1e0f];" (assignment_expression "pcVar23 = (code *)piStack_a0[-0x1e0f]" (identifier "pcVar23") (= "=") (cast_expression "(code *)piStack_a0[-0x1e0f]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piStack_a0[-0x1e0f]" (identifier "piStack_a0") ([ "[") (number_literal "-0x1e0f") (] "]")))) (; ";")) (expression_statement "pcVar15 = puVar6 + 1;" (assignment_expression "pcVar15 = puVar6 + 1" (identifier "pcVar15") (= "=") (binary_expression "puVar6 + 1" (identifier "puVar6") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*puVar6 = 0;" (assignment_expression "*puVar6 = 0" (pointer_expression "*puVar6" (* "*") (identifier "puVar6")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar6 = (undefined1 *)(*pcVar23)(pcVar15,0x20);" (assignment_expression "puVar6 = (undefined1 *)(*pcVar23)(pcVar15,0x20)" (identifier "puVar6") (= "=") (cast_expression "(undefined1 *)(*pcVar23)(pcVar15,0x20)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*pcVar23)(pcVar15,0x20)" (parenthesized_expression "(*pcVar23)" (( "(") (pointer_expression "*pcVar23" (* "*") (identifier "pcVar23")) () ")")) (argument_list "(pcVar15,0x20)" (( "(") (identifier "pcVar15") (, ",") (number_literal "0x20") () ")"))))) (; ";")) (if_statement "if (puVar6 != (undefined1 *)0x0) {\n      pcVar23 = (code *)piStack_a0[-0x1fdd];\n      *puVar6 = 0;\n      puVar6 = (undefined1 *)(*pcVar23)(puVar6 + 1);\n    }" (if "if") (parenthesized_expression "(puVar6 != (undefined1 *)0x0)" (( "(") (binary_expression "puVar6 != (undefined1 *)0x0" (identifier "puVar6") (!= "!=") (cast_expression "(undefined1 *)0x0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      pcVar23 = (code *)piStack_a0[-0x1fdd];\n      *puVar6 = 0;\n      puVar6 = (undefined1 *)(*pcVar23)(puVar6 + 1);\n    }" ({ "{") (expression_statement "pcVar23 = (code *)piStack_a0[-0x1fdd];" (assignment_expression "pcVar23 = (code *)piStack_a0[-0x1fdd]" (identifier "pcVar23") (= "=") (cast_expression "(code *)piStack_a0[-0x1fdd]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piStack_a0[-0x1fdd]" (identifier "piStack_a0") ([ "[") (number_literal "-0x1fdd") (] "]")))) (; ";")) (expression_statement "*puVar6 = 0;" (assignment_expression "*puVar6 = 0" (pointer_expression "*puVar6" (* "*") (identifier "puVar6")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar6 = (undefined1 *)(*pcVar23)(puVar6 + 1);" (assignment_expression "puVar6 = (undefined1 *)(*pcVar23)(puVar6 + 1)" (identifier "puVar6") (= "=") (cast_expression "(undefined1 *)(*pcVar23)(puVar6 + 1)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*pcVar23)(puVar6 + 1)" (parenthesized_expression "(*pcVar23)" (( "(") (pointer_expression "*pcVar23" (* "*") (identifier "pcVar23")) () ")")) (argument_list "(puVar6 + 1)" (( "(") (binary_expression "puVar6 + 1" (identifier "puVar6") (+ "+") (number_literal "1")) () ")"))))) (; ";")) (} "}"))) (expression_statement "iVar18 = 0;" (assignment_expression "iVar18 = 0" (identifier "iVar18") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar7 = (*(code *)piStack_a0[-0x1de8])(pcVar15);" (assignment_expression "uVar7 = (*(code *)piStack_a0[-0x1de8])(pcVar15)" (identifier "uVar7") (= "=") (call_expression "(*(code *)piStack_a0[-0x1de8])(pcVar15)" (parenthesized_expression "(*(code *)piStack_a0[-0x1de8])" (( "(") (pointer_expression "*(code *)piStack_a0[-0x1de8]" (* "*") (cast_expression "(code *)piStack_a0[-0x1de8]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piStack_a0[-0x1de8]" (identifier "piStack_a0") ([ "[") (number_literal "-0x1de8") (] "]")))) () ")")) (argument_list "(pcVar15)" (( "(") (identifier "pcVar15") () ")")))) (; ";")) (expression_statement "iVar4 = (uVar7 >> 2) * 3;" (assignment_expression "iVar4 = (uVar7 >> 2) * 3" (identifier "iVar4") (= "=") (binary_expression "(uVar7 >> 2) * 3" (parenthesized_expression "(uVar7 >> 2)" (( "(") (binary_expression "uVar7 >> 2" (identifier "uVar7") (>> ">>") (number_literal "2")) () ")")) (* "*") (number_literal "3"))) (; ";")) (expression_statement "piVar3 = (int *)(*(code *)piStack_a0[-0x1fe8])(iVar4,1);" (assignment_expression "piVar3 = (int *)(*(code *)piStack_a0[-0x1fe8])(iVar4,1)" (identifier "piVar3") (= "=") (cast_expression "(int *)(*(code *)piStack_a0[-0x1fe8])(iVar4,1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)piStack_a0[-0x1fe8])(iVar4,1)" (parenthesized_expression "(*(code *)piStack_a0[-0x1fe8])" (( "(") (pointer_expression "*(code *)piStack_a0[-0x1fe8]" (* "*") (cast_expression "(code *)piStack_a0[-0x1fe8]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piStack_a0[-0x1fe8]" (identifier "piStack_a0") ([ "[") (number_literal "-0x1fe8") (] "]")))) () ")")) (argument_list "(iVar4,1)" (( "(") (identifier "iVar4") (, ",") (number_literal "1") () ")"))))) (; ";")) (while_statement "while (iVar8 = (*(code *)piStack_a0[-0x1df7])(pcVar15,0,4), iVar8 == 0) {\n      if (iVar4 <= iVar18 + 2) {\n        puVar12 = (undefined4 *)&DAT_00000441;\n        pcVar23 = (code *)piStack_a0[-0x1e6c];\n        piVar14 = (int *)(piStack_a0[-0x1ff2] + 0x4800);\n        piVar11 = (int *)(piStack_a0[-0x1ff2] + 0x4034);\n        pcVar24 = ssh2_userkey_loadpub;\n        (*pcVar23)(piStack_a0[-0x1ff2] + 0x44b8);\n        piVar5 = piStack_a0;\n        pcStack_118 = pcVar23 + 0x3d74c;\n        piVar16 = *(int **)(pcVar23 + 0x3600c);\n        piVar19 = (int *)(*(int *)(pcVar23 + 0x35784) + 0x4078);\n        iStack_dc = *piVar16;\n        pcStack_d8 = pcVar15;\n        iStack_d4 = iVar18;\n        piStack_d0 = piVar3;\n        iStack_cc = iVar4;\n        puStack_c8 = puVar6;\n        uStack_c4 = uVar2;\n        piStack_c0 = piVar13;\n        piStack_bc = piVar20;\n        piStack_b8 = piVar10;\n        pcStack_b4 = pcVar24;\n        piVar10 = (int *)f_open();\n        if (piVar10 == (int *)0x0) {\n          if (piVar5 != (int *)0x0) {\n            *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x407c;\n          }\nLAB_000439f4:\n          piVar21 = (int *)0x0;\n          piVar10 = piVar20;\n        }\n        else {\n          iVar4 = FUN_00041f60(piVar10);\n          if (iVar4 == 9) {\n            pcVar23 = *(code **)(pcStack_118 + -0x7b14);\n          }\n          else {\n            if (iVar4 != 10) {\n              piVar20 = piVar10;\n              if (iVar4 != 3) {\nLAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }\n                goto LAB_000439f4;\n              }\n              piVar13 = aiStack_104;\n              iVar4 = FUN_00040db0(piVar10,piVar13);\n              if (iVar4 == 0) {\nLAB_00043cc0:\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);\n                iVar4 = (**(code **)(pcStack_118 + -0x78ac))(piVar13,piVar19,0x14);\n                if (iVar4 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                  if (piVar5 != (int *)0x0) {\n                    *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }\n                goto LAB_000439d4;\n              }\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214);\n              iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if (iVar4 != 0) {\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);\n                iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                if (iVar4 != 0) goto LAB_00043cc0;\n              }\n              pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74);\n              piVar3 = (int *)FUN_00040e74(piVar10);\n              if (piVar3 == (int *)0x0) {\nLAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                goto LAB_000439f4;\n              }\n              uVar2 = (**(code **)(pcStack_118 + -0x77a0))(piVar3);\n              piVar19 = piVar3;\n              iVar4 = find_pubkey_alg_len(uVar2);\n              (**(code **)(pcStack_118 + -0x7f80))(piVar3);\n              if ((iVar4 == 0) || (piVar19 = piVar13, iVar18 = FUN_00040db0(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) || (iVar18 = (*pcStack_110)(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n              piVar19 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              if (iVar18 == 0) goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) ||\n                 (pcVar23 = (code *)(*pcStack_110)(piVar10), pcVar23 == (code *)0x0))\n              goto LAB_00043c9c;\n              pcStack_10c = pcVar23;\n              if (piVar14 == (int *)0x0) {\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n              }\n              else {\n                *piVar14 = (int)pcVar23;\n              }\n              piVar3 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              pcVar23 = pcStack_10c;\n              if (iVar18 == 0) {\nLAB_00043d58:\n                piVar19 = piVar3;\n                pcStack_110 = pcVar23;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                if (piVar14 == (int *)0x0) goto LAB_000439f4;\n                piVar21 = (int *)0x0;\n                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);\n                *piVar14 = 0;\n              }\n              else {\n                piVar3 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                pcVar23 = pcStack_10c;\n                if ((iVar18 != 0) ||\n                   (iVar18 = (*pcStack_110)(piVar10), pcVar23 = pcStack_10c, iVar18 == 0))\n                goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                piVar19 = (int *)FUN_00040d14(iVar18);\n                (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n                pcVar23 = pcStack_110;\n                if (((int)piVar19 < 0) ||\n                   (piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108), piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (puVar12 != (undefined4 *)0x0) {\n                  *puVar12 = uStack_108;\n                }\n                if (piVar11 != (int *)0x0) {\n                  iVar4 = (**(code **)(pcStack_118 + -0x7f74))(*(undefined4 *)(iVar4 + 0x30));\n                  *piVar11 = iVar4;\n                }\n              }\n              goto LAB_000439f8;\n            }\n            pcVar23 = *(code **)(pcStack_118 + -0x7b10);\n          }\n          piStack_120 = piVar5;\n          piVar19 = piVar11;\n          piVar21 = (int *)(*pcVar23)(piVar10,piVar11,puVar12,piVar14);\n          (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n        }\nLAB_000439f8:\n        if (iStack_dc == *piVar16) {\n          return piVar21;\n        }\n        pcVar23 = *(code **)(pcStack_118 + -0x7880);\n        pcVar24 = ssh2_userkey_encrypted;\n        (*pcVar23)();\n        piVar20 = *(int **)(pcVar23 + 0x35b70);\n        piStack_150 = piVar5;\n        iStack_15c = *piVar20;\n        if (piVar19 != (int *)0x0) {\n          *piVar19 = 0;\n        }\n        piStack_154 = piVar16;\n        piStack_14c = piVar14;\n        piStack_148 = piVar11;\n        puStack_144 = puVar12;\n        piStack_140 = piVar21;\n        piStack_13c = piVar13;\n        piStack_138 = piVar10;\n        pcStack_134 = pcVar24;\n        iVar4 = f_open();\n        if (iVar4 == 0) {\n          piVar10 = (int *)0x0;\n        }\n        else {\n          iVar18 = FUN_00040db0(iVar4,auStack_184);\n          if ((iVar18 != 0) &&\n             (((iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4214), iVar18 == 0\n               || (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                      (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c),\n                  iVar18 == 0)) && (iVar18 = FUN_00040e74(iVar4), iVar18 != 0)))) {\n            (**(code **)(pcVar23 + 0x35330))(iVar18);\n            iVar18 = FUN_00040db0(iVar4,auStack_184);\n            if ((iVar18 != 0) &&\n               (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4244), iVar18 == 0))\n            {\n              iVar18 = FUN_00040e74(iVar4);\n              if (iVar18 == 0) {\n                (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                piVar10 = (int *)0x0;\n              }\n              else {\n                iVar8 = FUN_00040db0(iVar4,auStack_184);\n                if (((iVar8 == 0) ||\n                    (iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0)) || (iVar8 = FUN_00040e74(iVar4), iVar8 == 0)) {\n                  piVar10 = (int *)0x1;\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n                else {\n                  if (piVar19 == (int *)0x0) {\n                    (**(code **)(pcVar23 + 0x35330))(iVar8);\n                  }\n                  else {\n                    *piVar19 = iVar8;\n                  }\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  iVar4 = (**(code **)(pcVar23 + 0x35ae4))\n                                    (iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4);\n                  piVar10 = (int *)(uint)(iVar4 == 0);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n              }\n              goto LAB_00043f04;\n            }\n          }\n          piVar10 = (int *)0x0;\n          (**(code **)(pcVar23 + 0x35acc))(iVar4);\n        }\nLAB_00043f04:\n        if (iStack_15c != *piVar20) {\n          (**(code **)(pcVar23 + 0x35a30))();\n          return (int *)((iStack_15c + 0x2f) / 0x30);\n        }\n        return piVar10;\n      }\n      iVar8 = (*(code *)piStack_a0[-0x1f66])(pcVar15,(int)piVar3 + iVar18);\n      iVar18 = iVar18 + iVar8;\n      pcVar15 = pcVar15 + 4;\n    }" (while "while") (parenthesized_expression "(iVar8 = (*(code *)piStack_a0[-0x1df7])(pcVar15,0,4), iVar8 == 0)" (( "(") (comma_expression "iVar8 = (*(code *)piStack_a0[-0x1df7])(pcVar15,0,4), iVar8 == 0" (assignment_expression "iVar8 = (*(code *)piStack_a0[-0x1df7])(pcVar15,0,4)" (identifier "iVar8") (= "=") (call_expression "(*(code *)piStack_a0[-0x1df7])(pcVar15,0,4)" (parenthesized_expression "(*(code *)piStack_a0[-0x1df7])" (( "(") (pointer_expression "*(code *)piStack_a0[-0x1df7]" (* "*") (cast_expression "(code *)piStack_a0[-0x1df7]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piStack_a0[-0x1df7]" (identifier "piStack_a0") ([ "[") (number_literal "-0x1df7") (] "]")))) () ")")) (argument_list "(pcVar15,0,4)" (( "(") (identifier "pcVar15") (, ",") (number_literal "0") (, ",") (number_literal "4") () ")")))) (, ",") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0"))) () ")")) (compound_statement "{\n      if (iVar4 <= iVar18 + 2) {\n        puVar12 = (undefined4 *)&DAT_00000441;\n        pcVar23 = (code *)piStack_a0[-0x1e6c];\n        piVar14 = (int *)(piStack_a0[-0x1ff2] + 0x4800);\n        piVar11 = (int *)(piStack_a0[-0x1ff2] + 0x4034);\n        pcVar24 = ssh2_userkey_loadpub;\n        (*pcVar23)(piStack_a0[-0x1ff2] + 0x44b8);\n        piVar5 = piStack_a0;\n        pcStack_118 = pcVar23 + 0x3d74c;\n        piVar16 = *(int **)(pcVar23 + 0x3600c);\n        piVar19 = (int *)(*(int *)(pcVar23 + 0x35784) + 0x4078);\n        iStack_dc = *piVar16;\n        pcStack_d8 = pcVar15;\n        iStack_d4 = iVar18;\n        piStack_d0 = piVar3;\n        iStack_cc = iVar4;\n        puStack_c8 = puVar6;\n        uStack_c4 = uVar2;\n        piStack_c0 = piVar13;\n        piStack_bc = piVar20;\n        piStack_b8 = piVar10;\n        pcStack_b4 = pcVar24;\n        piVar10 = (int *)f_open();\n        if (piVar10 == (int *)0x0) {\n          if (piVar5 != (int *)0x0) {\n            *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x407c;\n          }\nLAB_000439f4:\n          piVar21 = (int *)0x0;\n          piVar10 = piVar20;\n        }\n        else {\n          iVar4 = FUN_00041f60(piVar10);\n          if (iVar4 == 9) {\n            pcVar23 = *(code **)(pcStack_118 + -0x7b14);\n          }\n          else {\n            if (iVar4 != 10) {\n              piVar20 = piVar10;\n              if (iVar4 != 3) {\nLAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }\n                goto LAB_000439f4;\n              }\n              piVar13 = aiStack_104;\n              iVar4 = FUN_00040db0(piVar10,piVar13);\n              if (iVar4 == 0) {\nLAB_00043cc0:\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);\n                iVar4 = (**(code **)(pcStack_118 + -0x78ac))(piVar13,piVar19,0x14);\n                if (iVar4 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                  if (piVar5 != (int *)0x0) {\n                    *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }\n                goto LAB_000439d4;\n              }\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214);\n              iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if (iVar4 != 0) {\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);\n                iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                if (iVar4 != 0) goto LAB_00043cc0;\n              }\n              pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74);\n              piVar3 = (int *)FUN_00040e74(piVar10);\n              if (piVar3 == (int *)0x0) {\nLAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                goto LAB_000439f4;\n              }\n              uVar2 = (**(code **)(pcStack_118 + -0x77a0))(piVar3);\n              piVar19 = piVar3;\n              iVar4 = find_pubkey_alg_len(uVar2);\n              (**(code **)(pcStack_118 + -0x7f80))(piVar3);\n              if ((iVar4 == 0) || (piVar19 = piVar13, iVar18 = FUN_00040db0(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) || (iVar18 = (*pcStack_110)(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n              piVar19 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              if (iVar18 == 0) goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) ||\n                 (pcVar23 = (code *)(*pcStack_110)(piVar10), pcVar23 == (code *)0x0))\n              goto LAB_00043c9c;\n              pcStack_10c = pcVar23;\n              if (piVar14 == (int *)0x0) {\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n              }\n              else {\n                *piVar14 = (int)pcVar23;\n              }\n              piVar3 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              pcVar23 = pcStack_10c;\n              if (iVar18 == 0) {\nLAB_00043d58:\n                piVar19 = piVar3;\n                pcStack_110 = pcVar23;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                if (piVar14 == (int *)0x0) goto LAB_000439f4;\n                piVar21 = (int *)0x0;\n                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);\n                *piVar14 = 0;\n              }\n              else {\n                piVar3 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                pcVar23 = pcStack_10c;\n                if ((iVar18 != 0) ||\n                   (iVar18 = (*pcStack_110)(piVar10), pcVar23 = pcStack_10c, iVar18 == 0))\n                goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                piVar19 = (int *)FUN_00040d14(iVar18);\n                (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n                pcVar23 = pcStack_110;\n                if (((int)piVar19 < 0) ||\n                   (piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108), piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (puVar12 != (undefined4 *)0x0) {\n                  *puVar12 = uStack_108;\n                }\n                if (piVar11 != (int *)0x0) {\n                  iVar4 = (**(code **)(pcStack_118 + -0x7f74))(*(undefined4 *)(iVar4 + 0x30));\n                  *piVar11 = iVar4;\n                }\n              }\n              goto LAB_000439f8;\n            }\n            pcVar23 = *(code **)(pcStack_118 + -0x7b10);\n          }\n          piStack_120 = piVar5;\n          piVar19 = piVar11;\n          piVar21 = (int *)(*pcVar23)(piVar10,piVar11,puVar12,piVar14);\n          (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n        }\nLAB_000439f8:\n        if (iStack_dc == *piVar16) {\n          return piVar21;\n        }\n        pcVar23 = *(code **)(pcStack_118 + -0x7880);\n        pcVar24 = ssh2_userkey_encrypted;\n        (*pcVar23)();\n        piVar20 = *(int **)(pcVar23 + 0x35b70);\n        piStack_150 = piVar5;\n        iStack_15c = *piVar20;\n        if (piVar19 != (int *)0x0) {\n          *piVar19 = 0;\n        }\n        piStack_154 = piVar16;\n        piStack_14c = piVar14;\n        piStack_148 = piVar11;\n        puStack_144 = puVar12;\n        piStack_140 = piVar21;\n        piStack_13c = piVar13;\n        piStack_138 = piVar10;\n        pcStack_134 = pcVar24;\n        iVar4 = f_open();\n        if (iVar4 == 0) {\n          piVar10 = (int *)0x0;\n        }\n        else {\n          iVar18 = FUN_00040db0(iVar4,auStack_184);\n          if ((iVar18 != 0) &&\n             (((iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4214), iVar18 == 0\n               || (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                      (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c),\n                  iVar18 == 0)) && (iVar18 = FUN_00040e74(iVar4), iVar18 != 0)))) {\n            (**(code **)(pcVar23 + 0x35330))(iVar18);\n            iVar18 = FUN_00040db0(iVar4,auStack_184);\n            if ((iVar18 != 0) &&\n               (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4244), iVar18 == 0))\n            {\n              iVar18 = FUN_00040e74(iVar4);\n              if (iVar18 == 0) {\n                (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                piVar10 = (int *)0x0;\n              }\n              else {\n                iVar8 = FUN_00040db0(iVar4,auStack_184);\n                if (((iVar8 == 0) ||\n                    (iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0)) || (iVar8 = FUN_00040e74(iVar4), iVar8 == 0)) {\n                  piVar10 = (int *)0x1;\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n                else {\n                  if (piVar19 == (int *)0x0) {\n                    (**(code **)(pcVar23 + 0x35330))(iVar8);\n                  }\n                  else {\n                    *piVar19 = iVar8;\n                  }\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  iVar4 = (**(code **)(pcVar23 + 0x35ae4))\n                                    (iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4);\n                  piVar10 = (int *)(uint)(iVar4 == 0);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n              }\n              goto LAB_00043f04;\n            }\n          }\n          piVar10 = (int *)0x0;\n          (**(code **)(pcVar23 + 0x35acc))(iVar4);\n        }\nLAB_00043f04:\n        if (iStack_15c != *piVar20) {\n          (**(code **)(pcVar23 + 0x35a30))();\n          return (int *)((iStack_15c + 0x2f) / 0x30);\n        }\n        return piVar10;\n      }\n      iVar8 = (*(code *)piStack_a0[-0x1f66])(pcVar15,(int)piVar3 + iVar18);\n      iVar18 = iVar18 + iVar8;\n      pcVar15 = pcVar15 + 4;\n    }" ({ "{") (if_statement "if (iVar4 <= iVar18 + 2) {\n        puVar12 = (undefined4 *)&DAT_00000441;\n        pcVar23 = (code *)piStack_a0[-0x1e6c];\n        piVar14 = (int *)(piStack_a0[-0x1ff2] + 0x4800);\n        piVar11 = (int *)(piStack_a0[-0x1ff2] + 0x4034);\n        pcVar24 = ssh2_userkey_loadpub;\n        (*pcVar23)(piStack_a0[-0x1ff2] + 0x44b8);\n        piVar5 = piStack_a0;\n        pcStack_118 = pcVar23 + 0x3d74c;\n        piVar16 = *(int **)(pcVar23 + 0x3600c);\n        piVar19 = (int *)(*(int *)(pcVar23 + 0x35784) + 0x4078);\n        iStack_dc = *piVar16;\n        pcStack_d8 = pcVar15;\n        iStack_d4 = iVar18;\n        piStack_d0 = piVar3;\n        iStack_cc = iVar4;\n        puStack_c8 = puVar6;\n        uStack_c4 = uVar2;\n        piStack_c0 = piVar13;\n        piStack_bc = piVar20;\n        piStack_b8 = piVar10;\n        pcStack_b4 = pcVar24;\n        piVar10 = (int *)f_open();\n        if (piVar10 == (int *)0x0) {\n          if (piVar5 != (int *)0x0) {\n            *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x407c;\n          }\nLAB_000439f4:\n          piVar21 = (int *)0x0;\n          piVar10 = piVar20;\n        }\n        else {\n          iVar4 = FUN_00041f60(piVar10);\n          if (iVar4 == 9) {\n            pcVar23 = *(code **)(pcStack_118 + -0x7b14);\n          }\n          else {\n            if (iVar4 != 10) {\n              piVar20 = piVar10;\n              if (iVar4 != 3) {\nLAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }\n                goto LAB_000439f4;\n              }\n              piVar13 = aiStack_104;\n              iVar4 = FUN_00040db0(piVar10,piVar13);\n              if (iVar4 == 0) {\nLAB_00043cc0:\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);\n                iVar4 = (**(code **)(pcStack_118 + -0x78ac))(piVar13,piVar19,0x14);\n                if (iVar4 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                  if (piVar5 != (int *)0x0) {\n                    *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }\n                goto LAB_000439d4;\n              }\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214);\n              iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if (iVar4 != 0) {\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);\n                iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                if (iVar4 != 0) goto LAB_00043cc0;\n              }\n              pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74);\n              piVar3 = (int *)FUN_00040e74(piVar10);\n              if (piVar3 == (int *)0x0) {\nLAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                goto LAB_000439f4;\n              }\n              uVar2 = (**(code **)(pcStack_118 + -0x77a0))(piVar3);\n              piVar19 = piVar3;\n              iVar4 = find_pubkey_alg_len(uVar2);\n              (**(code **)(pcStack_118 + -0x7f80))(piVar3);\n              if ((iVar4 == 0) || (piVar19 = piVar13, iVar18 = FUN_00040db0(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) || (iVar18 = (*pcStack_110)(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n              piVar19 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              if (iVar18 == 0) goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) ||\n                 (pcVar23 = (code *)(*pcStack_110)(piVar10), pcVar23 == (code *)0x0))\n              goto LAB_00043c9c;\n              pcStack_10c = pcVar23;\n              if (piVar14 == (int *)0x0) {\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n              }\n              else {\n                *piVar14 = (int)pcVar23;\n              }\n              piVar3 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              pcVar23 = pcStack_10c;\n              if (iVar18 == 0) {\nLAB_00043d58:\n                piVar19 = piVar3;\n                pcStack_110 = pcVar23;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                if (piVar14 == (int *)0x0) goto LAB_000439f4;\n                piVar21 = (int *)0x0;\n                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);\n                *piVar14 = 0;\n              }\n              else {\n                piVar3 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                pcVar23 = pcStack_10c;\n                if ((iVar18 != 0) ||\n                   (iVar18 = (*pcStack_110)(piVar10), pcVar23 = pcStack_10c, iVar18 == 0))\n                goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                piVar19 = (int *)FUN_00040d14(iVar18);\n                (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n                pcVar23 = pcStack_110;\n                if (((int)piVar19 < 0) ||\n                   (piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108), piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (puVar12 != (undefined4 *)0x0) {\n                  *puVar12 = uStack_108;\n                }\n                if (piVar11 != (int *)0x0) {\n                  iVar4 = (**(code **)(pcStack_118 + -0x7f74))(*(undefined4 *)(iVar4 + 0x30));\n                  *piVar11 = iVar4;\n                }\n              }\n              goto LAB_000439f8;\n            }\n            pcVar23 = *(code **)(pcStack_118 + -0x7b10);\n          }\n          piStack_120 = piVar5;\n          piVar19 = piVar11;\n          piVar21 = (int *)(*pcVar23)(piVar10,piVar11,puVar12,piVar14);\n          (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n        }\nLAB_000439f8:\n        if (iStack_dc == *piVar16) {\n          return piVar21;\n        }\n        pcVar23 = *(code **)(pcStack_118 + -0x7880);\n        pcVar24 = ssh2_userkey_encrypted;\n        (*pcVar23)();\n        piVar20 = *(int **)(pcVar23 + 0x35b70);\n        piStack_150 = piVar5;\n        iStack_15c = *piVar20;\n        if (piVar19 != (int *)0x0) {\n          *piVar19 = 0;\n        }\n        piStack_154 = piVar16;\n        piStack_14c = piVar14;\n        piStack_148 = piVar11;\n        puStack_144 = puVar12;\n        piStack_140 = piVar21;\n        piStack_13c = piVar13;\n        piStack_138 = piVar10;\n        pcStack_134 = pcVar24;\n        iVar4 = f_open();\n        if (iVar4 == 0) {\n          piVar10 = (int *)0x0;\n        }\n        else {\n          iVar18 = FUN_00040db0(iVar4,auStack_184);\n          if ((iVar18 != 0) &&\n             (((iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4214), iVar18 == 0\n               || (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                      (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c),\n                  iVar18 == 0)) && (iVar18 = FUN_00040e74(iVar4), iVar18 != 0)))) {\n            (**(code **)(pcVar23 + 0x35330))(iVar18);\n            iVar18 = FUN_00040db0(iVar4,auStack_184);\n            if ((iVar18 != 0) &&\n               (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4244), iVar18 == 0))\n            {\n              iVar18 = FUN_00040e74(iVar4);\n              if (iVar18 == 0) {\n                (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                piVar10 = (int *)0x0;\n              }\n              else {\n                iVar8 = FUN_00040db0(iVar4,auStack_184);\n                if (((iVar8 == 0) ||\n                    (iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0)) || (iVar8 = FUN_00040e74(iVar4), iVar8 == 0)) {\n                  piVar10 = (int *)0x1;\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n                else {\n                  if (piVar19 == (int *)0x0) {\n                    (**(code **)(pcVar23 + 0x35330))(iVar8);\n                  }\n                  else {\n                    *piVar19 = iVar8;\n                  }\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  iVar4 = (**(code **)(pcVar23 + 0x35ae4))\n                                    (iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4);\n                  piVar10 = (int *)(uint)(iVar4 == 0);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n              }\n              goto LAB_00043f04;\n            }\n          }\n          piVar10 = (int *)0x0;\n          (**(code **)(pcVar23 + 0x35acc))(iVar4);\n        }\nLAB_00043f04:\n        if (iStack_15c != *piVar20) {\n          (**(code **)(pcVar23 + 0x35a30))();\n          return (int *)((iStack_15c + 0x2f) / 0x30);\n        }\n        return piVar10;\n      }" (if "if") (parenthesized_expression "(iVar4 <= iVar18 + 2)" (( "(") (binary_expression "iVar4 <= iVar18 + 2" (identifier "iVar4") (<= "<=") (binary_expression "iVar18 + 2" (identifier "iVar18") (+ "+") (number_literal "2"))) () ")")) (compound_statement "{\n        puVar12 = (undefined4 *)&DAT_00000441;\n        pcVar23 = (code *)piStack_a0[-0x1e6c];\n        piVar14 = (int *)(piStack_a0[-0x1ff2] + 0x4800);\n        piVar11 = (int *)(piStack_a0[-0x1ff2] + 0x4034);\n        pcVar24 = ssh2_userkey_loadpub;\n        (*pcVar23)(piStack_a0[-0x1ff2] + 0x44b8);\n        piVar5 = piStack_a0;\n        pcStack_118 = pcVar23 + 0x3d74c;\n        piVar16 = *(int **)(pcVar23 + 0x3600c);\n        piVar19 = (int *)(*(int *)(pcVar23 + 0x35784) + 0x4078);\n        iStack_dc = *piVar16;\n        pcStack_d8 = pcVar15;\n        iStack_d4 = iVar18;\n        piStack_d0 = piVar3;\n        iStack_cc = iVar4;\n        puStack_c8 = puVar6;\n        uStack_c4 = uVar2;\n        piStack_c0 = piVar13;\n        piStack_bc = piVar20;\n        piStack_b8 = piVar10;\n        pcStack_b4 = pcVar24;\n        piVar10 = (int *)f_open();\n        if (piVar10 == (int *)0x0) {\n          if (piVar5 != (int *)0x0) {\n            *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x407c;\n          }\nLAB_000439f4:\n          piVar21 = (int *)0x0;\n          piVar10 = piVar20;\n        }\n        else {\n          iVar4 = FUN_00041f60(piVar10);\n          if (iVar4 == 9) {\n            pcVar23 = *(code **)(pcStack_118 + -0x7b14);\n          }\n          else {\n            if (iVar4 != 10) {\n              piVar20 = piVar10;\n              if (iVar4 != 3) {\nLAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }\n                goto LAB_000439f4;\n              }\n              piVar13 = aiStack_104;\n              iVar4 = FUN_00040db0(piVar10,piVar13);\n              if (iVar4 == 0) {\nLAB_00043cc0:\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);\n                iVar4 = (**(code **)(pcStack_118 + -0x78ac))(piVar13,piVar19,0x14);\n                if (iVar4 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                  if (piVar5 != (int *)0x0) {\n                    *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }\n                goto LAB_000439d4;\n              }\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214);\n              iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if (iVar4 != 0) {\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);\n                iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                if (iVar4 != 0) goto LAB_00043cc0;\n              }\n              pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74);\n              piVar3 = (int *)FUN_00040e74(piVar10);\n              if (piVar3 == (int *)0x0) {\nLAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                goto LAB_000439f4;\n              }\n              uVar2 = (**(code **)(pcStack_118 + -0x77a0))(piVar3);\n              piVar19 = piVar3;\n              iVar4 = find_pubkey_alg_len(uVar2);\n              (**(code **)(pcStack_118 + -0x7f80))(piVar3);\n              if ((iVar4 == 0) || (piVar19 = piVar13, iVar18 = FUN_00040db0(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) || (iVar18 = (*pcStack_110)(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n              piVar19 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              if (iVar18 == 0) goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) ||\n                 (pcVar23 = (code *)(*pcStack_110)(piVar10), pcVar23 == (code *)0x0))\n              goto LAB_00043c9c;\n              pcStack_10c = pcVar23;\n              if (piVar14 == (int *)0x0) {\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n              }\n              else {\n                *piVar14 = (int)pcVar23;\n              }\n              piVar3 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              pcVar23 = pcStack_10c;\n              if (iVar18 == 0) {\nLAB_00043d58:\n                piVar19 = piVar3;\n                pcStack_110 = pcVar23;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                if (piVar14 == (int *)0x0) goto LAB_000439f4;\n                piVar21 = (int *)0x0;\n                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);\n                *piVar14 = 0;\n              }\n              else {\n                piVar3 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                pcVar23 = pcStack_10c;\n                if ((iVar18 != 0) ||\n                   (iVar18 = (*pcStack_110)(piVar10), pcVar23 = pcStack_10c, iVar18 == 0))\n                goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                piVar19 = (int *)FUN_00040d14(iVar18);\n                (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n                pcVar23 = pcStack_110;\n                if (((int)piVar19 < 0) ||\n                   (piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108), piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (puVar12 != (undefined4 *)0x0) {\n                  *puVar12 = uStack_108;\n                }\n                if (piVar11 != (int *)0x0) {\n                  iVar4 = (**(code **)(pcStack_118 + -0x7f74))(*(undefined4 *)(iVar4 + 0x30));\n                  *piVar11 = iVar4;\n                }\n              }\n              goto LAB_000439f8;\n            }\n            pcVar23 = *(code **)(pcStack_118 + -0x7b10);\n          }\n          piStack_120 = piVar5;\n          piVar19 = piVar11;\n          piVar21 = (int *)(*pcVar23)(piVar10,piVar11,puVar12,piVar14);\n          (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n        }\nLAB_000439f8:\n        if (iStack_dc == *piVar16) {\n          return piVar21;\n        }\n        pcVar23 = *(code **)(pcStack_118 + -0x7880);\n        pcVar24 = ssh2_userkey_encrypted;\n        (*pcVar23)();\n        piVar20 = *(int **)(pcVar23 + 0x35b70);\n        piStack_150 = piVar5;\n        iStack_15c = *piVar20;\n        if (piVar19 != (int *)0x0) {\n          *piVar19 = 0;\n        }\n        piStack_154 = piVar16;\n        piStack_14c = piVar14;\n        piStack_148 = piVar11;\n        puStack_144 = puVar12;\n        piStack_140 = piVar21;\n        piStack_13c = piVar13;\n        piStack_138 = piVar10;\n        pcStack_134 = pcVar24;\n        iVar4 = f_open();\n        if (iVar4 == 0) {\n          piVar10 = (int *)0x0;\n        }\n        else {\n          iVar18 = FUN_00040db0(iVar4,auStack_184);\n          if ((iVar18 != 0) &&\n             (((iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4214), iVar18 == 0\n               || (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                      (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c),\n                  iVar18 == 0)) && (iVar18 = FUN_00040e74(iVar4), iVar18 != 0)))) {\n            (**(code **)(pcVar23 + 0x35330))(iVar18);\n            iVar18 = FUN_00040db0(iVar4,auStack_184);\n            if ((iVar18 != 0) &&\n               (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4244), iVar18 == 0))\n            {\n              iVar18 = FUN_00040e74(iVar4);\n              if (iVar18 == 0) {\n                (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                piVar10 = (int *)0x0;\n              }\n              else {\n                iVar8 = FUN_00040db0(iVar4,auStack_184);\n                if (((iVar8 == 0) ||\n                    (iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0)) || (iVar8 = FUN_00040e74(iVar4), iVar8 == 0)) {\n                  piVar10 = (int *)0x1;\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n                else {\n                  if (piVar19 == (int *)0x0) {\n                    (**(code **)(pcVar23 + 0x35330))(iVar8);\n                  }\n                  else {\n                    *piVar19 = iVar8;\n                  }\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  iVar4 = (**(code **)(pcVar23 + 0x35ae4))\n                                    (iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4);\n                  piVar10 = (int *)(uint)(iVar4 == 0);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n              }\n              goto LAB_00043f04;\n            }\n          }\n          piVar10 = (int *)0x0;\n          (**(code **)(pcVar23 + 0x35acc))(iVar4);\n        }\nLAB_00043f04:\n        if (iStack_15c != *piVar20) {\n          (**(code **)(pcVar23 + 0x35a30))();\n          return (int *)((iStack_15c + 0x2f) / 0x30);\n        }\n        return piVar10;\n      }" ({ "{") (expression_statement "puVar12 = (undefined4 *)&DAT_00000441;" (assignment_expression "puVar12 = (undefined4 *)&DAT_00000441" (identifier "puVar12") (= "=") (cast_expression "(undefined4 *)&DAT_00000441" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00000441" (& "&") (identifier "DAT_00000441")))) (; ";")) (expression_statement "pcVar23 = (code *)piStack_a0[-0x1e6c];" (assignment_expression "pcVar23 = (code *)piStack_a0[-0x1e6c]" (identifier "pcVar23") (= "=") (cast_expression "(code *)piStack_a0[-0x1e6c]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piStack_a0[-0x1e6c]" (identifier "piStack_a0") ([ "[") (number_literal "-0x1e6c") (] "]")))) (; ";")) (expression_statement "piVar14 = (int *)(piStack_a0[-0x1ff2] + 0x4800);" (assignment_expression "piVar14 = (int *)(piStack_a0[-0x1ff2] + 0x4800)" (identifier "piVar14") (= "=") (cast_expression "(int *)(piStack_a0[-0x1ff2] + 0x4800)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piStack_a0[-0x1ff2] + 0x4800)" (( "(") (binary_expression "piStack_a0[-0x1ff2] + 0x4800" (subscript_expression "piStack_a0[-0x1ff2]" (identifier "piStack_a0") ([ "[") (number_literal "-0x1ff2") (] "]")) (+ "+") (number_literal "0x4800")) () ")")))) (; ";")) (expression_statement "piVar11 = (int *)(piStack_a0[-0x1ff2] + 0x4034);" (assignment_expression "piVar11 = (int *)(piStack_a0[-0x1ff2] + 0x4034)" (identifier "piVar11") (= "=") (cast_expression "(int *)(piStack_a0[-0x1ff2] + 0x4034)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piStack_a0[-0x1ff2] + 0x4034)" (( "(") (binary_expression "piStack_a0[-0x1ff2] + 0x4034" (subscript_expression "piStack_a0[-0x1ff2]" (identifier "piStack_a0") ([ "[") (number_literal "-0x1ff2") (] "]")) (+ "+") (number_literal "0x4034")) () ")")))) (; ";")) (expression_statement "pcVar24 = ssh2_userkey_loadpub;" (assignment_expression "pcVar24 = ssh2_userkey_loadpub" (identifier "pcVar24") (= "=") (identifier "ssh2_userkey_loadpub")) (; ";")) (expression_statement "(*pcVar23)(piStack_a0[-0x1ff2] + 0x44b8);" (call_expression "(*pcVar23)(piStack_a0[-0x1ff2] + 0x44b8)" (parenthesized_expression "(*pcVar23)" (( "(") (pointer_expression "*pcVar23" (* "*") (identifier "pcVar23")) () ")")) (argument_list "(piStack_a0[-0x1ff2] + 0x44b8)" (( "(") (binary_expression "piStack_a0[-0x1ff2] + 0x44b8" (subscript_expression "piStack_a0[-0x1ff2]" (identifier "piStack_a0") ([ "[") (number_literal "-0x1ff2") (] "]")) (+ "+") (number_literal "0x44b8")) () ")"))) (; ";")) (expression_statement "piVar5 = piStack_a0;" (assignment_expression "piVar5 = piStack_a0" (identifier "piVar5") (= "=") (identifier "piStack_a0")) (; ";")) (expression_statement "pcStack_118 = pcVar23 + 0x3d74c;" (assignment_expression "pcStack_118 = pcVar23 + 0x3d74c" (identifier "pcStack_118") (= "=") (binary_expression "pcVar23 + 0x3d74c" (identifier "pcVar23") (+ "+") (number_literal "0x3d74c"))) (; ";")) (expression_statement "piVar16 = *(int **)(pcVar23 + 0x3600c);" (assignment_expression "piVar16 = *(int **)(pcVar23 + 0x3600c)" (identifier "piVar16") (= "=") (pointer_expression "*(int **)(pcVar23 + 0x3600c)" (* "*") (cast_expression "(int **)(pcVar23 + 0x3600c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x3600c)" (( "(") (binary_expression "pcVar23 + 0x3600c" (identifier "pcVar23") (+ "+") (number_literal "0x3600c")) () ")"))))) (; ";")) (expression_statement "piVar19 = (int *)(*(int *)(pcVar23 + 0x35784) + 0x4078);" (assignment_expression "piVar19 = (int *)(*(int *)(pcVar23 + 0x35784) + 0x4078)" (identifier "piVar19") (= "=") (cast_expression "(int *)(*(int *)(pcVar23 + 0x35784) + 0x4078)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar23 + 0x35784) + 0x4078)" (( "(") (binary_expression "*(int *)(pcVar23 + 0x35784) + 0x4078" (pointer_expression "*(int *)(pcVar23 + 0x35784)" (* "*") (cast_expression "(int *)(pcVar23 + 0x35784)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar23 + 0x35784)" (( "(") (binary_expression "pcVar23 + 0x35784" (identifier "pcVar23") (+ "+") (number_literal "0x35784")) () ")")))) (+ "+") (number_literal "0x4078")) () ")")))) (; ";")) (expression_statement "iStack_dc = *piVar16;" (assignment_expression "iStack_dc = *piVar16" (identifier "iStack_dc") (= "=") (pointer_expression "*piVar16" (* "*") (identifier "piVar16"))) (; ";")) (expression_statement "pcStack_d8 = pcVar15;" (assignment_expression "pcStack_d8 = pcVar15" (identifier "pcStack_d8") (= "=") (identifier "pcVar15")) (; ";")) (expression_statement "iStack_d4 = iVar18;" (assignment_expression "iStack_d4 = iVar18" (identifier "iStack_d4") (= "=") (identifier "iVar18")) (; ";")) (expression_statement "piStack_d0 = piVar3;" (assignment_expression "piStack_d0 = piVar3" (identifier "piStack_d0") (= "=") (identifier "piVar3")) (; ";")) (expression_statement "iStack_cc = iVar4;" (assignment_expression "iStack_cc = iVar4" (identifier "iStack_cc") (= "=") (identifier "iVar4")) (; ";")) (expression_statement "puStack_c8 = puVar6;" (assignment_expression "puStack_c8 = puVar6" (identifier "puStack_c8") (= "=") (identifier "puVar6")) (; ";")) (expression_statement "uStack_c4 = uVar2;" (assignment_expression "uStack_c4 = uVar2" (identifier "uStack_c4") (= "=") (identifier "uVar2")) (; ";")) (expression_statement "piStack_c0 = piVar13;" (assignment_expression "piStack_c0 = piVar13" (identifier "piStack_c0") (= "=") (identifier "piVar13")) (; ";")) (expression_statement "piStack_bc = piVar20;" (assignment_expression "piStack_bc = piVar20" (identifier "piStack_bc") (= "=") (identifier "piVar20")) (; ";")) (expression_statement "piStack_b8 = piVar10;" (assignment_expression "piStack_b8 = piVar10" (identifier "piStack_b8") (= "=") (identifier "piVar10")) (; ";")) (expression_statement "pcStack_b4 = pcVar24;" (assignment_expression "pcStack_b4 = pcVar24" (identifier "pcStack_b4") (= "=") (identifier "pcVar24")) (; ";")) (expression_statement "piVar10 = (int *)f_open();" (assignment_expression "piVar10 = (int *)f_open()" (identifier "piVar10") (= "=") (cast_expression "(int *)f_open()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "f_open()" (identifier "f_open") (argument_list "()" (( "(") () ")"))))) (; ";")) (if_statement "if (piVar10 == (int *)0x0) {\n          if (piVar5 != (int *)0x0) {\n            *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x407c;\n          }\nLAB_000439f4:\n          piVar21 = (int *)0x0;\n          piVar10 = piVar20;\n        }\n        else {\n          iVar4 = FUN_00041f60(piVar10);\n          if (iVar4 == 9) {\n            pcVar23 = *(code **)(pcStack_118 + -0x7b14);\n          }\n          else {\n            if (iVar4 != 10) {\n              piVar20 = piVar10;\n              if (iVar4 != 3) {\nLAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }\n                goto LAB_000439f4;\n              }\n              piVar13 = aiStack_104;\n              iVar4 = FUN_00040db0(piVar10,piVar13);\n              if (iVar4 == 0) {\nLAB_00043cc0:\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);\n                iVar4 = (**(code **)(pcStack_118 + -0x78ac))(piVar13,piVar19,0x14);\n                if (iVar4 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                  if (piVar5 != (int *)0x0) {\n                    *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }\n                goto LAB_000439d4;\n              }\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214);\n              iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if (iVar4 != 0) {\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);\n                iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                if (iVar4 != 0) goto LAB_00043cc0;\n              }\n              pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74);\n              piVar3 = (int *)FUN_00040e74(piVar10);\n              if (piVar3 == (int *)0x0) {\nLAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                goto LAB_000439f4;\n              }\n              uVar2 = (**(code **)(pcStack_118 + -0x77a0))(piVar3);\n              piVar19 = piVar3;\n              iVar4 = find_pubkey_alg_len(uVar2);\n              (**(code **)(pcStack_118 + -0x7f80))(piVar3);\n              if ((iVar4 == 0) || (piVar19 = piVar13, iVar18 = FUN_00040db0(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) || (iVar18 = (*pcStack_110)(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n              piVar19 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              if (iVar18 == 0) goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) ||\n                 (pcVar23 = (code *)(*pcStack_110)(piVar10), pcVar23 == (code *)0x0))\n              goto LAB_00043c9c;\n              pcStack_10c = pcVar23;\n              if (piVar14 == (int *)0x0) {\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n              }\n              else {\n                *piVar14 = (int)pcVar23;\n              }\n              piVar3 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              pcVar23 = pcStack_10c;\n              if (iVar18 == 0) {\nLAB_00043d58:\n                piVar19 = piVar3;\n                pcStack_110 = pcVar23;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                if (piVar14 == (int *)0x0) goto LAB_000439f4;\n                piVar21 = (int *)0x0;\n                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);\n                *piVar14 = 0;\n              }\n              else {\n                piVar3 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                pcVar23 = pcStack_10c;\n                if ((iVar18 != 0) ||\n                   (iVar18 = (*pcStack_110)(piVar10), pcVar23 = pcStack_10c, iVar18 == 0))\n                goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                piVar19 = (int *)FUN_00040d14(iVar18);\n                (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n                pcVar23 = pcStack_110;\n                if (((int)piVar19 < 0) ||\n                   (piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108), piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (puVar12 != (undefined4 *)0x0) {\n                  *puVar12 = uStack_108;\n                }\n                if (piVar11 != (int *)0x0) {\n                  iVar4 = (**(code **)(pcStack_118 + -0x7f74))(*(undefined4 *)(iVar4 + 0x30));\n                  *piVar11 = iVar4;\n                }\n              }\n              goto LAB_000439f8;\n            }\n            pcVar23 = *(code **)(pcStack_118 + -0x7b10);\n          }\n          piStack_120 = piVar5;\n          piVar19 = piVar11;\n          piVar21 = (int *)(*pcVar23)(piVar10,piVar11,puVar12,piVar14);\n          (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n        }" (if "if") (parenthesized_expression "(piVar10 == (int *)0x0)" (( "(") (binary_expression "piVar10 == (int *)0x0" (identifier "piVar10") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          if (piVar5 != (int *)0x0) {\n            *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x407c;\n          }\nLAB_000439f4:\n          piVar21 = (int *)0x0;\n          piVar10 = piVar20;\n        }" ({ "{") (if_statement "if (piVar5 != (int *)0x0) {\n            *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x407c;\n          }" (if "if") (parenthesized_expression "(piVar5 != (int *)0x0)" (( "(") (binary_expression "piVar5 != (int *)0x0" (identifier "piVar5") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x407c;\n          }" ({ "{") (expression_statement "*piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x407c;" (assignment_expression "*piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x407c" (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (= "=") (binary_expression "*(int *)(pcStack_118 + -0x7fc8) + 0x407c" (pointer_expression "*(int *)(pcStack_118 + -0x7fc8)" (* "*") (cast_expression "(int *)(pcStack_118 + -0x7fc8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_118 + -0x7fc8)" (( "(") (binary_expression "pcStack_118 + -0x7fc8" (identifier "pcStack_118") (+ "+") (number_literal "-0x7fc8")) () ")")))) (+ "+") (number_literal "0x407c"))) (; ";")) (} "}"))) (labeled_statement "LAB_000439f4:\n          piVar21 = (int *)0x0;" (statement_identifier "LAB_000439f4") (: ":") (expression_statement "piVar21 = (int *)0x0;" (assignment_expression "piVar21 = (int *)0x0" (identifier "piVar21") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";"))) (expression_statement "piVar10 = piVar20;" (assignment_expression "piVar10 = piVar20" (identifier "piVar10") (= "=") (identifier "piVar20")) (; ";")) (} "}")) (else_clause "else {\n          iVar4 = FUN_00041f60(piVar10);\n          if (iVar4 == 9) {\n            pcVar23 = *(code **)(pcStack_118 + -0x7b14);\n          }\n          else {\n            if (iVar4 != 10) {\n              piVar20 = piVar10;\n              if (iVar4 != 3) {\nLAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }\n                goto LAB_000439f4;\n              }\n              piVar13 = aiStack_104;\n              iVar4 = FUN_00040db0(piVar10,piVar13);\n              if (iVar4 == 0) {\nLAB_00043cc0:\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);\n                iVar4 = (**(code **)(pcStack_118 + -0x78ac))(piVar13,piVar19,0x14);\n                if (iVar4 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                  if (piVar5 != (int *)0x0) {\n                    *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }\n                goto LAB_000439d4;\n              }\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214);\n              iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if (iVar4 != 0) {\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);\n                iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                if (iVar4 != 0) goto LAB_00043cc0;\n              }\n              pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74);\n              piVar3 = (int *)FUN_00040e74(piVar10);\n              if (piVar3 == (int *)0x0) {\nLAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                goto LAB_000439f4;\n              }\n              uVar2 = (**(code **)(pcStack_118 + -0x77a0))(piVar3);\n              piVar19 = piVar3;\n              iVar4 = find_pubkey_alg_len(uVar2);\n              (**(code **)(pcStack_118 + -0x7f80))(piVar3);\n              if ((iVar4 == 0) || (piVar19 = piVar13, iVar18 = FUN_00040db0(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) || (iVar18 = (*pcStack_110)(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n              piVar19 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              if (iVar18 == 0) goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) ||\n                 (pcVar23 = (code *)(*pcStack_110)(piVar10), pcVar23 == (code *)0x0))\n              goto LAB_00043c9c;\n              pcStack_10c = pcVar23;\n              if (piVar14 == (int *)0x0) {\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n              }\n              else {\n                *piVar14 = (int)pcVar23;\n              }\n              piVar3 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              pcVar23 = pcStack_10c;\n              if (iVar18 == 0) {\nLAB_00043d58:\n                piVar19 = piVar3;\n                pcStack_110 = pcVar23;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                if (piVar14 == (int *)0x0) goto LAB_000439f4;\n                piVar21 = (int *)0x0;\n                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);\n                *piVar14 = 0;\n              }\n              else {\n                piVar3 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                pcVar23 = pcStack_10c;\n                if ((iVar18 != 0) ||\n                   (iVar18 = (*pcStack_110)(piVar10), pcVar23 = pcStack_10c, iVar18 == 0))\n                goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                piVar19 = (int *)FUN_00040d14(iVar18);\n                (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n                pcVar23 = pcStack_110;\n                if (((int)piVar19 < 0) ||\n                   (piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108), piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (puVar12 != (undefined4 *)0x0) {\n                  *puVar12 = uStack_108;\n                }\n                if (piVar11 != (int *)0x0) {\n                  iVar4 = (**(code **)(pcStack_118 + -0x7f74))(*(undefined4 *)(iVar4 + 0x30));\n                  *piVar11 = iVar4;\n                }\n              }\n              goto LAB_000439f8;\n            }\n            pcVar23 = *(code **)(pcStack_118 + -0x7b10);\n          }\n          piStack_120 = piVar5;\n          piVar19 = piVar11;\n          piVar21 = (int *)(*pcVar23)(piVar10,piVar11,puVar12,piVar14);\n          (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n        }" (else "else") (compound_statement "{\n          iVar4 = FUN_00041f60(piVar10);\n          if (iVar4 == 9) {\n            pcVar23 = *(code **)(pcStack_118 + -0x7b14);\n          }\n          else {\n            if (iVar4 != 10) {\n              piVar20 = piVar10;\n              if (iVar4 != 3) {\nLAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }\n                goto LAB_000439f4;\n              }\n              piVar13 = aiStack_104;\n              iVar4 = FUN_00040db0(piVar10,piVar13);\n              if (iVar4 == 0) {\nLAB_00043cc0:\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);\n                iVar4 = (**(code **)(pcStack_118 + -0x78ac))(piVar13,piVar19,0x14);\n                if (iVar4 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                  if (piVar5 != (int *)0x0) {\n                    *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }\n                goto LAB_000439d4;\n              }\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214);\n              iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if (iVar4 != 0) {\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);\n                iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                if (iVar4 != 0) goto LAB_00043cc0;\n              }\n              pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74);\n              piVar3 = (int *)FUN_00040e74(piVar10);\n              if (piVar3 == (int *)0x0) {\nLAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                goto LAB_000439f4;\n              }\n              uVar2 = (**(code **)(pcStack_118 + -0x77a0))(piVar3);\n              piVar19 = piVar3;\n              iVar4 = find_pubkey_alg_len(uVar2);\n              (**(code **)(pcStack_118 + -0x7f80))(piVar3);\n              if ((iVar4 == 0) || (piVar19 = piVar13, iVar18 = FUN_00040db0(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) || (iVar18 = (*pcStack_110)(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n              piVar19 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              if (iVar18 == 0) goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) ||\n                 (pcVar23 = (code *)(*pcStack_110)(piVar10), pcVar23 == (code *)0x0))\n              goto LAB_00043c9c;\n              pcStack_10c = pcVar23;\n              if (piVar14 == (int *)0x0) {\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n              }\n              else {\n                *piVar14 = (int)pcVar23;\n              }\n              piVar3 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              pcVar23 = pcStack_10c;\n              if (iVar18 == 0) {\nLAB_00043d58:\n                piVar19 = piVar3;\n                pcStack_110 = pcVar23;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                if (piVar14 == (int *)0x0) goto LAB_000439f4;\n                piVar21 = (int *)0x0;\n                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);\n                *piVar14 = 0;\n              }\n              else {\n                piVar3 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                pcVar23 = pcStack_10c;\n                if ((iVar18 != 0) ||\n                   (iVar18 = (*pcStack_110)(piVar10), pcVar23 = pcStack_10c, iVar18 == 0))\n                goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                piVar19 = (int *)FUN_00040d14(iVar18);\n                (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n                pcVar23 = pcStack_110;\n                if (((int)piVar19 < 0) ||\n                   (piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108), piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (puVar12 != (undefined4 *)0x0) {\n                  *puVar12 = uStack_108;\n                }\n                if (piVar11 != (int *)0x0) {\n                  iVar4 = (**(code **)(pcStack_118 + -0x7f74))(*(undefined4 *)(iVar4 + 0x30));\n                  *piVar11 = iVar4;\n                }\n              }\n              goto LAB_000439f8;\n            }\n            pcVar23 = *(code **)(pcStack_118 + -0x7b10);\n          }\n          piStack_120 = piVar5;\n          piVar19 = piVar11;\n          piVar21 = (int *)(*pcVar23)(piVar10,piVar11,puVar12,piVar14);\n          (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n        }" ({ "{") (expression_statement "iVar4 = FUN_00041f60(piVar10);" (assignment_expression "iVar4 = FUN_00041f60(piVar10)" (identifier "iVar4") (= "=") (call_expression "FUN_00041f60(piVar10)" (identifier "FUN_00041f60") (argument_list "(piVar10)" (( "(") (identifier "piVar10") () ")")))) (; ";")) (if_statement "if (iVar4 == 9) {\n            pcVar23 = *(code **)(pcStack_118 + -0x7b14);\n          }\n          else {\n            if (iVar4 != 10) {\n              piVar20 = piVar10;\n              if (iVar4 != 3) {\nLAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }\n                goto LAB_000439f4;\n              }\n              piVar13 = aiStack_104;\n              iVar4 = FUN_00040db0(piVar10,piVar13);\n              if (iVar4 == 0) {\nLAB_00043cc0:\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);\n                iVar4 = (**(code **)(pcStack_118 + -0x78ac))(piVar13,piVar19,0x14);\n                if (iVar4 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                  if (piVar5 != (int *)0x0) {\n                    *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }\n                goto LAB_000439d4;\n              }\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214);\n              iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if (iVar4 != 0) {\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);\n                iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                if (iVar4 != 0) goto LAB_00043cc0;\n              }\n              pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74);\n              piVar3 = (int *)FUN_00040e74(piVar10);\n              if (piVar3 == (int *)0x0) {\nLAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                goto LAB_000439f4;\n              }\n              uVar2 = (**(code **)(pcStack_118 + -0x77a0))(piVar3);\n              piVar19 = piVar3;\n              iVar4 = find_pubkey_alg_len(uVar2);\n              (**(code **)(pcStack_118 + -0x7f80))(piVar3);\n              if ((iVar4 == 0) || (piVar19 = piVar13, iVar18 = FUN_00040db0(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) || (iVar18 = (*pcStack_110)(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n              piVar19 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              if (iVar18 == 0) goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) ||\n                 (pcVar23 = (code *)(*pcStack_110)(piVar10), pcVar23 == (code *)0x0))\n              goto LAB_00043c9c;\n              pcStack_10c = pcVar23;\n              if (piVar14 == (int *)0x0) {\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n              }\n              else {\n                *piVar14 = (int)pcVar23;\n              }\n              piVar3 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              pcVar23 = pcStack_10c;\n              if (iVar18 == 0) {\nLAB_00043d58:\n                piVar19 = piVar3;\n                pcStack_110 = pcVar23;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                if (piVar14 == (int *)0x0) goto LAB_000439f4;\n                piVar21 = (int *)0x0;\n                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);\n                *piVar14 = 0;\n              }\n              else {\n                piVar3 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                pcVar23 = pcStack_10c;\n                if ((iVar18 != 0) ||\n                   (iVar18 = (*pcStack_110)(piVar10), pcVar23 = pcStack_10c, iVar18 == 0))\n                goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                piVar19 = (int *)FUN_00040d14(iVar18);\n                (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n                pcVar23 = pcStack_110;\n                if (((int)piVar19 < 0) ||\n                   (piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108), piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (puVar12 != (undefined4 *)0x0) {\n                  *puVar12 = uStack_108;\n                }\n                if (piVar11 != (int *)0x0) {\n                  iVar4 = (**(code **)(pcStack_118 + -0x7f74))(*(undefined4 *)(iVar4 + 0x30));\n                  *piVar11 = iVar4;\n                }\n              }\n              goto LAB_000439f8;\n            }\n            pcVar23 = *(code **)(pcStack_118 + -0x7b10);\n          }" (if "if") (parenthesized_expression "(iVar4 == 9)" (( "(") (binary_expression "iVar4 == 9" (identifier "iVar4") (== "==") (number_literal "9")) () ")")) (compound_statement "{\n            pcVar23 = *(code **)(pcStack_118 + -0x7b14);\n          }" ({ "{") (expression_statement "pcVar23 = *(code **)(pcStack_118 + -0x7b14);" (assignment_expression "pcVar23 = *(code **)(pcStack_118 + -0x7b14)" (identifier "pcVar23") (= "=") (pointer_expression "*(code **)(pcStack_118 + -0x7b14)" (* "*") (cast_expression "(code **)(pcStack_118 + -0x7b14)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_118 + -0x7b14)" (( "(") (binary_expression "pcStack_118 + -0x7b14" (identifier "pcStack_118") (+ "+") (number_literal "-0x7b14")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n            if (iVar4 != 10) {\n              piVar20 = piVar10;\n              if (iVar4 != 3) {\nLAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }\n                goto LAB_000439f4;\n              }\n              piVar13 = aiStack_104;\n              iVar4 = FUN_00040db0(piVar10,piVar13);\n              if (iVar4 == 0) {\nLAB_00043cc0:\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);\n                iVar4 = (**(code **)(pcStack_118 + -0x78ac))(piVar13,piVar19,0x14);\n                if (iVar4 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                  if (piVar5 != (int *)0x0) {\n                    *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }\n                goto LAB_000439d4;\n              }\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214);\n              iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if (iVar4 != 0) {\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);\n                iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                if (iVar4 != 0) goto LAB_00043cc0;\n              }\n              pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74);\n              piVar3 = (int *)FUN_00040e74(piVar10);\n              if (piVar3 == (int *)0x0) {\nLAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                goto LAB_000439f4;\n              }\n              uVar2 = (**(code **)(pcStack_118 + -0x77a0))(piVar3);\n              piVar19 = piVar3;\n              iVar4 = find_pubkey_alg_len(uVar2);\n              (**(code **)(pcStack_118 + -0x7f80))(piVar3);\n              if ((iVar4 == 0) || (piVar19 = piVar13, iVar18 = FUN_00040db0(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) || (iVar18 = (*pcStack_110)(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n              piVar19 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              if (iVar18 == 0) goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) ||\n                 (pcVar23 = (code *)(*pcStack_110)(piVar10), pcVar23 == (code *)0x0))\n              goto LAB_00043c9c;\n              pcStack_10c = pcVar23;\n              if (piVar14 == (int *)0x0) {\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n              }\n              else {\n                *piVar14 = (int)pcVar23;\n              }\n              piVar3 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              pcVar23 = pcStack_10c;\n              if (iVar18 == 0) {\nLAB_00043d58:\n                piVar19 = piVar3;\n                pcStack_110 = pcVar23;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                if (piVar14 == (int *)0x0) goto LAB_000439f4;\n                piVar21 = (int *)0x0;\n                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);\n                *piVar14 = 0;\n              }\n              else {\n                piVar3 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                pcVar23 = pcStack_10c;\n                if ((iVar18 != 0) ||\n                   (iVar18 = (*pcStack_110)(piVar10), pcVar23 = pcStack_10c, iVar18 == 0))\n                goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                piVar19 = (int *)FUN_00040d14(iVar18);\n                (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n                pcVar23 = pcStack_110;\n                if (((int)piVar19 < 0) ||\n                   (piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108), piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (puVar12 != (undefined4 *)0x0) {\n                  *puVar12 = uStack_108;\n                }\n                if (piVar11 != (int *)0x0) {\n                  iVar4 = (**(code **)(pcStack_118 + -0x7f74))(*(undefined4 *)(iVar4 + 0x30));\n                  *piVar11 = iVar4;\n                }\n              }\n              goto LAB_000439f8;\n            }\n            pcVar23 = *(code **)(pcStack_118 + -0x7b10);\n          }" (else "else") (compound_statement "{\n            if (iVar4 != 10) {\n              piVar20 = piVar10;\n              if (iVar4 != 3) {\nLAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }\n                goto LAB_000439f4;\n              }\n              piVar13 = aiStack_104;\n              iVar4 = FUN_00040db0(piVar10,piVar13);\n              if (iVar4 == 0) {\nLAB_00043cc0:\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);\n                iVar4 = (**(code **)(pcStack_118 + -0x78ac))(piVar13,piVar19,0x14);\n                if (iVar4 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                  if (piVar5 != (int *)0x0) {\n                    *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }\n                goto LAB_000439d4;\n              }\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214);\n              iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if (iVar4 != 0) {\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);\n                iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                if (iVar4 != 0) goto LAB_00043cc0;\n              }\n              pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74);\n              piVar3 = (int *)FUN_00040e74(piVar10);\n              if (piVar3 == (int *)0x0) {\nLAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                goto LAB_000439f4;\n              }\n              uVar2 = (**(code **)(pcStack_118 + -0x77a0))(piVar3);\n              piVar19 = piVar3;\n              iVar4 = find_pubkey_alg_len(uVar2);\n              (**(code **)(pcStack_118 + -0x7f80))(piVar3);\n              if ((iVar4 == 0) || (piVar19 = piVar13, iVar18 = FUN_00040db0(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) || (iVar18 = (*pcStack_110)(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n              piVar19 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              if (iVar18 == 0) goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) ||\n                 (pcVar23 = (code *)(*pcStack_110)(piVar10), pcVar23 == (code *)0x0))\n              goto LAB_00043c9c;\n              pcStack_10c = pcVar23;\n              if (piVar14 == (int *)0x0) {\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n              }\n              else {\n                *piVar14 = (int)pcVar23;\n              }\n              piVar3 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              pcVar23 = pcStack_10c;\n              if (iVar18 == 0) {\nLAB_00043d58:\n                piVar19 = piVar3;\n                pcStack_110 = pcVar23;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                if (piVar14 == (int *)0x0) goto LAB_000439f4;\n                piVar21 = (int *)0x0;\n                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);\n                *piVar14 = 0;\n              }\n              else {\n                piVar3 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                pcVar23 = pcStack_10c;\n                if ((iVar18 != 0) ||\n                   (iVar18 = (*pcStack_110)(piVar10), pcVar23 = pcStack_10c, iVar18 == 0))\n                goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                piVar19 = (int *)FUN_00040d14(iVar18);\n                (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n                pcVar23 = pcStack_110;\n                if (((int)piVar19 < 0) ||\n                   (piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108), piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (puVar12 != (undefined4 *)0x0) {\n                  *puVar12 = uStack_108;\n                }\n                if (piVar11 != (int *)0x0) {\n                  iVar4 = (**(code **)(pcStack_118 + -0x7f74))(*(undefined4 *)(iVar4 + 0x30));\n                  *piVar11 = iVar4;\n                }\n              }\n              goto LAB_000439f8;\n            }\n            pcVar23 = *(code **)(pcStack_118 + -0x7b10);\n          }" ({ "{") (if_statement "if (iVar4 != 10) {\n              piVar20 = piVar10;\n              if (iVar4 != 3) {\nLAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }\n                goto LAB_000439f4;\n              }\n              piVar13 = aiStack_104;\n              iVar4 = FUN_00040db0(piVar10,piVar13);\n              if (iVar4 == 0) {\nLAB_00043cc0:\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);\n                iVar4 = (**(code **)(pcStack_118 + -0x78ac))(piVar13,piVar19,0x14);\n                if (iVar4 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                  if (piVar5 != (int *)0x0) {\n                    *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }\n                goto LAB_000439d4;\n              }\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214);\n              iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if (iVar4 != 0) {\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);\n                iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                if (iVar4 != 0) goto LAB_00043cc0;\n              }\n              pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74);\n              piVar3 = (int *)FUN_00040e74(piVar10);\n              if (piVar3 == (int *)0x0) {\nLAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                goto LAB_000439f4;\n              }\n              uVar2 = (**(code **)(pcStack_118 + -0x77a0))(piVar3);\n              piVar19 = piVar3;\n              iVar4 = find_pubkey_alg_len(uVar2);\n              (**(code **)(pcStack_118 + -0x7f80))(piVar3);\n              if ((iVar4 == 0) || (piVar19 = piVar13, iVar18 = FUN_00040db0(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) || (iVar18 = (*pcStack_110)(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n              piVar19 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              if (iVar18 == 0) goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) ||\n                 (pcVar23 = (code *)(*pcStack_110)(piVar10), pcVar23 == (code *)0x0))\n              goto LAB_00043c9c;\n              pcStack_10c = pcVar23;\n              if (piVar14 == (int *)0x0) {\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n              }\n              else {\n                *piVar14 = (int)pcVar23;\n              }\n              piVar3 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              pcVar23 = pcStack_10c;\n              if (iVar18 == 0) {\nLAB_00043d58:\n                piVar19 = piVar3;\n                pcStack_110 = pcVar23;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                if (piVar14 == (int *)0x0) goto LAB_000439f4;\n                piVar21 = (int *)0x0;\n                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);\n                *piVar14 = 0;\n              }\n              else {\n                piVar3 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                pcVar23 = pcStack_10c;\n                if ((iVar18 != 0) ||\n                   (iVar18 = (*pcStack_110)(piVar10), pcVar23 = pcStack_10c, iVar18 == 0))\n                goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                piVar19 = (int *)FUN_00040d14(iVar18);\n                (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n                pcVar23 = pcStack_110;\n                if (((int)piVar19 < 0) ||\n                   (piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108), piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (puVar12 != (undefined4 *)0x0) {\n                  *puVar12 = uStack_108;\n                }\n                if (piVar11 != (int *)0x0) {\n                  iVar4 = (**(code **)(pcStack_118 + -0x7f74))(*(undefined4 *)(iVar4 + 0x30));\n                  *piVar11 = iVar4;\n                }\n              }\n              goto LAB_000439f8;\n            }" (if "if") (parenthesized_expression "(iVar4 != 10)" (( "(") (binary_expression "iVar4 != 10" (identifier "iVar4") (!= "!=") (number_literal "10")) () ")")) (compound_statement "{\n              piVar20 = piVar10;\n              if (iVar4 != 3) {\nLAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }\n                goto LAB_000439f4;\n              }\n              piVar13 = aiStack_104;\n              iVar4 = FUN_00040db0(piVar10,piVar13);\n              if (iVar4 == 0) {\nLAB_00043cc0:\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);\n                iVar4 = (**(code **)(pcStack_118 + -0x78ac))(piVar13,piVar19,0x14);\n                if (iVar4 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                  if (piVar5 != (int *)0x0) {\n                    *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }\n                goto LAB_000439d4;\n              }\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214);\n              iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if (iVar4 != 0) {\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);\n                iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                if (iVar4 != 0) goto LAB_00043cc0;\n              }\n              pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74);\n              piVar3 = (int *)FUN_00040e74(piVar10);\n              if (piVar3 == (int *)0x0) {\nLAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                goto LAB_000439f4;\n              }\n              uVar2 = (**(code **)(pcStack_118 + -0x77a0))(piVar3);\n              piVar19 = piVar3;\n              iVar4 = find_pubkey_alg_len(uVar2);\n              (**(code **)(pcStack_118 + -0x7f80))(piVar3);\n              if ((iVar4 == 0) || (piVar19 = piVar13, iVar18 = FUN_00040db0(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) || (iVar18 = (*pcStack_110)(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;\n              (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n              piVar19 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              if (iVar18 == 0) goto LAB_00043c9c;\n              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258);\n              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n              if ((iVar18 != 0) ||\n                 (pcVar23 = (code *)(*pcStack_110)(piVar10), pcVar23 == (code *)0x0))\n              goto LAB_00043c9c;\n              pcStack_10c = pcVar23;\n              if (piVar14 == (int *)0x0) {\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n              }\n              else {\n                *piVar14 = (int)pcVar23;\n              }\n              piVar3 = piVar13;\n              iVar18 = FUN_00040db0(piVar10);\n              pcVar23 = pcStack_10c;\n              if (iVar18 == 0) {\nLAB_00043d58:\n                piVar19 = piVar3;\n                pcStack_110 = pcVar23;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                if (piVar14 == (int *)0x0) goto LAB_000439f4;\n                piVar21 = (int *)0x0;\n                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);\n                *piVar14 = 0;\n              }\n              else {\n                piVar3 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                pcVar23 = pcStack_10c;\n                if ((iVar18 != 0) ||\n                   (iVar18 = (*pcStack_110)(piVar10), pcVar23 = pcStack_10c, iVar18 == 0))\n                goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                piVar19 = (int *)FUN_00040d14(iVar18);\n                (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n                pcVar23 = pcStack_110;\n                if (((int)piVar19 < 0) ||\n                   (piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108), piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (puVar12 != (undefined4 *)0x0) {\n                  *puVar12 = uStack_108;\n                }\n                if (piVar11 != (int *)0x0) {\n                  iVar4 = (**(code **)(pcStack_118 + -0x7f74))(*(undefined4 *)(iVar4 + 0x30));\n                  *piVar11 = iVar4;\n                }\n              }\n              goto LAB_000439f8;\n            }" ({ "{") (expression_statement "piVar20 = piVar10;" (assignment_expression "piVar20 = piVar10" (identifier "piVar20") (= "=") (identifier "piVar10")) (; ";")) (if_statement "if (iVar4 != 3) {\nLAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }\n                goto LAB_000439f4;\n              }" (if "if") (parenthesized_expression "(iVar4 != 3)" (( "(") (binary_expression "iVar4 != 3" (identifier "iVar4") (!= "!=") (number_literal "3")) () ")")) (compound_statement "{\nLAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }\n                goto LAB_000439f4;\n              }" ({ "{") (labeled_statement "LAB_000439d4:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);" (statement_identifier "LAB_000439d4") (: ":") (expression_statement "(**(code **)(pcStack_118 + -0x77e4))(piVar10);" (call_expression "(**(code **)(pcStack_118 + -0x77e4))(piVar10)" (parenthesized_expression "(**(code **)(pcStack_118 + -0x77e4))" (( "(") (pointer_expression "**(code **)(pcStack_118 + -0x77e4)" (* "*") (pointer_expression "*(code **)(pcStack_118 + -0x77e4)" (* "*") (cast_expression "(code **)(pcStack_118 + -0x77e4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_118 + -0x77e4)" (( "(") (binary_expression "pcStack_118 + -0x77e4" (identifier "pcStack_118") (+ "+") (number_literal "-0x77e4")) () ")"))))) () ")")) (argument_list "(piVar10)" (( "(") (identifier "piVar10") () ")"))) (; ";"))) (if_statement "if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }" (if "if") (parenthesized_expression "(piVar5 != (int *)0x0)" (( "(") (binary_expression "piVar5 != (int *)0x0" (identifier "piVar5") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;\n                }" ({ "{") (expression_statement "*piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;" (assignment_expression "*piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4" (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (= "=") (binary_expression "*(int *)(pcStack_118 + -0x7fc8) + 0x41c4" (pointer_expression "*(int *)(pcStack_118 + -0x7fc8)" (* "*") (cast_expression "(int *)(pcStack_118 + -0x7fc8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_118 + -0x7fc8)" (( "(") (binary_expression "pcStack_118 + -0x7fc8" (identifier "pcStack_118") (+ "+") (number_literal "-0x7fc8")) () ")")))) (+ "+") (number_literal "0x41c4"))) (; ";")) (} "}"))) (goto_statement "goto LAB_000439f4;" (goto "goto") (statement_identifier "LAB_000439f4") (; ";")) (} "}"))) (expression_statement "piVar13 = aiStack_104;" (assignment_expression "piVar13 = aiStack_104" (identifier "piVar13") (= "=") (identifier "aiStack_104")) (; ";")) (expression_statement "iVar4 = FUN_00040db0(piVar10,piVar13);" (assignment_expression "iVar4 = FUN_00040db0(piVar10,piVar13)" (identifier "iVar4") (= "=") (call_expression "FUN_00040db0(piVar10,piVar13)" (identifier "FUN_00040db0") (argument_list "(piVar10,piVar13)" (( "(") (identifier "piVar10") (, ",") (identifier "piVar13") () ")")))) (; ";")) (if_statement "if (iVar4 == 0) {\nLAB_00043cc0:\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);\n                iVar4 = (**(code **)(pcStack_118 + -0x78ac))(piVar13,piVar19,0x14);\n                if (iVar4 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                  if (piVar5 != (int *)0x0) {\n                    *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }\n                goto LAB_000439d4;\n              }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00043cc0:\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);\n                iVar4 = (**(code **)(pcStack_118 + -0x78ac))(piVar13,piVar19,0x14);\n                if (iVar4 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                  if (piVar5 != (int *)0x0) {\n                    *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }\n                goto LAB_000439d4;\n              }" ({ "{") (labeled_statement "LAB_00043cc0:\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);" (statement_identifier "LAB_00043cc0") (: ":") (expression_statement "piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);" (assignment_expression "piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134)" (identifier "piVar19") (= "=") (cast_expression "(int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcStack_118 + -0x7fc8) + 0x4134)" (( "(") (binary_expression "*(int *)(pcStack_118 + -0x7fc8) + 0x4134" (pointer_expression "*(int *)(pcStack_118 + -0x7fc8)" (* "*") (cast_expression "(int *)(pcStack_118 + -0x7fc8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_118 + -0x7fc8)" (( "(") (binary_expression "pcStack_118 + -0x7fc8" (identifier "pcStack_118") (+ "+") (number_literal "-0x7fc8")) () ")")))) (+ "+") (number_literal "0x4134")) () ")")))) (; ";"))) (expression_statement "iVar4 = (**(code **)(pcStack_118 + -0x78ac))(piVar13,piVar19,0x14);" (assignment_expression "iVar4 = (**(code **)(pcStack_118 + -0x78ac))(piVar13,piVar19,0x14)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(pcStack_118 + -0x78ac))(piVar13,piVar19,0x14)" (parenthesized_expression "(**(code **)(pcStack_118 + -0x78ac))" (( "(") (pointer_expression "**(code **)(pcStack_118 + -0x78ac)" (* "*") (pointer_expression "*(code **)(pcStack_118 + -0x78ac)" (* "*") (cast_expression "(code **)(pcStack_118 + -0x78ac)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_118 + -0x78ac)" (( "(") (binary_expression "pcStack_118 + -0x78ac" (identifier "pcStack_118") (+ "+") (number_literal "-0x78ac")) () ")"))))) () ")")) (argument_list "(piVar13,piVar19,0x14)" (( "(") (identifier "piVar13") (, ",") (identifier "piVar19") (, ",") (number_literal "0x14") () ")")))) (; ";")) (if_statement "if (iVar4 == 0) {\n                  (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                  if (piVar5 != (int *)0x0) {\n                    *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                  (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                  if (piVar5 != (int *)0x0) {\n                    *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }\n                  goto LAB_000439f4;\n                }" ({ "{") (expression_statement "(**(code **)(pcStack_118 + -0x77e4))(piVar10);" (call_expression "(**(code **)(pcStack_118 + -0x77e4))(piVar10)" (parenthesized_expression "(**(code **)(pcStack_118 + -0x77e4))" (( "(") (pointer_expression "**(code **)(pcStack_118 + -0x77e4)" (* "*") (pointer_expression "*(code **)(pcStack_118 + -0x77e4)" (* "*") (cast_expression "(code **)(pcStack_118 + -0x77e4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_118 + -0x77e4)" (( "(") (binary_expression "pcStack_118 + -0x77e4" (identifier "pcStack_118") (+ "+") (number_literal "-0x77e4")) () ")"))))) () ")")) (argument_list "(piVar10)" (( "(") (identifier "piVar10") () ")"))) (; ";")) (if_statement "if (piVar5 != (int *)0x0) {\n                    *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }" (if "if") (parenthesized_expression "(piVar5 != (int *)0x0)" (( "(") (binary_expression "piVar5 != (int *)0x0" (identifier "piVar5") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                    *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;\n                  }" ({ "{") (expression_statement "*piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;" (assignment_expression "*piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4" (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (= "=") (binary_expression "*(int *)(pcStack_118 + -0x7fc8) + 0x41e4" (pointer_expression "*(int *)(pcStack_118 + -0x7fc8)" (* "*") (cast_expression "(int *)(pcStack_118 + -0x7fc8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_118 + -0x7fc8)" (( "(") (binary_expression "pcStack_118 + -0x7fc8" (identifier "pcStack_118") (+ "+") (number_literal "-0x7fc8")) () ")")))) (+ "+") (number_literal "0x41e4"))) (; ";")) (} "}"))) (goto_statement "goto LAB_000439f4;" (goto "goto") (statement_identifier "LAB_000439f4") (; ";")) (} "}"))) (goto_statement "goto LAB_000439d4;" (goto "goto") (statement_identifier "LAB_000439d4") (; ";")) (} "}"))) (expression_statement "piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214);" (assignment_expression "piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214)" (identifier "piVar19") (= "=") (cast_expression "(int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcStack_118 + -0x7fc8) + 0x4214)" (( "(") (binary_expression "*(int *)(pcStack_118 + -0x7fc8) + 0x4214" (pointer_expression "*(int *)(pcStack_118 + -0x7fc8)" (* "*") (cast_expression "(int *)(pcStack_118 + -0x7fc8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_118 + -0x7fc8)" (( "(") (binary_expression "pcStack_118 + -0x7fc8" (identifier "pcStack_118") (+ "+") (number_literal "-0x7fc8")) () ")")))) (+ "+") (number_literal "0x4214")) () ")")))) (; ";")) (expression_statement "iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);" (assignment_expression "iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(pcStack_118 + -0x77cc))(piVar13)" (parenthesized_expression "(**(code **)(pcStack_118 + -0x77cc))" (( "(") (pointer_expression "**(code **)(pcStack_118 + -0x77cc)" (* "*") (pointer_expression "*(code **)(pcStack_118 + -0x77cc)" (* "*") (cast_expression "(code **)(pcStack_118 + -0x77cc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_118 + -0x77cc)" (( "(") (binary_expression "pcStack_118 + -0x77cc" (identifier "pcStack_118") (+ "+") (number_literal "-0x77cc")) () ")"))))) () ")")) (argument_list "(piVar13)" (( "(") (identifier "piVar13") () ")")))) (; ";")) (if_statement "if (iVar4 != 0) {\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);\n                iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                if (iVar4 != 0) goto LAB_00043cc0;\n              }" (if "if") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);\n                iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                if (iVar4 != 0) goto LAB_00043cc0;\n              }" ({ "{") (expression_statement "piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);" (assignment_expression "piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c)" (identifier "piVar19") (= "=") (cast_expression "(int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcStack_118 + -0x7fc8) + 0x422c)" (( "(") (binary_expression "*(int *)(pcStack_118 + -0x7fc8) + 0x422c" (pointer_expression "*(int *)(pcStack_118 + -0x7fc8)" (* "*") (cast_expression "(int *)(pcStack_118 + -0x7fc8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_118 + -0x7fc8)" (( "(") (binary_expression "pcStack_118 + -0x7fc8" (identifier "pcStack_118") (+ "+") (number_literal "-0x7fc8")) () ")")))) (+ "+") (number_literal "0x422c")) () ")")))) (; ";")) (expression_statement "iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);" (assignment_expression "iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(pcStack_118 + -0x77cc))(piVar13)" (parenthesized_expression "(**(code **)(pcStack_118 + -0x77cc))" (( "(") (pointer_expression "**(code **)(pcStack_118 + -0x77cc)" (* "*") (pointer_expression "*(code **)(pcStack_118 + -0x77cc)" (* "*") (cast_expression "(code **)(pcStack_118 + -0x77cc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_118 + -0x77cc)" (( "(") (binary_expression "pcStack_118 + -0x77cc" (identifier "pcStack_118") (+ "+") (number_literal "-0x77cc")) () ")"))))) () ")")) (argument_list "(piVar13)" (( "(") (identifier "piVar13") () ")")))) (; ";")) (if_statement "if (iVar4 != 0) goto LAB_00043cc0;" (if "if") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00043cc0;" (goto "goto") (statement_identifier "LAB_00043cc0") (; ";"))) (} "}"))) (expression_statement "pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74);" (assignment_expression "pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74)" (identifier "pcStack_110") (= "=") (cast_expression "(code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcStack_118 + -0x7b8c) + 0xe74)" (( "(") (binary_expression "*(int *)(pcStack_118 + -0x7b8c) + 0xe74" (pointer_expression "*(int *)(pcStack_118 + -0x7b8c)" (* "*") (cast_expression "(int *)(pcStack_118 + -0x7b8c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_118 + -0x7b8c)" (( "(") (binary_expression "pcStack_118 + -0x7b8c" (identifier "pcStack_118") (+ "+") (number_literal "-0x7b8c")) () ")")))) (+ "+") (number_literal "0xe74")) () ")")))) (; ";")) (expression_statement "piVar3 = (int *)FUN_00040e74(piVar10);" (assignment_expression "piVar3 = (int *)FUN_00040e74(piVar10)" (identifier "piVar3") (= "=") (cast_expression "(int *)FUN_00040e74(piVar10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00040e74(piVar10)" (identifier "FUN_00040e74") (argument_list "(piVar10)" (( "(") (identifier "piVar10") () ")"))))) (; ";")) (if_statement "if (piVar3 == (int *)0x0) {\nLAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                goto LAB_000439f4;\n              }" (if "if") (parenthesized_expression "(piVar3 == (int *)0x0)" (( "(") (binary_expression "piVar3 == (int *)0x0" (identifier "piVar3") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                goto LAB_000439f4;\n              }" ({ "{") (labeled_statement "LAB_00043c9c:\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);" (statement_identifier "LAB_00043c9c") (: ":") (expression_statement "(**(code **)(pcStack_118 + -0x77e4))(piVar10);" (call_expression "(**(code **)(pcStack_118 + -0x77e4))(piVar10)" (parenthesized_expression "(**(code **)(pcStack_118 + -0x77e4))" (( "(") (pointer_expression "**(code **)(pcStack_118 + -0x77e4)" (* "*") (pointer_expression "*(code **)(pcStack_118 + -0x77e4)" (* "*") (cast_expression "(code **)(pcStack_118 + -0x77e4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_118 + -0x77e4)" (( "(") (binary_expression "pcStack_118 + -0x77e4" (identifier "pcStack_118") (+ "+") (number_literal "-0x77e4")) () ")"))))) () ")")) (argument_list "(piVar10)" (( "(") (identifier "piVar10") () ")"))) (; ";"))) (if_statement "if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }" (if "if") (parenthesized_expression "(piVar5 != (int *)0x0)" (( "(") (binary_expression "piVar5 != (int *)0x0" (identifier "piVar5") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }" ({ "{") (expression_statement "*piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;" (assignment_expression "*piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8" (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (= "=") (binary_expression "*(int *)(pcStack_118 + -0x7fc8) + 0x3ff8" (pointer_expression "*(int *)(pcStack_118 + -0x7fc8)" (* "*") (cast_expression "(int *)(pcStack_118 + -0x7fc8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_118 + -0x7fc8)" (( "(") (binary_expression "pcStack_118 + -0x7fc8" (identifier "pcStack_118") (+ "+") (number_literal "-0x7fc8")) () ")")))) (+ "+") (number_literal "0x3ff8"))) (; ";")) (} "}"))) (goto_statement "goto LAB_000439f4;" (goto "goto") (statement_identifier "LAB_000439f4") (; ";")) (} "}"))) (expression_statement "uVar2 = (**(code **)(pcStack_118 + -0x77a0))(piVar3);" (assignment_expression "uVar2 = (**(code **)(pcStack_118 + -0x77a0))(piVar3)" (identifier "uVar2") (= "=") (call_expression "(**(code **)(pcStack_118 + -0x77a0))(piVar3)" (parenthesized_expression "(**(code **)(pcStack_118 + -0x77a0))" (( "(") (pointer_expression "**(code **)(pcStack_118 + -0x77a0)" (* "*") (pointer_expression "*(code **)(pcStack_118 + -0x77a0)" (* "*") (cast_expression "(code **)(pcStack_118 + -0x77a0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_118 + -0x77a0)" (( "(") (binary_expression "pcStack_118 + -0x77a0" (identifier "pcStack_118") (+ "+") (number_literal "-0x77a0")) () ")"))))) () ")")) (argument_list "(piVar3)" (( "(") (identifier "piVar3") () ")")))) (; ";")) (expression_statement "piVar19 = piVar3;" (assignment_expression "piVar19 = piVar3" (identifier "piVar19") (= "=") (identifier "piVar3")) (; ";")) (expression_statement "iVar4 = find_pubkey_alg_len(uVar2);" (assignment_expression "iVar4 = find_pubkey_alg_len(uVar2)" (identifier "iVar4") (= "=") (call_expression "find_pubkey_alg_len(uVar2)" (identifier "find_pubkey_alg_len") (argument_list "(uVar2)" (( "(") (identifier "uVar2") () ")")))) (; ";")) (expression_statement "(**(code **)(pcStack_118 + -0x7f80))(piVar3);" (call_expression "(**(code **)(pcStack_118 + -0x7f80))(piVar3)" (parenthesized_expression "(**(code **)(pcStack_118 + -0x7f80))" (( "(") (pointer_expression "**(code **)(pcStack_118 + -0x7f80)" (* "*") (pointer_expression "*(code **)(pcStack_118 + -0x7f80)" (* "*") (cast_expression "(code **)(pcStack_118 + -0x7f80)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_118 + -0x7f80)" (( "(") (binary_expression "pcStack_118 + -0x7f80" (identifier "pcStack_118") (+ "+") (number_literal "-0x7f80")) () ")"))))) () ")")) (argument_list "(piVar3)" (( "(") (identifier "piVar3") () ")"))) (; ";")) (if_statement "if ((iVar4 == 0) || (piVar19 = piVar13, iVar18 = FUN_00040db0(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;" (if "if") (parenthesized_expression "((iVar4 == 0) || (piVar19 = piVar13, iVar18 = FUN_00040db0(piVar10), iVar18 == 0))" (( "(") (binary_expression "(iVar4 == 0) || (piVar19 = piVar13, iVar18 = FUN_00040db0(piVar10), iVar18 == 0)" (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(piVar19 = piVar13, iVar18 = FUN_00040db0(piVar10), iVar18 == 0)" (( "(") (comma_expression "piVar19 = piVar13, iVar18 = FUN_00040db0(piVar10), iVar18 == 0" (assignment_expression "piVar19 = piVar13" (identifier "piVar19") (= "=") (identifier "piVar13")) (, ",") (comma_expression "iVar18 = FUN_00040db0(piVar10), iVar18 == 0" (assignment_expression "iVar18 = FUN_00040db0(piVar10)" (identifier "iVar18") (= "=") (call_expression "FUN_00040db0(piVar10)" (identifier "FUN_00040db0") (argument_list "(piVar10)" (( "(") (identifier "piVar10") () ")")))) (, ",") (binary_expression "iVar18 == 0" (identifier "iVar18") (== "==") (number_literal "0")))) () ")"))) () ")")) (goto_statement "goto LAB_00043c9c;" (goto "goto") (statement_identifier "LAB_00043c9c") (; ";"))) (expression_statement "piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244);" (assignment_expression "piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244)" (identifier "piVar19") (= "=") (cast_expression "(int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcStack_118 + -0x7fc8) + 0x4244)" (( "(") (binary_expression "*(int *)(pcStack_118 + -0x7fc8) + 0x4244" (pointer_expression "*(int *)(pcStack_118 + -0x7fc8)" (* "*") (cast_expression "(int *)(pcStack_118 + -0x7fc8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_118 + -0x7fc8)" (( "(") (binary_expression "pcStack_118 + -0x7fc8" (identifier "pcStack_118") (+ "+") (number_literal "-0x7fc8")) () ")")))) (+ "+") (number_literal "0x4244")) () ")")))) (; ";")) (expression_statement "iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);" (assignment_expression "iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13)" (identifier "iVar18") (= "=") (call_expression "(**(code **)(pcStack_118 + -0x77cc))(piVar13)" (parenthesized_expression "(**(code **)(pcStack_118 + -0x77cc))" (( "(") (pointer_expression "**(code **)(pcStack_118 + -0x77cc)" (* "*") (pointer_expression "*(code **)(pcStack_118 + -0x77cc)" (* "*") (cast_expression "(code **)(pcStack_118 + -0x77cc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_118 + -0x77cc)" (( "(") (binary_expression "pcStack_118 + -0x77cc" (identifier "pcStack_118") (+ "+") (number_literal "-0x77cc")) () ")"))))) () ")")) (argument_list "(piVar13)" (( "(") (identifier "piVar13") () ")")))) (; ";")) (if_statement "if ((iVar18 != 0) || (iVar18 = (*pcStack_110)(piVar10), iVar18 == 0))\n              goto LAB_00043c9c;" (if "if") (parenthesized_expression "((iVar18 != 0) || (iVar18 = (*pcStack_110)(piVar10), iVar18 == 0))" (( "(") (binary_expression "(iVar18 != 0) || (iVar18 = (*pcStack_110)(piVar10), iVar18 == 0)" (parenthesized_expression "(iVar18 != 0)" (( "(") (binary_expression "iVar18 != 0" (identifier "iVar18") (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar18 = (*pcStack_110)(piVar10), iVar18 == 0)" (( "(") (comma_expression "iVar18 = (*pcStack_110)(piVar10), iVar18 == 0" (assignment_expression "iVar18 = (*pcStack_110)(piVar10)" (identifier "iVar18") (= "=") (call_expression "(*pcStack_110)(piVar10)" (parenthesized_expression "(*pcStack_110)" (( "(") (pointer_expression "*pcStack_110" (* "*") (identifier "pcStack_110")) () ")")) (argument_list "(piVar10)" (( "(") (identifier "piVar10") () ")")))) (, ",") (binary_expression "iVar18 == 0" (identifier "iVar18") (== "==") (number_literal "0"))) () ")"))) () ")")) (goto_statement "goto LAB_00043c9c;" (goto "goto") (statement_identifier "LAB_00043c9c") (; ";"))) (expression_statement "(**(code **)(pcStack_118 + -0x7f80))(iVar18);" (call_expression "(**(code **)(pcStack_118 + -0x7f80))(iVar18)" (parenthesized_expression "(**(code **)(pcStack_118 + -0x7f80))" (( "(") (pointer_expression "**(code **)(pcStack_118 + -0x7f80)" (* "*") (pointer_expression "*(code **)(pcStack_118 + -0x7f80)" (* "*") (cast_expression "(code **)(pcStack_118 + -0x7f80)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_118 + -0x7f80)" (( "(") (binary_expression "pcStack_118 + -0x7f80" (identifier "pcStack_118") (+ "+") (number_literal "-0x7f80")) () ")"))))) () ")")) (argument_list "(iVar18)" (( "(") (identifier "iVar18") () ")"))) (; ";")) (expression_statement "piVar19 = piVar13;" (assignment_expression "piVar19 = piVar13" (identifier "piVar19") (= "=") (identifier "piVar13")) (; ";")) (expression_statement "iVar18 = FUN_00040db0(piVar10);" (assignment_expression "iVar18 = FUN_00040db0(piVar10)" (identifier "iVar18") (= "=") (call_expression "FUN_00040db0(piVar10)" (identifier "FUN_00040db0") (argument_list "(piVar10)" (( "(") (identifier "piVar10") () ")")))) (; ";")) (if_statement "if (iVar18 == 0) goto LAB_00043c9c;" (if "if") (parenthesized_expression "(iVar18 == 0)" (( "(") (binary_expression "iVar18 == 0" (identifier "iVar18") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00043c9c;" (goto "goto") (statement_identifier "LAB_00043c9c") (; ";"))) (expression_statement "piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258);" (assignment_expression "piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258)" (identifier "piVar19") (= "=") (cast_expression "(int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcStack_118 + -0x7fc8) + 0x4258)" (( "(") (binary_expression "*(int *)(pcStack_118 + -0x7fc8) + 0x4258" (pointer_expression "*(int *)(pcStack_118 + -0x7fc8)" (* "*") (cast_expression "(int *)(pcStack_118 + -0x7fc8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_118 + -0x7fc8)" (( "(") (binary_expression "pcStack_118 + -0x7fc8" (identifier "pcStack_118") (+ "+") (number_literal "-0x7fc8")) () ")")))) (+ "+") (number_literal "0x4258")) () ")")))) (; ";")) (expression_statement "iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);" (assignment_expression "iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13)" (identifier "iVar18") (= "=") (call_expression "(**(code **)(pcStack_118 + -0x77cc))(piVar13)" (parenthesized_expression "(**(code **)(pcStack_118 + -0x77cc))" (( "(") (pointer_expression "**(code **)(pcStack_118 + -0x77cc)" (* "*") (pointer_expression "*(code **)(pcStack_118 + -0x77cc)" (* "*") (cast_expression "(code **)(pcStack_118 + -0x77cc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_118 + -0x77cc)" (( "(") (binary_expression "pcStack_118 + -0x77cc" (identifier "pcStack_118") (+ "+") (number_literal "-0x77cc")) () ")"))))) () ")")) (argument_list "(piVar13)" (( "(") (identifier "piVar13") () ")")))) (; ";")) (if_statement "if ((iVar18 != 0) ||\n                 (pcVar23 = (code *)(*pcStack_110)(piVar10), pcVar23 == (code *)0x0))\n              goto LAB_00043c9c;" (if "if") (parenthesized_expression "((iVar18 != 0) ||\n                 (pcVar23 = (code *)(*pcStack_110)(piVar10), pcVar23 == (code *)0x0))" (( "(") (binary_expression "(iVar18 != 0) ||\n                 (pcVar23 = (code *)(*pcStack_110)(piVar10), pcVar23 == (code *)0x0)" (parenthesized_expression "(iVar18 != 0)" (( "(") (binary_expression "iVar18 != 0" (identifier "iVar18") (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(pcVar23 = (code *)(*pcStack_110)(piVar10), pcVar23 == (code *)0x0)" (( "(") (comma_expression "pcVar23 = (code *)(*pcStack_110)(piVar10), pcVar23 == (code *)0x0" (assignment_expression "pcVar23 = (code *)(*pcStack_110)(piVar10)" (identifier "pcVar23") (= "=") (cast_expression "(code *)(*pcStack_110)(piVar10)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*pcStack_110)(piVar10)" (parenthesized_expression "(*pcStack_110)" (( "(") (pointer_expression "*pcStack_110" (* "*") (identifier "pcStack_110")) () ")")) (argument_list "(piVar10)" (( "(") (identifier "piVar10") () ")"))))) (, ",") (binary_expression "pcVar23 == (code *)0x0" (identifier "pcVar23") (== "==") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (goto_statement "goto LAB_00043c9c;" (goto "goto") (statement_identifier "LAB_00043c9c") (; ";"))) (expression_statement "pcStack_10c = pcVar23;" (assignment_expression "pcStack_10c = pcVar23" (identifier "pcStack_10c") (= "=") (identifier "pcVar23")) (; ";")) (if_statement "if (piVar14 == (int *)0x0) {\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n              }\n              else {\n                *piVar14 = (int)pcVar23;\n              }" (if "if") (parenthesized_expression "(piVar14 == (int *)0x0)" (( "(") (binary_expression "piVar14 == (int *)0x0" (identifier "piVar14") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);\n              }" ({ "{") (expression_statement "(**(code **)(pcStack_118 + -0x7f80))(pcVar23);" (call_expression "(**(code **)(pcStack_118 + -0x7f80))(pcVar23)" (parenthesized_expression "(**(code **)(pcStack_118 + -0x7f80))" (( "(") (pointer_expression "**(code **)(pcStack_118 + -0x7f80)" (* "*") (pointer_expression "*(code **)(pcStack_118 + -0x7f80)" (* "*") (cast_expression "(code **)(pcStack_118 + -0x7f80)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_118 + -0x7f80)" (( "(") (binary_expression "pcStack_118 + -0x7f80" (identifier "pcStack_118") (+ "+") (number_literal "-0x7f80")) () ")"))))) () ")")) (argument_list "(pcVar23)" (( "(") (identifier "pcVar23") () ")"))) (; ";")) (} "}")) (else_clause "else {\n                *piVar14 = (int)pcVar23;\n              }" (else "else") (compound_statement "{\n                *piVar14 = (int)pcVar23;\n              }" ({ "{") (expression_statement "*piVar14 = (int)pcVar23;" (assignment_expression "*piVar14 = (int)pcVar23" (pointer_expression "*piVar14" (* "*") (identifier "piVar14")) (= "=") (cast_expression "(int)pcVar23" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar23"))) (; ";")) (} "}")))) (expression_statement "piVar3 = piVar13;" (assignment_expression "piVar3 = piVar13" (identifier "piVar3") (= "=") (identifier "piVar13")) (; ";")) (expression_statement "iVar18 = FUN_00040db0(piVar10);" (assignment_expression "iVar18 = FUN_00040db0(piVar10)" (identifier "iVar18") (= "=") (call_expression "FUN_00040db0(piVar10)" (identifier "FUN_00040db0") (argument_list "(piVar10)" (( "(") (identifier "piVar10") () ")")))) (; ";")) (expression_statement "pcVar23 = pcStack_10c;" (assignment_expression "pcVar23 = pcStack_10c" (identifier "pcVar23") (= "=") (identifier "pcStack_10c")) (; ";")) (if_statement "if (iVar18 == 0) {\nLAB_00043d58:\n                piVar19 = piVar3;\n                pcStack_110 = pcVar23;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                if (piVar14 == (int *)0x0) goto LAB_000439f4;\n                piVar21 = (int *)0x0;\n                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);\n                *piVar14 = 0;\n              }\n              else {\n                piVar3 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                pcVar23 = pcStack_10c;\n                if ((iVar18 != 0) ||\n                   (iVar18 = (*pcStack_110)(piVar10), pcVar23 = pcStack_10c, iVar18 == 0))\n                goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                piVar19 = (int *)FUN_00040d14(iVar18);\n                (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n                pcVar23 = pcStack_110;\n                if (((int)piVar19 < 0) ||\n                   (piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108), piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (puVar12 != (undefined4 *)0x0) {\n                  *puVar12 = uStack_108;\n                }\n                if (piVar11 != (int *)0x0) {\n                  iVar4 = (**(code **)(pcStack_118 + -0x7f74))(*(undefined4 *)(iVar4 + 0x30));\n                  *piVar11 = iVar4;\n                }\n              }" (if "if") (parenthesized_expression "(iVar18 == 0)" (( "(") (binary_expression "iVar18 == 0" (identifier "iVar18") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00043d58:\n                piVar19 = piVar3;\n                pcStack_110 = pcVar23;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }\n                if (piVar14 == (int *)0x0) goto LAB_000439f4;\n                piVar21 = (int *)0x0;\n                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);\n                *piVar14 = 0;\n              }" ({ "{") (labeled_statement "LAB_00043d58:\n                piVar19 = piVar3;" (statement_identifier "LAB_00043d58") (: ":") (expression_statement "piVar19 = piVar3;" (assignment_expression "piVar19 = piVar3" (identifier "piVar19") (= "=") (identifier "piVar3")) (; ";"))) (expression_statement "pcStack_110 = pcVar23;" (assignment_expression "pcStack_110 = pcVar23" (identifier "pcStack_110") (= "=") (identifier "pcVar23")) (; ";")) (expression_statement "(**(code **)(pcStack_118 + -0x77e4))(piVar10);" (call_expression "(**(code **)(pcStack_118 + -0x77e4))(piVar10)" (parenthesized_expression "(**(code **)(pcStack_118 + -0x77e4))" (( "(") (pointer_expression "**(code **)(pcStack_118 + -0x77e4)" (* "*") (pointer_expression "*(code **)(pcStack_118 + -0x77e4)" (* "*") (cast_expression "(code **)(pcStack_118 + -0x77e4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_118 + -0x77e4)" (( "(") (binary_expression "pcStack_118 + -0x77e4" (identifier "pcStack_118") (+ "+") (number_literal "-0x77e4")) () ")"))))) () ")")) (argument_list "(piVar10)" (( "(") (identifier "piVar10") () ")"))) (; ";")) (if_statement "if (piVar5 != (int *)0x0) {\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }" (if "if") (parenthesized_expression "(piVar5 != (int *)0x0)" (( "(") (binary_expression "piVar5 != (int *)0x0" (identifier "piVar5") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;\n                }" ({ "{") (expression_statement "*piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;" (assignment_expression "*piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8" (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (= "=") (binary_expression "*(int *)(pcStack_118 + -0x7fc8) + 0x3ff8" (pointer_expression "*(int *)(pcStack_118 + -0x7fc8)" (* "*") (cast_expression "(int *)(pcStack_118 + -0x7fc8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_118 + -0x7fc8)" (( "(") (binary_expression "pcStack_118 + -0x7fc8" (identifier "pcStack_118") (+ "+") (number_literal "-0x7fc8")) () ")")))) (+ "+") (number_literal "0x3ff8"))) (; ";")) (} "}"))) (if_statement "if (piVar14 == (int *)0x0) goto LAB_000439f4;" (if "if") (parenthesized_expression "(piVar14 == (int *)0x0)" (( "(") (binary_expression "piVar14 == (int *)0x0" (identifier "piVar14") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000439f4;" (goto "goto") (statement_identifier "LAB_000439f4") (; ";"))) (expression_statement "piVar21 = (int *)0x0;" (assignment_expression "piVar21 = (int *)0x0" (identifier "piVar21") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "(**(code **)(pcStack_118 + -0x7f80))(pcStack_110);" (call_expression "(**(code **)(pcStack_118 + -0x7f80))(pcStack_110)" (parenthesized_expression "(**(code **)(pcStack_118 + -0x7f80))" (( "(") (pointer_expression "**(code **)(pcStack_118 + -0x7f80)" (* "*") (pointer_expression "*(code **)(pcStack_118 + -0x7f80)" (* "*") (cast_expression "(code **)(pcStack_118 + -0x7f80)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_118 + -0x7f80)" (( "(") (binary_expression "pcStack_118 + -0x7f80" (identifier "pcStack_118") (+ "+") (number_literal "-0x7f80")) () ")"))))) () ")")) (argument_list "(pcStack_110)" (( "(") (identifier "pcStack_110") () ")"))) (; ";")) (expression_statement "*piVar14 = 0;" (assignment_expression "*piVar14 = 0" (pointer_expression "*piVar14" (* "*") (identifier "piVar14")) (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n                piVar3 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                pcVar23 = pcStack_10c;\n                if ((iVar18 != 0) ||\n                   (iVar18 = (*pcStack_110)(piVar10), pcVar23 = pcStack_10c, iVar18 == 0))\n                goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                piVar19 = (int *)FUN_00040d14(iVar18);\n                (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n                pcVar23 = pcStack_110;\n                if (((int)piVar19 < 0) ||\n                   (piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108), piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (puVar12 != (undefined4 *)0x0) {\n                  *puVar12 = uStack_108;\n                }\n                if (piVar11 != (int *)0x0) {\n                  iVar4 = (**(code **)(pcStack_118 + -0x7f74))(*(undefined4 *)(iVar4 + 0x30));\n                  *piVar11 = iVar4;\n                }\n              }" (else "else") (compound_statement "{\n                piVar3 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);\n                iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);\n                pcVar23 = pcStack_10c;\n                if ((iVar18 != 0) ||\n                   (iVar18 = (*pcStack_110)(piVar10), pcVar23 = pcStack_10c, iVar18 == 0))\n                goto LAB_00043d58;\n                pcStack_110 = pcStack_10c;\n                piVar19 = (int *)FUN_00040d14(iVar18);\n                (**(code **)(pcStack_118 + -0x7f80))(iVar18);\n                pcVar23 = pcStack_110;\n                if (((int)piVar19 < 0) ||\n                   (piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108), piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0)) goto LAB_00043d58;\n                (**(code **)(pcStack_118 + -0x77e4))(piVar10);\n                if (puVar12 != (undefined4 *)0x0) {\n                  *puVar12 = uStack_108;\n                }\n                if (piVar11 != (int *)0x0) {\n                  iVar4 = (**(code **)(pcStack_118 + -0x7f74))(*(undefined4 *)(iVar4 + 0x30));\n                  *piVar11 = iVar4;\n                }\n              }" ({ "{") (expression_statement "piVar3 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);" (assignment_expression "piVar3 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260)" (identifier "piVar3") (= "=") (cast_expression "(int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcStack_118 + -0x7fc8) + 0x4260)" (( "(") (binary_expression "*(int *)(pcStack_118 + -0x7fc8) + 0x4260" (pointer_expression "*(int *)(pcStack_118 + -0x7fc8)" (* "*") (cast_expression "(int *)(pcStack_118 + -0x7fc8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_118 + -0x7fc8)" (( "(") (binary_expression "pcStack_118 + -0x7fc8" (identifier "pcStack_118") (+ "+") (number_literal "-0x7fc8")) () ")")))) (+ "+") (number_literal "0x4260")) () ")")))) (; ";")) (expression_statement "iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);" (assignment_expression "iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13)" (identifier "iVar18") (= "=") (call_expression "(**(code **)(pcStack_118 + -0x77cc))(piVar13)" (parenthesized_expression "(**(code **)(pcStack_118 + -0x77cc))" (( "(") (pointer_expression "**(code **)(pcStack_118 + -0x77cc)" (* "*") (pointer_expression "*(code **)(pcStack_118 + -0x77cc)" (* "*") (cast_expression "(code **)(pcStack_118 + -0x77cc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_118 + -0x77cc)" (( "(") (binary_expression "pcStack_118 + -0x77cc" (identifier "pcStack_118") (+ "+") (number_literal "-0x77cc")) () ")"))))) () ")")) (argument_list "(piVar13)" (( "(") (identifier "piVar13") () ")")))) (; ";")) (expression_statement "pcVar23 = pcStack_10c;" (assignment_expression "pcVar23 = pcStack_10c" (identifier "pcVar23") (= "=") (identifier "pcStack_10c")) (; ";")) (if_statement "if ((iVar18 != 0) ||\n                   (iVar18 = (*pcStack_110)(piVar10), pcVar23 = pcStack_10c, iVar18 == 0))\n                goto LAB_00043d58;" (if "if") (parenthesized_expression "((iVar18 != 0) ||\n                   (iVar18 = (*pcStack_110)(piVar10), pcVar23 = pcStack_10c, iVar18 == 0))" (( "(") (binary_expression "(iVar18 != 0) ||\n                   (iVar18 = (*pcStack_110)(piVar10), pcVar23 = pcStack_10c, iVar18 == 0)" (parenthesized_expression "(iVar18 != 0)" (( "(") (binary_expression "iVar18 != 0" (identifier "iVar18") (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar18 = (*pcStack_110)(piVar10), pcVar23 = pcStack_10c, iVar18 == 0)" (( "(") (comma_expression "iVar18 = (*pcStack_110)(piVar10), pcVar23 = pcStack_10c, iVar18 == 0" (assignment_expression "iVar18 = (*pcStack_110)(piVar10)" (identifier "iVar18") (= "=") (call_expression "(*pcStack_110)(piVar10)" (parenthesized_expression "(*pcStack_110)" (( "(") (pointer_expression "*pcStack_110" (* "*") (identifier "pcStack_110")) () ")")) (argument_list "(piVar10)" (( "(") (identifier "piVar10") () ")")))) (, ",") (comma_expression "pcVar23 = pcStack_10c, iVar18 == 0" (assignment_expression "pcVar23 = pcStack_10c" (identifier "pcVar23") (= "=") (identifier "pcStack_10c")) (, ",") (binary_expression "iVar18 == 0" (identifier "iVar18") (== "==") (number_literal "0")))) () ")"))) () ")")) (goto_statement "goto LAB_00043d58;" (goto "goto") (statement_identifier "LAB_00043d58") (; ";"))) (expression_statement "pcStack_110 = pcStack_10c;" (assignment_expression "pcStack_110 = pcStack_10c" (identifier "pcStack_110") (= "=") (identifier "pcStack_10c")) (; ";")) (expression_statement "piVar19 = (int *)FUN_00040d14(iVar18);" (assignment_expression "piVar19 = (int *)FUN_00040d14(iVar18)" (identifier "piVar19") (= "=") (cast_expression "(int *)FUN_00040d14(iVar18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00040d14(iVar18)" (identifier "FUN_00040d14") (argument_list "(iVar18)" (( "(") (identifier "iVar18") () ")"))))) (; ";")) (expression_statement "(**(code **)(pcStack_118 + -0x7f80))(iVar18);" (call_expression "(**(code **)(pcStack_118 + -0x7f80))(iVar18)" (parenthesized_expression "(**(code **)(pcStack_118 + -0x7f80))" (( "(") (pointer_expression "**(code **)(pcStack_118 + -0x7f80)" (* "*") (pointer_expression "*(code **)(pcStack_118 + -0x7f80)" (* "*") (cast_expression "(code **)(pcStack_118 + -0x7f80)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_118 + -0x7f80)" (( "(") (binary_expression "pcStack_118 + -0x7f80" (identifier "pcStack_118") (+ "+") (number_literal "-0x7f80")) () ")"))))) () ")")) (argument_list "(iVar18)" (( "(") (identifier "iVar18") () ")"))) (; ";")) (expression_statement "pcVar23 = pcStack_110;" (assignment_expression "pcVar23 = pcStack_110" (identifier "pcVar23") (= "=") (identifier "pcStack_110")) (; ";")) (if_statement "if (((int)piVar19 < 0) ||\n                   (piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108), piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0)) goto LAB_00043d58;" (if "if") (parenthesized_expression "(((int)piVar19 < 0) ||\n                   (piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108), piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0))" (( "(") (binary_expression "((int)piVar19 < 0) ||\n                   (piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108), piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0)" (parenthesized_expression "((int)piVar19 < 0)" (( "(") (binary_expression "(int)piVar19 < 0" (cast_expression "(int)piVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar19")) (< "<") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108), piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0)" (( "(") (comma_expression "piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108), piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0" (assignment_expression "piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108)" (identifier "piVar21") (= "=") (cast_expression "(int *)FUN_00040fc0(piVar10,piVar19,&uStack_108)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00040fc0(piVar10,piVar19,&uStack_108)" (identifier "FUN_00040fc0") (argument_list "(piVar10,piVar19,&uStack_108)" (( "(") (identifier "piVar10") (, ",") (identifier "piVar19") (, ",") (pointer_expression "&uStack_108" (& "&") (identifier "uStack_108")) () ")"))))) (, ",") (comma_expression "piVar3 = piVar19,\n                   pcVar23 = pcStack_110, piVar21 == (int *)0x0" (assignment_expression "piVar3 = piVar19" (identifier "piVar3") (= "=") (identifier "piVar19")) (, ",") (comma_expression "pcVar23 = pcStack_110, piVar21 == (int *)0x0" (assignment_expression "pcVar23 = pcStack_110" (identifier "pcVar23") (= "=") (identifier "pcStack_110")) (, ",") (binary_expression "piVar21 == (int *)0x0" (identifier "piVar21") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))))) () ")"))) () ")")) (goto_statement "goto LAB_00043d58;" (goto "goto") (statement_identifier "LAB_00043d58") (; ";"))) (expression_statement "(**(code **)(pcStack_118 + -0x77e4))(piVar10);" (call_expression "(**(code **)(pcStack_118 + -0x77e4))(piVar10)" (parenthesized_expression "(**(code **)(pcStack_118 + -0x77e4))" (( "(") (pointer_expression "**(code **)(pcStack_118 + -0x77e4)" (* "*") (pointer_expression "*(code **)(pcStack_118 + -0x77e4)" (* "*") (cast_expression "(code **)(pcStack_118 + -0x77e4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_118 + -0x77e4)" (( "(") (binary_expression "pcStack_118 + -0x77e4" (identifier "pcStack_118") (+ "+") (number_literal "-0x77e4")) () ")"))))) () ")")) (argument_list "(piVar10)" (( "(") (identifier "piVar10") () ")"))) (; ";")) (if_statement "if (puVar12 != (undefined4 *)0x0) {\n                  *puVar12 = uStack_108;\n                }" (if "if") (parenthesized_expression "(puVar12 != (undefined4 *)0x0)" (( "(") (binary_expression "puVar12 != (undefined4 *)0x0" (identifier "puVar12") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                  *puVar12 = uStack_108;\n                }" ({ "{") (expression_statement "*puVar12 = uStack_108;" (assignment_expression "*puVar12 = uStack_108" (pointer_expression "*puVar12" (* "*") (identifier "puVar12")) (= "=") (identifier "uStack_108")) (; ";")) (} "}"))) (if_statement "if (piVar11 != (int *)0x0) {\n                  iVar4 = (**(code **)(pcStack_118 + -0x7f74))(*(undefined4 *)(iVar4 + 0x30));\n                  *piVar11 = iVar4;\n                }" (if "if") (parenthesized_expression "(piVar11 != (int *)0x0)" (( "(") (binary_expression "piVar11 != (int *)0x0" (identifier "piVar11") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                  iVar4 = (**(code **)(pcStack_118 + -0x7f74))(*(undefined4 *)(iVar4 + 0x30));\n                  *piVar11 = iVar4;\n                }" ({ "{") (expression_statement "iVar4 = (**(code **)(pcStack_118 + -0x7f74))(*(undefined4 *)(iVar4 + 0x30));" (assignment_expression "iVar4 = (**(code **)(pcStack_118 + -0x7f74))(*(undefined4 *)(iVar4 + 0x30))" (identifier "iVar4") (= "=") (call_expression "(**(code **)(pcStack_118 + -0x7f74))(*(undefined4 *)(iVar4 + 0x30))" (parenthesized_expression "(**(code **)(pcStack_118 + -0x7f74))" (( "(") (pointer_expression "**(code **)(pcStack_118 + -0x7f74)" (* "*") (pointer_expression "*(code **)(pcStack_118 + -0x7f74)" (* "*") (cast_expression "(code **)(pcStack_118 + -0x7f74)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_118 + -0x7f74)" (( "(") (binary_expression "pcStack_118 + -0x7f74" (identifier "pcStack_118") (+ "+") (number_literal "-0x7f74")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar4 + 0x30))" (( "(") (pointer_expression "*(undefined4 *)(iVar4 + 0x30)" (* "*") (cast_expression "(undefined4 *)(iVar4 + 0x30)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x30)" (( "(") (binary_expression "iVar4 + 0x30" (identifier "iVar4") (+ "+") (number_literal "0x30")) () ")")))) () ")")))) (; ";")) (expression_statement "*piVar11 = iVar4;" (assignment_expression "*piVar11 = iVar4" (pointer_expression "*piVar11" (* "*") (identifier "piVar11")) (= "=") (identifier "iVar4")) (; ";")) (} "}"))) (} "}")))) (goto_statement "goto LAB_000439f8;" (goto "goto") (statement_identifier "LAB_000439f8") (; ";")) (} "}"))) (expression_statement "pcVar23 = *(code **)(pcStack_118 + -0x7b10);" (assignment_expression "pcVar23 = *(code **)(pcStack_118 + -0x7b10)" (identifier "pcVar23") (= "=") (pointer_expression "*(code **)(pcStack_118 + -0x7b10)" (* "*") (cast_expression "(code **)(pcStack_118 + -0x7b10)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_118 + -0x7b10)" (( "(") (binary_expression "pcStack_118 + -0x7b10" (identifier "pcStack_118") (+ "+") (number_literal "-0x7b10")) () ")"))))) (; ";")) (} "}")))) (expression_statement "piStack_120 = piVar5;" (assignment_expression "piStack_120 = piVar5" (identifier "piStack_120") (= "=") (identifier "piVar5")) (; ";")) (expression_statement "piVar19 = piVar11;" (assignment_expression "piVar19 = piVar11" (identifier "piVar19") (= "=") (identifier "piVar11")) (; ";")) (expression_statement "piVar21 = (int *)(*pcVar23)(piVar10,piVar11,puVar12,piVar14);" (assignment_expression "piVar21 = (int *)(*pcVar23)(piVar10,piVar11,puVar12,piVar14)" (identifier "piVar21") (= "=") (cast_expression "(int *)(*pcVar23)(piVar10,piVar11,puVar12,piVar14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*pcVar23)(piVar10,piVar11,puVar12,piVar14)" (parenthesized_expression "(*pcVar23)" (( "(") (pointer_expression "*pcVar23" (* "*") (identifier "pcVar23")) () ")")) (argument_list "(piVar10,piVar11,puVar12,piVar14)" (( "(") (identifier "piVar10") (, ",") (identifier "piVar11") (, ",") (identifier "puVar12") (, ",") (identifier "piVar14") () ")"))))) (; ";")) (expression_statement "(**(code **)(pcStack_118 + -0x77e4))(piVar10);" (call_expression "(**(code **)(pcStack_118 + -0x77e4))(piVar10)" (parenthesized_expression "(**(code **)(pcStack_118 + -0x77e4))" (( "(") (pointer_expression "**(code **)(pcStack_118 + -0x77e4)" (* "*") (pointer_expression "*(code **)(pcStack_118 + -0x77e4)" (* "*") (cast_expression "(code **)(pcStack_118 + -0x77e4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_118 + -0x77e4)" (( "(") (binary_expression "pcStack_118 + -0x77e4" (identifier "pcStack_118") (+ "+") (number_literal "-0x77e4")) () ")"))))) () ")")) (argument_list "(piVar10)" (( "(") (identifier "piVar10") () ")"))) (; ";")) (} "}")))) (labeled_statement "LAB_000439f8:\n        if (iStack_dc == *piVar16) {\n          return piVar21;\n        }" (statement_identifier "LAB_000439f8") (: ":") (if_statement "if (iStack_dc == *piVar16) {\n          return piVar21;\n        }" (if "if") (parenthesized_expression "(iStack_dc == *piVar16)" (( "(") (binary_expression "iStack_dc == *piVar16" (identifier "iStack_dc") (== "==") (pointer_expression "*piVar16" (* "*") (identifier "piVar16"))) () ")")) (compound_statement "{\n          return piVar21;\n        }" ({ "{") (return_statement "return piVar21;" (return "return") (identifier "piVar21") (; ";")) (} "}")))) (expression_statement "pcVar23 = *(code **)(pcStack_118 + -0x7880);" (assignment_expression "pcVar23 = *(code **)(pcStack_118 + -0x7880)" (identifier "pcVar23") (= "=") (pointer_expression "*(code **)(pcStack_118 + -0x7880)" (* "*") (cast_expression "(code **)(pcStack_118 + -0x7880)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_118 + -0x7880)" (( "(") (binary_expression "pcStack_118 + -0x7880" (identifier "pcStack_118") (+ "+") (number_literal "-0x7880")) () ")"))))) (; ";")) (expression_statement "pcVar24 = ssh2_userkey_encrypted;" (assignment_expression "pcVar24 = ssh2_userkey_encrypted" (identifier "pcVar24") (= "=") (identifier "ssh2_userkey_encrypted")) (; ";")) (expression_statement "(*pcVar23)();" (call_expression "(*pcVar23)()" (parenthesized_expression "(*pcVar23)" (( "(") (pointer_expression "*pcVar23" (* "*") (identifier "pcVar23")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piVar20 = *(int **)(pcVar23 + 0x35b70);" (assignment_expression "piVar20 = *(int **)(pcVar23 + 0x35b70)" (identifier "piVar20") (= "=") (pointer_expression "*(int **)(pcVar23 + 0x35b70)" (* "*") (cast_expression "(int **)(pcVar23 + 0x35b70)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x35b70)" (( "(") (binary_expression "pcVar23 + 0x35b70" (identifier "pcVar23") (+ "+") (number_literal "0x35b70")) () ")"))))) (; ";")) (expression_statement "piStack_150 = piVar5;" (assignment_expression "piStack_150 = piVar5" (identifier "piStack_150") (= "=") (identifier "piVar5")) (; ";")) (expression_statement "iStack_15c = *piVar20;" (assignment_expression "iStack_15c = *piVar20" (identifier "iStack_15c") (= "=") (pointer_expression "*piVar20" (* "*") (identifier "piVar20"))) (; ";")) (if_statement "if (piVar19 != (int *)0x0) {\n          *piVar19 = 0;\n        }" (if "if") (parenthesized_expression "(piVar19 != (int *)0x0)" (( "(") (binary_expression "piVar19 != (int *)0x0" (identifier "piVar19") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          *piVar19 = 0;\n        }" ({ "{") (expression_statement "*piVar19 = 0;" (assignment_expression "*piVar19 = 0" (pointer_expression "*piVar19" (* "*") (identifier "piVar19")) (= "=") (number_literal "0")) (; ";")) (} "}"))) (expression_statement "piStack_154 = piVar16;" (assignment_expression "piStack_154 = piVar16" (identifier "piStack_154") (= "=") (identifier "piVar16")) (; ";")) (expression_statement "piStack_14c = piVar14;" (assignment_expression "piStack_14c = piVar14" (identifier "piStack_14c") (= "=") (identifier "piVar14")) (; ";")) (expression_statement "piStack_148 = piVar11;" (assignment_expression "piStack_148 = piVar11" (identifier "piStack_148") (= "=") (identifier "piVar11")) (; ";")) (expression_statement "puStack_144 = puVar12;" (assignment_expression "puStack_144 = puVar12" (identifier "puStack_144") (= "=") (identifier "puVar12")) (; ";")) (expression_statement "piStack_140 = piVar21;" (assignment_expression "piStack_140 = piVar21" (identifier "piStack_140") (= "=") (identifier "piVar21")) (; ";")) (expression_statement "piStack_13c = piVar13;" (assignment_expression "piStack_13c = piVar13" (identifier "piStack_13c") (= "=") (identifier "piVar13")) (; ";")) (expression_statement "piStack_138 = piVar10;" (assignment_expression "piStack_138 = piVar10" (identifier "piStack_138") (= "=") (identifier "piVar10")) (; ";")) (expression_statement "pcStack_134 = pcVar24;" (assignment_expression "pcStack_134 = pcVar24" (identifier "pcStack_134") (= "=") (identifier "pcVar24")) (; ";")) (expression_statement "iVar4 = f_open();" (assignment_expression "iVar4 = f_open()" (identifier "iVar4") (= "=") (call_expression "f_open()" (identifier "f_open") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar4 == 0) {\n          piVar10 = (int *)0x0;\n        }\n        else {\n          iVar18 = FUN_00040db0(iVar4,auStack_184);\n          if ((iVar18 != 0) &&\n             (((iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4214), iVar18 == 0\n               || (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                      (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c),\n                  iVar18 == 0)) && (iVar18 = FUN_00040e74(iVar4), iVar18 != 0)))) {\n            (**(code **)(pcVar23 + 0x35330))(iVar18);\n            iVar18 = FUN_00040db0(iVar4,auStack_184);\n            if ((iVar18 != 0) &&\n               (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4244), iVar18 == 0))\n            {\n              iVar18 = FUN_00040e74(iVar4);\n              if (iVar18 == 0) {\n                (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                piVar10 = (int *)0x0;\n              }\n              else {\n                iVar8 = FUN_00040db0(iVar4,auStack_184);\n                if (((iVar8 == 0) ||\n                    (iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0)) || (iVar8 = FUN_00040e74(iVar4), iVar8 == 0)) {\n                  piVar10 = (int *)0x1;\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n                else {\n                  if (piVar19 == (int *)0x0) {\n                    (**(code **)(pcVar23 + 0x35330))(iVar8);\n                  }\n                  else {\n                    *piVar19 = iVar8;\n                  }\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  iVar4 = (**(code **)(pcVar23 + 0x35ae4))\n                                    (iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4);\n                  piVar10 = (int *)(uint)(iVar4 == 0);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n              }\n              goto LAB_00043f04;\n            }\n          }\n          piVar10 = (int *)0x0;\n          (**(code **)(pcVar23 + 0x35acc))(iVar4);\n        }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          piVar10 = (int *)0x0;\n        }" ({ "{") (expression_statement "piVar10 = (int *)0x0;" (assignment_expression "piVar10 = (int *)0x0" (identifier "piVar10") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")) (else_clause "else {\n          iVar18 = FUN_00040db0(iVar4,auStack_184);\n          if ((iVar18 != 0) &&\n             (((iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4214), iVar18 == 0\n               || (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                      (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c),\n                  iVar18 == 0)) && (iVar18 = FUN_00040e74(iVar4), iVar18 != 0)))) {\n            (**(code **)(pcVar23 + 0x35330))(iVar18);\n            iVar18 = FUN_00040db0(iVar4,auStack_184);\n            if ((iVar18 != 0) &&\n               (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4244), iVar18 == 0))\n            {\n              iVar18 = FUN_00040e74(iVar4);\n              if (iVar18 == 0) {\n                (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                piVar10 = (int *)0x0;\n              }\n              else {\n                iVar8 = FUN_00040db0(iVar4,auStack_184);\n                if (((iVar8 == 0) ||\n                    (iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0)) || (iVar8 = FUN_00040e74(iVar4), iVar8 == 0)) {\n                  piVar10 = (int *)0x1;\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n                else {\n                  if (piVar19 == (int *)0x0) {\n                    (**(code **)(pcVar23 + 0x35330))(iVar8);\n                  }\n                  else {\n                    *piVar19 = iVar8;\n                  }\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  iVar4 = (**(code **)(pcVar23 + 0x35ae4))\n                                    (iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4);\n                  piVar10 = (int *)(uint)(iVar4 == 0);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n              }\n              goto LAB_00043f04;\n            }\n          }\n          piVar10 = (int *)0x0;\n          (**(code **)(pcVar23 + 0x35acc))(iVar4);\n        }" (else "else") (compound_statement "{\n          iVar18 = FUN_00040db0(iVar4,auStack_184);\n          if ((iVar18 != 0) &&\n             (((iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4214), iVar18 == 0\n               || (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                      (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c),\n                  iVar18 == 0)) && (iVar18 = FUN_00040e74(iVar4), iVar18 != 0)))) {\n            (**(code **)(pcVar23 + 0x35330))(iVar18);\n            iVar18 = FUN_00040db0(iVar4,auStack_184);\n            if ((iVar18 != 0) &&\n               (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4244), iVar18 == 0))\n            {\n              iVar18 = FUN_00040e74(iVar4);\n              if (iVar18 == 0) {\n                (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                piVar10 = (int *)0x0;\n              }\n              else {\n                iVar8 = FUN_00040db0(iVar4,auStack_184);\n                if (((iVar8 == 0) ||\n                    (iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0)) || (iVar8 = FUN_00040e74(iVar4), iVar8 == 0)) {\n                  piVar10 = (int *)0x1;\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n                else {\n                  if (piVar19 == (int *)0x0) {\n                    (**(code **)(pcVar23 + 0x35330))(iVar8);\n                  }\n                  else {\n                    *piVar19 = iVar8;\n                  }\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  iVar4 = (**(code **)(pcVar23 + 0x35ae4))\n                                    (iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4);\n                  piVar10 = (int *)(uint)(iVar4 == 0);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n              }\n              goto LAB_00043f04;\n            }\n          }\n          piVar10 = (int *)0x0;\n          (**(code **)(pcVar23 + 0x35acc))(iVar4);\n        }" ({ "{") (expression_statement "iVar18 = FUN_00040db0(iVar4,auStack_184);" (assignment_expression "iVar18 = FUN_00040db0(iVar4,auStack_184)" (identifier "iVar18") (= "=") (call_expression "FUN_00040db0(iVar4,auStack_184)" (identifier "FUN_00040db0") (argument_list "(iVar4,auStack_184)" (( "(") (identifier "iVar4") (, ",") (identifier "auStack_184") () ")")))) (; ";")) (if_statement "if ((iVar18 != 0) &&\n             (((iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4214), iVar18 == 0\n               || (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                      (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c),\n                  iVar18 == 0)) && (iVar18 = FUN_00040e74(iVar4), iVar18 != 0)))) {\n            (**(code **)(pcVar23 + 0x35330))(iVar18);\n            iVar18 = FUN_00040db0(iVar4,auStack_184);\n            if ((iVar18 != 0) &&\n               (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4244), iVar18 == 0))\n            {\n              iVar18 = FUN_00040e74(iVar4);\n              if (iVar18 == 0) {\n                (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                piVar10 = (int *)0x0;\n              }\n              else {\n                iVar8 = FUN_00040db0(iVar4,auStack_184);\n                if (((iVar8 == 0) ||\n                    (iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0)) || (iVar8 = FUN_00040e74(iVar4), iVar8 == 0)) {\n                  piVar10 = (int *)0x1;\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n                else {\n                  if (piVar19 == (int *)0x0) {\n                    (**(code **)(pcVar23 + 0x35330))(iVar8);\n                  }\n                  else {\n                    *piVar19 = iVar8;\n                  }\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  iVar4 = (**(code **)(pcVar23 + 0x35ae4))\n                                    (iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4);\n                  piVar10 = (int *)(uint)(iVar4 == 0);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n              }\n              goto LAB_00043f04;\n            }\n          }" (if "if") (parenthesized_expression "((iVar18 != 0) &&\n             (((iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4214), iVar18 == 0\n               || (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                      (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c),\n                  iVar18 == 0)) && (iVar18 = FUN_00040e74(iVar4), iVar18 != 0))))" (( "(") (binary_expression "(iVar18 != 0) &&\n             (((iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4214), iVar18 == 0\n               || (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                      (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c),\n                  iVar18 == 0)) && (iVar18 = FUN_00040e74(iVar4), iVar18 != 0)))" (parenthesized_expression "(iVar18 != 0)" (( "(") (binary_expression "iVar18 != 0" (identifier "iVar18") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(((iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4214), iVar18 == 0\n               || (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                      (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c),\n                  iVar18 == 0)) && (iVar18 = FUN_00040e74(iVar4), iVar18 != 0)))" (( "(") (parenthesized_expression "((iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4214), iVar18 == 0\n               || (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                      (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c),\n                  iVar18 == 0)) && (iVar18 = FUN_00040e74(iVar4), iVar18 != 0))" (( "(") (binary_expression "(iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4214), iVar18 == 0\n               || (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                      (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c),\n                  iVar18 == 0)) && (iVar18 = FUN_00040e74(iVar4), iVar18 != 0)" (parenthesized_expression "(iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4214), iVar18 == 0\n               || (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                      (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c),\n                  iVar18 == 0))" (( "(") (comma_expression "iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4214), iVar18 == 0\n               || (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                      (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c),\n                  iVar18 == 0)" (assignment_expression "iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4214)" (identifier "iVar18") (= "=") (call_expression "(**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4214)" (parenthesized_expression "(**(code **)(pcVar23 + 0x35ae4))" (( "(") (pointer_expression "**(code **)(pcVar23 + 0x35ae4)" (* "*") (pointer_expression "*(code **)(pcVar23 + 0x35ae4)" (* "*") (cast_expression "(code **)(pcVar23 + 0x35ae4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x35ae4)" (( "(") (binary_expression "pcVar23 + 0x35ae4" (identifier "pcVar23") (+ "+") (number_literal "0x35ae4")) () ")"))))) () ")")) (argument_list "(auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4214)" (( "(") (identifier "auStack_184") (, ",") (binary_expression "*(int *)(pcVar23 + 0x352e8) + 0x4214" (pointer_expression "*(int *)(pcVar23 + 0x352e8)" (* "*") (cast_expression "(int *)(pcVar23 + 0x352e8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar23 + 0x352e8)" (( "(") (binary_expression "pcVar23 + 0x352e8" (identifier "pcVar23") (+ "+") (number_literal "0x352e8")) () ")")))) (+ "+") (number_literal "0x4214")) () ")")))) (, ",") (binary_expression "iVar18 == 0\n               || (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                      (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c),\n                  iVar18 == 0)" (binary_expression "iVar18 == 0" (identifier "iVar18") (== "==") (number_literal "0")) (|| "||") (parenthesized_expression "(iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                      (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c),\n                  iVar18 == 0)" (( "(") (comma_expression "iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                      (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c),\n                  iVar18 == 0" (assignment_expression "iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                      (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c)" (identifier "iVar18") (= "=") (call_expression "(**(code **)(pcVar23 + 0x35ae4))\n                                      (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c)" (parenthesized_expression "(**(code **)(pcVar23 + 0x35ae4))" (( "(") (pointer_expression "**(code **)(pcVar23 + 0x35ae4)" (* "*") (pointer_expression "*(code **)(pcVar23 + 0x35ae4)" (* "*") (cast_expression "(code **)(pcVar23 + 0x35ae4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x35ae4)" (( "(") (binary_expression "pcVar23 + 0x35ae4" (identifier "pcVar23") (+ "+") (number_literal "0x35ae4")) () ")"))))) () ")")) (argument_list "(auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c)" (( "(") (identifier "auStack_184") (, ",") (binary_expression "*(int *)(pcVar23 + 0x352e8) + 0x422c" (pointer_expression "*(int *)(pcVar23 + 0x352e8)" (* "*") (cast_expression "(int *)(pcVar23 + 0x352e8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar23 + 0x352e8)" (( "(") (binary_expression "pcVar23 + 0x352e8" (identifier "pcVar23") (+ "+") (number_literal "0x352e8")) () ")")))) (+ "+") (number_literal "0x422c")) () ")")))) (, ",") (binary_expression "iVar18 == 0" (identifier "iVar18") (== "==") (number_literal "0"))) () ")")))) () ")")) (&& "&&") (parenthesized_expression "(iVar18 = FUN_00040e74(iVar4), iVar18 != 0)" (( "(") (comma_expression "iVar18 = FUN_00040e74(iVar4), iVar18 != 0" (assignment_expression "iVar18 = FUN_00040e74(iVar4)" (identifier "iVar18") (= "=") (call_expression "FUN_00040e74(iVar4)" (identifier "FUN_00040e74") (argument_list "(iVar4)" (( "(") (identifier "iVar4") () ")")))) (, ",") (binary_expression "iVar18 != 0" (identifier "iVar18") (!= "!=") (number_literal "0"))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n            (**(code **)(pcVar23 + 0x35330))(iVar18);\n            iVar18 = FUN_00040db0(iVar4,auStack_184);\n            if ((iVar18 != 0) &&\n               (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4244), iVar18 == 0))\n            {\n              iVar18 = FUN_00040e74(iVar4);\n              if (iVar18 == 0) {\n                (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                piVar10 = (int *)0x0;\n              }\n              else {\n                iVar8 = FUN_00040db0(iVar4,auStack_184);\n                if (((iVar8 == 0) ||\n                    (iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0)) || (iVar8 = FUN_00040e74(iVar4), iVar8 == 0)) {\n                  piVar10 = (int *)0x1;\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n                else {\n                  if (piVar19 == (int *)0x0) {\n                    (**(code **)(pcVar23 + 0x35330))(iVar8);\n                  }\n                  else {\n                    *piVar19 = iVar8;\n                  }\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  iVar4 = (**(code **)(pcVar23 + 0x35ae4))\n                                    (iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4);\n                  piVar10 = (int *)(uint)(iVar4 == 0);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n              }\n              goto LAB_00043f04;\n            }\n          }" ({ "{") (expression_statement "(**(code **)(pcVar23 + 0x35330))(iVar18);" (call_expression "(**(code **)(pcVar23 + 0x35330))(iVar18)" (parenthesized_expression "(**(code **)(pcVar23 + 0x35330))" (( "(") (pointer_expression "**(code **)(pcVar23 + 0x35330)" (* "*") (pointer_expression "*(code **)(pcVar23 + 0x35330)" (* "*") (cast_expression "(code **)(pcVar23 + 0x35330)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x35330)" (( "(") (binary_expression "pcVar23 + 0x35330" (identifier "pcVar23") (+ "+") (number_literal "0x35330")) () ")"))))) () ")")) (argument_list "(iVar18)" (( "(") (identifier "iVar18") () ")"))) (; ";")) (expression_statement "iVar18 = FUN_00040db0(iVar4,auStack_184);" (assignment_expression "iVar18 = FUN_00040db0(iVar4,auStack_184)" (identifier "iVar18") (= "=") (call_expression "FUN_00040db0(iVar4,auStack_184)" (identifier "FUN_00040db0") (argument_list "(iVar4,auStack_184)" (( "(") (identifier "iVar4") (, ",") (identifier "auStack_184") () ")")))) (; ";")) (if_statement "if ((iVar18 != 0) &&\n               (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4244), iVar18 == 0))\n            {\n              iVar18 = FUN_00040e74(iVar4);\n              if (iVar18 == 0) {\n                (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                piVar10 = (int *)0x0;\n              }\n              else {\n                iVar8 = FUN_00040db0(iVar4,auStack_184);\n                if (((iVar8 == 0) ||\n                    (iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0)) || (iVar8 = FUN_00040e74(iVar4), iVar8 == 0)) {\n                  piVar10 = (int *)0x1;\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n                else {\n                  if (piVar19 == (int *)0x0) {\n                    (**(code **)(pcVar23 + 0x35330))(iVar8);\n                  }\n                  else {\n                    *piVar19 = iVar8;\n                  }\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  iVar4 = (**(code **)(pcVar23 + 0x35ae4))\n                                    (iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4);\n                  piVar10 = (int *)(uint)(iVar4 == 0);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n              }\n              goto LAB_00043f04;\n            }" (if "if") (parenthesized_expression "((iVar18 != 0) &&\n               (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4244), iVar18 == 0))" (( "(") (binary_expression "(iVar18 != 0) &&\n               (iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4244), iVar18 == 0)" (parenthesized_expression "(iVar18 != 0)" (( "(") (binary_expression "iVar18 != 0" (identifier "iVar18") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4244), iVar18 == 0)" (( "(") (comma_expression "iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4244), iVar18 == 0" (assignment_expression "iVar18 = (**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4244)" (identifier "iVar18") (= "=") (call_expression "(**(code **)(pcVar23 + 0x35ae4))\n                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4244)" (parenthesized_expression "(**(code **)(pcVar23 + 0x35ae4))" (( "(") (pointer_expression "**(code **)(pcVar23 + 0x35ae4)" (* "*") (pointer_expression "*(code **)(pcVar23 + 0x35ae4)" (* "*") (cast_expression "(code **)(pcVar23 + 0x35ae4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x35ae4)" (( "(") (binary_expression "pcVar23 + 0x35ae4" (identifier "pcVar23") (+ "+") (number_literal "0x35ae4")) () ")"))))) () ")")) (argument_list "(auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4244)" (( "(") (identifier "auStack_184") (, ",") (binary_expression "*(int *)(pcVar23 + 0x352e8) + 0x4244" (pointer_expression "*(int *)(pcVar23 + 0x352e8)" (* "*") (cast_expression "(int *)(pcVar23 + 0x352e8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar23 + 0x352e8)" (( "(") (binary_expression "pcVar23 + 0x352e8" (identifier "pcVar23") (+ "+") (number_literal "0x352e8")) () ")")))) (+ "+") (number_literal "0x4244")) () ")")))) (, ",") (binary_expression "iVar18 == 0" (identifier "iVar18") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n              iVar18 = FUN_00040e74(iVar4);\n              if (iVar18 == 0) {\n                (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                piVar10 = (int *)0x0;\n              }\n              else {\n                iVar8 = FUN_00040db0(iVar4,auStack_184);\n                if (((iVar8 == 0) ||\n                    (iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0)) || (iVar8 = FUN_00040e74(iVar4), iVar8 == 0)) {\n                  piVar10 = (int *)0x1;\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n                else {\n                  if (piVar19 == (int *)0x0) {\n                    (**(code **)(pcVar23 + 0x35330))(iVar8);\n                  }\n                  else {\n                    *piVar19 = iVar8;\n                  }\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  iVar4 = (**(code **)(pcVar23 + 0x35ae4))\n                                    (iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4);\n                  piVar10 = (int *)(uint)(iVar4 == 0);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n              }\n              goto LAB_00043f04;\n            }" ({ "{") (expression_statement "iVar18 = FUN_00040e74(iVar4);" (assignment_expression "iVar18 = FUN_00040e74(iVar4)" (identifier "iVar18") (= "=") (call_expression "FUN_00040e74(iVar4)" (identifier "FUN_00040e74") (argument_list "(iVar4)" (( "(") (identifier "iVar4") () ")")))) (; ";")) (if_statement "if (iVar18 == 0) {\n                (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                piVar10 = (int *)0x0;\n              }\n              else {\n                iVar8 = FUN_00040db0(iVar4,auStack_184);\n                if (((iVar8 == 0) ||\n                    (iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0)) || (iVar8 = FUN_00040e74(iVar4), iVar8 == 0)) {\n                  piVar10 = (int *)0x1;\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n                else {\n                  if (piVar19 == (int *)0x0) {\n                    (**(code **)(pcVar23 + 0x35330))(iVar8);\n                  }\n                  else {\n                    *piVar19 = iVar8;\n                  }\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  iVar4 = (**(code **)(pcVar23 + 0x35ae4))\n                                    (iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4);\n                  piVar10 = (int *)(uint)(iVar4 == 0);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n              }" (if "if") (parenthesized_expression "(iVar18 == 0)" (( "(") (binary_expression "iVar18 == 0" (identifier "iVar18") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                piVar10 = (int *)0x0;\n              }" ({ "{") (expression_statement "(**(code **)(pcVar23 + 0x35acc))(iVar4);" (call_expression "(**(code **)(pcVar23 + 0x35acc))(iVar4)" (parenthesized_expression "(**(code **)(pcVar23 + 0x35acc))" (( "(") (pointer_expression "**(code **)(pcVar23 + 0x35acc)" (* "*") (pointer_expression "*(code **)(pcVar23 + 0x35acc)" (* "*") (cast_expression "(code **)(pcVar23 + 0x35acc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x35acc)" (( "(") (binary_expression "pcVar23 + 0x35acc" (identifier "pcVar23") (+ "+") (number_literal "0x35acc")) () ")"))))) () ")")) (argument_list "(iVar4)" (( "(") (identifier "iVar4") () ")"))) (; ";")) (expression_statement "piVar10 = (int *)0x0;" (assignment_expression "piVar10 = (int *)0x0" (identifier "piVar10") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")) (else_clause "else {\n                iVar8 = FUN_00040db0(iVar4,auStack_184);\n                if (((iVar8 == 0) ||\n                    (iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0)) || (iVar8 = FUN_00040e74(iVar4), iVar8 == 0)) {\n                  piVar10 = (int *)0x1;\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n                else {\n                  if (piVar19 == (int *)0x0) {\n                    (**(code **)(pcVar23 + 0x35330))(iVar8);\n                  }\n                  else {\n                    *piVar19 = iVar8;\n                  }\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  iVar4 = (**(code **)(pcVar23 + 0x35ae4))\n                                    (iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4);\n                  piVar10 = (int *)(uint)(iVar4 == 0);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n              }" (else "else") (compound_statement "{\n                iVar8 = FUN_00040db0(iVar4,auStack_184);\n                if (((iVar8 == 0) ||\n                    (iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0)) || (iVar8 = FUN_00040e74(iVar4), iVar8 == 0)) {\n                  piVar10 = (int *)0x1;\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n                else {\n                  if (piVar19 == (int *)0x0) {\n                    (**(code **)(pcVar23 + 0x35330))(iVar8);\n                  }\n                  else {\n                    *piVar19 = iVar8;\n                  }\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  iVar4 = (**(code **)(pcVar23 + 0x35ae4))\n                                    (iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4);\n                  piVar10 = (int *)(uint)(iVar4 == 0);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n              }" ({ "{") (expression_statement "iVar8 = FUN_00040db0(iVar4,auStack_184);" (assignment_expression "iVar8 = FUN_00040db0(iVar4,auStack_184)" (identifier "iVar8") (= "=") (call_expression "FUN_00040db0(iVar4,auStack_184)" (identifier "FUN_00040db0") (argument_list "(iVar4,auStack_184)" (( "(") (identifier "iVar4") (, ",") (identifier "auStack_184") () ")")))) (; ";")) (if_statement "if (((iVar8 == 0) ||\n                    (iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0)) || (iVar8 = FUN_00040e74(iVar4), iVar8 == 0)) {\n                  piVar10 = (int *)0x1;\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }\n                else {\n                  if (piVar19 == (int *)0x0) {\n                    (**(code **)(pcVar23 + 0x35330))(iVar8);\n                  }\n                  else {\n                    *piVar19 = iVar8;\n                  }\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  iVar4 = (**(code **)(pcVar23 + 0x35ae4))\n                                    (iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4);\n                  piVar10 = (int *)(uint)(iVar4 == 0);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }" (if "if") (parenthesized_expression "(((iVar8 == 0) ||\n                    (iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0)) || (iVar8 = FUN_00040e74(iVar4), iVar8 == 0))" (( "(") (binary_expression "((iVar8 == 0) ||\n                    (iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0)) || (iVar8 = FUN_00040e74(iVar4), iVar8 == 0)" (parenthesized_expression "((iVar8 == 0) ||\n                    (iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0))" (( "(") (binary_expression "(iVar8 == 0) ||\n                    (iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0)" (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0)" (( "(") (comma_expression "iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),\n                    iVar8 != 0" (assignment_expression "iVar8 = (**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258)" (identifier "iVar8") (= "=") (call_expression "(**(code **)(pcVar23 + 0x35ae4))\n                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258)" (parenthesized_expression "(**(code **)(pcVar23 + 0x35ae4))" (( "(") (pointer_expression "**(code **)(pcVar23 + 0x35ae4)" (* "*") (pointer_expression "*(code **)(pcVar23 + 0x35ae4)" (* "*") (cast_expression "(code **)(pcVar23 + 0x35ae4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x35ae4)" (( "(") (binary_expression "pcVar23 + 0x35ae4" (identifier "pcVar23") (+ "+") (number_literal "0x35ae4")) () ")"))))) () ")")) (argument_list "(auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258)" (( "(") (identifier "auStack_184") (, ",") (binary_expression "*(int *)(pcVar23 + 0x352e8) + 0x4258" (pointer_expression "*(int *)(pcVar23 + 0x352e8)" (* "*") (cast_expression "(int *)(pcVar23 + 0x352e8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar23 + 0x352e8)" (( "(") (binary_expression "pcVar23 + 0x352e8" (identifier "pcVar23") (+ "+") (number_literal "0x352e8")) () ")")))) (+ "+") (number_literal "0x4258")) () ")")))) (, ",") (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (|| "||") (parenthesized_expression "(iVar8 = FUN_00040e74(iVar4), iVar8 == 0)" (( "(") (comma_expression "iVar8 = FUN_00040e74(iVar4), iVar8 == 0" (assignment_expression "iVar8 = FUN_00040e74(iVar4)" (identifier "iVar8") (= "=") (call_expression "FUN_00040e74(iVar4)" (identifier "FUN_00040e74") (argument_list "(iVar4)" (( "(") (identifier "iVar4") () ")")))) (, ",") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n                  piVar10 = (int *)0x1;\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }" ({ "{") (expression_statement "piVar10 = (int *)0x1;" (assignment_expression "piVar10 = (int *)0x1" (identifier "piVar10") (= "=") (cast_expression "(int *)0x1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "(**(code **)(pcVar23 + 0x35acc))(iVar4);" (call_expression "(**(code **)(pcVar23 + 0x35acc))(iVar4)" (parenthesized_expression "(**(code **)(pcVar23 + 0x35acc))" (( "(") (pointer_expression "**(code **)(pcVar23 + 0x35acc)" (* "*") (pointer_expression "*(code **)(pcVar23 + 0x35acc)" (* "*") (cast_expression "(code **)(pcVar23 + 0x35acc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x35acc)" (( "(") (binary_expression "pcVar23 + 0x35acc" (identifier "pcVar23") (+ "+") (number_literal "0x35acc")) () ")"))))) () ")")) (argument_list "(iVar4)" (( "(") (identifier "iVar4") () ")"))) (; ";")) (expression_statement "(**(code **)(pcVar23 + 0x35330))(iVar18);" (call_expression "(**(code **)(pcVar23 + 0x35330))(iVar18)" (parenthesized_expression "(**(code **)(pcVar23 + 0x35330))" (( "(") (pointer_expression "**(code **)(pcVar23 + 0x35330)" (* "*") (pointer_expression "*(code **)(pcVar23 + 0x35330)" (* "*") (cast_expression "(code **)(pcVar23 + 0x35330)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x35330)" (( "(") (binary_expression "pcVar23 + 0x35330" (identifier "pcVar23") (+ "+") (number_literal "0x35330")) () ")"))))) () ")")) (argument_list "(iVar18)" (( "(") (identifier "iVar18") () ")"))) (; ";")) (} "}")) (else_clause "else {\n                  if (piVar19 == (int *)0x0) {\n                    (**(code **)(pcVar23 + 0x35330))(iVar8);\n                  }\n                  else {\n                    *piVar19 = iVar8;\n                  }\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  iVar4 = (**(code **)(pcVar23 + 0x35ae4))\n                                    (iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4);\n                  piVar10 = (int *)(uint)(iVar4 == 0);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }" (else "else") (compound_statement "{\n                  if (piVar19 == (int *)0x0) {\n                    (**(code **)(pcVar23 + 0x35330))(iVar8);\n                  }\n                  else {\n                    *piVar19 = iVar8;\n                  }\n                  (**(code **)(pcVar23 + 0x35acc))(iVar4);\n                  iVar4 = (**(code **)(pcVar23 + 0x35ae4))\n                                    (iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4);\n                  piVar10 = (int *)(uint)(iVar4 == 0);\n                  (**(code **)(pcVar23 + 0x35330))(iVar18);\n                }" ({ "{") (if_statement "if (piVar19 == (int *)0x0) {\n                    (**(code **)(pcVar23 + 0x35330))(iVar8);\n                  }\n                  else {\n                    *piVar19 = iVar8;\n                  }" (if "if") (parenthesized_expression "(piVar19 == (int *)0x0)" (( "(") (binary_expression "piVar19 == (int *)0x0" (identifier "piVar19") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                    (**(code **)(pcVar23 + 0x35330))(iVar8);\n                  }" ({ "{") (expression_statement "(**(code **)(pcVar23 + 0x35330))(iVar8);" (call_expression "(**(code **)(pcVar23 + 0x35330))(iVar8)" (parenthesized_expression "(**(code **)(pcVar23 + 0x35330))" (( "(") (pointer_expression "**(code **)(pcVar23 + 0x35330)" (* "*") (pointer_expression "*(code **)(pcVar23 + 0x35330)" (* "*") (cast_expression "(code **)(pcVar23 + 0x35330)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x35330)" (( "(") (binary_expression "pcVar23 + 0x35330" (identifier "pcVar23") (+ "+") (number_literal "0x35330")) () ")"))))) () ")")) (argument_list "(iVar8)" (( "(") (identifier "iVar8") () ")"))) (; ";")) (} "}")) (else_clause "else {\n                    *piVar19 = iVar8;\n                  }" (else "else") (compound_statement "{\n                    *piVar19 = iVar8;\n                  }" ({ "{") (expression_statement "*piVar19 = iVar8;" (assignment_expression "*piVar19 = iVar8" (pointer_expression "*piVar19" (* "*") (identifier "piVar19")) (= "=") (identifier "iVar8")) (; ";")) (} "}")))) (expression_statement "(**(code **)(pcVar23 + 0x35acc))(iVar4);" (call_expression "(**(code **)(pcVar23 + 0x35acc))(iVar4)" (parenthesized_expression "(**(code **)(pcVar23 + 0x35acc))" (( "(") (pointer_expression "**(code **)(pcVar23 + 0x35acc)" (* "*") (pointer_expression "*(code **)(pcVar23 + 0x35acc)" (* "*") (cast_expression "(code **)(pcVar23 + 0x35acc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x35acc)" (( "(") (binary_expression "pcVar23 + 0x35acc" (identifier "pcVar23") (+ "+") (number_literal "0x35acc")) () ")"))))) () ")")) (argument_list "(iVar4)" (( "(") (identifier "iVar4") () ")"))) (; ";")) (expression_statement "iVar4 = (**(code **)(pcVar23 + 0x35ae4))\n                                    (iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4);" (assignment_expression "iVar4 = (**(code **)(pcVar23 + 0x35ae4))\n                                    (iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(pcVar23 + 0x35ae4))\n                                    (iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4)" (parenthesized_expression "(**(code **)(pcVar23 + 0x35ae4))" (( "(") (pointer_expression "**(code **)(pcVar23 + 0x35ae4)" (* "*") (pointer_expression "*(code **)(pcVar23 + 0x35ae4)" (* "*") (cast_expression "(code **)(pcVar23 + 0x35ae4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x35ae4)" (( "(") (binary_expression "pcVar23 + 0x35ae4" (identifier "pcVar23") (+ "+") (number_literal "0x35ae4")) () ")"))))) () ")")) (argument_list "(iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4)" (( "(") (identifier "iVar18") (, ",") (binary_expression "*(int *)(pcVar23 + 0x352e8) + 0x7c4" (pointer_expression "*(int *)(pcVar23 + 0x352e8)" (* "*") (cast_expression "(int *)(pcVar23 + 0x352e8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar23 + 0x352e8)" (( "(") (binary_expression "pcVar23 + 0x352e8" (identifier "pcVar23") (+ "+") (number_literal "0x352e8")) () ")")))) (+ "+") (number_literal "0x7c4")) () ")")))) (; ";")) (expression_statement "piVar10 = (int *)(uint)(iVar4 == 0);" (assignment_expression "piVar10 = (int *)(uint)(iVar4 == 0)" (identifier "piVar10") (= "=") (cast_expression "(int *)(uint)(iVar4 == 0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(uint)(iVar4 == 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")"))))) (; ";")) (expression_statement "(**(code **)(pcVar23 + 0x35330))(iVar18);" (call_expression "(**(code **)(pcVar23 + 0x35330))(iVar18)" (parenthesized_expression "(**(code **)(pcVar23 + 0x35330))" (( "(") (pointer_expression "**(code **)(pcVar23 + 0x35330)" (* "*") (pointer_expression "*(code **)(pcVar23 + 0x35330)" (* "*") (cast_expression "(code **)(pcVar23 + 0x35330)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x35330)" (( "(") (binary_expression "pcVar23 + 0x35330" (identifier "pcVar23") (+ "+") (number_literal "0x35330")) () ")"))))) () ")")) (argument_list "(iVar18)" (( "(") (identifier "iVar18") () ")"))) (; ";")) (} "}")))) (} "}")))) (goto_statement "goto LAB_00043f04;" (goto "goto") (statement_identifier "LAB_00043f04") (; ";")) (} "}"))) (} "}"))) (expression_statement "piVar10 = (int *)0x0;" (assignment_expression "piVar10 = (int *)0x0" (identifier "piVar10") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "(**(code **)(pcVar23 + 0x35acc))(iVar4);" (call_expression "(**(code **)(pcVar23 + 0x35acc))(iVar4)" (parenthesized_expression "(**(code **)(pcVar23 + 0x35acc))" (( "(") (pointer_expression "**(code **)(pcVar23 + 0x35acc)" (* "*") (pointer_expression "*(code **)(pcVar23 + 0x35acc)" (* "*") (cast_expression "(code **)(pcVar23 + 0x35acc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x35acc)" (( "(") (binary_expression "pcVar23 + 0x35acc" (identifier "pcVar23") (+ "+") (number_literal "0x35acc")) () ")"))))) () ")")) (argument_list "(iVar4)" (( "(") (identifier "iVar4") () ")"))) (; ";")) (} "}")))) (labeled_statement "LAB_00043f04:\n        if (iStack_15c != *piVar20) {\n          (**(code **)(pcVar23 + 0x35a30))();\n          return (int *)((iStack_15c + 0x2f) / 0x30);\n        }" (statement_identifier "LAB_00043f04") (: ":") (if_statement "if (iStack_15c != *piVar20) {\n          (**(code **)(pcVar23 + 0x35a30))();\n          return (int *)((iStack_15c + 0x2f) / 0x30);\n        }" (if "if") (parenthesized_expression "(iStack_15c != *piVar20)" (( "(") (binary_expression "iStack_15c != *piVar20" (identifier "iStack_15c") (!= "!=") (pointer_expression "*piVar20" (* "*") (identifier "piVar20"))) () ")")) (compound_statement "{\n          (**(code **)(pcVar23 + 0x35a30))();\n          return (int *)((iStack_15c + 0x2f) / 0x30);\n        }" ({ "{") (expression_statement "(**(code **)(pcVar23 + 0x35a30))();" (call_expression "(**(code **)(pcVar23 + 0x35a30))()" (parenthesized_expression "(**(code **)(pcVar23 + 0x35a30))" (( "(") (pointer_expression "**(code **)(pcVar23 + 0x35a30)" (* "*") (pointer_expression "*(code **)(pcVar23 + 0x35a30)" (* "*") (cast_expression "(code **)(pcVar23 + 0x35a30)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x35a30)" (( "(") (binary_expression "pcVar23 + 0x35a30" (identifier "pcVar23") (+ "+") (number_literal "0x35a30")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return (int *)((iStack_15c + 0x2f) / 0x30);" (return "return") (cast_expression "(int *)((iStack_15c + 0x2f) / 0x30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((iStack_15c + 0x2f) / 0x30)" (( "(") (binary_expression "(iStack_15c + 0x2f) / 0x30" (parenthesized_expression "(iStack_15c + 0x2f)" (( "(") (binary_expression "iStack_15c + 0x2f" (identifier "iStack_15c") (+ "+") (number_literal "0x2f")) () ")")) (/ "/") (number_literal "0x30")) () ")"))) (; ";")) (} "}")))) (return_statement "return piVar10;" (return "return") (identifier "piVar10") (; ";")) (} "}"))) (expression_statement "iVar8 = (*(code *)piStack_a0[-0x1f66])(pcVar15,(int)piVar3 + iVar18);" (assignment_expression "iVar8 = (*(code *)piStack_a0[-0x1f66])(pcVar15,(int)piVar3 + iVar18)" (identifier "iVar8") (= "=") (call_expression "(*(code *)piStack_a0[-0x1f66])(pcVar15,(int)piVar3 + iVar18)" (parenthesized_expression "(*(code *)piStack_a0[-0x1f66])" (( "(") (pointer_expression "*(code *)piStack_a0[-0x1f66]" (* "*") (cast_expression "(code *)piStack_a0[-0x1f66]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piStack_a0[-0x1f66]" (identifier "piStack_a0") ([ "[") (number_literal "-0x1f66") (] "]")))) () ")")) (argument_list "(pcVar15,(int)piVar3 + iVar18)" (( "(") (identifier "pcVar15") (, ",") (binary_expression "(int)piVar3 + iVar18" (cast_expression "(int)piVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar3")) (+ "+") (identifier "iVar18")) () ")")))) (; ";")) (expression_statement "iVar18 = iVar18 + iVar8;" (assignment_expression "iVar18 = iVar18 + iVar8" (identifier "iVar18") (= "=") (binary_expression "iVar18 + iVar8" (identifier "iVar18") (+ "+") (identifier "iVar8"))) (; ";")) (expression_statement "pcVar15 = pcVar15 + 4;" (assignment_expression "pcVar15 = pcVar15 + 4" (identifier "pcVar15") (= "=") (binary_expression "pcVar15 + 4" (identifier "pcVar15") (+ "+") (number_literal "4"))) (; ";")) (} "}"))) (if_statement "if (*pcVar15 == '\0') {\n      iVar4 = (*(code *)piStack_a0[-0x1de8])(uVar2);\n      if (((iVar4 + 3 < iVar18) && (iVar4 == *piVar3)) &&\n         (iVar4 = (*(code *)piStack_a0[-0x1dfd])(piVar3 + 1,uVar2,iVar4), iVar4 == 0)) {\n        if (piVar10 != (int *)0x0) {\n          iVar4 = (*(code *)piStack_a0[-0x1fdd])(uVar2);\n          *piVar10 = iVar4;\n        }\n        if (piVar20 != (int *)0x0) {\n          *piVar20 = iVar18;\n        }\n        if (piVar13 == (int *)0x0) {\n          (*(code *)piStack_a0[-0x1fe0])(puVar6);\n        }\n        else {\n          *piVar13 = (int)puVar6;\n        }\n        (*(code *)piStack_a0[-0x1fe0])(uVar2);\n        return piVar3;\n      }\n      iVar4 = piStack_a0[-0x1ff2] + 0x441c;\n    }\n    else {\n      iVar4 = piStack_a0[-0x1ff2] + 0x4454;\n    }" (if "if") (parenthesized_expression "(*pcVar15 == '\0')" (( "(") (binary_expression "*pcVar15 == '\0'" (pointer_expression "*pcVar15" (* "*") (identifier "pcVar15")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      iVar4 = (*(code *)piStack_a0[-0x1de8])(uVar2);\n      if (((iVar4 + 3 < iVar18) && (iVar4 == *piVar3)) &&\n         (iVar4 = (*(code *)piStack_a0[-0x1dfd])(piVar3 + 1,uVar2,iVar4), iVar4 == 0)) {\n        if (piVar10 != (int *)0x0) {\n          iVar4 = (*(code *)piStack_a0[-0x1fdd])(uVar2);\n          *piVar10 = iVar4;\n        }\n        if (piVar20 != (int *)0x0) {\n          *piVar20 = iVar18;\n        }\n        if (piVar13 == (int *)0x0) {\n          (*(code *)piStack_a0[-0x1fe0])(puVar6);\n        }\n        else {\n          *piVar13 = (int)puVar6;\n        }\n        (*(code *)piStack_a0[-0x1fe0])(uVar2);\n        return piVar3;\n      }\n      iVar4 = piStack_a0[-0x1ff2] + 0x441c;\n    }" ({ "{") (expression_statement "iVar4 = (*(code *)piStack_a0[-0x1de8])(uVar2);" (assignment_expression "iVar4 = (*(code *)piStack_a0[-0x1de8])(uVar2)" (identifier "iVar4") (= "=") (call_expression "(*(code *)piStack_a0[-0x1de8])(uVar2)" (parenthesized_expression "(*(code *)piStack_a0[-0x1de8])" (( "(") (pointer_expression "*(code *)piStack_a0[-0x1de8]" (* "*") (cast_expression "(code *)piStack_a0[-0x1de8]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piStack_a0[-0x1de8]" (identifier "piStack_a0") ([ "[") (number_literal "-0x1de8") (] "]")))) () ")")) (argument_list "(uVar2)" (( "(") (identifier "uVar2") () ")")))) (; ";")) (if_statement "if (((iVar4 + 3 < iVar18) && (iVar4 == *piVar3)) &&\n         (iVar4 = (*(code *)piStack_a0[-0x1dfd])(piVar3 + 1,uVar2,iVar4), iVar4 == 0)) {\n        if (piVar10 != (int *)0x0) {\n          iVar4 = (*(code *)piStack_a0[-0x1fdd])(uVar2);\n          *piVar10 = iVar4;\n        }\n        if (piVar20 != (int *)0x0) {\n          *piVar20 = iVar18;\n        }\n        if (piVar13 == (int *)0x0) {\n          (*(code *)piStack_a0[-0x1fe0])(puVar6);\n        }\n        else {\n          *piVar13 = (int)puVar6;\n        }\n        (*(code *)piStack_a0[-0x1fe0])(uVar2);\n        return piVar3;\n      }" (if "if") (parenthesized_expression "(((iVar4 + 3 < iVar18) && (iVar4 == *piVar3)) &&\n         (iVar4 = (*(code *)piStack_a0[-0x1dfd])(piVar3 + 1,uVar2,iVar4), iVar4 == 0))" (( "(") (binary_expression "((iVar4 + 3 < iVar18) && (iVar4 == *piVar3)) &&\n         (iVar4 = (*(code *)piStack_a0[-0x1dfd])(piVar3 + 1,uVar2,iVar4), iVar4 == 0)" (parenthesized_expression "((iVar4 + 3 < iVar18) && (iVar4 == *piVar3))" (( "(") (binary_expression "(iVar4 + 3 < iVar18) && (iVar4 == *piVar3)" (parenthesized_expression "(iVar4 + 3 < iVar18)" (( "(") (binary_expression "iVar4 + 3 < iVar18" (binary_expression "iVar4 + 3" (identifier "iVar4") (+ "+") (number_literal "3")) (< "<") (identifier "iVar18")) () ")")) (&& "&&") (parenthesized_expression "(iVar4 == *piVar3)" (( "(") (binary_expression "iVar4 == *piVar3" (identifier "iVar4") (== "==") (pointer_expression "*piVar3" (* "*") (identifier "piVar3"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(iVar4 = (*(code *)piStack_a0[-0x1dfd])(piVar3 + 1,uVar2,iVar4), iVar4 == 0)" (( "(") (comma_expression "iVar4 = (*(code *)piStack_a0[-0x1dfd])(piVar3 + 1,uVar2,iVar4), iVar4 == 0" (assignment_expression "iVar4 = (*(code *)piStack_a0[-0x1dfd])(piVar3 + 1,uVar2,iVar4)" (identifier "iVar4") (= "=") (call_expression "(*(code *)piStack_a0[-0x1dfd])(piVar3 + 1,uVar2,iVar4)" (parenthesized_expression "(*(code *)piStack_a0[-0x1dfd])" (( "(") (pointer_expression "*(code *)piStack_a0[-0x1dfd]" (* "*") (cast_expression "(code *)piStack_a0[-0x1dfd]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piStack_a0[-0x1dfd]" (identifier "piStack_a0") ([ "[") (number_literal "-0x1dfd") (] "]")))) () ")")) (argument_list "(piVar3 + 1,uVar2,iVar4)" (( "(") (binary_expression "piVar3 + 1" (identifier "piVar3") (+ "+") (number_literal "1")) (, ",") (identifier "uVar2") (, ",") (identifier "iVar4") () ")")))) (, ",") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n        if (piVar10 != (int *)0x0) {\n          iVar4 = (*(code *)piStack_a0[-0x1fdd])(uVar2);\n          *piVar10 = iVar4;\n        }\n        if (piVar20 != (int *)0x0) {\n          *piVar20 = iVar18;\n        }\n        if (piVar13 == (int *)0x0) {\n          (*(code *)piStack_a0[-0x1fe0])(puVar6);\n        }\n        else {\n          *piVar13 = (int)puVar6;\n        }\n        (*(code *)piStack_a0[-0x1fe0])(uVar2);\n        return piVar3;\n      }" ({ "{") (if_statement "if (piVar10 != (int *)0x0) {\n          iVar4 = (*(code *)piStack_a0[-0x1fdd])(uVar2);\n          *piVar10 = iVar4;\n        }" (if "if") (parenthesized_expression "(piVar10 != (int *)0x0)" (( "(") (binary_expression "piVar10 != (int *)0x0" (identifier "piVar10") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          iVar4 = (*(code *)piStack_a0[-0x1fdd])(uVar2);\n          *piVar10 = iVar4;\n        }" ({ "{") (expression_statement "iVar4 = (*(code *)piStack_a0[-0x1fdd])(uVar2);" (assignment_expression "iVar4 = (*(code *)piStack_a0[-0x1fdd])(uVar2)" (identifier "iVar4") (= "=") (call_expression "(*(code *)piStack_a0[-0x1fdd])(uVar2)" (parenthesized_expression "(*(code *)piStack_a0[-0x1fdd])" (( "(") (pointer_expression "*(code *)piStack_a0[-0x1fdd]" (* "*") (cast_expression "(code *)piStack_a0[-0x1fdd]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piStack_a0[-0x1fdd]" (identifier "piStack_a0") ([ "[") (number_literal "-0x1fdd") (] "]")))) () ")")) (argument_list "(uVar2)" (( "(") (identifier "uVar2") () ")")))) (; ";")) (expression_statement "*piVar10 = iVar4;" (assignment_expression "*piVar10 = iVar4" (pointer_expression "*piVar10" (* "*") (identifier "piVar10")) (= "=") (identifier "iVar4")) (; ";")) (} "}"))) (if_statement "if (piVar20 != (int *)0x0) {\n          *piVar20 = iVar18;\n        }" (if "if") (parenthesized_expression "(piVar20 != (int *)0x0)" (( "(") (binary_expression "piVar20 != (int *)0x0" (identifier "piVar20") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          *piVar20 = iVar18;\n        }" ({ "{") (expression_statement "*piVar20 = iVar18;" (assignment_expression "*piVar20 = iVar18" (pointer_expression "*piVar20" (* "*") (identifier "piVar20")) (= "=") (identifier "iVar18")) (; ";")) (} "}"))) (if_statement "if (piVar13 == (int *)0x0) {\n          (*(code *)piStack_a0[-0x1fe0])(puVar6);\n        }\n        else {\n          *piVar13 = (int)puVar6;\n        }" (if "if") (parenthesized_expression "(piVar13 == (int *)0x0)" (( "(") (binary_expression "piVar13 == (int *)0x0" (identifier "piVar13") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          (*(code *)piStack_a0[-0x1fe0])(puVar6);\n        }" ({ "{") (expression_statement "(*(code *)piStack_a0[-0x1fe0])(puVar6);" (call_expression "(*(code *)piStack_a0[-0x1fe0])(puVar6)" (parenthesized_expression "(*(code *)piStack_a0[-0x1fe0])" (( "(") (pointer_expression "*(code *)piStack_a0[-0x1fe0]" (* "*") (cast_expression "(code *)piStack_a0[-0x1fe0]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piStack_a0[-0x1fe0]" (identifier "piStack_a0") ([ "[") (number_literal "-0x1fe0") (] "]")))) () ")")) (argument_list "(puVar6)" (( "(") (identifier "puVar6") () ")"))) (; ";")) (} "}")) (else_clause "else {\n          *piVar13 = (int)puVar6;\n        }" (else "else") (compound_statement "{\n          *piVar13 = (int)puVar6;\n        }" ({ "{") (expression_statement "*piVar13 = (int)puVar6;" (assignment_expression "*piVar13 = (int)puVar6" (pointer_expression "*piVar13" (* "*") (identifier "piVar13")) (= "=") (cast_expression "(int)puVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar6"))) (; ";")) (} "}")))) (expression_statement "(*(code *)piStack_a0[-0x1fe0])(uVar2);" (call_expression "(*(code *)piStack_a0[-0x1fe0])(uVar2)" (parenthesized_expression "(*(code *)piStack_a0[-0x1fe0])" (( "(") (pointer_expression "*(code *)piStack_a0[-0x1fe0]" (* "*") (cast_expression "(code *)piStack_a0[-0x1fe0]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piStack_a0[-0x1fe0]" (identifier "piStack_a0") ([ "[") (number_literal "-0x1fe0") (] "]")))) () ")")) (argument_list "(uVar2)" (( "(") (identifier "uVar2") () ")"))) (; ";")) (return_statement "return piVar3;" (return "return") (identifier "piVar3") (; ";")) (} "}"))) (expression_statement "iVar4 = piStack_a0[-0x1ff2] + 0x441c;" (assignment_expression "iVar4 = piStack_a0[-0x1ff2] + 0x441c" (identifier "iVar4") (= "=") (binary_expression "piStack_a0[-0x1ff2] + 0x441c" (subscript_expression "piStack_a0[-0x1ff2]" (identifier "piStack_a0") ([ "[") (number_literal "-0x1ff2") (] "]")) (+ "+") (number_literal "0x441c"))) (; ";")) (} "}")) (else_clause "else {\n      iVar4 = piStack_a0[-0x1ff2] + 0x4454;\n    }" (else "else") (compound_statement "{\n      iVar4 = piStack_a0[-0x1ff2] + 0x4454;\n    }" ({ "{") (expression_statement "iVar4 = piStack_a0[-0x1ff2] + 0x4454;" (assignment_expression "iVar4 = piStack_a0[-0x1ff2] + 0x4454" (identifier "iVar4") (= "=") (binary_expression "piStack_a0[-0x1ff2] + 0x4454" (subscript_expression "piStack_a0[-0x1ff2]" (identifier "piStack_a0") ([ "[") (number_literal "-0x1ff2") (] "]")) (+ "+") (number_literal "0x4454"))) (; ";")) (} "}")))) (} "}")))) (expression_statement "(*(code *)piStack_a0[-0x1fe0])(uVar2);" (call_expression "(*(code *)piStack_a0[-0x1fe0])(uVar2)" (parenthesized_expression "(*(code *)piStack_a0[-0x1fe0])" (( "(") (pointer_expression "*(code *)piStack_a0[-0x1fe0]" (* "*") (cast_expression "(code *)piStack_a0[-0x1fe0]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piStack_a0[-0x1fe0]" (identifier "piStack_a0") ([ "[") (number_literal "-0x1fe0") (] "]")))) () ")")) (argument_list "(uVar2)" (( "(") (identifier "uVar2") () ")"))) (; ";")) (expression_statement "(*(code *)piStack_a0[-0x1fe0])(puVar6);" (call_expression "(*(code *)piStack_a0[-0x1fe0])(puVar6)" (parenthesized_expression "(*(code *)piStack_a0[-0x1fe0])" (( "(") (pointer_expression "*(code *)piStack_a0[-0x1fe0]" (* "*") (cast_expression "(code *)piStack_a0[-0x1fe0]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piStack_a0[-0x1fe0]" (identifier "piStack_a0") ([ "[") (number_literal "-0x1fe0") (] "]")))) () ")")) (argument_list "(puVar6)" (( "(") (identifier "puVar6") () ")"))) (; ";")) (expression_statement "(*(code *)piStack_a0[-0x1fe0])(piVar3);" (call_expression "(*(code *)piStack_a0[-0x1fe0])(piVar3)" (parenthesized_expression "(*(code *)piStack_a0[-0x1fe0])" (( "(") (pointer_expression "*(code *)piStack_a0[-0x1fe0]" (* "*") (cast_expression "(code *)piStack_a0[-0x1fe0]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piStack_a0[-0x1fe0]" (identifier "piStack_a0") ([ "[") (number_literal "-0x1fe0") (] "]")))) () ")")) (argument_list "(piVar3)" (( "(") (identifier "piVar3") () ")"))) (; ";")) (expression_statement "__gp_1 = iVar4;" (assignment_expression "__gp_1 = iVar4" (identifier "__gp_1") (= "=") (identifier "iVar4")) (; ";")) (return_statement "return (int *)0x0;" (return "return") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")) (; ";")) (} "}")))

/* WARNING: Removing unreachable block (ram,0x000438ac) */
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */

type_1 * function_1(type_2 *fp,char **var_8,int *var_9,char **var_10,
                       char **var_12)

{
  type_3 *puVar1;
  int *var_20;
  int var_13;
  type_4 uVar4;
  type_2 *var_1;
  int var_3;
  type_1 var_6;
  type_5 *var_15;
  type_6 var_17;
  int *var_38;
  int var_11;
  type_7 *var_27;
  type_2 *var_35;
  type_8 *pFVar14;
  char **var_25;
  char **var_32;
  char **var_34;
  type_2 *pFVar18;
  int *var_31;
  char **var_39;
  int *var_28;
  char *var_36;
  int *piVar22;
  char *var_16;
  type_3 *puVar24;
  type_1 *var_7;
  char **unaff_s4;
  type_2 *var_5;
  char **unaff_s6;
  char **ppcVar26;
  char **unaff_s7;
  type_3 *var_14;
  char *var_4;
  type_9 *var_18;
  type_9 *pcVar29;
  char acStack_184 [40];
  int var_37;
  int *piStack_154;
  int *piStack_150;
  int *piStack_14c;
  char **ppcStack_148;
  int *piStack_144;
  type_1 *puStack_140;
  char **ppcStack_13c;
  type_2 *pFStack_138;
  type_9 *pcStack_134;
  int *piStack_120;
  type_9 *var_21;
  type_9 *pcStack_110;
  type_9 *pcStack_10c;
  int iStack_108;
  char *apcStack_104 [10];
  type_8 *var_33;
  char *pcStack_d8;
  int iStack_d4;
  int *piStack_d0;
  int iStack_cc;
  char *pcStack_c8;
  type_4 uStack_c4;
  char **ppcStack_c0;
  type_2 *pFStack_bc;
  char **ppcStack_b8;
  type_9 *pcStack_b4;
  int *piStack_a0;
  type_2 *pFStack_98;
  char *pcStack_94;
  type_1 *puStack_90;
  type_2 *pFStack_8c;
  char **ppcStack_88;
  type_2 *pFStack_84;
  char **ppcStack_80;
  char **ppcStack_7c;
  char *pcStack_78;
  type_9 *pcStack_74;
  char *pcStack_54;
  type_1 base64out [3];
  char base64in [4];
  
  var_14 = PTR___stack_chk_guard_00079930;
  var_13 = *(int *)PTR___stack_chk_guard_00079930;
  var_25 = var_8;
  var_35 = (type_2 *)var_9;
  var_39 = var_10;
  uVar4 = (*(type_9 *)PTR_fgetline_00079538)();
  var_1 = (type_2 *)(*(type_9 *)PTR_chomp_0007953c)(uVar4);
  if (var_1 != (type_2 *)0x0) {
    var_25 = (char **)(var_2 + 0x43cc);
    var_3 = (*(type_9 *)PTR_strcmp_000798a4)(var_1);
    if (var_3 == 0) {
      (*(type_9 *)PTR_safefree_000790f0)(var_1);
      pcStack_54 = (char *)0x0;
      puVar24 = var_2 + 0x43ec;
      var_34 = (char **)(var_2 + 0x4258);
      unaff_s4 = (char **)(var_2 + 0x43f0);
      unaff_s7 = (char **)(var_2 + 0x43f8);
      while( true ) {
        uVar4 = (*(type_9 *)PTR_fgetline_00079538)(fp);
        var_1 = (type_2 *)(*(type_9 *)PTR_chomp_0007953c)(uVar4);
        if (var_1 == (type_2 *)0x0) break;
        var_4 = (char *)(*(type_9 *)PTR_strstr_00079944)(var_1,puVar24);
        puVar1 = PTR_strcmp_000798a4;
        if (var_4 == (char *)0x0) {
          var_25 = (char **)0x1;
          unaff_s7 = (char **)base64out;
          var_7 = (type_1 *)(*(type_9 *)PTR_safemalloc_000790d0)(0x1000);
          var_4 = base64in;
          var_3 = 0;
          unaff_s4 = (char **)0x0;
          var_11 = 0x1000;
          goto LAB_0004340c;
        }
        *var_4 = '\0';
        var_25 = var_34;
        var_3 = (*(type_9 *)puVar1)(var_1);
        if (var_3 == 0) {
          var_5 = (type_2 *)(int)var_4[2];
          unaff_s6 = (char **)(var_4 + 2);
          var_35 = var_1;
          if (var_5 == (type_2 *)0x22) {
            var_3 = (*(type_9 *)PTR_strlen_000798d0)(unaff_s6);
            var_7 = (type_1 *)((int)unaff_s6 + var_3 + -1);
            if (*var_7 == '\"') {
              *var_7 = '\0';
              var_5 = (type_2 *)(int)var_4[3];
              unaff_s6 = (char **)(var_4 + 3);
              if (var_5 == (type_2 *)0x0) goto LAB_00043364;
            }
LAB_00043310:
            var_39 = (char **)0x5c;
            var_32 = var_25;
            pFVar18 = var_1;
            ppcVar26 = unaff_s6;
            do {
              while ((var_25 = (char **)((int)ppcVar26 + 1), var_5 != (type_2 *)0x5c ||
                     (*(type_1 *)((int)ppcVar26 + 1) == '\0'))) {
                var_35 = (type_2 *)((int)&pFVar18->_flags + 1);
                *(type_1 *)&pFVar18->_flags = *(type_1 *)ppcVar26;
                var_5 = (type_2 *)(int)(char)*(type_1 *)((int)ppcVar26 + 1);
                var_32 = var_25;
                pFVar18 = var_35;
                unaff_s6 = var_25;
                ppcVar26 = var_25;
                if (var_5 == (type_2 *)0x0) goto LAB_00043364;
              }
              var_35 = (type_2 *)((int)&pFVar18->_flags + 1);
              *(type_1 *)&pFVar18->_flags = *(type_1 *)((int)ppcVar26 + 1);
              var_5 = (type_2 *)(int)(char)*(type_1 *)((int)ppcVar26 + 2);
              var_25 = var_32;
              pFVar18 = var_35;
              unaff_s6 = (char **)((int)ppcVar26 + 2);
              ppcVar26 = (char **)((int)ppcVar26 + 2);
            } while (var_5 != (type_2 *)0x0);
          }
          else if (var_5 != (type_2 *)0x0) goto LAB_00043310;
LAB_00043364:
          puVar1 = PTR_safefree_000790f0;
          *(type_1 *)&var_35->_flags = '\0';
          (*(type_9 *)puVar1)(pcStack_54);
          pcStack_54 = (char *)(*(type_9 *)PTR_dupstr_000790fc)(var_1);
        }
        else {
          var_25 = unaff_s4;
          var_3 = (*(type_9 *)PTR_strcmp_000798a4)(var_1);
          if (var_3 != 0) {
            var_35 = (type_2 *)0x2;
            var_25 = unaff_s7;
            var_3 = (*(type_9 *)PTR_strncmp_000797c4)(var_1);
            if (var_3 != 0) {
              var_7 = (type_1 *)0x0;
              var_16 = var_2 + 0x437c;
              var_8 = (char **)var_1;
              goto LAB_00043198;
            }
          }
        }
        (*(type_9 *)PTR_safefree_000790f0)(var_1);
      }
      var_7 = (type_1 *)0x0;
      var_16 = var_2 + 0x43ac;
      var_8 = (char **)var_1;
      goto LAB_00043198;
    }
  }
  var_7 = (type_1 *)0x0;
  pcStack_54 = (char *)0x0;
  var_16 = var_2 + 0x42f0;
  var_8 = (char **)var_1;
  goto LAB_00043198;
LAB_0004340c:
  do {
    var_6 = *(type_1 *)&var_1->_flags;
    var_5 = var_1;
    if (var_6 == '-') {
      var_25 = (char **)(var_2 + 0x43fc);
      var_3 = (*(type_9 *)PTR_strcmp_000798a4)(var_1);
      if (var_3 == 0) {
        (*(type_9 *)PTR_safefree_000790f0)(var_1);
        if ((int)unaff_s4 < 4) {
          var_16 = var_2 + 0x42c4;
          var_8 = (char **)(type_2 *)0x0;
          goto LAB_00043198;
        }
        var_34 = (char **)(*(type_9 *)PTR_toint_000792c8)(*(type_4 *)var_7);
        var_16 = var_2;
        if (((int)var_34 < 0) || ((int)((int)unaff_s4 + -3) <= (int)var_34)) {
          var_16 = var_2 + 0x431c;
          var_8 = (char **)(type_2 *)0x0;
          goto LAB_00043198;
        }
        var_35 = (type_2 *)(var_7 + 4);
        if (var_8 != (char **)0x0) {
          var_36 = (char *)(*(type_9 *)PTR_dupprintf_000790e8)(var_2 + -0x26d0);
          *var_8 = var_36;
          var_25 = var_34;
        }
        if (var_9 != (int *)0x0) {
          *var_9 = (int)unaff_s4;
        }
        if (var_10 == (char **)0x0) {
          (*(type_9 *)PTR_safefree_000790f0)(pcStack_54);
        }
        else {
          *var_10 = pcStack_54;
        }
        goto LAB_000431d8;
      }
      break;
    }
    unaff_s6 = (char **)0x4;
    while (var_34 = unaff_s4, var_6 != '\0') {
      while( true ) {
        base64in[var_3] = var_6;
        if (var_3 + 1 != 4) break;
        var_35 = (type_2 *)(*(type_9 *)PTR_base64_decode_atom_000792d8)(var_4,unaff_s7);
        unaff_s4 = (char **)((int)var_34 + (int)var_35);
        if (var_11 < (int)unaff_s4) {
          var_11 = ((int)unaff_s4 * 5 >> 2) + 0x400;
          var_7 = (type_1 *)(*(type_9 *)PTR_saferealloc_000791a0)(var_7,var_11,1);
        }
        var_5 = (type_2 *)((int)&var_5->_flags + 1);
        var_25 = unaff_s7;
        (*(type_9 *)PTR_memcpy_000798e0)(var_7 + (int)var_34);
        var_3 = 0;
        var_6 = *(type_1 *)&var_5->_flags;
        var_34 = unaff_s4;
        if (var_6 == '\0') goto LAB_000434ac;
      }
      var_5 = (type_2 *)((int)&var_5->_flags + 1);
      var_3 = var_3 + 1;
      unaff_s4 = var_34;
      var_6 = *(type_1 *)&var_5->_flags;
    }
LAB_000434ac:
    (*(type_9 *)PTR_safefree_000790f0)(var_1);
    uVar4 = (*(type_9 *)PTR_fgetline_00079538)(fp);
    var_1 = (type_2 *)(*(type_9 *)PTR_chomp_0007953c)(uVar4);
  } while (var_1 != (type_2 *)0x0);
  var_16 = var_2 + 0x4350;
  var_8 = (char **)var_1;
LAB_00043198:
  (*(type_9 *)PTR_safefree_000790f0)(var_8);
  (*(type_9 *)PTR_safefree_000790f0)(pcStack_54);
  (*(type_9 *)PTR_safefree_000790f0)(var_7);
  var_1 = var_5;
  if (var_12 == (char **)0x0) {
    var_7 = (type_1 *)0x0;
  }
  else {
    var_7 = (type_1 *)0x0;
    *var_12 = var_16;
  }
LAB_000431d8:
  if (var_13 == *(int *)var_14) {
    return var_7;
  }
  var_18 = openssh_loadpub;
  var_14 = PTR___stack_chk_fail_000797f0;
  (*(type_9 *)PTR___stack_chk_fail_000797f0)();
  piStack_a0 = (int *)(var_14 + 0x3da44);
  pFStack_98 = (type_2 *)var_8;
  pcStack_94 = var_16;
  puStack_90 = var_7;
  pFStack_8c = fp;
  ppcStack_88 = unaff_s4;
  pFStack_84 = var_1;
  ppcStack_80 = unaff_s6;
  ppcStack_7c = unaff_s7;
  pcStack_78 = var_4;
  pcStack_74 = var_18;
  uVar4 = (**(type_9 **)(var_14 + 0x35f0c))();
  uVar4 = (*(type_9 *)piStack_a0[-0x1ecd])(uVar4);
  var_15 = (type_5 *)(*(type_9 *)piStack_a0[-0x1e0f])(uVar4,0x20);
  if (var_15 == (type_5 *)0x0) {
    var_38 = (int *)0x0;
    var_13 = piStack_a0[-0x1ff2] + 0x4490;
    var_16 = (char *)0x0;
  }
  else {
    var_18 = (type_9 *)piStack_a0[-0x1e0f];
    var_36 = var_15 + 1;
    *var_15 = 0;
    var_16 = (char *)(*var_18)(var_36,0x20);
    if (var_16 != (char *)0x0) {
      var_18 = (type_9 *)piStack_a0[-0x1fdd];
      *var_16 = '\0';
      var_16 = (char *)(*var_18)(var_16 + 1);
    }
    var_3 = 0;
    var_17 = (*(type_9 *)piStack_a0[-0x1de8])(var_36);
    var_13 = (var_17 >> 2) * 3;
    var_38 = (int *)(*(type_9 *)piStack_a0[-0x1fe8])(var_13,1);
    while (var_11 = (*(type_9 *)piStack_a0[-0x1df7])(var_36,0,4), var_11 == 0) {
      if (var_13 <= var_3 + 2) {
        var_31 = (int *)&DAT_00000441;
        var_18 = (type_9 *)piStack_a0[-0x1e6c];
        var_28 = (int *)(piStack_a0[-0x1ff2] + 0x4800);
        var_32 = (char **)(piStack_a0[-0x1ff2] + 0x4034);
        pcVar29 = ssh2_userkey_loadpub;
        pFVar14 = (type_8 *)(piStack_a0[-0x1ff2] + 0x44b8);
        (*var_18)();
        var_20 = piStack_a0;
        var_21 = var_18 + 0x3d74c;
        piVar22 = *(int **)(var_18 + 0x3600c);
        var_34 = (char **)(*(int *)(var_18 + 0x35784) + 0x4078);
        var_33 = (type_8 *)*piVar22;
        pcStack_d8 = var_36;
        iStack_d4 = var_3;
        piStack_d0 = var_38;
        iStack_cc = var_13;
        pcStack_c8 = var_16;
        uStack_c4 = uVar4;
        ppcStack_c0 = var_39;
        pFStack_bc = var_35;
        ppcStack_b8 = var_25;
        pcStack_b4 = pcVar29;
        var_1 = var_19(pFVar14,(char *)var_34,0);
        if (var_1 == (type_2 *)0x0) {
          if (var_20 != (int *)0x0) {
            *var_20 = *(int *)(var_21 + -0x7fc8) + 0x407c;
          }
LAB_000439f4:
          var_7 = (type_1 *)0x0;
          var_1 = var_35;
        }
        else {
          var_13 = var_22(var_1);
          if (var_13 == 9) {
            var_18 = *(type_9 **)(var_21 + -0x7b14);
          }
          else {
            if (var_13 != 10) {
              var_35 = var_1;
              if (var_13 != 3) {
LAB_000439d4:
                (**(type_9 **)(var_21 + -0x77e4))(var_1);
                if (var_20 != (int *)0x0) {
                  *var_20 = *(int *)(var_21 + -0x7fc8) + 0x41c4;
                }
                goto LAB_000439f4;
              }
              var_39 = apcStack_104;
              var_13 = var_23(var_1,(char *)var_39);
              if (var_13 == 0) {
LAB_00043cc0:
                var_34 = (char **)(*(int *)(var_21 + -0x7fc8) + 0x4134);
                var_13 = (**(type_9 **)(var_21 + -0x78ac))(var_39,var_34,0x14);
                if (var_13 == 0) {
                  (**(type_9 **)(var_21 + -0x77e4))(var_1);
                  if (var_20 != (int *)0x0) {
                    *var_20 = *(int *)(var_21 + -0x7fc8) + 0x41e4;
                  }
                  goto LAB_000439f4;
                }
                goto LAB_000439d4;
              }
              var_34 = (char **)(*(int *)(var_21 + -0x7fc8) + 0x4214);
              var_13 = (**(type_9 **)(var_21 + -0x77cc))(var_39);
              if (var_13 != 0) {
                var_34 = (char **)(*(int *)(var_21 + -0x7fc8) + 0x422c);
                var_13 = (**(type_9 **)(var_21 + -0x77cc))(var_39);
                if (var_13 != 0) goto LAB_00043cc0;
              }
              pcStack_110 = (type_9 *)(*(int *)(var_21 + -0x7b8c) + 0xe74);
              var_25 = (char **)var_24(var_1);
              if (var_25 == (char **)0x0) {
LAB_00043c9c:
                (**(type_9 **)(var_21 + -0x77e4))(var_1);
                if (var_20 != (int *)0x0) {
                  *var_20 = *(int *)(var_21 + -0x7fc8) + 0x3ff8;
                }
                goto LAB_000439f4;
              }
              var_13 = (**(type_9 **)(var_21 + -0x77a0))(var_25);
              var_34 = var_25;
              var_27 = var_26(var_13,(char *)var_25);
              (**(type_9 **)(var_21 + -0x7f80))(var_25);
              if ((var_27 == (type_7 *)0x0) ||
                 (var_34 = var_39, var_13 = var_23(var_1,(char *)var_39), var_13 == 0))
              goto LAB_00043c9c;
              var_34 = (char **)(*(int *)(var_21 + -0x7fc8) + 0x4244);
              var_13 = (**(type_9 **)(var_21 + -0x77cc))(var_39);
              if ((var_13 != 0) || (var_13 = (*pcStack_110)(var_1), var_13 == 0)) goto LAB_00043c9c;
              (**(type_9 **)(var_21 + -0x7f80))(var_13);
              var_34 = var_39;
              var_13 = var_23(var_1,(char *)var_39);
              if (var_13 == 0) goto LAB_00043c9c;
              var_34 = (char **)(*(int *)(var_21 + -0x7fc8) + 0x4258);
              var_13 = (**(type_9 **)(var_21 + -0x77cc))(var_39);
              if ((var_13 != 0) || (var_18 = (type_9 *)(*pcStack_110)(var_1), var_18 == (type_9 *)0x0)
                 ) goto LAB_00043c9c;
              pcStack_10c = var_18;
              if (var_28 == (int *)0x0) {
                (**(type_9 **)(var_21 + -0x7f80))(var_18);
              }
              else {
                *var_28 = (int)var_18;
              }
              var_25 = var_39;
              var_13 = var_23(var_1,(char *)var_39);
              var_18 = pcStack_10c;
              if (var_13 == 0) {
LAB_00043d58:
                var_34 = var_25;
                pcStack_110 = var_18;
                (**(type_9 **)(var_21 + -0x77e4))(var_1);
                if (var_20 != (int *)0x0) {
                  *var_20 = *(int *)(var_21 + -0x7fc8) + 0x3ff8;
                }
                if (var_28 == (int *)0x0) goto LAB_000439f4;
                var_7 = (type_1 *)0x0;
                (**(type_9 **)(var_21 + -0x7f80))(pcStack_110);
                *var_28 = 0;
              }
              else {
                var_25 = (char **)(*(int *)(var_21 + -0x7fc8) + 0x4260);
                var_13 = (**(type_9 **)(var_21 + -0x77cc))(var_39);
                var_18 = pcStack_10c;
                if ((var_13 != 0) ||
                   (var_16 = (char *)(*pcStack_110)(var_1), var_18 = pcStack_10c,
                   var_16 == (char *)0x0)) goto LAB_00043d58;
                pcStack_110 = pcStack_10c;
                var_34 = (char **)var_29(var_16);
                (**(type_9 **)(var_21 + -0x7f80))(var_16);
                var_18 = pcStack_110;
                if (((int)var_34 < 0) ||
                   (var_7 = var_30(var_1,(int)var_34,&iStack_108), var_25 = var_34,
                   var_18 = pcStack_110, var_7 == (type_1 *)0x0)) goto LAB_00043d58;
                (**(type_9 **)(var_21 + -0x77e4))(var_1);
                if (var_31 != (int *)0x0) {
                  *var_31 = iStack_108;
                }
                if (var_32 != (char **)0x0) {
                  var_16 = (char *)(**(type_9 **)(var_21 + -0x7f74))(var_27->name);
                  *var_32 = var_16;
                }
              }
              goto LAB_000439f8;
            }
            var_18 = *(type_9 **)(var_21 + -0x7b10);
          }
          piStack_120 = var_20;
          var_34 = var_32;
          var_7 = (type_1 *)(*var_18)(var_1,var_32,var_31,var_28);
          (**(type_9 **)(var_21 + -0x77e4))(var_1);
        }
LAB_000439f8:
        if (var_33 == (type_8 *)*piVar22) {
          return var_7;
        }
        var_18 = *(type_9 **)(var_21 + -0x7880);
        pcVar29 = ssh2_userkey_encrypted;
        pFVar14 = var_33;
        (*var_18)();
        var_38 = *(int **)(var_18 + 0x35b70);
        piStack_150 = var_20;
        var_37 = *var_38;
        if (var_34 != (char **)0x0) {
          *var_34 = (char *)0x0;
        }
        piStack_154 = piVar22;
        piStack_14c = var_28;
        ppcStack_148 = var_32;
        piStack_144 = var_31;
        puStack_140 = var_7;
        ppcStack_13c = var_39;
        pFStack_138 = var_1;
        pcStack_134 = pcVar29;
        var_35 = var_19(pFVar14,(char *)(*(int *)(var_18 + 0x352e8) + 0x4078),0);
        if (var_35 == (type_2 *)0x0) {
          var_7 = (type_1 *)0x0;
        }
        else {
          var_13 = var_23(var_35,acStack_184);
          if ((var_13 != 0) &&
             (((var_13 = (**(type_9 **)(var_18 + 0x35ae4))
                                  (acStack_184,*(int *)(var_18 + 0x352e8) + 0x4214), var_13 == 0 ||
               (var_13 = (**(type_9 **)(var_18 + 0x35ae4))
                                  (acStack_184,*(int *)(var_18 + 0x352e8) + 0x422c), var_13 == 0))
              && (var_16 = var_24(var_35), var_16 != (char *)0x0)))) {
            (**(type_9 **)(var_18 + 0x35330))(var_16);
            var_13 = var_23(var_35,acStack_184);
            if ((var_13 != 0) &&
               (var_13 = (**(type_9 **)(var_18 + 0x35ae4))
                                  (acStack_184,*(int *)(var_18 + 0x352e8) + 0x4244), var_13 == 0)) {
              var_16 = var_24(var_35);
              if (var_16 == (char *)0x0) {
                (**(type_9 **)(var_18 + 0x35acc))(var_35);
                var_7 = (type_1 *)0x0;
              }
              else {
                var_13 = var_23(var_35,acStack_184);
                if (((var_13 == 0) ||
                    (var_13 = (**(type_9 **)(var_18 + 0x35ae4))
                                       (acStack_184,*(int *)(var_18 + 0x352e8) + 0x4258),
                    var_13 != 0)) || (var_36 = var_24(var_35), var_36 == (char *)0x0)) {
                  var_7 = (type_1 *)0x1;
                  (**(type_9 **)(var_18 + 0x35acc))(var_35);
                  (**(type_9 **)(var_18 + 0x35330))(var_16);
                }
                else {
                  if (var_34 == (char **)0x0) {
                    (**(type_9 **)(var_18 + 0x35330))(var_36);
                  }
                  else {
                    *var_34 = var_36;
                  }
                  (**(type_9 **)(var_18 + 0x35acc))(var_35);
                  var_13 = (**(type_9 **)(var_18 + 0x35ae4))
                                    (var_16,*(int *)(var_18 + 0x352e8) + 0x7c4);
                  var_7 = (type_1 *)(type_6)(var_13 == 0);
                  (**(type_9 **)(var_18 + 0x35330))(var_16);
                }
              }
              goto LAB_00043f04;
            }
          }
          var_7 = (type_1 *)0x0;
          (**(type_9 **)(var_18 + 0x35acc))(var_35);
        }
LAB_00043f04:
        if (var_37 != *var_38) {
          (**(type_9 **)(var_18 + 0x35a30))();
          return (type_1 *)((var_37 + 0x2f) / 0x30);
        }
        return var_7;
      }
      var_11 = (*(type_9 *)piStack_a0[-0x1f66])(var_36,(type_1 *)((int)var_38 + var_3));
      var_3 = var_3 + var_11;
      var_36 = var_36 + 4;
    }
    if (*var_36 == '\0') {
      var_13 = (*(type_9 *)piStack_a0[-0x1de8])(uVar4);
      if (((var_13 + 3 < var_3) && (var_13 == *var_38)) &&
         (var_13 = (*(type_9 *)piStack_a0[-0x1dfd])(var_38 + 1,uVar4,var_13), var_13 == 0)) {
        if (var_25 != (char **)0x0) {
          var_36 = (char *)(*(type_9 *)piStack_a0[-0x1fdd])(uVar4);
          *var_25 = var_36;
        }
        if (var_35 != (type_2 *)0x0) {
          var_35->_flags = var_3;
        }
        if (var_39 == (char **)0x0) {
          (*(type_9 *)piStack_a0[-0x1fe0])(var_16);
        }
        else {
          *var_39 = var_16;
        }
        (*(type_9 *)piStack_a0[-0x1fe0])(uVar4);
        return (type_1 *)var_38;
      }
      var_13 = piStack_a0[-0x1ff2] + 0x441c;
    }
    else {
      var_13 = piStack_a0[-0x1ff2] + 0x4454;
    }
  }
  (*(type_9 *)piStack_a0[-0x1fe0])(uVar4);
  (*(type_9 *)piStack_a0[-0x1fe0])(var_16);
  (*(type_9 *)piStack_a0[-0x1fe0])(var_38);
  __gp = var_13;
  return (type_1 *)0x0;
}


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

/* WARNING: Removing unreachable block (ram,0x000438ac) */
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */

int * MASKED(undefined4 param_1,int *param_2,int *param_3,int *param_4,undefined4 *param_5)

{
  undefined *puVar1;
  undefined4 uVar2;
  int *piVar3;
  int iVar4;
  int *piVar5;
  char cVar9;
  undefined1 *puVar6;
  uint uVar7;
  int iVar8;
  int *piVar10;
  int *piVar11;
  undefined4 *puVar12;
  int *piVar13;
  int *piVar14;
  char *pcVar15;
  int *piVar16;
  undefined *puVar17;
  int iVar18;
  int *piVar19;
  int *piVar20;
  int *unaff_s4;
  int *unaff_s5;
  int *piVar21;
  int *unaff_s6;
  int *unaff_s7;
  undefined *puVar22;
  char *unaff_s8;
  code *pcVar23;
  code *pcVar24;
  undefined1 auStack_184 [40];
  int iStack_15c;
  int *piStack_154;
  int *piStack_150;
  int *piStack_14c;
  int *piStack_148;
  undefined4 *puStack_144;
  int *piStack_140;
  int *piStack_13c;
  int *piStack_138;
  code *pcStack_134;
  int *piStack_120;
  code *pcStack_118;
  code *pcStack_110;
  code *pcStack_10c;
  undefined4 uStack_108;
  int aiStack_104 [10];
  int iStack_dc;
  char *pcStack_d8;
  int iStack_d4;
  int *piStack_d0;
  int iStack_cc;
  undefined1 *puStack_c8;
  undefined4 uStack_c4;
  int *piStack_c0;
  int *piStack_bc;
  int *piStack_b8;
  code *pcStack_b4;
  int *piStack_a0;
  int *piStack_98;
  undefined *puStack_94;
  int *piStack_90;
  undefined4 uStack_8c;
  int *piStack_88;
  int *piStack_84;
  int *piStack_80;
  int *piStack_7c;
  char *pcStack_78;
  code *pcStack_74;
  int local_54;
  int iStack_34;
  char local_30 [4];
  int local_2c;
  
  puVar22 = PTR___stack_chk_guard_00079930;
  local_2c = *(int *)PTR___stack_chk_guard_00079930;
  piVar10 = param_2;
  piVar20 = param_3;
  piVar13 = param_4;
  uVar2 = (*(code *)PTR_fgetline_00079538)();
  piVar3 = (int *)(*(code *)PTR_chomp_0007953c)(uVar2);
  if (piVar3 != (int *)0x0) {
    piVar10 = (int *)(PTR_s_j_000790a8 + 0x43cc);
    iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar3);
    if (iVar4 == 0) {
      (*(code *)PTR_safefree_000790f0)(piVar3);
      local_54 = 0;
      puVar17 = PTR_s_j_000790a8 + 0x43ec;
      piVar3 = (int *)(PTR_s_j_000790a8 + 0x4258);
      unaff_s4 = (int *)(PTR_s_j_000790a8 + 0x43f0);
      unaff_s7 = (int *)(PTR_s_j_000790a8 + 0x43f8);
      while( true ) {
        uVar2 = (*(code *)PTR_fgetline_00079538)(param_1);
        piVar5 = (int *)(*(code *)PTR_chomp_0007953c)(uVar2);
        if (piVar5 == (int *)0x0) break;
        unaff_s8 = (char *)(*(code *)PTR_strstr_00079944)(piVar5,puVar17);
        puVar1 = PTR_strcmp_000798a4;
        if (unaff_s8 == (char *)0x0) {
          piVar10 = (int *)0x1;
          unaff_s7 = &iStack_34;
          piVar19 = (int *)(*(code *)PTR_safemalloc_000790d0)(0x1000);
          unaff_s8 = local_30;
          iVar4 = 0;
          unaff_s4 = (int *)0x0;
          iVar18 = 0x1000;
          goto LAB_0004340c;
        }
        *unaff_s8 = '\0';
        piVar10 = piVar3;
        iVar4 = (*(code *)puVar1)(piVar5);
        if (iVar4 == 0) {
          unaff_s5 = (int *)(int)unaff_s8[2];
          unaff_s6 = (int *)(unaff_s8 + 2);
          piVar20 = piVar5;
          if (unaff_s5 == (int *)0x22) {
            iVar4 = (*(code *)PTR_strlen_000798d0)(unaff_s6);
            pcVar15 = (char *)((int)unaff_s6 + iVar4 + -1);
            if (*pcVar15 == '\"') {
              *pcVar15 = '\0';
              unaff_s5 = (int *)(int)unaff_s8[3];
              unaff_s6 = (int *)(unaff_s8 + 3);
              if (unaff_s5 == (int *)0x0) goto LAB_00043364;
            }
LAB_00043310:
            piVar13 = (int *)&DAT_0000005c;
            piVar19 = piVar10;
            piVar11 = piVar5;
            piVar14 = unaff_s6;
            do {
              while ((piVar10 = (int *)((int)piVar14 + 1), unaff_s5 != (int *)&DAT_0000005c ||
                     (*(char *)((int)piVar14 + 1) == '\0'))) {
                *(char *)piVar11 = *(char *)piVar14;
                unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 1);
                piVar19 = piVar10;
                piVar20 = (int *)((int)piVar11 + 1);
                piVar11 = (int *)((int)piVar11 + 1);
                unaff_s6 = piVar10;
                piVar14 = piVar10;
                if (unaff_s5 == (int *)0x0) goto LAB_00043364;
              }
              *(char *)piVar11 = *(char *)((int)piVar14 + 1);
              unaff_s5 = (int *)(int)*(char *)((int)piVar14 + 2);
              piVar10 = piVar19;
              piVar20 = (int *)((int)piVar11 + 1);
              piVar11 = (int *)((int)piVar11 + 1);
              unaff_s6 = (int *)((int)piVar14 + 2);
              piVar14 = (int *)((int)piVar14 + 2);
            } while (unaff_s5 != (int *)0x0);
          }
          else if (unaff_s5 != (int *)0x0) goto LAB_00043310;
LAB_00043364:
          puVar1 = PTR_safefree_000790f0;
          *(char *)piVar20 = '\0';
          (*(code *)puVar1)(local_54);
          local_54 = (*(code *)PTR_dupstr_000790fc)(piVar5);
        }
        else {
          piVar10 = unaff_s4;
          iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar5);
          if (iVar4 != 0) {
            piVar20 = (int *)0x2;
            piVar10 = unaff_s7;
            iVar4 = (*(code *)PTR_strncmp_000797c4)(piVar5);
            if (iVar4 != 0) {
              piVar19 = (int *)0x0;
              puVar17 = PTR_s_j_000790a8 + 0x437c;
              param_2 = piVar5;
              goto LAB_00043198;
            }
          }
        }
        (*(code *)PTR_safefree_000790f0)(piVar5);
      }
      piVar19 = (int *)0x0;
      puVar17 = PTR_s_j_000790a8 + 0x43ac;
      param_2 = piVar5;
      goto LAB_00043198;
    }
  }
  piVar19 = (int *)0x0;
  local_54 = 0;
  puVar17 = PTR_s_j_000790a8 + 0x42f0;
  param_2 = piVar3;
  goto LAB_00043198;
LAB_0004340c:
  do {
    cVar9 = *(char *)piVar5;
    unaff_s5 = piVar5;
    if (cVar9 == '-') {
      piVar10 = (int *)(PTR_s_j_000790a8 + 0x43fc);
      iVar4 = (*(code *)PTR_strcmp_000798a4)(piVar5);
      if (iVar4 == 0) {
        (*(code *)PTR_safefree_000790f0)(piVar5);
        if ((int)unaff_s4 < 4) {
          puVar17 = PTR_s_j_000790a8 + 0x42c4;
          param_2 = (int *)0x0;
          goto LAB_00043198;
        }
        piVar3 = (int *)(*(code *)PTR_toint_000792c8)(*piVar19);
        puVar17 = PTR_s_j_000790a8;
        if (((int)piVar3 < 0) || ((int)((int)unaff_s4 + -3) <= (int)piVar3)) {
          puVar17 = PTR_s_j_000790a8 + 0x431c;
          param_2 = (int *)0x0;
          goto LAB_00043198;
        }
        piVar20 = piVar19 + 1;
        if (param_2 != (int *)0x0) {
          iVar4 = (*(code *)PTR_dupprintf_000790e8)(PTR_s_j_000790a8 + -0x26d0);
          *param_2 = iVar4;
          piVar10 = piVar3;
        }
        if (param_3 != (int *)0x0) {
          *param_3 = (int)unaff_s4;
        }
        if (param_4 == (int *)0x0) {
          (*(code *)PTR_safefree_000790f0)(local_54);
        }
        else {
          *param_4 = local_54;
        }
        goto LAB_000431d8;
      }
      break;
    }
    unaff_s6 = (int *)&DAT_00000004;
    while (piVar3 = unaff_s4, cVar9 != '\0') {
      while( true ) {
        local_30[iVar4] = cVar9;
        if (iVar4 + 1 != 4) break;
        piVar20 = (int *)(*(code *)PTR_base64_decode_atom_000792d8)(unaff_s8,unaff_s7);
        unaff_s4 = (int *)((int)piVar3 + (int)piVar20);
        if (iVar18 < (int)unaff_s4) {
          iVar18 = ((int)unaff_s4 * 5 >> 2) + 0x400;
          piVar19 = (int *)(*(code *)PTR_saferealloc_000791a0)(piVar19,iVar18,1);
        }
        unaff_s5 = (int *)((int)unaff_s5 + 1);
        piVar10 = unaff_s7;
        (*(code *)PTR_memcpy_000798e0)((char *)((int)piVar19 + (int)piVar3));
        iVar4 = 0;
        cVar9 = *(char *)unaff_s5;
        piVar3 = unaff_s4;
        if (cVar9 == '\0') goto LAB_000434ac;
      }
      unaff_s5 = (int *)((int)unaff_s5 + 1);
      iVar4 = iVar4 + 1;
      unaff_s4 = piVar3;
      cVar9 = *(char *)unaff_s5;
    }
LAB_000434ac:
    (*(code *)PTR_safefree_000790f0)(piVar5);
    uVar2 = (*(code *)PTR_fgetline_00079538)(param_1);
    piVar5 = (int *)(*(code *)PTR_chomp_0007953c)(uVar2);
  } while (piVar5 != (int *)0x0);
  puVar17 = PTR_s_j_000790a8 + 0x4350;
  param_2 = piVar5;
LAB_00043198:
  (*(code *)PTR_safefree_000790f0)(param_2);
  (*(code *)PTR_safefree_000790f0)(local_54);
  (*(code *)PTR_safefree_000790f0)(piVar19);
  piVar5 = unaff_s5;
  if (param_5 == (undefined4 *)0x0) {
    piVar19 = (int *)0x0;
  }
  else {
    piVar19 = (int *)0x0;
    *param_5 = puVar17;
  }
LAB_000431d8:
  if (local_2c == *(int *)puVar22) {
    return piVar19;
  }
  pcVar23 = openssh_loadpub;
  puVar22 = PTR___stack_chk_fail_000797f0;
  (*(code *)PTR___stack_chk_fail_000797f0)();
  piStack_a0 = (int *)(puVar22 + 0x3da44);
  piStack_98 = param_2;
  puStack_94 = puVar17;
  piStack_90 = piVar19;
  uStack_8c = param_1;
  piStack_88 = unaff_s4;
  piStack_84 = piVar5;
  piStack_80 = unaff_s6;
  piStack_7c = unaff_s7;
  pcStack_78 = unaff_s8;
  pcStack_74 = pcVar23;
  uVar2 = (**(code **)(puVar22 + 0x35f0c))();
  uVar2 = (*(code *)piStack_a0[-0x1ecd])(uVar2);
  puVar6 = (undefined1 *)(*(code *)piStack_a0[-0x1e0f])(uVar2,0x20);
  if (puVar6 == (undefined1 *)0x0) {
    piVar3 = (int *)0x0;
    iVar4 = piStack_a0[-0x1ff2] + 0x4490;
    puVar6 = (undefined1 *)0x0;
  }
  else {
    pcVar23 = (code *)piStack_a0[-0x1e0f];
    pcVar15 = puVar6 + 1;
    *puVar6 = 0;
    puVar6 = (undefined1 *)(*pcVar23)(pcVar15,0x20);
    if (puVar6 != (undefined1 *)0x0) {
      pcVar23 = (code *)piStack_a0[-0x1fdd];
      *puVar6 = 0;
      puVar6 = (undefined1 *)(*pcVar23)(puVar6 + 1);
    }
    iVar18 = 0;
    uVar7 = (*(code *)piStack_a0[-0x1de8])(pcVar15);
    iVar4 = (uVar7 >> 2) * 3;
    piVar3 = (int *)(*(code *)piStack_a0[-0x1fe8])(iVar4,1);
    while (iVar8 = (*(code *)piStack_a0[-0x1df7])(pcVar15,0,4), iVar8 == 0) {
      if (iVar4 <= iVar18 + 2) {
        puVar12 = (undefined4 *)&DAT_00000441;
        pcVar23 = (code *)piStack_a0[-0x1e6c];
        piVar14 = (int *)(piStack_a0[-0x1ff2] + 0x4800);
        piVar11 = (int *)(piStack_a0[-0x1ff2] + 0x4034);
        pcVar24 = ssh2_userkey_loadpub;
        (*pcVar23)(piStack_a0[-0x1ff2] + 0x44b8);
        piVar5 = piStack_a0;
        pcStack_118 = pcVar23 + 0x3d74c;
        piVar16 = *(int **)(pcVar23 + 0x3600c);
        piVar19 = (int *)(*(int *)(pcVar23 + 0x35784) + 0x4078);
        iStack_dc = *piVar16;
        pcStack_d8 = pcVar15;
        iStack_d4 = iVar18;
        piStack_d0 = piVar3;
        iStack_cc = iVar4;
        puStack_c8 = puVar6;
        uStack_c4 = uVar2;
        piStack_c0 = piVar13;
        piStack_bc = piVar20;
        piStack_b8 = piVar10;
        pcStack_b4 = pcVar24;
        piVar10 = (int *)f_open();
        if (piVar10 == (int *)0x0) {
          if (piVar5 != (int *)0x0) {
            *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x407c;
          }
LAB_000439f4:
          piVar21 = (int *)0x0;
          piVar10 = piVar20;
        }
        else {
          iVar4 = FUN_00041f60(piVar10);
          if (iVar4 == 9) {
            pcVar23 = *(code **)(pcStack_118 + -0x7b14);
          }
          else {
            if (iVar4 != 10) {
              piVar20 = piVar10;
              if (iVar4 != 3) {
LAB_000439d4:
                (**(code **)(pcStack_118 + -0x77e4))(piVar10);
                if (piVar5 != (int *)0x0) {
                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41c4;
                }
                goto LAB_000439f4;
              }
              piVar13 = aiStack_104;
              iVar4 = FUN_00040db0(piVar10,piVar13);
              if (iVar4 == 0) {
LAB_00043cc0:
                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4134);
                iVar4 = (**(code **)(pcStack_118 + -0x78ac))(piVar13,piVar19,0x14);
                if (iVar4 == 0) {
                  (**(code **)(pcStack_118 + -0x77e4))(piVar10);
                  if (piVar5 != (int *)0x0) {
                    *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x41e4;
                  }
                  goto LAB_000439f4;
                }
                goto LAB_000439d4;
              }
              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4214);
              iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);
              if (iVar4 != 0) {
                piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x422c);
                iVar4 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);
                if (iVar4 != 0) goto LAB_00043cc0;
              }
              pcStack_110 = (code *)(*(int *)(pcStack_118 + -0x7b8c) + 0xe74);
              piVar3 = (int *)FUN_00040e74(piVar10);
              if (piVar3 == (int *)0x0) {
LAB_00043c9c:
                (**(code **)(pcStack_118 + -0x77e4))(piVar10);
                if (piVar5 != (int *)0x0) {
                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;
                }
                goto LAB_000439f4;
              }
              uVar2 = (**(code **)(pcStack_118 + -0x77a0))(piVar3);
              piVar19 = piVar3;
              iVar4 = find_pubkey_alg_len(uVar2);
              (**(code **)(pcStack_118 + -0x7f80))(piVar3);
              if ((iVar4 == 0) || (piVar19 = piVar13, iVar18 = FUN_00040db0(piVar10), iVar18 == 0))
              goto LAB_00043c9c;
              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4244);
              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);
              if ((iVar18 != 0) || (iVar18 = (*pcStack_110)(piVar10), iVar18 == 0))
              goto LAB_00043c9c;
              (**(code **)(pcStack_118 + -0x7f80))(iVar18);
              piVar19 = piVar13;
              iVar18 = FUN_00040db0(piVar10);
              if (iVar18 == 0) goto LAB_00043c9c;
              piVar19 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4258);
              iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);
              if ((iVar18 != 0) ||
                 (pcVar23 = (code *)(*pcStack_110)(piVar10), pcVar23 == (code *)0x0))
              goto LAB_00043c9c;
              pcStack_10c = pcVar23;
              if (piVar14 == (int *)0x0) {
                (**(code **)(pcStack_118 + -0x7f80))(pcVar23);
              }
              else {
                *piVar14 = (int)pcVar23;
              }
              piVar3 = piVar13;
              iVar18 = FUN_00040db0(piVar10);
              pcVar23 = pcStack_10c;
              if (iVar18 == 0) {
LAB_00043d58:
                piVar19 = piVar3;
                pcStack_110 = pcVar23;
                (**(code **)(pcStack_118 + -0x77e4))(piVar10);
                if (piVar5 != (int *)0x0) {
                  *piVar5 = *(int *)(pcStack_118 + -0x7fc8) + 0x3ff8;
                }
                if (piVar14 == (int *)0x0) goto LAB_000439f4;
                piVar21 = (int *)0x0;
                (**(code **)(pcStack_118 + -0x7f80))(pcStack_110);
                *piVar14 = 0;
              }
              else {
                piVar3 = (int *)(*(int *)(pcStack_118 + -0x7fc8) + 0x4260);
                iVar18 = (**(code **)(pcStack_118 + -0x77cc))(piVar13);
                pcVar23 = pcStack_10c;
                if ((iVar18 != 0) ||
                   (iVar18 = (*pcStack_110)(piVar10), pcVar23 = pcStack_10c, iVar18 == 0))
                goto LAB_00043d58;
                pcStack_110 = pcStack_10c;
                piVar19 = (int *)FUN_00040d14(iVar18);
                (**(code **)(pcStack_118 + -0x7f80))(iVar18);
                pcVar23 = pcStack_110;
                if (((int)piVar19 < 0) ||
                   (piVar21 = (int *)FUN_00040fc0(piVar10,piVar19,&uStack_108), piVar3 = piVar19,
                   pcVar23 = pcStack_110, piVar21 == (int *)0x0)) goto LAB_00043d58;
                (**(code **)(pcStack_118 + -0x77e4))(piVar10);
                if (puVar12 != (undefined4 *)0x0) {
                  *puVar12 = uStack_108;
                }
                if (piVar11 != (int *)0x0) {
                  iVar4 = (**(code **)(pcStack_118 + -0x7f74))(*(undefined4 *)(iVar4 + 0x30));
                  *piVar11 = iVar4;
                }
              }
              goto LAB_000439f8;
            }
            pcVar23 = *(code **)(pcStack_118 + -0x7b10);
          }
          piStack_120 = piVar5;
          piVar19 = piVar11;
          piVar21 = (int *)(*pcVar23)(piVar10,piVar11,puVar12,piVar14);
          (**(code **)(pcStack_118 + -0x77e4))(piVar10);
        }
LAB_000439f8:
        if (iStack_dc == *piVar16) {
          return piVar21;
        }
        pcVar23 = *(code **)(pcStack_118 + -0x7880);
        pcVar24 = ssh2_userkey_encrypted;
        (*pcVar23)();
        piVar20 = *(int **)(pcVar23 + 0x35b70);
        piStack_150 = piVar5;
        iStack_15c = *piVar20;
        if (piVar19 != (int *)0x0) {
          *piVar19 = 0;
        }
        piStack_154 = piVar16;
        piStack_14c = piVar14;
        piStack_148 = piVar11;
        puStack_144 = puVar12;
        piStack_140 = piVar21;
        piStack_13c = piVar13;
        piStack_138 = piVar10;
        pcStack_134 = pcVar24;
        iVar4 = f_open();
        if (iVar4 == 0) {
          piVar10 = (int *)0x0;
        }
        else {
          iVar18 = FUN_00040db0(iVar4,auStack_184);
          if ((iVar18 != 0) &&
             (((iVar18 = (**(code **)(pcVar23 + 0x35ae4))
                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4214), iVar18 == 0
               || (iVar18 = (**(code **)(pcVar23 + 0x35ae4))
                                      (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x422c),
                  iVar18 == 0)) && (iVar18 = FUN_00040e74(iVar4), iVar18 != 0)))) {
            (**(code **)(pcVar23 + 0x35330))(iVar18);
            iVar18 = FUN_00040db0(iVar4,auStack_184);
            if ((iVar18 != 0) &&
               (iVar18 = (**(code **)(pcVar23 + 0x35ae4))
                                   (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4244), iVar18 == 0))
            {
              iVar18 = FUN_00040e74(iVar4);
              if (iVar18 == 0) {
                (**(code **)(pcVar23 + 0x35acc))(iVar4);
                piVar10 = (int *)0x0;
              }
              else {
                iVar8 = FUN_00040db0(iVar4,auStack_184);
                if (((iVar8 == 0) ||
                    (iVar8 = (**(code **)(pcVar23 + 0x35ae4))
                                       (auStack_184,*(int *)(pcVar23 + 0x352e8) + 0x4258),
                    iVar8 != 0)) || (iVar8 = FUN_00040e74(iVar4), iVar8 == 0)) {
                  piVar10 = (int *)0x1;
                  (**(code **)(pcVar23 + 0x35acc))(iVar4);
                  (**(code **)(pcVar23 + 0x35330))(iVar18);
                }
                else {
                  if (piVar19 == (int *)0x0) {
                    (**(code **)(pcVar23 + 0x35330))(iVar8);
                  }
                  else {
                    *piVar19 = iVar8;
                  }
                  (**(code **)(pcVar23 + 0x35acc))(iVar4);
                  iVar4 = (**(code **)(pcVar23 + 0x35ae4))
                                    (iVar18,*(int *)(pcVar23 + 0x352e8) + 0x7c4);
                  piVar10 = (int *)(uint)(iVar4 == 0);
                  (**(code **)(pcVar23 + 0x35330))(iVar18);
                }
              }
              goto LAB_00043f04;
            }
          }
          piVar10 = (int *)0x0;
          (**(code **)(pcVar23 + 0x35acc))(iVar4);
        }
LAB_00043f04:
        if (iStack_15c != *piVar20) {
          (**(code **)(pcVar23 + 0x35a30))();
          return (int *)((iStack_15c + 0x2f) / 0x30);
        }
        return piVar10;
      }
      iVar8 = (*(code *)piStack_a0[-0x1f66])(pcVar15,(int)piVar3 + iVar18);
      iVar18 = iVar18 + iVar8;
      pcVar15 = pcVar15 + 4;
    }
    if (*pcVar15 == '\0') {
      iVar4 = (*(code *)piStack_a0[-0x1de8])(uVar2);
      if (((iVar4 + 3 < iVar18) && (iVar4 == *piVar3)) &&
         (iVar4 = (*(code *)piStack_a0[-0x1dfd])(piVar3 + 1,uVar2,iVar4), iVar4 == 0)) {
        if (piVar10 != (int *)0x0) {
          iVar4 = (*(code *)piStack_a0[-0x1fdd])(uVar2);
          *piVar10 = iVar4;
        }
        if (piVar20 != (int *)0x0) {
          *piVar20 = iVar18;
        }
        if (piVar13 == (int *)0x0) {
          (*(code *)piStack_a0[-0x1fe0])(puVar6);
        }
        else {
          *piVar13 = (int)puVar6;
        }
        (*(code *)piStack_a0[-0x1fe0])(uVar2);
        return piVar3;
      }
      iVar4 = piStack_a0[-0x1ff2] + 0x441c;
    }
    else {
      iVar4 = piStack_a0[-0x1ff2] + 0x4454;
    }
  }
  (*(code *)piStack_a0[-0x1fe0])(uVar2);
  (*(code *)piStack_a0[-0x1fe0])(puVar6);
  (*(code *)piStack_a0[-0x1fe0])(piVar3);
  __gp_1 = iVar4;
  return (int *)0x0;
}

