
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Type propagation algorithm not settling */

bfd_boolean parse_stab(void *dhandle,void *handle,int type,int desc,bfd_vma value,char *string)

{
  uint *puVar1;
  char cVar2;
  uint uVar3;
  int *piVar4;
  bfd_vma bVar5;
  char cVar6;
  undefined4 uVar7;
  undefined4 *puVar8;
  size_t sVar9;
  int iVar10;
  int iVar11;
  debug_type pdVar12;
  bfd_boolean bVar13;
  int iVar14;
  debug_type_conflict pdVar15;
  long lVar16;
  char **pp;
  debug_type_conflict *arg_types;
  char *pcVar17;
  uint uVar18;
  char **extraout_EDX;
  debug_type_conflict type_00;
  byte *pbVar19;
  char **ppcVar20;
  int *piVar21;
  byte *pbVar22;
  int *piVar23;
  bool bVar24;
  bool bVar25;
  bool bVar26;
  byte bVar27;
  double val;
  debug_parm_kind kind;
  debug_var_kind kind_00;
  char **in_stack_ffffffb0;
  char **ppcVar28;
  debug_type_conflict **slotp;
  char *p_end;
  uint uVar29;
  char *local_3c;
  char *p;
  debug_type_conflict *slot;
  long lStack_14;
  
  bVar27 = 0;
  lStack_14 = 0x440f9;
  pcVar17 = *(char **)((int)handle + 0x10);
  if (pcVar17 != (char *)0x0) {
    if (((type != 100) || (cVar6 = *string, cVar6 == '\0')) ||
       (value != *(bfd_vma *)((int)handle + 0x14))) {
      bVar13 = debug_set_filename(dhandle,pcVar17);
      if (bVar13 == 0) {
        return 0;
      }
      *(undefined4 *)((int)handle + 0x2c) = 0;
      *(undefined4 *)((int)handle + 0x30) = 0;
      *(undefined4 *)((int)handle + 0x34) = *(undefined4 *)((int)handle + 0x10);
      if (*(int *)((int)handle + 4) == 0) {
        *(undefined4 *)((int)handle + 0x1c) = *(undefined4 *)((int)handle + 0x14);
        *(undefined4 *)((int)handle + 0x20) = *(undefined4 *)((int)handle + 0x18);
      }
      *(undefined4 *)((int)handle + 0x54) = 1;
      puVar8 = (undefined4 *)xmalloc(4);
      *(undefined4 *)((int)handle + 0x10) = 0;
      *(undefined4 **)((int)handle + 0x58) = puVar8;
      *puVar8 = 0;
      goto LAB_00044203;
    }
    if (*(int *)((int)handle + 0x40) == 0) goto LAB_0004414d;
LAB_000448f8:
    uVar29 = (uint)(value >> 0x20);
    uVar18 = *(uint *)((int)handle + 0x44);
    uVar3 = *(uint *)((int)handle + 0x48);
    if (((uVar18 & uVar3) == 0xffffffff) ||
       (bVar5 = *(bfd_vma *)((int)handle + 0x44),
       uVar29 <= uVar3 && (uint)(uVar18 < (uint)value) <= uVar3 - uVar29)) {
LAB_00044916:
      bVar5 = value;
    }
    bVar13 = stab_emit_pending_vars(dhandle,(stab_handle *)((int)handle + 0x50));
    if (bVar13 == 0) {
      return 0;
    }
    bVar13 = debug_end_function(dhandle,bVar5);
    if (bVar13 == 0) {
      return 0;
    }
    *(undefined4 *)((int)handle + 0x40) = 0;
    *(undefined4 *)((int)handle + 0x44) = 0xffffffff;
    *(undefined4 *)((int)handle + 0x48) = 0xffffffff;
    cVar6 = *string;
LAB_00044966:
    if (cVar6 == '\0') {
      return 1;
    }
    pcVar17 = *(char **)((int)handle + 0x10);
LAB_0004414d:
    if (pcVar17 == (char *)0x0) {
      uVar7 = xstrdup(string);
      *(undefined4 *)((int)handle + 0x10) = uVar7;
    }
    else {
      if (cVar6 == '/') {
        uVar7 = xstrdup(string);
        *(undefined4 *)((int)handle + 0x10) = uVar7;
      }
      else {
        uVar7 = concat(pcVar17,string,0);
        *(undefined4 *)((int)handle + 0x10) = uVar7;
      }
      free(pcVar17);
    }
    *(bfd_vma *)((int)handle + 0x14) = value;
    return 1;
  }
LAB_00044203:
  sVar9 = strlen(string);
  uVar18 = (uint)(value >> 0x20);
  if (type == 0x62) {
    return 1;
  }
  if (type < 99) {
    if (type == 0x24) {
      if (*string == '\0') {
        if (*(int *)((int)handle + 0x40) == 0) {
          return 1;
        }
        if (*(int *)((int)handle + 4) != 0) {
          value = value + *(longlong *)((int)handle + 0x24);
        }
        bVar13 = stab_emit_pending_vars(dhandle,(stab_handle *)((int)handle + 0x50));
        if (bVar13 == 0) {
          return 0;
        }
        bVar13 = debug_end_function(dhandle,value);
        if (bVar13 == 0) {
          return 0;
        }
        *(undefined4 *)((int)handle + 0x40) = 0;
        *(undefined4 *)((int)handle + 0x44) = 0xffffffff;
        *(undefined4 *)((int)handle + 0x48) = 0xffffffff;
        return 1;
      }
      if (*(int *)((int)handle + 0x40) != 0) {
        uVar3 = *(uint *)((int)handle + 0x48);
        if (((*(uint *)((int)handle + 0x44) & uVar3) == 0xffffffff) ||
           (uVar18 < uVar3 || uVar18 - uVar3 < (uint)((uint)value < *(uint *)((int)handle + 0x44))))
        {
          *(bfd_vma *)((int)handle + 0x44) = value;
        }
      }
    }
    else if (type < 0x25) {
      if (type == 0xc) {
        return 1;
      }
      if ((0xb < type) && (type - 0x1eU < 2)) {
        return 1;
      }
    }
    else {
      if (type == 0x38) {
        return 1;
      }
      if (type < 0x39) {
        if (type == 0x2a) {
          return 1;
        }
      }
      else {
        bVar24 = (uint)type < 0x3c;
        bVar26 = type == 0x3c;
        if (bVar26) {
          iVar10 = 0xf;
          pbVar19 = (byte *)string;
          pbVar22 = (byte *)"gcc2_compiled.";
          do {
            if (iVar10 == 0) break;
            iVar10 = iVar10 + -1;
            bVar24 = *pbVar19 < *pbVar22;
            bVar26 = *pbVar19 == *pbVar22;
            pbVar19 = pbVar19 + (uint)bVar27 * -2 + 1;
            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;
          } while (bVar26);
          bVar25 = false;
          bVar24 = (!bVar24 && !bVar26) == bVar24;
          if (bVar24) {
            *(undefined4 *)((int)handle + 0x2c) = 2;
            return 1;
          }
          iVar10 = 0xe;
          pbVar19 = (byte *)"gcc_compiled.";
          do {
            if (iVar10 == 0) break;
            iVar10 = iVar10 + -1;
            bVar25 = (byte)*string < *pbVar19;
            bVar24 = *string == *pbVar19;
            string = (char *)((byte *)string + (uint)bVar27 * -2 + 1);
            pbVar19 = pbVar19 + (uint)bVar27 * -2 + 1;
          } while (bVar24);
          if ((!bVar25 && !bVar24) != bVar25) {
            *(undefined4 *)((int)handle + 0x30) = 1;
            return 1;
          }
          *(undefined4 *)((int)handle + 0x2c) = 1;
          return 1;
        }
        if (type == 0x44) {
          if (*(int *)((int)handle + 0x40) != 0) {
            value = value + *(longlong *)((int)handle + 0x24);
          }
          iVar10 = debug_record_line(dhandle,desc,value);
          goto LAB_0004426d;
        }
      }
    }
LAB_00044431:
    p = strchr(string,0x3a);
    uVar18 = (uint)(value >> 0x20);
    if (p == (char *)0x0) {
      return 1;
    }
    bVar27 = p[1];
    if ((bVar27 & 0xdf) != 0x46) goto LAB_000447b5;
    if (*(int *)((int)handle + 0x40) != 0) {
      uVar3 = *(uint *)((int)handle + 0x44);
      uVar29 = *(uint *)((int)handle + 0x48);
      if (((uVar3 & uVar29) == 0xffffffff) ||
         (bVar5 = *(bfd_vma *)((int)handle + 0x44),
         uVar18 <= uVar29 && (uint)(uVar3 < (uint)value) <= uVar29 - uVar18)) {
        bVar5 = value;
      }
      in_stack_ffffffb0 = (char **)0x444a2;
      bVar13 = stab_emit_pending_vars(dhandle,(stab_handle *)((int)handle + 0x50));
      if ((bVar13 == 0) || (bVar13 = debug_end_function(dhandle,bVar5), bVar13 == 0)) {
        return 0;
      }
      *(undefined4 *)((int)handle + 0x44) = 0xffffffff;
      *(undefined4 *)((int)handle + 0x48) = 0xffffffff;
    }
    if (*(int *)((int)handle + 4) != 0) {
      *(bfd_vma *)((int)handle + 0x24) = value;
    }
    *(undefined4 *)((int)handle + 0x40) = 1;
    p = strchr(string,0x3a);
    if (p == (char *)0x0) {
      return 1;
    }
LAB_000447b1:
    bVar27 = p[1];
LAB_000447b5:
    if (bVar27 == 0x3a) goto LAB_00044790;
    if (*string != '$') goto _L1810;
    switch(string[1]) {
    default:
      pcVar17 = (char *)dcgettext(0,"unknown C++ encoded name",5);
      warn_stab(string,pcVar17);
    case 'X':
    case '_':
    case 'v':
_L1810:
      local_3c = (char *)0x0;
      if ((string != p) && ((*string != ' ' || (p != string + 1)))) {
        in_stack_ffffffb0 = (char **)0x447f4;
        local_3c = savestring(string,(int)p - (int)string);
      }
      break;
    case 'e':
      local_3c = "eh_throw";
      break;
    case 't':
      local_3c = "this";
    }
    p_end = (char *)(value >> 0x20);
    slotp = (debug_type_conflict **)value;
    pcVar17 = string + sVar9;
    ppcVar28 = (char **)((int)p + 1);
    bVar27 = *(byte *)((int)p + 1);
    if (((PTR__sch_istable_00071fbc[(uint)bVar27 * 2] & 4) != 0) ||
       (bVar27 == 0x28 || bVar27 == 0x2d)) {
_L1827:
      p = (char *)ppcVar28;
      pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,in_stack_ffffffb0,slotp,p_end);
      if (pdVar12 == (debug_type)0x0) {
        return 0;
      }
      kind_00 = DEBUG_LOCAL;
      goto LAB_0004486e;
    }
    if (bVar27 == 0) goto LAB_000449d0;
    ppcVar28 = (char **)((int)p + 2);
    bVar27 = *(byte *)((int)p + 1);
    ppcVar20 = (char **)(uint)bVar27;
    if (0x33 < (byte)((int)ppcVar20 - 0x43U)) goto _L1817;
    uVar18 = (int)ppcVar20 - 0x43U & 0xff;
    pp = (char **)((int)&_GLOBAL_OFFSET_TABLE_ + (&switchD_00044abe::switchdataD_00057e08)[uVar18]);
    switch(uVar18) {
    case 0:
      p = (char *)ppcVar28;
      pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end);
      if (pdVar12 == (debug_type)0x0) {
        return 0;
      }
      bVar13 = debug_record_label(dhandle,local_3c,pdVar12,value);
      goto joined_r0x00044fe7;
    default:
      goto _L1817;
    case 3:
    case 0x23:
      p = (char *)ppcVar28;
      pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,pp,slotp,p_end);
      if (pdVar12 == (debug_type)0x0) {
        return 0;
      }
      ppcVar28 = extraout_EDX;
      pdVar12 = (debug_type)
                debug_record_function(dhandle,local_3c,pdVar12,(uint)(bVar27 == 0x46),value);
      while( true ) {
        if (pdVar12 == (debug_type)0x0) {
          return 0;
        }
        if (*p != ';') break;
        p = p + 1;
        pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar28,
                                  (debug_type_conflict **)value,(char *)(value >> 0x20));
      }
      return 1;
    case 4:
      p = (char *)ppcVar28;
      pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,pp,slotp,p_end);
      if (pdVar12 == (debug_type)0x0) {
        return 0;
      }
      if (local_3c == (char *)0x0) goto LAB_00044c0d;
                    /* WARNING: Load size is inaccurate */
      iVar10 = *(int *)((int)handle + 0xc);
      piVar21 = *(int **)((int)handle + 8);
      cVar6 = *(char *)(*(int *)(*handle + 4) + 0x18);
      if (iVar10 < 1) goto LAB_00044c0d;
      cVar2 = *local_3c;
      goto LAB_00044bbc;
    case 0xd:
      if (type == 0x24) {
        p = (char *)ppcVar28;
        do {
          if (*p != ';') {
            return 1;
          }
          p = p + 1;
          pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,in_stack_ffffffb0,
                                    (debug_type_conflict **)value,(char *)(value >> 0x20));
        } while (pdVar12 != (debug_type)0x0);
        return 0;
      }
    case 0xf:
      p = (char *)ppcVar28;
      pdVar15 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,pp,slotp,p_end);
      if (pdVar15 == (debug_type)0x0) {
        return 0;
      }
      kind = DEBUG_PARM_REG;
      break;
    case 0x10:
      ppcVar20 = (char **)p;
      p = (char *)ppcVar28;
      pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end);
      if (pdVar12 == (debug_type)0x0) {
        return 0;
      }
      kind_00 = DEBUG_STATIC;
      goto LAB_0004486e;
    case 0x11:
      bVar24 = *(char *)((int)p + 2) == 't';
      if (bVar24) {
        ppcVar28 = (char **)((int)p + 3);
      }
      p = (char *)ppcVar28;
      uVar18 = (uint)bVar24;
      pdVar12 = parse_stab_type(&p,(stab_handle *)&slot,pcVar17,(char **)type,slotp,p_end);
      if (pdVar12 == (debug_type)0x0) {
        return 0;
      }
      if (local_3c == (char *)0x0) {
        return 1;
      }
      iVar10 = *(int *)((int)handle + 0xe8);
      pdVar15 = debug_tag_type(dhandle,local_3c,pdVar12);
      if (pdVar15 == (debug_type_conflict)0x0) {
        return 0;
      }
      if (slot != (debug_type_conflict *)0x0) {
        *slot = pdVar15;
      }
      if (iVar10 != 0) goto LAB_00044efc;
      if (*(int **)((int)handle + 0xe4) == (int *)0x0) goto LAB_00044efc;
      cVar6 = *local_3c;
      piVar21 = (int *)((int)handle + 0xe4);
      piVar23 = *(int **)((int)handle + 0xe4);
      goto LAB_00044ecc;
    case 0x13:
      ppcVar20 = (char **)p;
      p = (char *)ppcVar28;
      pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end);
      if (pdVar12 == (debug_type)0x0) {
        return 0;
      }
      kind_00 = DEBUG_LOCAL_STATIC;
      goto LAB_0004486e;
    case 0x15:
    case 0x29:
    case 0x30:
      goto _L1827;
    case 0x16:
      ppcVar28 = (char **)((int)p + 3);
      if ((*(char *)((int)p + 3) == 'n') &&
         (ppcVar28 = (char **)((int)p + 4), ppcVar20 = (char **)((int)p + 4), p = (char *)ppcVar28,
         *(char *)ppcVar20 == '0')) {
        for (; *p != ';'; p = p + 1) {
        }
        return 1;
      }
_L1817:
      p = (char *)ppcVar28;
      bad_stab(string);
      return 0;
    case 0x1e:
      p = (char *)ppcVar28;
      pdVar15 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end);
      if (pdVar15 == (debug_type)0x0) {
        return 0;
      }
      kind = DEBUG_PARM_REF_REG;
      break;
    case 0x20:
      if (*(char *)((int)p + 2) == '=') {
        ppcVar28 = (char **)((int)p + 4);
        bVar27 = *(byte *)((int)p + 3);
        p = (char *)ppcVar28;
        if (bVar27 == 0x69) {
          lVar16 = strtol((char *)ppcVar28,(char **)0x0,10);
          bVar13 = debug_record_int_const(dhandle,local_3c,(longlong)lVar16);
          goto joined_r0x00044fe7;
        }
        if (bVar27 == 0x72) {
          val = strtod((char *)ppcVar28,(char **)0x0);
          bVar13 = debug_record_float_const(dhandle,local_3c,val);
          goto joined_r0x00044fe7;
        }
        if (bVar27 == 0x65) {
          pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,(char **)(uint)bVar27,slotp,p_end)
          ;
          if (pdVar12 == (debug_type)0x0) {
            return 0;
          }
          ppcVar28 = (char **)p;
          if (*p == ',') {
            lVar16 = strtol(p,(char **)0x0,10);
            bVar13 = debug_record_typed_const(dhandle,local_3c,pdVar12,(longlong)lVar16);
            goto joined_r0x00044fe7;
          }
        }
      }
      goto LAB_000449d0;
    case 0x2d:
      if (*(char *)((int)p + 2) == 'F') {
        p = (char *)((int)p + 3);
        pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,(char **)p,slotp,p_end);
        if (pdVar12 == (debug_type)0x0) {
          return 0;
        }
        pdVar15 = debug_make_function_type(pdVar12,type_00,arg_types,(bfd_boolean)dhandle);
        pdVar15 = debug_make_pointer_type(dhandle,pdVar15);
      }
      else {
        ppcVar20 = (char **)p;
        p = (char *)ppcVar28;
        pdVar15 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end);
      }
      if (pdVar15 == (debug_type_conflict)0x0) {
        return 0;
      }
      kind = DEBUG_PARM_STACK;
      break;
    case 0x2f:
      ppcVar20 = (char **)p;
      p = (char *)ppcVar28;
      pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end);
      if (pdVar12 == (debug_type)0x0) {
        return 0;
      }
      kind_00 = DEBUG_REGISTER;
      goto LAB_0004486e;
    case 0x31:
      ppcVar20 = (char **)p;
      p = (char *)ppcVar28;
      pdVar12 = parse_stab_type(&p,(stab_handle *)&slot,pcVar17,ppcVar20,slotp,p_end);
      if (pdVar12 == (debug_type)0x0) {
        return 0;
      }
      if (local_3c == (char *)0x0) {
        return 1;
      }
      pdVar15 = debug_name_type(dhandle,local_3c,pdVar12);
      if (pdVar15 == (debug_type_conflict)0x0) {
        return 0;
      }
      if (slot == (debug_type_conflict *)0x0) {
        return 1;
      }
      *slot = pdVar15;
      return 1;
    case 0x33:
      ppcVar20 = (char **)p;
      p = (char *)ppcVar28;
      pdVar15 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end);
      if (pdVar15 == (debug_type)0x0) {
        return 0;
      }
      kind = DEBUG_PARM_REFERENCE;
    }
    bVar13 = debug_record_parameter(dhandle,local_3c,pdVar15,kind,value);
    goto joined_r0x00044fe7;
  }
  if (type == 0xc0) {
    if ((*(int *)((int)handle + 0x30) != 0) && (desc == 1)) {
      return 1;
    }
    if (*(int *)((int)handle + 0x40) == 0) {
      pcVar17 = (char *)dcgettext(0,"N_LBRAC not within function\n",5);
      fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar17);
      return 0;
    }
    bVar13 = debug_start_block(dhandle,value + CONCAT44(*(int *)((int)handle + 0x28) +
                                                        *(int *)((int)handle + 0x20) +
                                                        (uint)CARRY4(*(uint *)((int)handle + 0x24),
                                                                     *(uint *)((int)handle + 0x1c)),
                                                        *(uint *)((int)handle + 0x24) +
                                                        *(uint *)((int)handle + 0x1c)));
    if (bVar13 == 0) {
      return 0;
    }
    bVar13 = stab_emit_pending_vars(dhandle,(stab_handle *)((int)handle + 0x50));
    if (bVar13 == 0) {
      return 0;
    }
    *(int *)((int)handle + 0x4c) = *(int *)((int)handle + 0x4c) + 1;
    return 1;
  }
  if (0xc0 < type) {
    if (type == 0xe0) {
      if ((*(int *)((int)handle + 0x30) != 0) && (desc == 1)) {
        return 1;
      }
      bVar13 = stab_emit_pending_vars(dhandle,(stab_handle *)((int)handle + 0x50));
      if (bVar13 == 0) {
        return 0;
      }
      bVar13 = debug_end_block(dhandle,value + CONCAT44(*(int *)((int)handle + 0x28) +
                                                        *(int *)((int)handle + 0x20) +
                                                        (uint)CARRY4(*(uint *)((int)handle + 0x24),
                                                                     *(uint *)((int)handle + 0x1c)),
                                                        *(uint *)((int)handle + 0x24) +
                                                        *(uint *)((int)handle + 0x1c)));
      if (bVar13 == 0) {
        return 0;
      }
      piVar21 = (int *)((int)handle + 0x4c);
      *piVar21 = *piVar21 + -1;
      if (*piVar21 < 0) {
        pcVar17 = (char *)dcgettext(0,"Too many N_RBRACs\n",5);
        fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar17);
        return 0;
      }
      return 1;
    }
    if (type < 0xe1) {
      if (type == 0xc2) {
        iVar10 = *(int *)((int)handle + 0x54) + 1;
        *(int *)((int)handle + 0x54) = iVar10;
        iVar10 = xrealloc(*(undefined4 *)((int)handle + 0x58),iVar10 * 4);
        puVar8 = *(undefined4 **)((int)handle + 0x3c);
        *(int *)((int)handle + 0x58) = iVar10;
        while( true ) {
          if (puVar8 == (undefined4 *)0x0) {
            pcVar17 = (char *)dcgettext(0,"Undefined N_EXCL",5);
            warn_stab(string,pcVar17);
            *(undefined4 *)(*(int *)((int)handle + 0x58) + -4 + *(int *)((int)handle + 0x54) * 4) =
                 0;
            return 1;
          }
          if ((value == *(bfd_vma *)(puVar8 + 3)) &&
             (iVar11 = strcmp((char *)puVar8[2],string), iVar11 == 0)) break;
          puVar8 = (undefined4 *)*puVar8;
        }
        *(undefined4 *)(iVar10 + -4 + *(int *)((int)handle + 0x54) * 4) = puVar8[6];
        return 1;
      }
      goto LAB_00044431;
    }
    if (type == 0xe2) {
      iVar10 = debug_start_common_block(dhandle,string);
    }
    else {
      if (type != 0xe4) goto LAB_00044431;
      iVar10 = debug_end_common_block(dhandle,string);
    }
    goto LAB_0004426d;
  }
  if (type == 0x82) {
    puVar8 = (undefined4 *)xmalloc(0x1c);
    uVar7 = *(undefined4 *)((int)handle + 0x3c);
    puVar8[4] = (int)(value >> 0x20);
    *puVar8 = uVar7;
    uVar7 = *(undefined4 *)((int)handle + 0x38);
    puVar8[6] = 0;
    puVar8[1] = uVar7;
    *(undefined4 **)((int)handle + 0x3c) = puVar8;
    puVar8[2] = string;
    *(undefined4 **)((int)handle + 0x38) = puVar8;
    puVar8[3] = (int)value;
    iVar10 = *(int *)((int)handle + 0x54);
    puVar8[5] = iVar10;
    iVar10 = iVar10 + 1;
    *(int *)((int)handle + 0x54) = iVar10;
    iVar11 = xrealloc(*(undefined4 *)((int)handle + 0x58),iVar10 * 4);
    iVar10 = puVar8[5];
    *(int *)((int)handle + 0x58) = iVar11;
    *(undefined4 *)(iVar11 + iVar10 * 4) = 0;
  }
  else {
    if (type < 0x83) {
      if (type != 100) goto LAB_00044431;
      cVar6 = *string;
      if (*(int *)((int)handle + 0x40) != 0) {
        if (cVar6 != '\0') goto LAB_000448f8;
        goto LAB_00044916;
      }
      goto LAB_00044966;
    }
    if (type != 0x84) {
      if (type != 0xa2) goto LAB_00044431;
      iVar10 = *(int *)((int)handle + 0x38);
      if (iVar10 != 0) {
        iVar11 = *(int *)(iVar10 + 4);
        uVar18 = *(uint *)(iVar10 + 0x14);
        *(int *)((int)handle + 0x38) = iVar11;
        if ((uVar18 < *(uint *)((int)handle + 0x54)) &&
           (*(undefined4 *)(iVar10 + 0x18) =
                 *(undefined4 *)(*(int *)((int)handle + 0x58) + uVar18 * 4), iVar11 != 0)) {
          string = *(char **)(iVar11 + 8);
          goto LAB_000445bf;
        }
      }
      string = *(char **)((int)handle + 0x34);
    }
  }
LAB_000445bf:
  iVar10 = debug_start_source(dhandle,string);
LAB_0004426d:
  return (uint)(iVar10 != 0);
LAB_00044790:
  p = p + 2;
  p = strchr(p,0x3a);
  ppcVar28 = (char **)p;
  if (p == (char *)0x0) {
LAB_000449d0:
    p = (char *)ppcVar28;
    bad_stab(string);
    return 0;
  }
  goto LAB_000447b1;
LAB_00044ecc:
  if ((*(char *)piVar23[1] == cVar6) && (iVar10 = strcmp((char *)piVar23[1],local_3c), iVar10 == 0))
  {
    piVar23[3] = (int)pdVar15;
    *piVar21 = *piVar23;
    goto LAB_00044efc;
  }
  piVar4 = (int *)*piVar23;
  piVar21 = piVar23;
  piVar23 = piVar4;
  if (piVar4 == (int *)0x0) {
LAB_00044efc:
    if (uVar18 == 0) {
      return 1;
    }
    pdVar15 = debug_name_type(dhandle,local_3c,pdVar15);
    if (pdVar15 != (debug_type_conflict)0x0) {
      if (slot == (debug_type_conflict *)0x0) {
        return 1;
      }
      *slot = pdVar15;
      return uVar18;
    }
    return 0;
  }
  goto LAB_00044ecc;
LAB_00044bbc:
  iVar11 = *piVar21;
  pcVar17 = *(char **)(iVar11 + 4);
  if (cVar6 != '\0') {
    pcVar17 = pcVar17 + (cVar6 == *pcVar17);
  }
  if ((*pcVar17 == cVar2) && (iVar14 = strcmp(pcVar17,local_3c), iVar14 == 0)) {
    puVar1 = (uint *)(*(int *)(iVar11 + 0x14) + 0x1c);
    value = CONCAT44(*(int *)(iVar11 + 0xc) + *(int *)(*(int *)(iVar11 + 0x14) + 0x20) +
                     (uint)CARRY4(*(uint *)(iVar11 + 8),*puVar1),*(uint *)(iVar11 + 8) + *puVar1);
    goto LAB_00044c0d;
  }
  piVar21 = piVar21 + 1;
  iVar10 = iVar10 + -1;
  if (iVar10 == 0) {
LAB_00044c0d:
    kind_00 = DEBUG_GLOBAL;
LAB_0004486e:
    bVar13 = stab_record_variable(dhandle,(stab_handle *)handle,local_3c,pdVar12,kind_00,value);
joined_r0x00044fe7:
    if (bVar13 != 0) {
      return 1;
    }
    return 0;
  }
  goto LAB_00044bbc;
}



/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Type propagation algorithm not settling */

uint FUN_000440f0(undefined4 param_1,int *param_2,uint param_3,int param_4,uint param_5,uint param_6
                 ,byte *param_7)

{
  uint *puVar1;
  char cVar2;
  char cVar3;
  int iVar4;
  int *piVar5;
  byte bVar6;
  int iVar7;
  undefined4 *puVar8;
  size_t sVar9;
  int iVar10;
  uint uVar11;
  char *pcVar12;
  int *piVar13;
  int iVar14;
  long lVar15;
  undefined4 extraout_ECX;
  void *__ptr;
  byte *pbVar16;
  int *piVar17;
  byte *pbVar18;
  uint uVar19;
  int *piVar20;
  bool bVar21;
  bool bVar22;
  bool bVar23;
  byte bVar24;
  longdouble lVar25;
  undefined8 uVar26;
  undefined4 uVar27;
  undefined4 uVar28;
  char *local_3c;
  uint local_38;
  byte *local_24;
  int *apiStack_20 [3];
  undefined4 uStack_14;
  
  bVar24 = 0;
  uStack_14 = 0x440f9;
  __ptr = (void *)param_2[4];
  if (__ptr != (void *)0x0) {
    if (((param_3 != 100) || (bVar6 = *param_7, bVar6 == 0)) ||
       (param_6 != param_2[6] || param_5 != param_2[5])) {
      iVar7 = FUN_0003c3e0(param_1,__ptr);
      if (iVar7 == 0) {
        return 0;
      }
      param_2[0xb] = 0;
      param_2[0xc] = 0;
      param_2[0xd] = param_2[4];
      if (param_2[1] == 0) {
        param_2[7] = param_2[5];
        param_2[8] = param_2[6];
      }
      param_2[0x15] = 1;
      puVar8 = (undefined4 *)xmalloc(4);
      param_2[4] = 0;
      param_2[0x16] = (int)puVar8;
      *puVar8 = 0;
      goto LAB_00044203;
    }
    if (param_2[0x10] == 0) goto LAB_0004414d;
LAB_000448f8:
    uVar11 = param_2[0x11];
    uVar19 = param_2[0x12];
    if (((uVar11 & uVar19) == 0xffffffff) ||
       (param_6 <= uVar19 && (uint)(uVar11 < param_5) <= uVar19 - param_6)) {
LAB_00044916:
      uVar19 = param_6;
      uVar11 = param_5;
      param_5 = uVar11;
      param_6 = uVar19;
    }
    iVar7 = FUN_0003e2f0();
    if (iVar7 == 0) {
      return 0;
    }
    iVar7 = FUN_0003c7e0(param_1,uVar11,uVar19);
    if (iVar7 == 0) {
      return 0;
    }
    param_2[0x10] = 0;
    param_2[0x11] = -1;
    param_2[0x12] = -1;
    bVar6 = *param_7;
LAB_00044966:
    if (bVar6 == 0) {
      return 1;
    }
    __ptr = (void *)param_2[4];
LAB_0004414d:
    if (__ptr == (void *)0x0) {
      iVar7 = xstrdup(param_7);
      param_2[4] = iVar7;
    }
    else {
      if (bVar6 == 0x2f) {
        iVar7 = xstrdup(param_7);
        param_2[4] = iVar7;
      }
      else {
        iVar7 = concat(__ptr,param_7,0);
        param_2[4] = iVar7;
      }
      free(__ptr);
    }
    param_2[5] = param_5;
    param_2[6] = param_6;
    return 1;
  }
LAB_00044203:
  sVar9 = strlen((char *)param_7);
  if (param_3 == 0x62) {
    return 1;
  }
  if ((int)param_3 < 99) {
    if (param_3 == 0x24) {
      if (*param_7 == 0) {
        if (param_2[0x10] == 0) {
          return 1;
        }
        if (param_2[1] != 0) {
          bVar21 = CARRY4(param_5,param_2[9]);
          param_5 = param_5 + param_2[9];
          param_6 = param_6 + param_2[10] + (uint)bVar21;
        }
        iVar7 = FUN_0003e2f0(param_5,param_6);
        if (iVar7 == 0) {
          return 0;
        }
        iVar7 = FUN_0003c7e0(param_1,param_5,param_6);
        if (iVar7 == 0) {
          return 0;
        }
        param_2[0x10] = 0;
        param_2[0x11] = -1;
        param_2[0x12] = -1;
        return 1;
      }
      if (param_2[0x10] != 0) {
        uVar11 = param_2[0x12];
        if (((param_2[0x11] & uVar11) == 0xffffffff) ||
           (param_6 < uVar11 || param_6 - uVar11 < (uint)(param_5 < (uint)param_2[0x11]))) {
          param_2[0x11] = param_5;
          param_2[0x12] = param_6;
        }
      }
    }
    else if ((int)param_3 < 0x25) {
      if (param_3 == 0xc) {
        return 1;
      }
      if ((0xb < (int)param_3) && (param_3 - 0x1e < 2)) {
        return 1;
      }
    }
    else {
      if (param_3 == 0x38) {
        return 1;
      }
      if ((int)param_3 < 0x39) {
        if (param_3 == 0x2a) {
          return 1;
        }
      }
      else {
        bVar21 = param_3 < 0x3c;
        bVar23 = param_3 == 0x3c;
        if (bVar23) {
          iVar7 = 0xf;
          pbVar16 = param_7;
          pbVar18 = (byte *)"gcc2_compiled.";
          do {
            if (iVar7 == 0) break;
            iVar7 = iVar7 + -1;
            bVar21 = *pbVar16 < *pbVar18;
            bVar23 = *pbVar16 == *pbVar18;
            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;
            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;
          } while (bVar23);
          bVar22 = false;
          bVar21 = (!bVar21 && !bVar23) == bVar21;
          if (bVar21) {
            param_2[0xb] = 2;
            return 1;
          }
          iVar7 = 0xe;
          pbVar16 = (byte *)"gcc_compiled.";
          do {
            if (iVar7 == 0) break;
            iVar7 = iVar7 + -1;
            bVar22 = *param_7 < *pbVar16;
            bVar21 = *param_7 == *pbVar16;
            param_7 = param_7 + (uint)bVar24 * -2 + 1;
            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;
          } while (bVar21);
          if ((!bVar22 && !bVar21) != bVar22) {
            param_2[0xc] = 1;
            return 1;
          }
          param_2[0xb] = 1;
          return 1;
        }
        if (param_3 == 0x44) {
          if (param_2[0x10] != 0) {
            bVar21 = CARRY4(param_5,param_2[9]);
            param_5 = param_5 + param_2[9];
            param_6 = param_6 + param_2[10] + (uint)bVar21;
          }
          iVar7 = FUN_0003ca10(param_1,param_4,param_5,param_6);
          goto LAB_0004426d;
        }
      }
    }
LAB_00044431:
    local_24 = (byte *)strchr((char *)param_7,0x3a);
    if (local_24 == (byte *)0x0) {
      return 1;
    }
    bVar24 = local_24[1];
    if ((bVar24 & 0xdf) != 0x46) goto LAB_000447b5;
    if (param_2[0x10] != 0) {
      local_3c = (char *)param_2[0x11];
      local_38 = param_2[0x12];
      if ((((uint)local_3c & local_38) == 0xffffffff) ||
         (param_6 <= local_38 && (uint)(local_3c < param_5) <= local_38 - param_6)) {
        local_3c = (char *)param_5;
        local_38 = param_6;
      }
      iVar7 = FUN_0003e2f0();
      if ((iVar7 == 0) || (iVar7 = FUN_0003c7e0(param_1,local_3c,local_38), iVar7 == 0)) {
        return 0;
      }
      param_2[0x11] = -1;
      param_2[0x12] = -1;
    }
    if (param_2[1] != 0) {
      param_2[9] = param_5;
      param_2[10] = param_6;
    }
    param_2[0x10] = 1;
    local_24 = (byte *)strchr((char *)param_7,0x3a);
    if (local_24 == (byte *)0x0) {
      return 1;
    }
LAB_000447b1:
    bVar24 = local_24[1];
LAB_000447b5:
    if (bVar24 == 0x3a) goto LAB_00044790;
    if (*param_7 != 0x24) goto LAB_000447c7;
    switch(param_7[1]) {
    default:
      dcgettext(0,"unknown C++ encoded name",5);
      FUN_0003df30();
    case 0x58:
    case 0x5f:
    case 0x76:
LAB_000447c7:
      local_3c = (char *)0x0;
      if ((param_7 != local_24) && ((*param_7 != 0x20 || (local_24 != param_7 + 1)))) {
        local_3c = (char *)FUN_0003e060();
      }
      break;
    case 0x65:
      local_3c = "eh_throw";
      break;
    case 0x74:
      local_3c = "this";
    }
    param_7 = param_7 + sVar9;
    pbVar16 = local_24 + 1;
    bVar24 = local_24[1];
    if (((PTR__sch_istable_00071fbc[(uint)bVar24 * 2] & 4) != 0) ||
       (bVar24 == 0x28 || bVar24 == 0x2d)) {
LAB_0004483d:
      local_24 = pbVar16;
      iVar7 = FUN_00040c70(&local_24,0,param_7);
      if (iVar7 == 0) {
        return 0;
      }
      uVar27 = 4;
      goto code_r0x0004486e;
    }
    if (bVar24 != 0) {
      pbVar16 = local_24 + 2;
      bVar24 = local_24[1];
      if (0x33 < (byte)(bVar24 + 0xbd)) goto LAB_00044e16;
      iVar7 = (int)&__DT_PLTGOT + *(int *)(&DAT_00057e08 + (uint)(byte)(bVar24 + 0xbd) * 4);
      switch(bVar24) {
      case 0x43:
        local_24 = pbVar16;
        iVar7 = FUN_00040c70(&local_24,0,param_7,bVar24);
        if (iVar7 == 0) {
          return 0;
        }
        iVar7 = FUN_0003ccf0(param_1,local_3c,iVar7,param_5,param_6);
        goto joined_r0x00044fe7;
      default:
        goto LAB_00044e16;
      case 0x46:
      case 0x66:
        local_24 = pbVar16;
        uVar26 = FUN_00040c70(&local_24,0,param_7,iVar7);
        uVar27 = (undefined4)((ulonglong)uVar26 >> 0x20);
        if ((int)uVar26 == 0) {
          return 0;
        }
        iVar7 = FUN_0003c5a0(param_1,local_3c,(int)uVar26,bVar24 == 0x46,param_5,param_6,uVar27,
                             uVar27);
        while( true ) {
          if (iVar7 == 0) {
            return 0;
          }
          if (*local_24 != 0x3b) break;
          local_24 = local_24 + 1;
          iVar7 = FUN_00040c70(&local_24,0,param_7);
        }
        return 1;
      case 0x47:
        local_24 = pbVar16;
        iVar7 = FUN_00040c70(&local_24,0,param_7,iVar7);
        if (iVar7 == 0) {
          return 0;
        }
        if (local_3c == (char *)0x0) goto code_r0x00044c0d;
        iVar10 = param_2[3];
        piVar13 = (int *)param_2[2];
        cVar3 = *(char *)(*(int *)(*param_2 + 4) + 0x18);
        if (iVar10 < 1) goto code_r0x00044c0d;
        cVar2 = *local_3c;
        goto code_r0x00044bbc;
      case 0x50:
        if (param_3 == 0x24) {
          local_24 = pbVar16;
          do {
            if (*local_24 != 0x3b) {
              return 1;
            }
            local_24 = local_24 + 1;
            iVar7 = FUN_00040c70(&local_24,0,param_7);
          } while (iVar7 != 0);
          return 0;
        }
      case 0x52:
        local_24 = pbVar16;
        iVar7 = FUN_00040c70(&local_24,0,param_7,iVar7);
joined_r0x00045010:
        if (iVar7 == 0) {
          return 0;
        }
code_r0x00044af0:
        iVar7 = FUN_0003c6e0(param_1,local_3c,iVar7);
        goto joined_r0x00044fe7;
      case 0x53:
        pbVar18 = local_24;
        local_24 = pbVar16;
        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);
        if (iVar7 == 0) {
          return 0;
        }
        uVar27 = 2;
        goto code_r0x0004486e;
      case 0x54:
        pbVar18 = local_24 + 2;
        if (*pbVar18 == 0x74) {
          pbVar16 = local_24 + 3;
        }
        local_24 = pbVar16;
        uVar11 = (uint)(*pbVar18 == 0x74);
        iVar7 = FUN_00040c70(&local_24,apiStack_20,param_7,param_3);
        if (iVar7 == 0) {
          return 0;
        }
        if (local_3c == (char *)0x0) {
          return 1;
        }
        iVar10 = param_2[0x3a];
        iVar7 = FUN_0003d680(param_1,local_3c,iVar7,extraout_ECX);
        if (iVar7 == 0) {
          return 0;
        }
        if (apiStack_20[0] != (int *)0x0) {
          *apiStack_20[0] = iVar7;
        }
        piVar13 = apiStack_20[0];
        if (iVar10 != 0) goto code_r0x00044efc;
        if ((int *)param_2[0x39] == (int *)0x0) goto code_r0x00044efc;
        cVar3 = *local_3c;
        piVar17 = param_2 + 0x39;
        piVar20 = (int *)param_2[0x39];
        goto code_r0x00044ecc;
      case 0x56:
        pbVar18 = local_24;
        local_24 = pbVar16;
        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);
        if (iVar7 == 0) {
          return 0;
        }
        uVar27 = 3;
        goto code_r0x0004486e;
      case 0x58:
      case 0x6c:
      case 0x73:
        goto LAB_0004483d;
      case 0x59:
        pbVar16 = local_24 + 3;
        if ((local_24[3] == 0x6e) &&
           (pbVar16 = local_24 + 4, pbVar18 = local_24 + 4, local_24 = pbVar16, *pbVar18 == 0x30)) {
          for (; *local_24 != 0x3b; local_24 = local_24 + 1) {
          }
          return 1;
        }
LAB_00044e16:
        local_24 = pbVar16;
        FUN_0003dfb0();
        return 0;
      case 0x61:
        local_24 = pbVar16;
        iVar7 = FUN_00040c70(&local_24,0,param_7,bVar24);
        goto joined_r0x00045010;
      case 99:
        if (local_24[2] == 0x3d) {
          pbVar16 = local_24 + 4;
          bVar24 = local_24[3];
          local_24 = pbVar16;
          if (bVar24 == 0x69) {
            lVar15 = strtol((char *)pbVar16,(char **)0x0,10);
            iVar7 = FUN_0003cbe0(param_1,local_3c,lVar15,lVar15 >> 0x1f);
            goto joined_r0x00044fe7;
          }
          if (bVar24 == 0x72) {
            lVar25 = (longdouble)func_0x00013560(pbVar16,0,0x72,0x72);
            iVar7 = FUN_0003cc30(param_1,local_3c,(double)lVar25);
            goto joined_r0x00044fe7;
          }
          if (bVar24 == 0x65) {
            iVar7 = FUN_00040c70(&local_24,0,param_7,0x65);
            if (iVar7 == 0) {
              return 0;
            }
            pbVar16 = local_24;
            if (*local_24 == 0x2c) {
              uVar28 = 10;
              uVar27 = 0;
              lVar15 = strtol((char *)local_24,(char **)0x0,10);
              iVar7 = FUN_0003cc70(param_1,local_3c,iVar7,lVar15,lVar15 >> 0x1f,uVar27,uVar28,
                                   param_3);
              goto joined_r0x00044fe7;
            }
          }
        }
        break;
      case 0x70:
        if (local_24[2] == 0x46) {
          local_24 = local_24 + 3;
          iVar7 = FUN_00040c70(&local_24,0,param_7,local_24);
          if (iVar7 == 0) {
            return 0;
          }
          uVar27 = FUN_0003d080(param_1,iVar7,0,0);
          iVar7 = FUN_0003d030(param_1,uVar27);
        }
        else {
          pbVar18 = local_24;
          local_24 = pbVar16;
          iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);
        }
        goto joined_r0x00044dee;
      case 0x72:
        pbVar18 = local_24;
        local_24 = pbVar16;
        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);
        if (iVar7 == 0) {
          return 0;
        }
        uVar27 = 5;
        goto code_r0x0004486e;
      case 0x74:
        pbVar18 = local_24;
        local_24 = pbVar16;
        iVar7 = FUN_00040c70(&local_24,apiStack_20,param_7,pbVar18);
        if (iVar7 == 0) {
          return 0;
        }
        if (local_3c == (char *)0x0) {
          return 1;
        }
        iVar7 = FUN_0003d5a0(param_1,local_3c,iVar7,param_2);
        if (iVar7 == 0) {
          return 0;
        }
        if (apiStack_20[0] == (int *)0x0) {
          return 1;
        }
        *apiStack_20[0] = iVar7;
        return 1;
      case 0x76:
        pbVar18 = local_24;
        local_24 = pbVar16;
        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);
joined_r0x00044dee:
        if (iVar7 == 0) {
          return 0;
        }
        goto code_r0x00044af0;
      }
    }
    goto LAB_000449d0;
  }
  if (param_3 == 0xc0) {
    if ((param_2[0xc] != 0) && (param_4 == 1)) {
      return 1;
    }
    if (param_2[0x10] == 0) {
      pcVar12 = (char *)dcgettext(0,"N_LBRAC not within function\n",5);
      fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar12);
      return 0;
    }
    uVar11 = param_2[9] + param_2[7];
    iVar7 = FUN_0003c880(param_1,uVar11 + param_5,
                         param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7]) + param_6 +
                         (uint)CARRY4(uVar11,param_5));
    if (iVar7 == 0) {
      return 0;
    }
    iVar7 = FUN_0003e2f0();
    if (iVar7 == 0) {
      return 0;
    }
    param_2[0x13] = param_2[0x13] + 1;
    return 1;
  }
  if (0xc0 < (int)param_3) {
    if (param_3 == 0xe0) {
      if ((param_2[0xc] != 0) && (param_4 == 1)) {
        return 1;
      }
      iVar7 = FUN_0003e2f0();
      if (iVar7 == 0) {
        return 0;
      }
      uVar11 = param_2[9] + param_2[7];
      iVar7 = FUN_0003c980(param_1,uVar11 + param_5,
                           param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7]) + param_6
                           + (uint)CARRY4(uVar11,param_5));
      if (iVar7 == 0) {
        return 0;
      }
      param_2 = param_2 + 0x13;
      *param_2 = *param_2 + -1;
      if (*param_2 < 0) {
        pcVar12 = (char *)dcgettext(0,"Too many N_RBRACs\n",5);
        fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar12);
        return 0;
      }
      return 1;
    }
    if ((int)param_3 < 0xe1) {
      if (param_3 == 0xc2) {
        iVar7 = param_2[0x15];
        param_2[0x15] = iVar7 + 1;
        iVar7 = xrealloc(param_2[0x16],(iVar7 + 1) * 4);
        puVar8 = (undefined4 *)param_2[0xf];
        param_2[0x16] = iVar7;
        while( true ) {
          if (puVar8 == (undefined4 *)0x0) {
            dcgettext(0,"Undefined N_EXCL",5);
            FUN_0003df30();
            *(undefined4 *)(param_2[0x16] + -4 + param_2[0x15] * 4) = 0;
            return 1;
          }
          if ((puVar8[4] == param_6 && puVar8[3] == param_5) &&
             (iVar10 = strcmp((char *)puVar8[2],(char *)param_7), iVar10 == 0)) break;
          puVar8 = (undefined4 *)*puVar8;
        }
        *(undefined4 *)(iVar7 + -4 + param_2[0x15] * 4) = puVar8[6];
        return 1;
      }
      goto LAB_00044431;
    }
    if (param_3 == 0xe2) {
      iVar7 = FUN_0003cb60(param_1,param_7);
    }
    else {
      if (param_3 != 0xe4) goto LAB_00044431;
      iVar7 = FUN_0003cba0(param_1,param_7);
    }
    goto LAB_0004426d;
  }
  if (param_3 == 0x82) {
    piVar13 = (int *)xmalloc(0x1c);
    iVar7 = param_2[0xf];
    piVar13[4] = param_6;
    *piVar13 = iVar7;
    iVar7 = param_2[0xe];
    piVar13[6] = 0;
    piVar13[1] = iVar7;
    param_2[0xf] = (int)piVar13;
    piVar13[2] = (int)param_7;
    param_2[0xe] = (int)piVar13;
    piVar13[3] = param_5;
    iVar7 = param_2[0x15];
    piVar13[5] = iVar7;
    iVar7 = iVar7 + 1;
    param_2[0x15] = iVar7;
    iVar10 = xrealloc(param_2[0x16],iVar7 * 4);
    iVar7 = piVar13[5];
    param_2[0x16] = iVar10;
    *(undefined4 *)(iVar10 + iVar7 * 4) = 0;
  }
  else {
    if ((int)param_3 < 0x83) {
      if (param_3 != 100) goto LAB_00044431;
      bVar6 = *param_7;
      if (param_2[0x10] != 0) {
        if (bVar6 != 0) goto LAB_000448f8;
        goto LAB_00044916;
      }
      goto LAB_00044966;
    }
    if (param_3 != 0x84) {
      if (param_3 != 0xa2) goto LAB_00044431;
      iVar7 = param_2[0xe];
      if (iVar7 != 0) {
        iVar10 = *(int *)(iVar7 + 4);
        uVar11 = *(uint *)(iVar7 + 0x14);
        param_2[0xe] = iVar10;
        if ((uVar11 < (uint)param_2[0x15]) &&
           (*(undefined4 *)(iVar7 + 0x18) = *(undefined4 *)(param_2[0x16] + uVar11 * 4), iVar10 != 0
           )) {
          param_7 = *(byte **)(iVar10 + 8);
          goto LAB_000445bf;
        }
      }
      param_7 = (byte *)param_2[0xd];
    }
  }
LAB_000445bf:
  iVar7 = FUN_0003c4a0(param_1,param_7);
LAB_0004426d:
  return (uint)(iVar7 != 0);
LAB_00044790:
  local_24 = local_24 + 2;
  local_24 = (byte *)strchr((char *)local_24,0x3a);
  pbVar16 = local_24;
  if (local_24 == (byte *)0x0) {
LAB_000449d0:
    local_24 = pbVar16;
    FUN_0003dfb0();
    return 0;
  }
  goto LAB_000447b1;
code_r0x00044ecc:
  piVar13 = (int *)piVar20[1];
  if (((char)*piVar13 == cVar3) &&
     (piVar13 = (int *)strcmp((char *)piVar13,local_3c), piVar13 == (int *)0x0)) {
    piVar13 = (int *)*piVar20;
    piVar20[3] = iVar7;
    *piVar17 = (int)piVar13;
    goto code_r0x00044efc;
  }
  piVar5 = (int *)*piVar20;
  piVar17 = piVar20;
  piVar20 = piVar5;
  if (piVar5 == (int *)0x0) {
code_r0x00044efc:
    if (uVar11 == 0) {
      return 1;
    }
    iVar7 = FUN_0003d5a0(param_1,local_3c,iVar7,piVar13);
    if (iVar7 != 0) {
      if (apiStack_20[0] == (int *)0x0) {
        return 1;
      }
      *apiStack_20[0] = iVar7;
      return uVar11;
    }
    return 0;
  }
  goto code_r0x00044ecc;
code_r0x00044bbc:
  iVar4 = *piVar13;
  pcVar12 = *(char **)(iVar4 + 4);
  if (cVar3 != '\0') {
    pcVar12 = pcVar12 + (cVar3 == *pcVar12);
  }
  if ((*pcVar12 == cVar2) && (iVar14 = strcmp(pcVar12,local_3c), iVar14 == 0)) {
    puVar1 = (uint *)(*(int *)(iVar4 + 0x14) + 0x1c);
    param_5 = *(uint *)(iVar4 + 8) + *puVar1;
    param_6 = *(int *)(iVar4 + 0xc) + *(int *)(*(int *)(iVar4 + 0x14) + 0x20) +
              (uint)CARRY4(*(uint *)(iVar4 + 8),*puVar1);
    goto code_r0x00044c0d;
  }
  piVar13 = piVar13 + 1;
  iVar10 = iVar10 + -1;
  if (iVar10 == 0) {
code_r0x00044c0d:
    uVar27 = 1;
code_r0x0004486e:
    iVar7 = FUN_0003e250(iVar7,uVar27,param_5,param_6);
joined_r0x00044fe7:
    if (iVar7 != 0) {
      return 1;
    }
    return 0;
  }
  goto code_r0x00044bbc;
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x000143d0
ADD EBX,0x2df07
SUB ESP,0x3c
MOV EBP,dword ptr [ESP + 0x54]
MOV EDX,dword ptr [ESP + 0x60]
MOV ECX,dword ptr [ESP + 0x64]
MOV EDI,dword ptr [ESP + 0x58]
MOV ESI,dword ptr [EBP + 0x10]
MOV dword ptr [ESP],EDX
MOV dword ptr [ESP + 0x4],ECX
TEST ESI,ESI
JZ 0x00044203
CMP EDI,0x64
JNZ 0x000441a0
MOV EAX,dword ptr [ESP + 0x68]
MOVZX EAX,byte ptr [EAX]
TEST AL,AL
JZ 0x000441a0
XOR EDX,dword ptr [EBP + 0x14]
MOV ECX,dword ptr [ESP + 0x4]
XOR ECX,dword ptr [EBP + 0x18]
OR ECX,EDX
JNZ 0x000441a0
MOV EDX,dword ptr [EBP + 0x40]
TEST EDX,EDX
JNZ 0x000448f8
TEST ESI,ESI
JZ 0x00045077
CMP AL,0x2f
JZ 0x00045060
SUB ESP,0x4
PUSH 0x0
PUSH dword ptr [ESP + 0x70]
PUSH ESI
CALL 0x00013240
ADD ESP,0x10
MOV dword ptr [EBP + 0x10],EAX
SUB ESP,0xc
PUSH ESI
CALL 0x00013120
ADD ESP,0x10
MOV EAX,dword ptr [ESP]
MOV EDX,dword ptr [ESP + 0x4]
MOV ESI,0x1
MOV dword ptr [EBP + 0x14],EAX
MOV dword ptr [EBP + 0x18],EDX
ADD ESP,0x3c
MOV EAX,ESI
POP EBX
POP ESI
POP EDI
POP EBP
RET
SUB ESP,0x8
PUSH ESI
PUSH dword ptr [ESP + 0x5c]
CALL 0x0003c3e0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00044598
MOV EAX,dword ptr [EBP + 0x10]
MOV dword ptr [EBP + 0x2c],0x0
MOV dword ptr [EBP + 0x30],0x0
MOV dword ptr [EBP + 0x34],EAX
MOV EAX,dword ptr [EBP + 0x4]
TEST EAX,EAX
JNZ 0x000441df
MOV EAX,dword ptr [EBP + 0x14]
MOV EDX,dword ptr [EBP + 0x18]
MOV dword ptr [EBP + 0x1c],EAX
MOV dword ptr [EBP + 0x20],EDX
SUB ESP,0xc
MOV dword ptr [EBP + 0x54],0x1
PUSH 0x4
CALL 0x000132b0
MOV dword ptr [EBP + 0x10],0x0
ADD ESP,0x10
MOV dword ptr [EBP + 0x58],EAX
MOV dword ptr [EAX],0x0
SUB ESP,0xc
PUSH dword ptr [ESP + 0x74]
CALL 0x00013480
ADD ESP,0x10
MOV dword ptr [ESP + 0xc],EAX
CMP EDI,0x62
JZ 0x00044510
JLE 0x00044390
CMP EDI,0xc0
JZ 0x00044710
JLE 0x00044288
CMP EDI,0xe0
JZ 0x00044520
JLE 0x000442f0
CMP EDI,0xe2
JZ 0x000445a0
CMP EDI,0xe4
JNZ 0x00044431
SUB ESP,0x8
PUSH dword ptr [ESP + 0x70]
PUSH dword ptr [ESP + 0x5c]
CALL 0x0003cba0
ADD ESP,0x10
TEST EAX,EAX
SETNZ AL
ADD ESP,0x3c
MOVZX EAX,AL
POP EBX
MOV ESI,EAX
MOV EAX,ESI
POP ESI
POP EDI
POP EBP
RET
CMP EDI,0x82
JZ 0x00044620
JLE 0x00044428
CMP EDI,0x84
JZ 0x000445b8
CMP EDI,0xa2
JNZ 0x00044431
MOV EAX,dword ptr [EBP + 0x38]
TEST EAX,EAX
JZ 0x00044980
MOV EDX,dword ptr [EAX + 0x4]
MOV ECX,dword ptr [EAX + 0x14]
MOV dword ptr [EBP + 0x38],EDX
CMP ECX,dword ptr [EBP + 0x54]
JNC 0x00044980
MOV ESI,dword ptr [EBP + 0x58]
MOV ECX,dword ptr [ESI + ECX*0x4]
MOV dword ptr [EAX + 0x18],ECX
TEST EDX,EDX
JZ 0x00044980
MOV EAX,dword ptr [EDX + 0x8]
SUB ESP,0x8
PUSH EAX
JMP 0x000445bf
CMP EDI,0xc2
JNZ 0x00044431
MOV EAX,dword ptr [EBP + 0x54]
SUB ESP,0x8
ADD EAX,0x1
MOV dword ptr [EBP + 0x54],EAX
SHL EAX,0x2
PUSH EAX
PUSH dword ptr [EBP + 0x58]
CALL 0x00013220
MOV EDI,dword ptr [EBP + 0x3c]
ADD ESP,0x10
MOV dword ptr [EBP + 0x58],EAX
TEST EDI,EDI
JZ 0x00044994
MOV dword ptr [ESP + 0x54],EBP
MOV ESI,dword ptr [ESP]
MOV EBP,EDI
MOV dword ptr [ESP + 0xc],EAX
MOV EDI,dword ptr [ESP + 0x4]
JMP 0x0004434b
MOV EBP,dword ptr [EBP]
TEST EBP,EBP
JZ 0x00044990
MOV EAX,dword ptr [EBP + 0xc]
MOV ECX,dword ptr [EBP + 0x10]
XOR EAX,ESI
XOR ECX,EDI
OR ECX,EAX
JNZ 0x00044340
SUB ESP,0x8
PUSH dword ptr [ESP + 0x70]
PUSH dword ptr [EBP + 0x8]
CALL 0x00013080
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x00044340
MOV EDI,EBP
MOV EBP,dword ptr [ESP + 0x54]
MOV ESI,dword ptr [ESP + 0xc]
MOV EDX,dword ptr [EDI + 0x18]
MOV EAX,dword ptr [EBP + 0x54]
MOV dword ptr [ESI + EAX*0x4 + -0x4],EDX
MOV ESI,0x1
JMP 0x00044190
CMP EDI,0x24
JZ 0x00044690
JLE 0x00044400
CMP EDI,0x38
JZ 0x00044510
JLE 0x000443e8
CMP EDI,0x3c
JZ 0x000445d0
CMP EDI,0x44
JNZ 0x00044431
MOV ECX,dword ptr [EBP + 0x40]
TEST ECX,ECX
JZ 0x000443c8
MOV EAX,dword ptr [EBP + 0x24]
MOV EDX,dword ptr [EBP + 0x28]
ADD dword ptr [ESP],EAX
ADC dword ptr [ESP + 0x4],EDX
PUSH dword ptr [ESP + 0x4]
PUSH dword ptr [ESP + 0x4]
PUSH dword ptr [ESP + 0x64]
PUSH dword ptr [ESP + 0x5c]
CALL 0x0003ca10
JMP 0x0004426d
MOV ESI,0x1
CMP EDI,0x2a
JNZ 0x00044431
ADD ESP,0x3c
MOV EAX,ESI
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV ESI,0x1
CMP EDI,0xc
JZ 0x00044190
JL 0x00044431
LEA EAX,[EDI + -0x1e]
CMP EAX,0x1
JA 0x00044431
ADD ESP,0x3c
MOV EAX,ESI
POP EBX
POP ESI
POP EDI
POP EBP
RET
CMP EDI,0x64
JZ 0x000448e1
SUB ESP,0x8
PUSH 0x3a
PUSH dword ptr [ESP + 0x74]
CALL 0x00013450
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00044510
MOVZX EDX,byte ptr [EAX + 0x1]
MOV ECX,EDX
AND ECX,0xffffffdf
CMP CL,0x46
JNZ 0x00044780
MOV EAX,dword ptr [EBP + 0x40]
TEST EAX,EAX
JZ 0x000444d7
MOV EDX,dword ptr [EBP + 0x44]
MOV ECX,dword ptr [EBP + 0x48]
MOV EAX,EDX
MOV dword ptr [ESP + 0x10],EDX
AND EAX,ECX
MOV dword ptr [ESP + 0x14],ECX
CMP EAX,-0x1
JZ 0x00044487
MOV EAX,dword ptr [ESP]
CMP EDX,EAX
MOV EAX,ECX
SBB EAX,dword ptr [ESP + 0x4]
JC 0x00044496
MOV EAX,dword ptr [ESP]
MOV EDX,dword ptr [ESP + 0x4]
MOV dword ptr [ESP + 0x10],EAX
MOV dword ptr [ESP + 0x14],EDX
MOV EAX,dword ptr [ESP + 0x50]
LEA EDX,[EBP + 0x50]
CALL 0x0003e2f0
TEST EAX,EAX
JZ 0x00044598
SUB ESP,0x4
PUSH dword ptr [ESP + 0x18]
PUSH dword ptr [ESP + 0x18]
PUSH dword ptr [ESP + 0x5c]
CALL 0x0003c7e0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00044598
MOV dword ptr [EBP + 0x44],0xffffffff
MOV dword ptr [EBP + 0x48],0xffffffff
MOV EAX,dword ptr [EBP + 0x4]
TEST EAX,EAX
JZ 0x000444eb
MOV EAX,dword ptr [ESP]
MOV EDX,dword ptr [ESP + 0x4]
MOV dword ptr [EBP + 0x24],EAX
MOV dword ptr [EBP + 0x28],EDX
SUB ESP,0x8
MOV dword ptr [EBP + 0x40],0x1
PUSH 0x3a
PUSH dword ptr [ESP + 0x74]
CALL 0x00013450
ADD ESP,0x10
MOV dword ptr [ESP + 0x28],EAX
TEST EAX,EAX
JNZ 0x000447b1
NOP
MOV ESI,0x1
JMP 0x00044190
MOV EAX,dword ptr [EBP + 0x30]
TEST EAX,EAX
JZ 0x0004452e
CMP dword ptr [ESP + 0x5c],0x1
JZ 0x00044510
MOV EAX,dword ptr [ESP + 0x50]
LEA EDX,[EBP + 0x50]
CALL 0x0003e2f0
TEST EAX,EAX
JZ 0x00044598
SUB ESP,0x4
MOV EAX,dword ptr [EBP + 0x24]
MOV EDX,dword ptr [EBP + 0x28]
ADD EAX,dword ptr [EBP + 0x1c]
ADC EDX,dword ptr [EBP + 0x20]
ADD EAX,dword ptr [ESP + 0x4]
ADC EDX,dword ptr [ESP + 0x8]
PUSH EDX
PUSH EAX
PUSH dword ptr [ESP + 0x5c]
CALL 0x0003c980
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00044598
SUB dword ptr [EBP + 0x4c],0x1
JNS 0x00044510
SUB ESP,0x4
LEA EAX,[EBX + 0xfffe536a]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000131f0
POP EDI
POP EBP
PUSH EAX
MOV EAX,dword ptr [EBX + 0xffffffb4]
PUSH dword ptr [EAX]
CALL 0x00013878
ADD ESP,0x10
LEA ESI,[ESI]
NOP
XOR ESI,ESI
JMP 0x00044190
SUB ESP,0x8
PUSH dword ptr [ESP + 0x70]
PUSH dword ptr [ESP + 0x5c]
CALL 0x0003cb60
JMP 0x0004426d
SUB ESP,0x8
PUSH dword ptr [ESP + 0x70]
PUSH dword ptr [ESP + 0x5c]
CALL 0x0003c4a0
JMP 0x0004426d
MOV ESI,dword ptr [ESP + 0x68]
MOV ECX,0xf
LEA EDI,[EBX + 0xfffe5396]
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x000448d0
MOV ESI,dword ptr [ESP + 0x68]
MOV ECX,0xe
LEA EDI,[EBX + 0xfffe53a5]
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
JNZ 0x00044a10
MOV dword ptr [EBP + 0x2c],0x1
MOV ESI,0x1
JMP 0x00044190
SUB ESP,0xc
PUSH 0x1c
CALL 0x000132b0
MOV EDX,dword ptr [ESP + 0x14]
MOV ESI,EAX
MOV EAX,dword ptr [EBP + 0x3c]
MOV dword ptr [ESI + 0x10],EDX
MOV dword ptr [ESI],EAX
MOV EAX,dword ptr [EBP + 0x38]
MOV dword ptr [ESI + 0x18],0x0
MOV dword ptr [ESI + 0x4],EAX
MOV EAX,dword ptr [ESP + 0x78]
MOV dword ptr [EBP + 0x3c],ESI
MOV dword ptr [ESI + 0x8],EAX
MOV EAX,dword ptr [ESP + 0x10]
MOV dword ptr [EBP + 0x38],ESI
MOV dword ptr [ESI + 0xc],EAX
MOV EAX,dword ptr [EBP + 0x54]
MOV dword ptr [ESI + 0x14],EAX
ADD EAX,0x1
MOV dword ptr [EBP + 0x54],EAX
SHL EAX,0x2
POP EDI
POP EDX
PUSH EAX
PUSH dword ptr [EBP + 0x58]
CALL 0x00013220
MOV EDX,dword ptr [ESI + 0x14]
MOV dword ptr [EBP + 0x58],EAX
MOV dword ptr [EAX + EDX*0x4],0x0
POP ECX
POP ESI
JMP 0x000445bb
MOV EDX,dword ptr [ESP + 0x68]
MOV EAX,dword ptr [EBP + 0x40]
CMP byte ptr [EDX],0x0
JNZ 0x00044890
TEST EAX,EAX
JZ 0x00044510
MOV EDX,dword ptr [EBP + 0x4]
TEST EDX,EDX
JZ 0x000446bc
MOV EAX,dword ptr [EBP + 0x24]
MOV EDX,dword ptr [EBP + 0x28]
ADD dword ptr [ESP],EAX
ADC dword ptr [ESP + 0x4],EDX
MOV EAX,dword ptr [ESP + 0x50]
LEA EDX,[EBP + 0x50]
CALL 0x0003e2f0
TEST EAX,EAX
JZ 0x00044598
SUB ESP,0x4
PUSH dword ptr [ESP + 0x8]
PUSH dword ptr [ESP + 0x8]
PUSH dword ptr [ESP + 0x5c]
CALL 0x0003c7e0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00044598
MOV dword ptr [EBP + 0x40],0x0
MOV ESI,0x1
MOV dword ptr [EBP + 0x44],0xffffffff
MOV dword ptr [EBP + 0x48],0xffffffff
JMP 0x00044190
MOV ESI,dword ptr [EBP + 0x30]
TEST ESI,ESI
JZ 0x00044722
CMP dword ptr [ESP + 0x5c],0x1
JZ 0x00044510
MOV ESI,dword ptr [EBP + 0x40]
TEST ESI,ESI
JZ 0x000449e0
SUB ESP,0x4
MOV EAX,dword ptr [EBP + 0x24]
MOV EDX,dword ptr [EBP + 0x28]
ADD EAX,dword ptr [EBP + 0x1c]
ADC EDX,dword ptr [EBP + 0x20]
ADD EAX,dword ptr [ESP + 0x4]
ADC EDX,dword ptr [ESP + 0x8]
PUSH EDX
PUSH EAX
PUSH dword ptr [ESP + 0x5c]
CALL 0x0003c880
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00044598
MOV EAX,dword ptr [ESP + 0x50]
LEA EDX,[EBP + 0x50]
CALL 0x0003e2f0
TEST EAX,EAX
JZ 0x00044598
ADD dword ptr [EBP + 0x4c],0x1
MOV ESI,0x1
JMP 0x00044190
MOV dword ptr [ESP + 0x28],EAX
JMP 0x000447b5
ADD EAX,0x2
SUB ESP,0x8
MOV dword ptr [ESP + 0x30],EAX
PUSH 0x3a
PUSH EAX
CALL 0x00013450
ADD ESP,0x10
MOV dword ptr [ESP + 0x28],EAX
TEST EAX,EAX
JZ 0x000449d0
MOVZX EDX,byte ptr [EAX + 0x1]
CMP DL,0x3a
JZ 0x00044790
MOV EDX,dword ptr [ESP + 0x68]
CMP byte ptr [EDX],0x24
JZ 0x00044a28
MOV dword ptr [ESP + 0x10],0x0
CMP dword ptr [ESP + 0x68],EAX
JZ 0x000447fc
MOV EDX,dword ptr [ESP + 0x68]
CMP byte ptr [EDX],0x20
JNZ 0x000447e5
ADD EDX,0x1
CMP EAX,EDX
JZ 0x000447fc
SUB EAX,dword ptr [ESP + 0x68]
MOV EDX,EAX
MOV EAX,dword ptr [ESP + 0x68]
CALL 0x0003e060
MOV dword ptr [ESP + 0x10],EAX
MOV EAX,dword ptr [ESP + 0x28]
MOV EDX,dword ptr [ESP + 0xc]
ADD EDX,dword ptr [ESP + 0x68]
MOV dword ptr [ESP + 0xc],EDX
LEA EDX,[EAX + 0x1]
MOV ESI,dword ptr [EBX + 0xffffffbc]
MOV dword ptr [ESP + 0x28],EDX
MOVZX ECX,byte ptr [EAX + 0x1]
MOV EDX,ECX
TEST byte ptr [ESI + ECX*0x2],0x4
JNZ 0x0004483d
CMP CL,0x28
MOV byte ptr [ESP + 0x18],DL
SETZ CL
CMP DL,0x2d
MOV ESI,ECX
SETZ CL
MOV EDX,ESI
OR DL,CL
JZ 0x00044a90
SUB ESP,0x4
XOR ECX,ECX
MOV EDX,EBP
PUSH dword ptr [ESP + 0x10]
PUSH 0x0
LEA EAX,[ESP + 0x34]
PUSH EAX
MOV EAX,dword ptr [ESP + 0x60]
CALL 0x00040c70
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00044598
PUSH dword ptr [ESP + 0x4]
PUSH dword ptr [ESP + 0x4]
PUSH 0x4
PUSH EAX
MOV ECX,dword ptr [ESP + 0x20]
MOV EAX,dword ptr [ESP + 0x60]
MOV EDX,EBP
CALL 0x0003e250
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x00044510
JMP 0x00044598
TEST EAX,EAX
JZ 0x00044431
MOV EDX,dword ptr [EBP + 0x44]
MOV EAX,dword ptr [EBP + 0x48]
MOV ESI,EDX
AND ESI,EAX
CMP ESI,-0x1
JZ 0x000448b6
CMP dword ptr [ESP],EDX
MOV EDX,dword ptr [ESP + 0x4]
SBB EDX,EAX
JNC 0x00044431
MOV EAX,dword ptr [ESP]
MOV EDX,dword ptr [ESP + 0x4]
MOV dword ptr [EBP + 0x44],EAX
MOV dword ptr [EBP + 0x48],EDX
JMP 0x00044431
MOV dword ptr [EBP + 0x2c],0x2
MOV ESI,0x1
JMP 0x00044190
MOV EAX,dword ptr [ESP + 0x68]
CMP dword ptr [EBP + 0x40],0x0
MOVZX EAX,byte ptr [EAX]
JZ 0x00044966
TEST AL,AL
JZ 0x00044916
LEA ESI,[ESI]
MOV ESI,dword ptr [EBP + 0x44]
MOV EDI,dword ptr [EBP + 0x48]
MOV EAX,ESI
AND EAX,EDI
CMP EAX,-0x1
JZ 0x00044916
MOV EAX,dword ptr [ESP]
MOV EDX,dword ptr [ESP + 0x4]
MOV ECX,EDI
CMP ESI,EAX
SBB ECX,EDX
JC 0x0004491d
MOV ESI,dword ptr [ESP]
MOV EDI,dword ptr [ESP + 0x4]
MOV EAX,dword ptr [ESP + 0x50]
LEA EDX,[EBP + 0x50]
CALL 0x0003e2f0
TEST EAX,EAX
JZ 0x00044598
SUB ESP,0x4
PUSH EDI
PUSH ESI
PUSH dword ptr [ESP + 0x5c]
CALL 0x0003c7e0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00044598
MOV EAX,dword ptr [ESP + 0x68]
MOV dword ptr [EBP + 0x40],0x0
MOV dword ptr [EBP + 0x44],0xffffffff
MOV dword ptr [EBP + 0x48],0xffffffff
MOVZX EAX,byte ptr [EAX]
TEST AL,AL
JZ 0x00044510
MOV ESI,dword ptr [EBP + 0x10]
JMP 0x0004414d
MOV EAX,dword ptr [EBP + 0x34]
JMP 0x000442e3
MOV EBP,dword ptr [ESP + 0x54]
SUB ESP,0x4
LEA EAX,[EBX + 0xfffe53b3]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000131f0
MOV EDX,EAX
MOV EAX,dword ptr [ESP + 0x78]
CALL 0x0003df30
MOV EDX,dword ptr [EBP + 0x54]
MOV EAX,dword ptr [EBP + 0x58]
ADD ESP,0x10
MOV dword ptr [EAX + EDX*0x4 + -0x4],0x0
JMP 0x00044510
MOV EAX,dword ptr [ESP + 0x68]
XOR ESI,ESI
CALL 0x0003dfb0
JMP 0x00044190
SUB ESP,0x4
LEA EAX,[EBX + 0xfffe534d]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000131f0
POP EDX
POP ECX
PUSH EAX
MOV EAX,dword ptr [EBX + 0xffffffb4]
PUSH dword ptr [EAX]
CALL 0x00013878
ADD ESP,0x10
JMP 0x00044190
MOV dword ptr [EBP + 0x30],0x1
MOV ESI,0x1
JMP 0x00044190
MOVZX ECX,byte ptr [EDX + 0x1]
MOV EDX,ECX
MOV byte ptr [ESP + 0x10],CL
SUB EDX,0x58
CMP DL,0x1e
JA 0x00044a66
MOVZX EDX,DL
MOV ESI,dword ptr [EBX + EDX*0x4 + 0xfffe5d8c]
ADD ESI,EBX
JMP ESI
SUB ESP,0x4
LEA EAX,[EBX + 0xfffe537d]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000131f0
MOV EDX,EAX
MOV EAX,dword ptr [ESP + 0x78]
CALL 0x0003df30
MOV EAX,dword ptr [ESP + 0x38]
ADD ESP,0x10
JMP 0x000447c7
CMP byte ptr [ESP + 0x18],0x0
JZ 0x000449d0
LEA EDX,[EAX + 0x2]
MOV dword ptr [ESP + 0x28],EDX
MOVZX ESI,byte ptr [EAX + 0x1]
LEA EDX,[ESI + -0x43]
CMP DL,0x33
JA 0x00044e16
MOVZX EDX,DL
MOV ECX,dword ptr [EBX + EDX*0x4 + 0xfffe5e08]
ADD ECX,EBX
JMP ECX
MOV EAX,dword ptr [ESP + 0x68]
XOR ESI,ESI
CALL 0x0003dfb0
JMP 0x00044190
SUB ESP,0xc
PUSH dword ptr [ESP + 0x74]
CALL 0x000132f0
ADD ESP,0x10
MOV dword ptr [EBP + 0x10],EAX
JMP 0x00044172
SUB ESP,0xc
PUSH dword ptr [ESP + 0x74]
CALL 0x000132f0
ADD ESP,0x10
MOV dword ptr [EBP + 0x10],EAX
JMP 0x0004417e
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Type propagation algorithm not settling */\n\nuint FUN_000440f0(undefined4 param_1,int *param_2,uint param_3,int param_4,uint param_5,uint param_6\n                 ,byte *param_7)\n\n{\n  uint *puVar1;\n  char cVar2;\n  char cVar3;\n  int iVar4;\n  int *piVar5;\n  byte bVar6;\n  int iVar7;\n  undefined4 *puVar8;\n  size_t sVar9;\n  int iVar10;\n  uint uVar11;\n  char *pcVar12;\n  int *piVar13;\n  int iVar14;\n  long lVar15;\n  undefined4 extraout_ECX;\n  void *__ptr;\n  byte *pbVar16;\n  int *piVar17;\n  byte *pbVar18;\n  uint uVar19;\n  int *piVar20;\n  bool bVar21;\n  bool bVar22;\n  bool bVar23;\n  byte bVar24;\n  longdouble lVar25;\n  undefined8 uVar26;\n  undefined4 uVar27;\n  undefined4 uVar28;\n  char *local_3c;\n  uint local_38;\n  byte *local_24;\n  int *apiStack_20 [3];\n  undefined4 uStack_14;\n  \n  bVar24 = 0;\n  uStack_14 = 0x440f9;\n  __ptr = (void *)param_2[4];\n  if (__ptr != (void *)0x0) {\n    if (((param_3 != 100) || (bVar6 = *param_7, bVar6 == 0)) ||\n       (param_6 != param_2[6] || param_5 != param_2[5])) {\n      iVar7 = FUN_0003c3e0(param_1,__ptr);\n      if (iVar7 == 0) {\n        return 0;\n      }\n      param_2[0xb] = 0;\n      param_2[0xc] = 0;\n      param_2[0xd] = param_2[4];\n      if (param_2[1] == 0) {\n        param_2[7] = param_2[5];\n        param_2[8] = param_2[6];\n      }\n      param_2[0x15] = 1;\n      puVar8 = (undefined4 *)xmalloc(4);\n      param_2[4] = 0;\n      param_2[0x16] = (int)puVar8;\n      *puVar8 = 0;\n      goto LAB_00044203;\n    }\n    if (param_2[0x10] == 0) goto LAB_0004414d;\nLAB_000448f8:\n    uVar11 = param_2[0x11];\n    uVar19 = param_2[0x12];\n    if (((uVar11 & uVar19) == 0xffffffff) ||\n       (param_6 <= uVar19 && (uint)(uVar11 < param_5) <= uVar19 - param_6)) {\nLAB_00044916:\n      uVar19 = param_6;\n      uVar11 = param_5;\n      param_5 = uVar11;\n      param_6 = uVar19;\n    }\n    iVar7 = FUN_0003e2f0();\n    if (iVar7 == 0) {\n      return 0;\n    }\n    iVar7 = FUN_0003c7e0(param_1,uVar11,uVar19);\n    if (iVar7 == 0) {\n      return 0;\n    }\n    param_2[0x10] = 0;\n    param_2[0x11] = -1;\n    param_2[0x12] = -1;\n    bVar6 = *param_7;\nLAB_00044966:\n    if (bVar6 == 0) {\n      return 1;\n    }\n    __ptr = (void *)param_2[4];\nLAB_0004414d:\n    if (__ptr == (void *)0x0) {\n      iVar7 = xstrdup(param_7);\n      param_2[4] = iVar7;\n    }\n    else {\n      if (bVar6 == 0x2f) {\n        iVar7 = xstrdup(param_7);\n        param_2[4] = iVar7;\n      }\n      else {\n        iVar7 = concat(__ptr,param_7,0);\n        param_2[4] = iVar7;\n      }\n      free(__ptr);\n    }\n    param_2[5] = param_5;\n    param_2[6] = param_6;\n    return 1;\n  }\nLAB_00044203:\n  sVar9 = strlen((char *)param_7);\n  if (param_3 == 0x62) {\n    return 1;\n  }\n  if ((int)param_3 < 99) {\n    if (param_3 == 0x24) {\n      if (*param_7 == 0) {\n        if (param_2[0x10] == 0) {\n          return 1;\n        }\n        if (param_2[1] != 0) {\n          bVar21 = CARRY4(param_5,param_2[9]);\n          param_5 = param_5 + param_2[9];\n          param_6 = param_6 + param_2[10] + (uint)bVar21;\n        }\n        iVar7 = FUN_0003e2f0(param_5,param_6);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003c7e0(param_1,param_5,param_6);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        param_2[0x10] = 0;\n        param_2[0x11] = -1;\n        param_2[0x12] = -1;\n        return 1;\n      }\n      if (param_2[0x10] != 0) {\n        uVar11 = param_2[0x12];\n        if (((param_2[0x11] & uVar11) == 0xffffffff) ||\n           (param_6 < uVar11 || param_6 - uVar11 < (uint)(param_5 < (uint)param_2[0x11]))) {\n          param_2[0x11] = param_5;\n          param_2[0x12] = param_6;\n        }\n      }\n    }\n    else if ((int)param_3 < 0x25) {\n      if (param_3 == 0xc) {\n        return 1;\n      }\n      if ((0xb < (int)param_3) && (param_3 - 0x1e < 2)) {\n        return 1;\n      }\n    }\n    else {\n      if (param_3 == 0x38) {\n        return 1;\n      }\n      if ((int)param_3 < 0x39) {\n        if (param_3 == 0x2a) {\n          return 1;\n        }\n      }\n      else {\n        bVar21 = param_3 < 0x3c;\n        bVar23 = param_3 == 0x3c;\n        if (bVar23) {\n          iVar7 = 0xf;\n          pbVar16 = param_7;\n          pbVar18 = (byte *)"gcc2_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar21 = *pbVar16 < *pbVar18;\n            bVar23 = *pbVar16 == *pbVar18;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n          } while (bVar23);\n          bVar22 = false;\n          bVar21 = (!bVar21 && !bVar23) == bVar21;\n          if (bVar21) {\n            param_2[0xb] = 2;\n            return 1;\n          }\n          iVar7 = 0xe;\n          pbVar16 = (byte *)"gcc_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar22 = *param_7 < *pbVar16;\n            bVar21 = *param_7 == *pbVar16;\n            param_7 = param_7 + (uint)bVar24 * -2 + 1;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n          } while (bVar21);\n          if ((!bVar22 && !bVar21) != bVar22) {\n            param_2[0xc] = 1;\n            return 1;\n          }\n          param_2[0xb] = 1;\n          return 1;\n        }\n        if (param_3 == 0x44) {\n          if (param_2[0x10] != 0) {\n            bVar21 = CARRY4(param_5,param_2[9]);\n            param_5 = param_5 + param_2[9];\n            param_6 = param_6 + param_2[10] + (uint)bVar21;\n          }\n          iVar7 = FUN_0003ca10(param_1,param_4,param_5,param_6);\n          goto LAB_0004426d;\n        }\n      }\n    }\nLAB_00044431:\n    local_24 = (byte *)strchr((char *)param_7,0x3a);\n    if (local_24 == (byte *)0x0) {\n      return 1;\n    }\n    bVar24 = local_24[1];\n    if ((bVar24 & 0xdf) != 0x46) goto LAB_000447b5;\n    if (param_2[0x10] != 0) {\n      local_3c = (char *)param_2[0x11];\n      local_38 = param_2[0x12];\n      if ((((uint)local_3c & local_38) == 0xffffffff) ||\n         (param_6 <= local_38 && (uint)(local_3c < param_5) <= local_38 - param_6)) {\n        local_3c = (char *)param_5;\n        local_38 = param_6;\n      }\n      iVar7 = FUN_0003e2f0();\n      if ((iVar7 == 0) || (iVar7 = FUN_0003c7e0(param_1,local_3c,local_38), iVar7 == 0)) {\n        return 0;\n      }\n      param_2[0x11] = -1;\n      param_2[0x12] = -1;\n    }\n    if (param_2[1] != 0) {\n      param_2[9] = param_5;\n      param_2[10] = param_6;\n    }\n    param_2[0x10] = 1;\n    local_24 = (byte *)strchr((char *)param_7,0x3a);\n    if (local_24 == (byte *)0x0) {\n      return 1;\n    }\nLAB_000447b1:\n    bVar24 = local_24[1];\nLAB_000447b5:\n    if (bVar24 == 0x3a) goto LAB_00044790;\n    if (*param_7 != 0x24) goto LAB_000447c7;\n    switch(param_7[1]) {\n    default:\n      dcgettext(0,"unknown C++ encoded name",5);\n      FUN_0003df30();\n    case 0x58:\n    case 0x5f:\n    case 0x76:\nLAB_000447c7:\n      local_3c = (char *)0x0;\n      if ((param_7 != local_24) && ((*param_7 != 0x20 || (local_24 != param_7 + 1)))) {\n        local_3c = (char *)FUN_0003e060();\n      }\n      break;\n    case 0x65:\n      local_3c = "eh_throw";\n      break;\n    case 0x74:\n      local_3c = "this";\n    }\n    param_7 = param_7 + sVar9;\n    pbVar16 = local_24 + 1;\n    bVar24 = local_24[1];\n    if (((PTR__sch_istable_00071fbc[(uint)bVar24 * 2] & 4) != 0) ||\n       (bVar24 == 0x28 || bVar24 == 0x2d)) {\nLAB_0004483d:\n      local_24 = pbVar16;\n      iVar7 = FUN_00040c70(&local_24,0,param_7);\n      if (iVar7 == 0) {\n        return 0;\n      }\n      uVar27 = 4;\n      goto code_r0x0004486e;\n    }\n    if (bVar24 != 0) {\n      pbVar16 = local_24 + 2;\n      bVar24 = local_24[1];\n      if (0x33 < (byte)(bVar24 + 0xbd)) goto LAB_00044e16;\n      iVar7 = (int)&__DT_PLTGOT + *(int *)(&DAT_00057e08 + (uint)(byte)(bVar24 + 0xbd) * 4);\n      switch(bVar24) {\n      case 0x43:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,bVar24);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003ccf0(param_1,local_3c,iVar7,param_5,param_6);\n        goto joined_r0x00044fe7;\n      default:\n        goto LAB_00044e16;\n      case 0x46:\n      case 0x66:\n        local_24 = pbVar16;\n        uVar26 = FUN_00040c70(&local_24,0,param_7,iVar7);\n        uVar27 = (undefined4)((ulonglong)uVar26 >> 0x20);\n        if ((int)uVar26 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003c5a0(param_1,local_3c,(int)uVar26,bVar24 == 0x46,param_5,param_6,uVar27,\n                             uVar27);\n        while( true ) {\n          if (iVar7 == 0) {\n            return 0;\n          }\n          if (*local_24 != 0x3b) break;\n          local_24 = local_24 + 1;\n          iVar7 = FUN_00040c70(&local_24,0,param_7);\n        }\n        return 1;\n      case 0x47:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,iVar7);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) goto code_r0x00044c0d;\n        iVar10 = param_2[3];\n        piVar13 = (int *)param_2[2];\n        cVar3 = *(char *)(*(int *)(*param_2 + 4) + 0x18);\n        if (iVar10 < 1) goto code_r0x00044c0d;\n        cVar2 = *local_3c;\n        goto code_r0x00044bbc;\n      case 0x50:\n        if (param_3 == 0x24) {\n          local_24 = pbVar16;\n          do {\n            if (*local_24 != 0x3b) {\n              return 1;\n            }\n            local_24 = local_24 + 1;\n            iVar7 = FUN_00040c70(&local_24,0,param_7);\n          } while (iVar7 != 0);\n          return 0;\n        }\n      case 0x52:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,iVar7);\njoined_r0x00045010:\n        if (iVar7 == 0) {\n          return 0;\n        }\ncode_r0x00044af0:\n        iVar7 = FUN_0003c6e0(param_1,local_3c,iVar7);\n        goto joined_r0x00044fe7;\n      case 0x53:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 2;\n        goto code_r0x0004486e;\n      case 0x54:\n        pbVar18 = local_24 + 2;\n        if (*pbVar18 == 0x74) {\n          pbVar16 = local_24 + 3;\n        }\n        local_24 = pbVar16;\n        uVar11 = (uint)(*pbVar18 == 0x74);\n        iVar7 = FUN_00040c70(&local_24,apiStack_20,param_7,param_3);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) {\n          return 1;\n        }\n        iVar10 = param_2[0x3a];\n        iVar7 = FUN_0003d680(param_1,local_3c,iVar7,extraout_ECX);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (apiStack_20[0] != (int *)0x0) {\n          *apiStack_20[0] = iVar7;\n        }\n        piVar13 = apiStack_20[0];\n        if (iVar10 != 0) goto code_r0x00044efc;\n        if ((int *)param_2[0x39] == (int *)0x0) goto code_r0x00044efc;\n        cVar3 = *local_3c;\n        piVar17 = param_2 + 0x39;\n        piVar20 = (int *)param_2[0x39];\n        goto code_r0x00044ecc;\n      case 0x56:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 3;\n        goto code_r0x0004486e;\n      case 0x58:\n      case 0x6c:\n      case 0x73:\n        goto LAB_0004483d;\n      case 0x59:\n        pbVar16 = local_24 + 3;\n        if ((local_24[3] == 0x6e) &&\n           (pbVar16 = local_24 + 4, pbVar18 = local_24 + 4, local_24 = pbVar16, *pbVar18 == 0x30)) {\n          for (; *local_24 != 0x3b; local_24 = local_24 + 1) {\n          }\n          return 1;\n        }\nLAB_00044e16:\n        local_24 = pbVar16;\n        FUN_0003dfb0();\n        return 0;\n      case 0x61:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,bVar24);\n        goto joined_r0x00045010;\n      case 99:\n        if (local_24[2] == 0x3d) {\n          pbVar16 = local_24 + 4;\n          bVar24 = local_24[3];\n          local_24 = pbVar16;\n          if (bVar24 == 0x69) {\n            lVar15 = strtol((char *)pbVar16,(char **)0x0,10);\n            iVar7 = FUN_0003cbe0(param_1,local_3c,lVar15,lVar15 >> 0x1f);\n            goto joined_r0x00044fe7;\n          }\n          if (bVar24 == 0x72) {\n            lVar25 = (longdouble)func_0x00013560(pbVar16,0,0x72,0x72);\n            iVar7 = FUN_0003cc30(param_1,local_3c,(double)lVar25);\n            goto joined_r0x00044fe7;\n          }\n          if (bVar24 == 0x65) {\n            iVar7 = FUN_00040c70(&local_24,0,param_7,0x65);\n            if (iVar7 == 0) {\n              return 0;\n            }\n            pbVar16 = local_24;\n            if (*local_24 == 0x2c) {\n              uVar28 = 10;\n              uVar27 = 0;\n              lVar15 = strtol((char *)local_24,(char **)0x0,10);\n              iVar7 = FUN_0003cc70(param_1,local_3c,iVar7,lVar15,lVar15 >> 0x1f,uVar27,uVar28,\n                                   param_3);\n              goto joined_r0x00044fe7;\n            }\n          }\n        }\n        break;\n      case 0x70:\n        if (local_24[2] == 0x46) {\n          local_24 = local_24 + 3;\n          iVar7 = FUN_00040c70(&local_24,0,param_7,local_24);\n          if (iVar7 == 0) {\n            return 0;\n          }\n          uVar27 = FUN_0003d080(param_1,iVar7,0,0);\n          iVar7 = FUN_0003d030(param_1,uVar27);\n        }\n        else {\n          pbVar18 = local_24;\n          local_24 = pbVar16;\n          iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        }\n        goto joined_r0x00044dee;\n      case 0x72:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 5;\n        goto code_r0x0004486e;\n      case 0x74:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,apiStack_20,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) {\n          return 1;\n        }\n        iVar7 = FUN_0003d5a0(param_1,local_3c,iVar7,param_2);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (apiStack_20[0] == (int *)0x0) {\n          return 1;\n        }\n        *apiStack_20[0] = iVar7;\n        return 1;\n      case 0x76:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\njoined_r0x00044dee:\n        if (iVar7 == 0) {\n          return 0;\n        }\n        goto code_r0x00044af0;\n      }\n    }\n    goto LAB_000449d0;\n  }\n  if (param_3 == 0xc0) {\n    if ((param_2[0xc] != 0) && (param_4 == 1)) {\n      return 1;\n    }\n    if (param_2[0x10] == 0) {\n      pcVar12 = (char *)dcgettext(0,"N_LBRAC not within function\n",5);\n      fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar12);\n      return 0;\n    }\n    uVar11 = param_2[9] + param_2[7];\n    iVar7 = FUN_0003c880(param_1,uVar11 + param_5,\n                         param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7]) + param_6 +\n                         (uint)CARRY4(uVar11,param_5));\n    if (iVar7 == 0) {\n      return 0;\n    }\n    iVar7 = FUN_0003e2f0();\n    if (iVar7 == 0) {\n      return 0;\n    }\n    param_2[0x13] = param_2[0x13] + 1;\n    return 1;\n  }\n  if (0xc0 < (int)param_3) {\n    if (param_3 == 0xe0) {\n      if ((param_2[0xc] != 0) && (param_4 == 1)) {\n        return 1;\n      }\n      iVar7 = FUN_0003e2f0();\n      if (iVar7 == 0) {\n        return 0;\n      }\n      uVar11 = param_2[9] + param_2[7];\n      iVar7 = FUN_0003c980(param_1,uVar11 + param_5,\n                           param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7]) + param_6\n                           + (uint)CARRY4(uVar11,param_5));\n      if (iVar7 == 0) {\n        return 0;\n      }\n      param_2 = param_2 + 0x13;\n      *param_2 = *param_2 + -1;\n      if (*param_2 < 0) {\n        pcVar12 = (char *)dcgettext(0,"Too many N_RBRACs\n",5);\n        fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar12);\n        return 0;\n      }\n      return 1;\n    }\n    if ((int)param_3 < 0xe1) {\n      if (param_3 == 0xc2) {\n        iVar7 = param_2[0x15];\n        param_2[0x15] = iVar7 + 1;\n        iVar7 = xrealloc(param_2[0x16],(iVar7 + 1) * 4);\n        puVar8 = (undefined4 *)param_2[0xf];\n        param_2[0x16] = iVar7;\n        while( true ) {\n          if (puVar8 == (undefined4 *)0x0) {\n            dcgettext(0,"Undefined N_EXCL",5);\n            FUN_0003df30();\n            *(undefined4 *)(param_2[0x16] + -4 + param_2[0x15] * 4) = 0;\n            return 1;\n          }\n          if ((puVar8[4] == param_6 && puVar8[3] == param_5) &&\n             (iVar10 = strcmp((char *)puVar8[2],(char *)param_7), iVar10 == 0)) break;\n          puVar8 = (undefined4 *)*puVar8;\n        }\n        *(undefined4 *)(iVar7 + -4 + param_2[0x15] * 4) = puVar8[6];\n        return 1;\n      }\n      goto LAB_00044431;\n    }\n    if (param_3 == 0xe2) {\n      iVar7 = FUN_0003cb60(param_1,param_7);\n    }\n    else {\n      if (param_3 != 0xe4) goto LAB_00044431;\n      iVar7 = FUN_0003cba0(param_1,param_7);\n    }\n    goto LAB_0004426d;\n  }\n  if (param_3 == 0x82) {\n    piVar13 = (int *)xmalloc(0x1c);\n    iVar7 = param_2[0xf];\n    piVar13[4] = param_6;\n    *piVar13 = iVar7;\n    iVar7 = param_2[0xe];\n    piVar13[6] = 0;\n    piVar13[1] = iVar7;\n    param_2[0xf] = (int)piVar13;\n    piVar13[2] = (int)param_7;\n    param_2[0xe] = (int)piVar13;\n    piVar13[3] = param_5;\n    iVar7 = param_2[0x15];\n    piVar13[5] = iVar7;\n    iVar7 = iVar7 + 1;\n    param_2[0x15] = iVar7;\n    iVar10 = xrealloc(param_2[0x16],iVar7 * 4);\n    iVar7 = piVar13[5];\n    param_2[0x16] = iVar10;\n    *(undefined4 *)(iVar10 + iVar7 * 4) = 0;\n  }\n  else {\n    if ((int)param_3 < 0x83) {\n      if (param_3 != 100) goto LAB_00044431;\n      bVar6 = *param_7;\n      if (param_2[0x10] != 0) {\n        if (bVar6 != 0) goto LAB_000448f8;\n        goto LAB_00044916;\n      }\n      goto LAB_00044966;\n    }\n    if (param_3 != 0x84) {\n      if (param_3 != 0xa2) goto LAB_00044431;\n      iVar7 = param_2[0xe];\n      if (iVar7 != 0) {\n        iVar10 = *(int *)(iVar7 + 4);\n        uVar11 = *(uint *)(iVar7 + 0x14);\n        param_2[0xe] = iVar10;\n        if ((uVar11 < (uint)param_2[0x15]) &&\n           (*(undefined4 *)(iVar7 + 0x18) = *(undefined4 *)(param_2[0x16] + uVar11 * 4), iVar10 != 0\n           )) {\n          param_7 = *(byte **)(iVar10 + 8);\n          goto LAB_000445bf;\n        }\n      }\n      param_7 = (byte *)param_2[0xd];\n    }\n  }\nLAB_000445bf:\n  iVar7 = FUN_0003c4a0(param_1,param_7);\nLAB_0004426d:\n  return (uint)(iVar7 != 0);\nLAB_00044790:\n  local_24 = local_24 + 2;\n  local_24 = (byte *)strchr((char *)local_24,0x3a);\n  pbVar16 = local_24;\n  if (local_24 == (byte *)0x0) {\nLAB_000449d0:\n    local_24 = pbVar16;\n    FUN_0003dfb0();\n    return 0;\n  }\n  goto LAB_000447b1;\ncode_r0x00044ecc:\n  piVar13 = (int *)piVar20[1];\n  if (((char)*piVar13 == cVar3) &&\n     (piVar13 = (int *)strcmp((char *)piVar13,local_3c), piVar13 == (int *)0x0)) {\n    piVar13 = (int *)*piVar20;\n    piVar20[3] = iVar7;\n    *piVar17 = (int)piVar13;\n    goto code_r0x00044efc;\n  }\n  piVar5 = (int *)*piVar20;\n  piVar17 = piVar20;\n  piVar20 = piVar5;\n  if (piVar5 == (int *)0x0) {\ncode_r0x00044efc:\n    if (uVar11 == 0) {\n      return 1;\n    }\n    iVar7 = FUN_0003d5a0(param_1,local_3c,iVar7,piVar13);\n    if (iVar7 != 0) {\n      if (apiStack_20[0] == (int *)0x0) {\n        return 1;\n      }\n      *apiStack_20[0] = iVar7;\n      return uVar11;\n    }\n    return 0;\n  }\n  goto code_r0x00044ecc;\ncode_r0x00044bbc:\n  iVar4 = *piVar13;\n  pcVar12 = *(char **)(iVar4 + 4);\n  if (cVar3 != '\0') {\n    pcVar12 = pcVar12 + (cVar3 == *pcVar12);\n  }\n  if ((*pcVar12 == cVar2) && (iVar14 = strcmp(pcVar12,local_3c), iVar14 == 0)) {\n    puVar1 = (uint *)(*(int *)(iVar4 + 0x14) + 0x1c);\n    param_5 = *(uint *)(iVar4 + 8) + *puVar1;\n    param_6 = *(int *)(iVar4 + 0xc) + *(int *)(*(int *)(iVar4 + 0x14) + 0x20) +\n              (uint)CARRY4(*(uint *)(iVar4 + 8),*puVar1);\n    goto code_r0x00044c0d;\n  }\n  piVar13 = piVar13 + 1;\n  iVar10 = iVar10 + -1;\n  if (iVar10 == 0) {\ncode_r0x00044c0d:\n    uVar27 = 1;\ncode_r0x0004486e:\n    iVar7 = FUN_0003e250(iVar7,uVar27,param_5,param_6);\njoined_r0x00044fe7:\n    if (iVar7 != 0) {\n      return 1;\n    }\n    return 0;\n  }\n  goto code_r0x00044bbc;\n}\n\n" comment comment (function_definition "uint FUN_000440f0(undefined4 param_1,int *param_2,uint param_3,int param_4,uint param_5,uint param_6\n                 ,byte *param_7)\n\n{\n  uint *puVar1;\n  char cVar2;\n  char cVar3;\n  int iVar4;\n  int *piVar5;\n  byte bVar6;\n  int iVar7;\n  undefined4 *puVar8;\n  size_t sVar9;\n  int iVar10;\n  uint uVar11;\n  char *pcVar12;\n  int *piVar13;\n  int iVar14;\n  long lVar15;\n  undefined4 extraout_ECX;\n  void *__ptr;\n  byte *pbVar16;\n  int *piVar17;\n  byte *pbVar18;\n  uint uVar19;\n  int *piVar20;\n  bool bVar21;\n  bool bVar22;\n  bool bVar23;\n  byte bVar24;\n  longdouble lVar25;\n  undefined8 uVar26;\n  undefined4 uVar27;\n  undefined4 uVar28;\n  char *local_3c;\n  uint local_38;\n  byte *local_24;\n  int *apiStack_20 [3];\n  undefined4 uStack_14;\n  \n  bVar24 = 0;\n  uStack_14 = 0x440f9;\n  __ptr = (void *)param_2[4];\n  if (__ptr != (void *)0x0) {\n    if (((param_3 != 100) || (bVar6 = *param_7, bVar6 == 0)) ||\n       (param_6 != param_2[6] || param_5 != param_2[5])) {\n      iVar7 = FUN_0003c3e0(param_1,__ptr);\n      if (iVar7 == 0) {\n        return 0;\n      }\n      param_2[0xb] = 0;\n      param_2[0xc] = 0;\n      param_2[0xd] = param_2[4];\n      if (param_2[1] == 0) {\n        param_2[7] = param_2[5];\n        param_2[8] = param_2[6];\n      }\n      param_2[0x15] = 1;\n      puVar8 = (undefined4 *)xmalloc(4);\n      param_2[4] = 0;\n      param_2[0x16] = (int)puVar8;\n      *puVar8 = 0;\n      goto LAB_00044203;\n    }\n    if (param_2[0x10] == 0) goto LAB_0004414d;\nLAB_000448f8:\n    uVar11 = param_2[0x11];\n    uVar19 = param_2[0x12];\n    if (((uVar11 & uVar19) == 0xffffffff) ||\n       (param_6 <= uVar19 && (uint)(uVar11 < param_5) <= uVar19 - param_6)) {\nLAB_00044916:\n      uVar19 = param_6;\n      uVar11 = param_5;\n      param_5 = uVar11;\n      param_6 = uVar19;\n    }\n    iVar7 = FUN_0003e2f0();\n    if (iVar7 == 0) {\n      return 0;\n    }\n    iVar7 = FUN_0003c7e0(param_1,uVar11,uVar19);\n    if (iVar7 == 0) {\n      return 0;\n    }\n    param_2[0x10] = 0;\n    param_2[0x11] = -1;\n    param_2[0x12] = -1;\n    bVar6 = *param_7;\nLAB_00044966:\n    if (bVar6 == 0) {\n      return 1;\n    }\n    __ptr = (void *)param_2[4];\nLAB_0004414d:\n    if (__ptr == (void *)0x0) {\n      iVar7 = xstrdup(param_7);\n      param_2[4] = iVar7;\n    }\n    else {\n      if (bVar6 == 0x2f) {\n        iVar7 = xstrdup(param_7);\n        param_2[4] = iVar7;\n      }\n      else {\n        iVar7 = concat(__ptr,param_7,0);\n        param_2[4] = iVar7;\n      }\n      free(__ptr);\n    }\n    param_2[5] = param_5;\n    param_2[6] = param_6;\n    return 1;\n  }\nLAB_00044203:\n  sVar9 = strlen((char *)param_7);\n  if (param_3 == 0x62) {\n    return 1;\n  }\n  if ((int)param_3 < 99) {\n    if (param_3 == 0x24) {\n      if (*param_7 == 0) {\n        if (param_2[0x10] == 0) {\n          return 1;\n        }\n        if (param_2[1] != 0) {\n          bVar21 = CARRY4(param_5,param_2[9]);\n          param_5 = param_5 + param_2[9];\n          param_6 = param_6 + param_2[10] + (uint)bVar21;\n        }\n        iVar7 = FUN_0003e2f0(param_5,param_6);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003c7e0(param_1,param_5,param_6);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        param_2[0x10] = 0;\n        param_2[0x11] = -1;\n        param_2[0x12] = -1;\n        return 1;\n      }\n      if (param_2[0x10] != 0) {\n        uVar11 = param_2[0x12];\n        if (((param_2[0x11] & uVar11) == 0xffffffff) ||\n           (param_6 < uVar11 || param_6 - uVar11 < (uint)(param_5 < (uint)param_2[0x11]))) {\n          param_2[0x11] = param_5;\n          param_2[0x12] = param_6;\n        }\n      }\n    }\n    else if ((int)param_3 < 0x25) {\n      if (param_3 == 0xc) {\n        return 1;\n      }\n      if ((0xb < (int)param_3) && (param_3 - 0x1e < 2)) {\n        return 1;\n      }\n    }\n    else {\n      if (param_3 == 0x38) {\n        return 1;\n      }\n      if ((int)param_3 < 0x39) {\n        if (param_3 == 0x2a) {\n          return 1;\n        }\n      }\n      else {\n        bVar21 = param_3 < 0x3c;\n        bVar23 = param_3 == 0x3c;\n        if (bVar23) {\n          iVar7 = 0xf;\n          pbVar16 = param_7;\n          pbVar18 = (byte *)"gcc2_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar21 = *pbVar16 < *pbVar18;\n            bVar23 = *pbVar16 == *pbVar18;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n          } while (bVar23);\n          bVar22 = false;\n          bVar21 = (!bVar21 && !bVar23) == bVar21;\n          if (bVar21) {\n            param_2[0xb] = 2;\n            return 1;\n          }\n          iVar7 = 0xe;\n          pbVar16 = (byte *)"gcc_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar22 = *param_7 < *pbVar16;\n            bVar21 = *param_7 == *pbVar16;\n            param_7 = param_7 + (uint)bVar24 * -2 + 1;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n          } while (bVar21);\n          if ((!bVar22 && !bVar21) != bVar22) {\n            param_2[0xc] = 1;\n            return 1;\n          }\n          param_2[0xb] = 1;\n          return 1;\n        }\n        if (param_3 == 0x44) {\n          if (param_2[0x10] != 0) {\n            bVar21 = CARRY4(param_5,param_2[9]);\n            param_5 = param_5 + param_2[9];\n            param_6 = param_6 + param_2[10] + (uint)bVar21;\n          }\n          iVar7 = FUN_0003ca10(param_1,param_4,param_5,param_6);\n          goto LAB_0004426d;\n        }\n      }\n    }\nLAB_00044431:\n    local_24 = (byte *)strchr((char *)param_7,0x3a);\n    if (local_24 == (byte *)0x0) {\n      return 1;\n    }\n    bVar24 = local_24[1];\n    if ((bVar24 & 0xdf) != 0x46) goto LAB_000447b5;\n    if (param_2[0x10] != 0) {\n      local_3c = (char *)param_2[0x11];\n      local_38 = param_2[0x12];\n      if ((((uint)local_3c & local_38) == 0xffffffff) ||\n         (param_6 <= local_38 && (uint)(local_3c < param_5) <= local_38 - param_6)) {\n        local_3c = (char *)param_5;\n        local_38 = param_6;\n      }\n      iVar7 = FUN_0003e2f0();\n      if ((iVar7 == 0) || (iVar7 = FUN_0003c7e0(param_1,local_3c,local_38), iVar7 == 0)) {\n        return 0;\n      }\n      param_2[0x11] = -1;\n      param_2[0x12] = -1;\n    }\n    if (param_2[1] != 0) {\n      param_2[9] = param_5;\n      param_2[10] = param_6;\n    }\n    param_2[0x10] = 1;\n    local_24 = (byte *)strchr((char *)param_7,0x3a);\n    if (local_24 == (byte *)0x0) {\n      return 1;\n    }\nLAB_000447b1:\n    bVar24 = local_24[1];\nLAB_000447b5:\n    if (bVar24 == 0x3a) goto LAB_00044790;\n    if (*param_7 != 0x24) goto LAB_000447c7;\n    switch(param_7[1]) {\n    default:\n      dcgettext(0,"unknown C++ encoded name",5);\n      FUN_0003df30();\n    case 0x58:\n    case 0x5f:\n    case 0x76:\nLAB_000447c7:\n      local_3c = (char *)0x0;\n      if ((param_7 != local_24) && ((*param_7 != 0x20 || (local_24 != param_7 + 1)))) {\n        local_3c = (char *)FUN_0003e060();\n      }\n      break;\n    case 0x65:\n      local_3c = "eh_throw";\n      break;\n    case 0x74:\n      local_3c = "this";\n    }\n    param_7 = param_7 + sVar9;\n    pbVar16 = local_24 + 1;\n    bVar24 = local_24[1];\n    if (((PTR__sch_istable_00071fbc[(uint)bVar24 * 2] & 4) != 0) ||\n       (bVar24 == 0x28 || bVar24 == 0x2d)) {\nLAB_0004483d:\n      local_24 = pbVar16;\n      iVar7 = FUN_00040c70(&local_24,0,param_7);\n      if (iVar7 == 0) {\n        return 0;\n      }\n      uVar27 = 4;\n      goto code_r0x0004486e;\n    }\n    if (bVar24 != 0) {\n      pbVar16 = local_24 + 2;\n      bVar24 = local_24[1];\n      if (0x33 < (byte)(bVar24 + 0xbd)) goto LAB_00044e16;\n      iVar7 = (int)&__DT_PLTGOT + *(int *)(&DAT_00057e08 + (uint)(byte)(bVar24 + 0xbd) * 4);\n      switch(bVar24) {\n      case 0x43:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,bVar24);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003ccf0(param_1,local_3c,iVar7,param_5,param_6);\n        goto joined_r0x00044fe7;\n      default:\n        goto LAB_00044e16;\n      case 0x46:\n      case 0x66:\n        local_24 = pbVar16;\n        uVar26 = FUN_00040c70(&local_24,0,param_7,iVar7);\n        uVar27 = (undefined4)((ulonglong)uVar26 >> 0x20);\n        if ((int)uVar26 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003c5a0(param_1,local_3c,(int)uVar26,bVar24 == 0x46,param_5,param_6,uVar27,\n                             uVar27);\n        while( true ) {\n          if (iVar7 == 0) {\n            return 0;\n          }\n          if (*local_24 != 0x3b) break;\n          local_24 = local_24 + 1;\n          iVar7 = FUN_00040c70(&local_24,0,param_7);\n        }\n        return 1;\n      case 0x47:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,iVar7);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) goto code_r0x00044c0d;\n        iVar10 = param_2[3];\n        piVar13 = (int *)param_2[2];\n        cVar3 = *(char *)(*(int *)(*param_2 + 4) + 0x18);\n        if (iVar10 < 1) goto code_r0x00044c0d;\n        cVar2 = *local_3c;\n        goto code_r0x00044bbc;\n      case 0x50:\n        if (param_3 == 0x24) {\n          local_24 = pbVar16;\n          do {\n            if (*local_24 != 0x3b) {\n              return 1;\n            }\n            local_24 = local_24 + 1;\n            iVar7 = FUN_00040c70(&local_24,0,param_7);\n          } while (iVar7 != 0);\n          return 0;\n        }\n      case 0x52:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,iVar7);\njoined_r0x00045010:\n        if (iVar7 == 0) {\n          return 0;\n        }\ncode_r0x00044af0:\n        iVar7 = FUN_0003c6e0(param_1,local_3c,iVar7);\n        goto joined_r0x00044fe7;\n      case 0x53:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 2;\n        goto code_r0x0004486e;\n      case 0x54:\n        pbVar18 = local_24 + 2;\n        if (*pbVar18 == 0x74) {\n          pbVar16 = local_24 + 3;\n        }\n        local_24 = pbVar16;\n        uVar11 = (uint)(*pbVar18 == 0x74);\n        iVar7 = FUN_00040c70(&local_24,apiStack_20,param_7,param_3);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) {\n          return 1;\n        }\n        iVar10 = param_2[0x3a];\n        iVar7 = FUN_0003d680(param_1,local_3c,iVar7,extraout_ECX);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (apiStack_20[0] != (int *)0x0) {\n          *apiStack_20[0] = iVar7;\n        }\n        piVar13 = apiStack_20[0];\n        if (iVar10 != 0) goto code_r0x00044efc;\n        if ((int *)param_2[0x39] == (int *)0x0) goto code_r0x00044efc;\n        cVar3 = *local_3c;\n        piVar17 = param_2 + 0x39;\n        piVar20 = (int *)param_2[0x39];\n        goto code_r0x00044ecc;\n      case 0x56:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 3;\n        goto code_r0x0004486e;\n      case 0x58:\n      case 0x6c:\n      case 0x73:\n        goto LAB_0004483d;\n      case 0x59:\n        pbVar16 = local_24 + 3;\n        if ((local_24[3] == 0x6e) &&\n           (pbVar16 = local_24 + 4, pbVar18 = local_24 + 4, local_24 = pbVar16, *pbVar18 == 0x30)) {\n          for (; *local_24 != 0x3b; local_24 = local_24 + 1) {\n          }\n          return 1;\n        }\nLAB_00044e16:\n        local_24 = pbVar16;\n        FUN_0003dfb0();\n        return 0;\n      case 0x61:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,bVar24);\n        goto joined_r0x00045010;\n      case 99:\n        if (local_24[2] == 0x3d) {\n          pbVar16 = local_24 + 4;\n          bVar24 = local_24[3];\n          local_24 = pbVar16;\n          if (bVar24 == 0x69) {\n            lVar15 = strtol((char *)pbVar16,(char **)0x0,10);\n            iVar7 = FUN_0003cbe0(param_1,local_3c,lVar15,lVar15 >> 0x1f);\n            goto joined_r0x00044fe7;\n          }\n          if (bVar24 == 0x72) {\n            lVar25 = (longdouble)func_0x00013560(pbVar16,0,0x72,0x72);\n            iVar7 = FUN_0003cc30(param_1,local_3c,(double)lVar25);\n            goto joined_r0x00044fe7;\n          }\n          if (bVar24 == 0x65) {\n            iVar7 = FUN_00040c70(&local_24,0,param_7,0x65);\n            if (iVar7 == 0) {\n              return 0;\n            }\n            pbVar16 = local_24;\n            if (*local_24 == 0x2c) {\n              uVar28 = 10;\n              uVar27 = 0;\n              lVar15 = strtol((char *)local_24,(char **)0x0,10);\n              iVar7 = FUN_0003cc70(param_1,local_3c,iVar7,lVar15,lVar15 >> 0x1f,uVar27,uVar28,\n                                   param_3);\n              goto joined_r0x00044fe7;\n            }\n          }\n        }\n        break;\n      case 0x70:\n        if (local_24[2] == 0x46) {\n          local_24 = local_24 + 3;\n          iVar7 = FUN_00040c70(&local_24,0,param_7,local_24);\n          if (iVar7 == 0) {\n            return 0;\n          }\n          uVar27 = FUN_0003d080(param_1,iVar7,0,0);\n          iVar7 = FUN_0003d030(param_1,uVar27);\n        }\n        else {\n          pbVar18 = local_24;\n          local_24 = pbVar16;\n          iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        }\n        goto joined_r0x00044dee;\n      case 0x72:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 5;\n        goto code_r0x0004486e;\n      case 0x74:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,apiStack_20,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) {\n          return 1;\n        }\n        iVar7 = FUN_0003d5a0(param_1,local_3c,iVar7,param_2);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (apiStack_20[0] == (int *)0x0) {\n          return 1;\n        }\n        *apiStack_20[0] = iVar7;\n        return 1;\n      case 0x76:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\njoined_r0x00044dee:\n        if (iVar7 == 0) {\n          return 0;\n        }\n        goto code_r0x00044af0;\n      }\n    }\n    goto LAB_000449d0;\n  }\n  if (param_3 == 0xc0) {\n    if ((param_2[0xc] != 0) && (param_4 == 1)) {\n      return 1;\n    }\n    if (param_2[0x10] == 0) {\n      pcVar12 = (char *)dcgettext(0,"N_LBRAC not within function\n",5);\n      fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar12);\n      return 0;\n    }\n    uVar11 = param_2[9] + param_2[7];\n    iVar7 = FUN_0003c880(param_1,uVar11 + param_5,\n                         param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7]) + param_6 +\n                         (uint)CARRY4(uVar11,param_5));\n    if (iVar7 == 0) {\n      return 0;\n    }\n    iVar7 = FUN_0003e2f0();\n    if (iVar7 == 0) {\n      return 0;\n    }\n    param_2[0x13] = param_2[0x13] + 1;\n    return 1;\n  }\n  if (0xc0 < (int)param_3) {\n    if (param_3 == 0xe0) {\n      if ((param_2[0xc] != 0) && (param_4 == 1)) {\n        return 1;\n      }\n      iVar7 = FUN_0003e2f0();\n      if (iVar7 == 0) {\n        return 0;\n      }\n      uVar11 = param_2[9] + param_2[7];\n      iVar7 = FUN_0003c980(param_1,uVar11 + param_5,\n                           param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7]) + param_6\n                           + (uint)CARRY4(uVar11,param_5));\n      if (iVar7 == 0) {\n        return 0;\n      }\n      param_2 = param_2 + 0x13;\n      *param_2 = *param_2 + -1;\n      if (*param_2 < 0) {\n        pcVar12 = (char *)dcgettext(0,"Too many N_RBRACs\n",5);\n        fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar12);\n        return 0;\n      }\n      return 1;\n    }\n    if ((int)param_3 < 0xe1) {\n      if (param_3 == 0xc2) {\n        iVar7 = param_2[0x15];\n        param_2[0x15] = iVar7 + 1;\n        iVar7 = xrealloc(param_2[0x16],(iVar7 + 1) * 4);\n        puVar8 = (undefined4 *)param_2[0xf];\n        param_2[0x16] = iVar7;\n        while( true ) {\n          if (puVar8 == (undefined4 *)0x0) {\n            dcgettext(0,"Undefined N_EXCL",5);\n            FUN_0003df30();\n            *(undefined4 *)(param_2[0x16] + -4 + param_2[0x15] * 4) = 0;\n            return 1;\n          }\n          if ((puVar8[4] == param_6 && puVar8[3] == param_5) &&\n             (iVar10 = strcmp((char *)puVar8[2],(char *)param_7), iVar10 == 0)) break;\n          puVar8 = (undefined4 *)*puVar8;\n        }\n        *(undefined4 *)(iVar7 + -4 + param_2[0x15] * 4) = puVar8[6];\n        return 1;\n      }\n      goto LAB_00044431;\n    }\n    if (param_3 == 0xe2) {\n      iVar7 = FUN_0003cb60(param_1,param_7);\n    }\n    else {\n      if (param_3 != 0xe4) goto LAB_00044431;\n      iVar7 = FUN_0003cba0(param_1,param_7);\n    }\n    goto LAB_0004426d;\n  }\n  if (param_3 == 0x82) {\n    piVar13 = (int *)xmalloc(0x1c);\n    iVar7 = param_2[0xf];\n    piVar13[4] = param_6;\n    *piVar13 = iVar7;\n    iVar7 = param_2[0xe];\n    piVar13[6] = 0;\n    piVar13[1] = iVar7;\n    param_2[0xf] = (int)piVar13;\n    piVar13[2] = (int)param_7;\n    param_2[0xe] = (int)piVar13;\n    piVar13[3] = param_5;\n    iVar7 = param_2[0x15];\n    piVar13[5] = iVar7;\n    iVar7 = iVar7 + 1;\n    param_2[0x15] = iVar7;\n    iVar10 = xrealloc(param_2[0x16],iVar7 * 4);\n    iVar7 = piVar13[5];\n    param_2[0x16] = iVar10;\n    *(undefined4 *)(iVar10 + iVar7 * 4) = 0;\n  }\n  else {\n    if ((int)param_3 < 0x83) {\n      if (param_3 != 100) goto LAB_00044431;\n      bVar6 = *param_7;\n      if (param_2[0x10] != 0) {\n        if (bVar6 != 0) goto LAB_000448f8;\n        goto LAB_00044916;\n      }\n      goto LAB_00044966;\n    }\n    if (param_3 != 0x84) {\n      if (param_3 != 0xa2) goto LAB_00044431;\n      iVar7 = param_2[0xe];\n      if (iVar7 != 0) {\n        iVar10 = *(int *)(iVar7 + 4);\n        uVar11 = *(uint *)(iVar7 + 0x14);\n        param_2[0xe] = iVar10;\n        if ((uVar11 < (uint)param_2[0x15]) &&\n           (*(undefined4 *)(iVar7 + 0x18) = *(undefined4 *)(param_2[0x16] + uVar11 * 4), iVar10 != 0\n           )) {\n          param_7 = *(byte **)(iVar10 + 8);\n          goto LAB_000445bf;\n        }\n      }\n      param_7 = (byte *)param_2[0xd];\n    }\n  }\nLAB_000445bf:\n  iVar7 = FUN_0003c4a0(param_1,param_7);\nLAB_0004426d:\n  return (uint)(iVar7 != 0);\nLAB_00044790:\n  local_24 = local_24 + 2;\n  local_24 = (byte *)strchr((char *)local_24,0x3a);\n  pbVar16 = local_24;\n  if (local_24 == (byte *)0x0) {\nLAB_000449d0:\n    local_24 = pbVar16;\n    FUN_0003dfb0();\n    return 0;\n  }\n  goto LAB_000447b1;\ncode_r0x00044ecc:\n  piVar13 = (int *)piVar20[1];\n  if (((char)*piVar13 == cVar3) &&\n     (piVar13 = (int *)strcmp((char *)piVar13,local_3c), piVar13 == (int *)0x0)) {\n    piVar13 = (int *)*piVar20;\n    piVar20[3] = iVar7;\n    *piVar17 = (int)piVar13;\n    goto code_r0x00044efc;\n  }\n  piVar5 = (int *)*piVar20;\n  piVar17 = piVar20;\n  piVar20 = piVar5;\n  if (piVar5 == (int *)0x0) {\ncode_r0x00044efc:\n    if (uVar11 == 0) {\n      return 1;\n    }\n    iVar7 = FUN_0003d5a0(param_1,local_3c,iVar7,piVar13);\n    if (iVar7 != 0) {\n      if (apiStack_20[0] == (int *)0x0) {\n        return 1;\n      }\n      *apiStack_20[0] = iVar7;\n      return uVar11;\n    }\n    return 0;\n  }\n  goto code_r0x00044ecc;\ncode_r0x00044bbc:\n  iVar4 = *piVar13;\n  pcVar12 = *(char **)(iVar4 + 4);\n  if (cVar3 != '\0') {\n    pcVar12 = pcVar12 + (cVar3 == *pcVar12);\n  }\n  if ((*pcVar12 == cVar2) && (iVar14 = strcmp(pcVar12,local_3c), iVar14 == 0)) {\n    puVar1 = (uint *)(*(int *)(iVar4 + 0x14) + 0x1c);\n    param_5 = *(uint *)(iVar4 + 8) + *puVar1;\n    param_6 = *(int *)(iVar4 + 0xc) + *(int *)(*(int *)(iVar4 + 0x14) + 0x20) +\n              (uint)CARRY4(*(uint *)(iVar4 + 8),*puVar1);\n    goto code_r0x00044c0d;\n  }\n  piVar13 = piVar13 + 1;\n  iVar10 = iVar10 + -1;\n  if (iVar10 == 0) {\ncode_r0x00044c0d:\n    uVar27 = 1;\ncode_r0x0004486e:\n    iVar7 = FUN_0003e250(iVar7,uVar27,param_5,param_6);\njoined_r0x00044fe7:\n    if (iVar7 != 0) {\n      return 1;\n    }\n    return 0;\n  }\n  goto code_r0x00044bbc;\n}" type_identifier (function_declarator "FUN_000440f0(undefined4 param_1,int *param_2,uint param_3,int param_4,uint param_5,uint param_6\n                 ,byte *param_7)" identifier (parameter_list "(undefined4 param_1,int *param_2,uint param_3,int param_4,uint param_5,uint param_6\n                 ,byte *param_7)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "int *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "uint param_3" type_identifier identifier) , (parameter_declaration "int param_4" primitive_type identifier) , (parameter_declaration "uint param_5" type_identifier identifier) , (parameter_declaration "uint param_6" type_identifier identifier) , (parameter_declaration "byte *param_7" type_identifier (pointer_declarator "*param_7" * identifier)) ))) (compound_statement "{\n  uint *puVar1;\n  char cVar2;\n  char cVar3;\n  int iVar4;\n  int *piVar5;\n  byte bVar6;\n  int iVar7;\n  undefined4 *puVar8;\n  size_t sVar9;\n  int iVar10;\n  uint uVar11;\n  char *pcVar12;\n  int *piVar13;\n  int iVar14;\n  long lVar15;\n  undefined4 extraout_ECX;\n  void *__ptr;\n  byte *pbVar16;\n  int *piVar17;\n  byte *pbVar18;\n  uint uVar19;\n  int *piVar20;\n  bool bVar21;\n  bool bVar22;\n  bool bVar23;\n  byte bVar24;\n  longdouble lVar25;\n  undefined8 uVar26;\n  undefined4 uVar27;\n  undefined4 uVar28;\n  char *local_3c;\n  uint local_38;\n  byte *local_24;\n  int *apiStack_20 [3];\n  undefined4 uStack_14;\n  \n  bVar24 = 0;\n  uStack_14 = 0x440f9;\n  __ptr = (void *)param_2[4];\n  if (__ptr != (void *)0x0) {\n    if (((param_3 != 100) || (bVar6 = *param_7, bVar6 == 0)) ||\n       (param_6 != param_2[6] || param_5 != param_2[5])) {\n      iVar7 = FUN_0003c3e0(param_1,__ptr);\n      if (iVar7 == 0) {\n        return 0;\n      }\n      param_2[0xb] = 0;\n      param_2[0xc] = 0;\n      param_2[0xd] = param_2[4];\n      if (param_2[1] == 0) {\n        param_2[7] = param_2[5];\n        param_2[8] = param_2[6];\n      }\n      param_2[0x15] = 1;\n      puVar8 = (undefined4 *)xmalloc(4);\n      param_2[4] = 0;\n      param_2[0x16] = (int)puVar8;\n      *puVar8 = 0;\n      goto LAB_00044203;\n    }\n    if (param_2[0x10] == 0) goto LAB_0004414d;\nLAB_000448f8:\n    uVar11 = param_2[0x11];\n    uVar19 = param_2[0x12];\n    if (((uVar11 & uVar19) == 0xffffffff) ||\n       (param_6 <= uVar19 && (uint)(uVar11 < param_5) <= uVar19 - param_6)) {\nLAB_00044916:\n      uVar19 = param_6;\n      uVar11 = param_5;\n      param_5 = uVar11;\n      param_6 = uVar19;\n    }\n    iVar7 = FUN_0003e2f0();\n    if (iVar7 == 0) {\n      return 0;\n    }\n    iVar7 = FUN_0003c7e0(param_1,uVar11,uVar19);\n    if (iVar7 == 0) {\n      return 0;\n    }\n    param_2[0x10] = 0;\n    param_2[0x11] = -1;\n    param_2[0x12] = -1;\n    bVar6 = *param_7;\nLAB_00044966:\n    if (bVar6 == 0) {\n      return 1;\n    }\n    __ptr = (void *)param_2[4];\nLAB_0004414d:\n    if (__ptr == (void *)0x0) {\n      iVar7 = xstrdup(param_7);\n      param_2[4] = iVar7;\n    }\n    else {\n      if (bVar6 == 0x2f) {\n        iVar7 = xstrdup(param_7);\n        param_2[4] = iVar7;\n      }\n      else {\n        iVar7 = concat(__ptr,param_7,0);\n        param_2[4] = iVar7;\n      }\n      free(__ptr);\n    }\n    param_2[5] = param_5;\n    param_2[6] = param_6;\n    return 1;\n  }\nLAB_00044203:\n  sVar9 = strlen((char *)param_7);\n  if (param_3 == 0x62) {\n    return 1;\n  }\n  if ((int)param_3 < 99) {\n    if (param_3 == 0x24) {\n      if (*param_7 == 0) {\n        if (param_2[0x10] == 0) {\n          return 1;\n        }\n        if (param_2[1] != 0) {\n          bVar21 = CARRY4(param_5,param_2[9]);\n          param_5 = param_5 + param_2[9];\n          param_6 = param_6 + param_2[10] + (uint)bVar21;\n        }\n        iVar7 = FUN_0003e2f0(param_5,param_6);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003c7e0(param_1,param_5,param_6);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        param_2[0x10] = 0;\n        param_2[0x11] = -1;\n        param_2[0x12] = -1;\n        return 1;\n      }\n      if (param_2[0x10] != 0) {\n        uVar11 = param_2[0x12];\n        if (((param_2[0x11] & uVar11) == 0xffffffff) ||\n           (param_6 < uVar11 || param_6 - uVar11 < (uint)(param_5 < (uint)param_2[0x11]))) {\n          param_2[0x11] = param_5;\n          param_2[0x12] = param_6;\n        }\n      }\n    }\n    else if ((int)param_3 < 0x25) {\n      if (param_3 == 0xc) {\n        return 1;\n      }\n      if ((0xb < (int)param_3) && (param_3 - 0x1e < 2)) {\n        return 1;\n      }\n    }\n    else {\n      if (param_3 == 0x38) {\n        return 1;\n      }\n      if ((int)param_3 < 0x39) {\n        if (param_3 == 0x2a) {\n          return 1;\n        }\n      }\n      else {\n        bVar21 = param_3 < 0x3c;\n        bVar23 = param_3 == 0x3c;\n        if (bVar23) {\n          iVar7 = 0xf;\n          pbVar16 = param_7;\n          pbVar18 = (byte *)"gcc2_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar21 = *pbVar16 < *pbVar18;\n            bVar23 = *pbVar16 == *pbVar18;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n          } while (bVar23);\n          bVar22 = false;\n          bVar21 = (!bVar21 && !bVar23) == bVar21;\n          if (bVar21) {\n            param_2[0xb] = 2;\n            return 1;\n          }\n          iVar7 = 0xe;\n          pbVar16 = (byte *)"gcc_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar22 = *param_7 < *pbVar16;\n            bVar21 = *param_7 == *pbVar16;\n            param_7 = param_7 + (uint)bVar24 * -2 + 1;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n          } while (bVar21);\n          if ((!bVar22 && !bVar21) != bVar22) {\n            param_2[0xc] = 1;\n            return 1;\n          }\n          param_2[0xb] = 1;\n          return 1;\n        }\n        if (param_3 == 0x44) {\n          if (param_2[0x10] != 0) {\n            bVar21 = CARRY4(param_5,param_2[9]);\n            param_5 = param_5 + param_2[9];\n            param_6 = param_6 + param_2[10] + (uint)bVar21;\n          }\n          iVar7 = FUN_0003ca10(param_1,param_4,param_5,param_6);\n          goto LAB_0004426d;\n        }\n      }\n    }\nLAB_00044431:\n    local_24 = (byte *)strchr((char *)param_7,0x3a);\n    if (local_24 == (byte *)0x0) {\n      return 1;\n    }\n    bVar24 = local_24[1];\n    if ((bVar24 & 0xdf) != 0x46) goto LAB_000447b5;\n    if (param_2[0x10] != 0) {\n      local_3c = (char *)param_2[0x11];\n      local_38 = param_2[0x12];\n      if ((((uint)local_3c & local_38) == 0xffffffff) ||\n         (param_6 <= local_38 && (uint)(local_3c < param_5) <= local_38 - param_6)) {\n        local_3c = (char *)param_5;\n        local_38 = param_6;\n      }\n      iVar7 = FUN_0003e2f0();\n      if ((iVar7 == 0) || (iVar7 = FUN_0003c7e0(param_1,local_3c,local_38), iVar7 == 0)) {\n        return 0;\n      }\n      param_2[0x11] = -1;\n      param_2[0x12] = -1;\n    }\n    if (param_2[1] != 0) {\n      param_2[9] = param_5;\n      param_2[10] = param_6;\n    }\n    param_2[0x10] = 1;\n    local_24 = (byte *)strchr((char *)param_7,0x3a);\n    if (local_24 == (byte *)0x0) {\n      return 1;\n    }\nLAB_000447b1:\n    bVar24 = local_24[1];\nLAB_000447b5:\n    if (bVar24 == 0x3a) goto LAB_00044790;\n    if (*param_7 != 0x24) goto LAB_000447c7;\n    switch(param_7[1]) {\n    default:\n      dcgettext(0,"unknown C++ encoded name",5);\n      FUN_0003df30();\n    case 0x58:\n    case 0x5f:\n    case 0x76:\nLAB_000447c7:\n      local_3c = (char *)0x0;\n      if ((param_7 != local_24) && ((*param_7 != 0x20 || (local_24 != param_7 + 1)))) {\n        local_3c = (char *)FUN_0003e060();\n      }\n      break;\n    case 0x65:\n      local_3c = "eh_throw";\n      break;\n    case 0x74:\n      local_3c = "this";\n    }\n    param_7 = param_7 + sVar9;\n    pbVar16 = local_24 + 1;\n    bVar24 = local_24[1];\n    if (((PTR__sch_istable_00071fbc[(uint)bVar24 * 2] & 4) != 0) ||\n       (bVar24 == 0x28 || bVar24 == 0x2d)) {\nLAB_0004483d:\n      local_24 = pbVar16;\n      iVar7 = FUN_00040c70(&local_24,0,param_7);\n      if (iVar7 == 0) {\n        return 0;\n      }\n      uVar27 = 4;\n      goto code_r0x0004486e;\n    }\n    if (bVar24 != 0) {\n      pbVar16 = local_24 + 2;\n      bVar24 = local_24[1];\n      if (0x33 < (byte)(bVar24 + 0xbd)) goto LAB_00044e16;\n      iVar7 = (int)&__DT_PLTGOT + *(int *)(&DAT_00057e08 + (uint)(byte)(bVar24 + 0xbd) * 4);\n      switch(bVar24) {\n      case 0x43:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,bVar24);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003ccf0(param_1,local_3c,iVar7,param_5,param_6);\n        goto joined_r0x00044fe7;\n      default:\n        goto LAB_00044e16;\n      case 0x46:\n      case 0x66:\n        local_24 = pbVar16;\n        uVar26 = FUN_00040c70(&local_24,0,param_7,iVar7);\n        uVar27 = (undefined4)((ulonglong)uVar26 >> 0x20);\n        if ((int)uVar26 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003c5a0(param_1,local_3c,(int)uVar26,bVar24 == 0x46,param_5,param_6,uVar27,\n                             uVar27);\n        while( true ) {\n          if (iVar7 == 0) {\n            return 0;\n          }\n          if (*local_24 != 0x3b) break;\n          local_24 = local_24 + 1;\n          iVar7 = FUN_00040c70(&local_24,0,param_7);\n        }\n        return 1;\n      case 0x47:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,iVar7);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) goto code_r0x00044c0d;\n        iVar10 = param_2[3];\n        piVar13 = (int *)param_2[2];\n        cVar3 = *(char *)(*(int *)(*param_2 + 4) + 0x18);\n        if (iVar10 < 1) goto code_r0x00044c0d;\n        cVar2 = *local_3c;\n        goto code_r0x00044bbc;\n      case 0x50:\n        if (param_3 == 0x24) {\n          local_24 = pbVar16;\n          do {\n            if (*local_24 != 0x3b) {\n              return 1;\n            }\n            local_24 = local_24 + 1;\n            iVar7 = FUN_00040c70(&local_24,0,param_7);\n          } while (iVar7 != 0);\n          return 0;\n        }\n      case 0x52:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,iVar7);\njoined_r0x00045010:\n        if (iVar7 == 0) {\n          return 0;\n        }\ncode_r0x00044af0:\n        iVar7 = FUN_0003c6e0(param_1,local_3c,iVar7);\n        goto joined_r0x00044fe7;\n      case 0x53:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 2;\n        goto code_r0x0004486e;\n      case 0x54:\n        pbVar18 = local_24 + 2;\n        if (*pbVar18 == 0x74) {\n          pbVar16 = local_24 + 3;\n        }\n        local_24 = pbVar16;\n        uVar11 = (uint)(*pbVar18 == 0x74);\n        iVar7 = FUN_00040c70(&local_24,apiStack_20,param_7,param_3);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) {\n          return 1;\n        }\n        iVar10 = param_2[0x3a];\n        iVar7 = FUN_0003d680(param_1,local_3c,iVar7,extraout_ECX);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (apiStack_20[0] != (int *)0x0) {\n          *apiStack_20[0] = iVar7;\n        }\n        piVar13 = apiStack_20[0];\n        if (iVar10 != 0) goto code_r0x00044efc;\n        if ((int *)param_2[0x39] == (int *)0x0) goto code_r0x00044efc;\n        cVar3 = *local_3c;\n        piVar17 = param_2 + 0x39;\n        piVar20 = (int *)param_2[0x39];\n        goto code_r0x00044ecc;\n      case 0x56:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 3;\n        goto code_r0x0004486e;\n      case 0x58:\n      case 0x6c:\n      case 0x73:\n        goto LAB_0004483d;\n      case 0x59:\n        pbVar16 = local_24 + 3;\n        if ((local_24[3] == 0x6e) &&\n           (pbVar16 = local_24 + 4, pbVar18 = local_24 + 4, local_24 = pbVar16, *pbVar18 == 0x30)) {\n          for (; *local_24 != 0x3b; local_24 = local_24 + 1) {\n          }\n          return 1;\n        }\nLAB_00044e16:\n        local_24 = pbVar16;\n        FUN_0003dfb0();\n        return 0;\n      case 0x61:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,bVar24);\n        goto joined_r0x00045010;\n      case 99:\n        if (local_24[2] == 0x3d) {\n          pbVar16 = local_24 + 4;\n          bVar24 = local_24[3];\n          local_24 = pbVar16;\n          if (bVar24 == 0x69) {\n            lVar15 = strtol((char *)pbVar16,(char **)0x0,10);\n            iVar7 = FUN_0003cbe0(param_1,local_3c,lVar15,lVar15 >> 0x1f);\n            goto joined_r0x00044fe7;\n          }\n          if (bVar24 == 0x72) {\n            lVar25 = (longdouble)func_0x00013560(pbVar16,0,0x72,0x72);\n            iVar7 = FUN_0003cc30(param_1,local_3c,(double)lVar25);\n            goto joined_r0x00044fe7;\n          }\n          if (bVar24 == 0x65) {\n            iVar7 = FUN_00040c70(&local_24,0,param_7,0x65);\n            if (iVar7 == 0) {\n              return 0;\n            }\n            pbVar16 = local_24;\n            if (*local_24 == 0x2c) {\n              uVar28 = 10;\n              uVar27 = 0;\n              lVar15 = strtol((char *)local_24,(char **)0x0,10);\n              iVar7 = FUN_0003cc70(param_1,local_3c,iVar7,lVar15,lVar15 >> 0x1f,uVar27,uVar28,\n                                   param_3);\n              goto joined_r0x00044fe7;\n            }\n          }\n        }\n        break;\n      case 0x70:\n        if (local_24[2] == 0x46) {\n          local_24 = local_24 + 3;\n          iVar7 = FUN_00040c70(&local_24,0,param_7,local_24);\n          if (iVar7 == 0) {\n            return 0;\n          }\n          uVar27 = FUN_0003d080(param_1,iVar7,0,0);\n          iVar7 = FUN_0003d030(param_1,uVar27);\n        }\n        else {\n          pbVar18 = local_24;\n          local_24 = pbVar16;\n          iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        }\n        goto joined_r0x00044dee;\n      case 0x72:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 5;\n        goto code_r0x0004486e;\n      case 0x74:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,apiStack_20,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) {\n          return 1;\n        }\n        iVar7 = FUN_0003d5a0(param_1,local_3c,iVar7,param_2);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (apiStack_20[0] == (int *)0x0) {\n          return 1;\n        }\n        *apiStack_20[0] = iVar7;\n        return 1;\n      case 0x76:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\njoined_r0x00044dee:\n        if (iVar7 == 0) {\n          return 0;\n        }\n        goto code_r0x00044af0;\n      }\n    }\n    goto LAB_000449d0;\n  }\n  if (param_3 == 0xc0) {\n    if ((param_2[0xc] != 0) && (param_4 == 1)) {\n      return 1;\n    }\n    if (param_2[0x10] == 0) {\n      pcVar12 = (char *)dcgettext(0,"N_LBRAC not within function\n",5);\n      fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar12);\n      return 0;\n    }\n    uVar11 = param_2[9] + param_2[7];\n    iVar7 = FUN_0003c880(param_1,uVar11 + param_5,\n                         param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7]) + param_6 +\n                         (uint)CARRY4(uVar11,param_5));\n    if (iVar7 == 0) {\n      return 0;\n    }\n    iVar7 = FUN_0003e2f0();\n    if (iVar7 == 0) {\n      return 0;\n    }\n    param_2[0x13] = param_2[0x13] + 1;\n    return 1;\n  }\n  if (0xc0 < (int)param_3) {\n    if (param_3 == 0xe0) {\n      if ((param_2[0xc] != 0) && (param_4 == 1)) {\n        return 1;\n      }\n      iVar7 = FUN_0003e2f0();\n      if (iVar7 == 0) {\n        return 0;\n      }\n      uVar11 = param_2[9] + param_2[7];\n      iVar7 = FUN_0003c980(param_1,uVar11 + param_5,\n                           param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7]) + param_6\n                           + (uint)CARRY4(uVar11,param_5));\n      if (iVar7 == 0) {\n        return 0;\n      }\n      param_2 = param_2 + 0x13;\n      *param_2 = *param_2 + -1;\n      if (*param_2 < 0) {\n        pcVar12 = (char *)dcgettext(0,"Too many N_RBRACs\n",5);\n        fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar12);\n        return 0;\n      }\n      return 1;\n    }\n    if ((int)param_3 < 0xe1) {\n      if (param_3 == 0xc2) {\n        iVar7 = param_2[0x15];\n        param_2[0x15] = iVar7 + 1;\n        iVar7 = xrealloc(param_2[0x16],(iVar7 + 1) * 4);\n        puVar8 = (undefined4 *)param_2[0xf];\n        param_2[0x16] = iVar7;\n        while( true ) {\n          if (puVar8 == (undefined4 *)0x0) {\n            dcgettext(0,"Undefined N_EXCL",5);\n            FUN_0003df30();\n            *(undefined4 *)(param_2[0x16] + -4 + param_2[0x15] * 4) = 0;\n            return 1;\n          }\n          if ((puVar8[4] == param_6 && puVar8[3] == param_5) &&\n             (iVar10 = strcmp((char *)puVar8[2],(char *)param_7), iVar10 == 0)) break;\n          puVar8 = (undefined4 *)*puVar8;\n        }\n        *(undefined4 *)(iVar7 + -4 + param_2[0x15] * 4) = puVar8[6];\n        return 1;\n      }\n      goto LAB_00044431;\n    }\n    if (param_3 == 0xe2) {\n      iVar7 = FUN_0003cb60(param_1,param_7);\n    }\n    else {\n      if (param_3 != 0xe4) goto LAB_00044431;\n      iVar7 = FUN_0003cba0(param_1,param_7);\n    }\n    goto LAB_0004426d;\n  }\n  if (param_3 == 0x82) {\n    piVar13 = (int *)xmalloc(0x1c);\n    iVar7 = param_2[0xf];\n    piVar13[4] = param_6;\n    *piVar13 = iVar7;\n    iVar7 = param_2[0xe];\n    piVar13[6] = 0;\n    piVar13[1] = iVar7;\n    param_2[0xf] = (int)piVar13;\n    piVar13[2] = (int)param_7;\n    param_2[0xe] = (int)piVar13;\n    piVar13[3] = param_5;\n    iVar7 = param_2[0x15];\n    piVar13[5] = iVar7;\n    iVar7 = iVar7 + 1;\n    param_2[0x15] = iVar7;\n    iVar10 = xrealloc(param_2[0x16],iVar7 * 4);\n    iVar7 = piVar13[5];\n    param_2[0x16] = iVar10;\n    *(undefined4 *)(iVar10 + iVar7 * 4) = 0;\n  }\n  else {\n    if ((int)param_3 < 0x83) {\n      if (param_3 != 100) goto LAB_00044431;\n      bVar6 = *param_7;\n      if (param_2[0x10] != 0) {\n        if (bVar6 != 0) goto LAB_000448f8;\n        goto LAB_00044916;\n      }\n      goto LAB_00044966;\n    }\n    if (param_3 != 0x84) {\n      if (param_3 != 0xa2) goto LAB_00044431;\n      iVar7 = param_2[0xe];\n      if (iVar7 != 0) {\n        iVar10 = *(int *)(iVar7 + 4);\n        uVar11 = *(uint *)(iVar7 + 0x14);\n        param_2[0xe] = iVar10;\n        if ((uVar11 < (uint)param_2[0x15]) &&\n           (*(undefined4 *)(iVar7 + 0x18) = *(undefined4 *)(param_2[0x16] + uVar11 * 4), iVar10 != 0\n           )) {\n          param_7 = *(byte **)(iVar10 + 8);\n          goto LAB_000445bf;\n        }\n      }\n      param_7 = (byte *)param_2[0xd];\n    }\n  }\nLAB_000445bf:\n  iVar7 = FUN_0003c4a0(param_1,param_7);\nLAB_0004426d:\n  return (uint)(iVar7 != 0);\nLAB_00044790:\n  local_24 = local_24 + 2;\n  local_24 = (byte *)strchr((char *)local_24,0x3a);\n  pbVar16 = local_24;\n  if (local_24 == (byte *)0x0) {\nLAB_000449d0:\n    local_24 = pbVar16;\n    FUN_0003dfb0();\n    return 0;\n  }\n  goto LAB_000447b1;\ncode_r0x00044ecc:\n  piVar13 = (int *)piVar20[1];\n  if (((char)*piVar13 == cVar3) &&\n     (piVar13 = (int *)strcmp((char *)piVar13,local_3c), piVar13 == (int *)0x0)) {\n    piVar13 = (int *)*piVar20;\n    piVar20[3] = iVar7;\n    *piVar17 = (int)piVar13;\n    goto code_r0x00044efc;\n  }\n  piVar5 = (int *)*piVar20;\n  piVar17 = piVar20;\n  piVar20 = piVar5;\n  if (piVar5 == (int *)0x0) {\ncode_r0x00044efc:\n    if (uVar11 == 0) {\n      return 1;\n    }\n    iVar7 = FUN_0003d5a0(param_1,local_3c,iVar7,piVar13);\n    if (iVar7 != 0) {\n      if (apiStack_20[0] == (int *)0x0) {\n        return 1;\n      }\n      *apiStack_20[0] = iVar7;\n      return uVar11;\n    }\n    return 0;\n  }\n  goto code_r0x00044ecc;\ncode_r0x00044bbc:\n  iVar4 = *piVar13;\n  pcVar12 = *(char **)(iVar4 + 4);\n  if (cVar3 != '\0') {\n    pcVar12 = pcVar12 + (cVar3 == *pcVar12);\n  }\n  if ((*pcVar12 == cVar2) && (iVar14 = strcmp(pcVar12,local_3c), iVar14 == 0)) {\n    puVar1 = (uint *)(*(int *)(iVar4 + 0x14) + 0x1c);\n    param_5 = *(uint *)(iVar4 + 8) + *puVar1;\n    param_6 = *(int *)(iVar4 + 0xc) + *(int *)(*(int *)(iVar4 + 0x14) + 0x20) +\n              (uint)CARRY4(*(uint *)(iVar4 + 8),*puVar1);\n    goto code_r0x00044c0d;\n  }\n  piVar13 = piVar13 + 1;\n  iVar10 = iVar10 + -1;\n  if (iVar10 == 0) {\ncode_r0x00044c0d:\n    uVar27 = 1;\ncode_r0x0004486e:\n    iVar7 = FUN_0003e250(iVar7,uVar27,param_5,param_6);\njoined_r0x00044fe7:\n    if (iVar7 != 0) {\n      return 1;\n    }\n    return 0;\n  }\n  goto code_r0x00044bbc;\n}" { (declaration "uint *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "char cVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "byte bVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "undefined4 *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "size_t sVar9;" primitive_type identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "char *pcVar12;" primitive_type (pointer_declarator "*pcVar12" * identifier) ;) (declaration "int *piVar13;" primitive_type (pointer_declarator "*piVar13" * identifier) ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "long lVar15;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined4 extraout_ECX;" type_identifier identifier ;) (declaration "void *__ptr;" primitive_type (pointer_declarator "*__ptr" * identifier) ;) (declaration "byte *pbVar16;" type_identifier (pointer_declarator "*pbVar16" * identifier) ;) (declaration "int *piVar17;" primitive_type (pointer_declarator "*piVar17" * identifier) ;) (declaration "byte *pbVar18;" type_identifier (pointer_declarator "*pbVar18" * identifier) ;) (declaration "uint uVar19;" type_identifier identifier ;) (declaration "int *piVar20;" primitive_type (pointer_declarator "*piVar20" * identifier) ;) (declaration "bool bVar21;" primitive_type identifier ;) (declaration "bool bVar22;" primitive_type identifier ;) (declaration "bool bVar23;" primitive_type identifier ;) (declaration "byte bVar24;" type_identifier identifier ;) (declaration "longdouble lVar25;" type_identifier identifier ;) (declaration "undefined8 uVar26;" type_identifier identifier ;) (declaration "undefined4 uVar27;" type_identifier identifier ;) (declaration "undefined4 uVar28;" type_identifier identifier ;) (declaration "char *local_3c;" primitive_type (pointer_declarator "*local_3c" * identifier) ;) (declaration "uint local_38;" type_identifier identifier ;) (declaration "byte *local_24;" type_identifier (pointer_declarator "*local_24" * identifier) ;) (declaration "int *apiStack_20 [3];" primitive_type (pointer_declarator "*apiStack_20 [3]" * (array_declarator "apiStack_20 [3]" identifier [ number_literal ])) ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "bVar24 = 0;" (assignment_expression "bVar24 = 0" identifier = number_literal) ;) (expression_statement "uStack_14 = 0x440f9;" (assignment_expression "uStack_14 = 0x440f9" identifier = number_literal) ;) (expression_statement "__ptr = (void *)param_2[4];" (assignment_expression "__ptr = (void *)param_2[4]" identifier = (cast_expression "(void *)param_2[4]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[4]" identifier [ number_literal ]))) ;) (if_statement "if (__ptr != (void *)0x0) {\n    if (((param_3 != 100) || (bVar6 = *param_7, bVar6 == 0)) ||\n       (param_6 != param_2[6] || param_5 != param_2[5])) {\n      iVar7 = FUN_0003c3e0(param_1,__ptr);\n      if (iVar7 == 0) {\n        return 0;\n      }\n      param_2[0xb] = 0;\n      param_2[0xc] = 0;\n      param_2[0xd] = param_2[4];\n      if (param_2[1] == 0) {\n        param_2[7] = param_2[5];\n        param_2[8] = param_2[6];\n      }\n      param_2[0x15] = 1;\n      puVar8 = (undefined4 *)xmalloc(4);\n      param_2[4] = 0;\n      param_2[0x16] = (int)puVar8;\n      *puVar8 = 0;\n      goto LAB_00044203;\n    }\n    if (param_2[0x10] == 0) goto LAB_0004414d;\nLAB_000448f8:\n    uVar11 = param_2[0x11];\n    uVar19 = param_2[0x12];\n    if (((uVar11 & uVar19) == 0xffffffff) ||\n       (param_6 <= uVar19 && (uint)(uVar11 < param_5) <= uVar19 - param_6)) {\nLAB_00044916:\n      uVar19 = param_6;\n      uVar11 = param_5;\n      param_5 = uVar11;\n      param_6 = uVar19;\n    }\n    iVar7 = FUN_0003e2f0();\n    if (iVar7 == 0) {\n      return 0;\n    }\n    iVar7 = FUN_0003c7e0(param_1,uVar11,uVar19);\n    if (iVar7 == 0) {\n      return 0;\n    }\n    param_2[0x10] = 0;\n    param_2[0x11] = -1;\n    param_2[0x12] = -1;\n    bVar6 = *param_7;\nLAB_00044966:\n    if (bVar6 == 0) {\n      return 1;\n    }\n    __ptr = (void *)param_2[4];\nLAB_0004414d:\n    if (__ptr == (void *)0x0) {\n      iVar7 = xstrdup(param_7);\n      param_2[4] = iVar7;\n    }\n    else {\n      if (bVar6 == 0x2f) {\n        iVar7 = xstrdup(param_7);\n        param_2[4] = iVar7;\n      }\n      else {\n        iVar7 = concat(__ptr,param_7,0);\n        param_2[4] = iVar7;\n      }\n      free(__ptr);\n    }\n    param_2[5] = param_5;\n    param_2[6] = param_6;\n    return 1;\n  }" if (parenthesized_expression "(__ptr != (void *)0x0)" ( (binary_expression "__ptr != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (((param_3 != 100) || (bVar6 = *param_7, bVar6 == 0)) ||\n       (param_6 != param_2[6] || param_5 != param_2[5])) {\n      iVar7 = FUN_0003c3e0(param_1,__ptr);\n      if (iVar7 == 0) {\n        return 0;\n      }\n      param_2[0xb] = 0;\n      param_2[0xc] = 0;\n      param_2[0xd] = param_2[4];\n      if (param_2[1] == 0) {\n        param_2[7] = param_2[5];\n        param_2[8] = param_2[6];\n      }\n      param_2[0x15] = 1;\n      puVar8 = (undefined4 *)xmalloc(4);\n      param_2[4] = 0;\n      param_2[0x16] = (int)puVar8;\n      *puVar8 = 0;\n      goto LAB_00044203;\n    }\n    if (param_2[0x10] == 0) goto LAB_0004414d;\nLAB_000448f8:\n    uVar11 = param_2[0x11];\n    uVar19 = param_2[0x12];\n    if (((uVar11 & uVar19) == 0xffffffff) ||\n       (param_6 <= uVar19 && (uint)(uVar11 < param_5) <= uVar19 - param_6)) {\nLAB_00044916:\n      uVar19 = param_6;\n      uVar11 = param_5;\n      param_5 = uVar11;\n      param_6 = uVar19;\n    }\n    iVar7 = FUN_0003e2f0();\n    if (iVar7 == 0) {\n      return 0;\n    }\n    iVar7 = FUN_0003c7e0(param_1,uVar11,uVar19);\n    if (iVar7 == 0) {\n      return 0;\n    }\n    param_2[0x10] = 0;\n    param_2[0x11] = -1;\n    param_2[0x12] = -1;\n    bVar6 = *param_7;\nLAB_00044966:\n    if (bVar6 == 0) {\n      return 1;\n    }\n    __ptr = (void *)param_2[4];\nLAB_0004414d:\n    if (__ptr == (void *)0x0) {\n      iVar7 = xstrdup(param_7);\n      param_2[4] = iVar7;\n    }\n    else {\n      if (bVar6 == 0x2f) {\n        iVar7 = xstrdup(param_7);\n        param_2[4] = iVar7;\n      }\n      else {\n        iVar7 = concat(__ptr,param_7,0);\n        param_2[4] = iVar7;\n      }\n      free(__ptr);\n    }\n    param_2[5] = param_5;\n    param_2[6] = param_6;\n    return 1;\n  }" { (if_statement "if (((param_3 != 100) || (bVar6 = *param_7, bVar6 == 0)) ||\n       (param_6 != param_2[6] || param_5 != param_2[5])) {\n      iVar7 = FUN_0003c3e0(param_1,__ptr);\n      if (iVar7 == 0) {\n        return 0;\n      }\n      param_2[0xb] = 0;\n      param_2[0xc] = 0;\n      param_2[0xd] = param_2[4];\n      if (param_2[1] == 0) {\n        param_2[7] = param_2[5];\n        param_2[8] = param_2[6];\n      }\n      param_2[0x15] = 1;\n      puVar8 = (undefined4 *)xmalloc(4);\n      param_2[4] = 0;\n      param_2[0x16] = (int)puVar8;\n      *puVar8 = 0;\n      goto LAB_00044203;\n    }" if (parenthesized_expression "(((param_3 != 100) || (bVar6 = *param_7, bVar6 == 0)) ||\n       (param_6 != param_2[6] || param_5 != param_2[5]))" ( (binary_expression "((param_3 != 100) || (bVar6 = *param_7, bVar6 == 0)) ||\n       (param_6 != param_2[6] || param_5 != param_2[5])" (parenthesized_expression "((param_3 != 100) || (bVar6 = *param_7, bVar6 == 0))" ( (binary_expression "(param_3 != 100) || (bVar6 = *param_7, bVar6 == 0)" (parenthesized_expression "(param_3 != 100)" ( (binary_expression "param_3 != 100" identifier != number_literal) )) || (parenthesized_expression "(bVar6 = *param_7, bVar6 == 0)" ( (comma_expression "bVar6 = *param_7, bVar6 == 0" (assignment_expression "bVar6 = *param_7" identifier = (pointer_expression "*param_7" * identifier)) , (binary_expression "bVar6 == 0" identifier == number_literal)) ))) )) || (parenthesized_expression "(param_6 != param_2[6] || param_5 != param_2[5])" ( (binary_expression "param_6 != param_2[6] || param_5 != param_2[5]" (binary_expression "param_6 != param_2[6]" identifier != (subscript_expression "param_2[6]" identifier [ number_literal ])) || (binary_expression "param_5 != param_2[5]" identifier != (subscript_expression "param_2[5]" identifier [ number_literal ]))) ))) )) (compound_statement "{\n      iVar7 = FUN_0003c3e0(param_1,__ptr);\n      if (iVar7 == 0) {\n        return 0;\n      }\n      param_2[0xb] = 0;\n      param_2[0xc] = 0;\n      param_2[0xd] = param_2[4];\n      if (param_2[1] == 0) {\n        param_2[7] = param_2[5];\n        param_2[8] = param_2[6];\n      }\n      param_2[0x15] = 1;\n      puVar8 = (undefined4 *)xmalloc(4);\n      param_2[4] = 0;\n      param_2[0x16] = (int)puVar8;\n      *puVar8 = 0;\n      goto LAB_00044203;\n    }" { (expression_statement "iVar7 = FUN_0003c3e0(param_1,__ptr);" (assignment_expression "iVar7 = FUN_0003c3e0(param_1,__ptr)" identifier = (call_expression "FUN_0003c3e0(param_1,__ptr)" identifier (argument_list "(param_1,__ptr)" ( identifier , identifier )))) ;) (if_statement "if (iVar7 == 0) {\n        return 0;\n      }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n        return 0;\n      }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "param_2[0xb] = 0;" (assignment_expression "param_2[0xb] = 0" (subscript_expression "param_2[0xb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_2[0xc] = 0;" (assignment_expression "param_2[0xc] = 0" (subscript_expression "param_2[0xc]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_2[0xd] = param_2[4];" (assignment_expression "param_2[0xd] = param_2[4]" (subscript_expression "param_2[0xd]" identifier [ number_literal ]) = (subscript_expression "param_2[4]" identifier [ number_literal ])) ;) (if_statement "if (param_2[1] == 0) {\n        param_2[7] = param_2[5];\n        param_2[8] = param_2[6];\n      }" if (parenthesized_expression "(param_2[1] == 0)" ( (binary_expression "param_2[1] == 0" (subscript_expression "param_2[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n        param_2[7] = param_2[5];\n        param_2[8] = param_2[6];\n      }" { (expression_statement "param_2[7] = param_2[5];" (assignment_expression "param_2[7] = param_2[5]" (subscript_expression "param_2[7]" identifier [ number_literal ]) = (subscript_expression "param_2[5]" identifier [ number_literal ])) ;) (expression_statement "param_2[8] = param_2[6];" (assignment_expression "param_2[8] = param_2[6]" (subscript_expression "param_2[8]" identifier [ number_literal ]) = (subscript_expression "param_2[6]" identifier [ number_literal ])) ;) })) (expression_statement "param_2[0x15] = 1;" (assignment_expression "param_2[0x15] = 1" (subscript_expression "param_2[0x15]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar8 = (undefined4 *)xmalloc(4);" (assignment_expression "puVar8 = (undefined4 *)xmalloc(4)" identifier = (cast_expression "(undefined4 *)xmalloc(4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(4)" identifier (argument_list "(4)" ( number_literal ))))) ;) (expression_statement "param_2[4] = 0;" (assignment_expression "param_2[4] = 0" (subscript_expression "param_2[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_2[0x16] = (int)puVar8;" (assignment_expression "param_2[0x16] = (int)puVar8" (subscript_expression "param_2[0x16]" identifier [ number_literal ]) = (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*puVar8 = 0;" (assignment_expression "*puVar8 = 0" (pointer_expression "*puVar8" * identifier) = number_literal) ;) (goto_statement "goto LAB_00044203;" goto statement_identifier ;) })) (if_statement "if (param_2[0x10] == 0) goto LAB_0004414d;" if (parenthesized_expression "(param_2[0x10] == 0)" ( (binary_expression "param_2[0x10] == 0" (subscript_expression "param_2[0x10]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_0004414d;" goto statement_identifier ;)) (labeled_statement "LAB_000448f8:\n    uVar11 = param_2[0x11];" statement_identifier : (expression_statement "uVar11 = param_2[0x11];" (assignment_expression "uVar11 = param_2[0x11]" identifier = (subscript_expression "param_2[0x11]" identifier [ number_literal ])) ;)) (expression_statement "uVar19 = param_2[0x12];" (assignment_expression "uVar19 = param_2[0x12]" identifier = (subscript_expression "param_2[0x12]" identifier [ number_literal ])) ;) (if_statement "if (((uVar11 & uVar19) == 0xffffffff) ||\n       (param_6 <= uVar19 && (uint)(uVar11 < param_5) <= uVar19 - param_6)) {\nLAB_00044916:\n      uVar19 = param_6;\n      uVar11 = param_5;\n      param_5 = uVar11;\n      param_6 = uVar19;\n    }" if (parenthesized_expression "(((uVar11 & uVar19) == 0xffffffff) ||\n       (param_6 <= uVar19 && (uint)(uVar11 < param_5) <= uVar19 - param_6))" ( (binary_expression "((uVar11 & uVar19) == 0xffffffff) ||\n       (param_6 <= uVar19 && (uint)(uVar11 < param_5) <= uVar19 - param_6)" (parenthesized_expression "((uVar11 & uVar19) == 0xffffffff)" ( (binary_expression "(uVar11 & uVar19) == 0xffffffff" (parenthesized_expression "(uVar11 & uVar19)" ( (binary_expression "uVar11 & uVar19" identifier & identifier) )) == number_literal) )) || (parenthesized_expression "(param_6 <= uVar19 && (uint)(uVar11 < param_5) <= uVar19 - param_6)" ( (binary_expression "param_6 <= uVar19 && (uint)(uVar11 < param_5) <= uVar19 - param_6" (binary_expression "param_6 <= uVar19" identifier <= identifier) && (binary_expression "(uint)(uVar11 < param_5) <= uVar19 - param_6" (call_expression "(uint)(uVar11 < param_5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar11 < param_5)" ( (binary_expression "uVar11 < param_5" identifier < identifier) ))) <= (binary_expression "uVar19 - param_6" identifier - identifier))) ))) )) (compound_statement "{\nLAB_00044916:\n      uVar19 = param_6;\n      uVar11 = param_5;\n      param_5 = uVar11;\n      param_6 = uVar19;\n    }" { (labeled_statement "LAB_00044916:\n      uVar19 = param_6;" statement_identifier : (expression_statement "uVar19 = param_6;" (assignment_expression "uVar19 = param_6" identifier = identifier) ;)) (expression_statement "uVar11 = param_5;" (assignment_expression "uVar11 = param_5" identifier = identifier) ;) (expression_statement "param_5 = uVar11;" (assignment_expression "param_5 = uVar11" identifier = identifier) ;) (expression_statement "param_6 = uVar19;" (assignment_expression "param_6 = uVar19" identifier = identifier) ;) })) (expression_statement "iVar7 = FUN_0003e2f0();" (assignment_expression "iVar7 = FUN_0003e2f0()" identifier = (call_expression "FUN_0003e2f0()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar7 == 0) {\n      return 0;\n    }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n      return 0;\n    }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "iVar7 = FUN_0003c7e0(param_1,uVar11,uVar19);" (assignment_expression "iVar7 = FUN_0003c7e0(param_1,uVar11,uVar19)" identifier = (call_expression "FUN_0003c7e0(param_1,uVar11,uVar19)" identifier (argument_list "(param_1,uVar11,uVar19)" ( identifier , identifier , identifier )))) ;) (if_statement "if (iVar7 == 0) {\n      return 0;\n    }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n      return 0;\n    }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "param_2[0x10] = 0;" (assignment_expression "param_2[0x10] = 0" (subscript_expression "param_2[0x10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_2[0x11] = -1;" (assignment_expression "param_2[0x11] = -1" (subscript_expression "param_2[0x11]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_2[0x12] = -1;" (assignment_expression "param_2[0x12] = -1" (subscript_expression "param_2[0x12]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "bVar6 = *param_7;" (assignment_expression "bVar6 = *param_7" identifier = (pointer_expression "*param_7" * identifier)) ;) (labeled_statement "LAB_00044966:\n    if (bVar6 == 0) {\n      return 1;\n    }" statement_identifier : (if_statement "if (bVar6 == 0) {\n      return 1;\n    }" if (parenthesized_expression "(bVar6 == 0)" ( (binary_expression "bVar6 == 0" identifier == number_literal) )) (compound_statement "{\n      return 1;\n    }" { (return_statement "return 1;" return number_literal ;) }))) (expression_statement "__ptr = (void *)param_2[4];" (assignment_expression "__ptr = (void *)param_2[4]" identifier = (cast_expression "(void *)param_2[4]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[4]" identifier [ number_literal ]))) ;) (labeled_statement "LAB_0004414d:\n    if (__ptr == (void *)0x0) {\n      iVar7 = xstrdup(param_7);\n      param_2[4] = iVar7;\n    }\n    else {\n      if (bVar6 == 0x2f) {\n        iVar7 = xstrdup(param_7);\n        param_2[4] = iVar7;\n      }\n      else {\n        iVar7 = concat(__ptr,param_7,0);\n        param_2[4] = iVar7;\n      }\n      free(__ptr);\n    }" statement_identifier : (if_statement "if (__ptr == (void *)0x0) {\n      iVar7 = xstrdup(param_7);\n      param_2[4] = iVar7;\n    }\n    else {\n      if (bVar6 == 0x2f) {\n        iVar7 = xstrdup(param_7);\n        param_2[4] = iVar7;\n      }\n      else {\n        iVar7 = concat(__ptr,param_7,0);\n        param_2[4] = iVar7;\n      }\n      free(__ptr);\n    }" if (parenthesized_expression "(__ptr == (void *)0x0)" ( (binary_expression "__ptr == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      iVar7 = xstrdup(param_7);\n      param_2[4] = iVar7;\n    }" { (expression_statement "iVar7 = xstrdup(param_7);" (assignment_expression "iVar7 = xstrdup(param_7)" identifier = (call_expression "xstrdup(param_7)" identifier (argument_list "(param_7)" ( identifier )))) ;) (expression_statement "param_2[4] = iVar7;" (assignment_expression "param_2[4] = iVar7" (subscript_expression "param_2[4]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else {\n      if (bVar6 == 0x2f) {\n        iVar7 = xstrdup(param_7);\n        param_2[4] = iVar7;\n      }\n      else {\n        iVar7 = concat(__ptr,param_7,0);\n        param_2[4] = iVar7;\n      }\n      free(__ptr);\n    }" else (compound_statement "{\n      if (bVar6 == 0x2f) {\n        iVar7 = xstrdup(param_7);\n        param_2[4] = iVar7;\n      }\n      else {\n        iVar7 = concat(__ptr,param_7,0);\n        param_2[4] = iVar7;\n      }\n      free(__ptr);\n    }" { (if_statement "if (bVar6 == 0x2f) {\n        iVar7 = xstrdup(param_7);\n        param_2[4] = iVar7;\n      }\n      else {\n        iVar7 = concat(__ptr,param_7,0);\n        param_2[4] = iVar7;\n      }" if (parenthesized_expression "(bVar6 == 0x2f)" ( (binary_expression "bVar6 == 0x2f" identifier == number_literal) )) (compound_statement "{\n        iVar7 = xstrdup(param_7);\n        param_2[4] = iVar7;\n      }" { (expression_statement "iVar7 = xstrdup(param_7);" (assignment_expression "iVar7 = xstrdup(param_7)" identifier = (call_expression "xstrdup(param_7)" identifier (argument_list "(param_7)" ( identifier )))) ;) (expression_statement "param_2[4] = iVar7;" (assignment_expression "param_2[4] = iVar7" (subscript_expression "param_2[4]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else {\n        iVar7 = concat(__ptr,param_7,0);\n        param_2[4] = iVar7;\n      }" else (compound_statement "{\n        iVar7 = concat(__ptr,param_7,0);\n        param_2[4] = iVar7;\n      }" { (expression_statement "iVar7 = concat(__ptr,param_7,0);" (assignment_expression "iVar7 = concat(__ptr,param_7,0)" identifier = (call_expression "concat(__ptr,param_7,0)" identifier (argument_list "(__ptr,param_7,0)" ( identifier , identifier , number_literal )))) ;) (expression_statement "param_2[4] = iVar7;" (assignment_expression "param_2[4] = iVar7" (subscript_expression "param_2[4]" identifier [ number_literal ]) = identifier) ;) }))) (expression_statement "free(__ptr);" (call_expression "free(__ptr)" identifier (argument_list "(__ptr)" ( identifier ))) ;) })))) (expression_statement "param_2[5] = param_5;" (assignment_expression "param_2[5] = param_5" (subscript_expression "param_2[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_2[6] = param_6;" (assignment_expression "param_2[6] = param_6" (subscript_expression "param_2[6]" identifier [ number_literal ]) = identifier) ;) (return_statement "return 1;" return number_literal ;) })) (labeled_statement "LAB_00044203:\n  sVar9 = strlen((char *)param_7);" statement_identifier : (expression_statement "sVar9 = strlen((char *)param_7);" (assignment_expression "sVar9 = strlen((char *)param_7)" identifier = (call_expression "strlen((char *)param_7)" identifier (argument_list "((char *)param_7)" ( (cast_expression "(char *)param_7" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;)) (if_statement "if (param_3 == 0x62) {\n    return 1;\n  }" if (parenthesized_expression "(param_3 == 0x62)" ( (binary_expression "param_3 == 0x62" identifier == number_literal) )) (compound_statement "{\n    return 1;\n  }" { (return_statement "return 1;" return number_literal ;) })) (if_statement "if ((int)param_3 < 99) {\n    if (param_3 == 0x24) {\n      if (*param_7 == 0) {\n        if (param_2[0x10] == 0) {\n          return 1;\n        }\n        if (param_2[1] != 0) {\n          bVar21 = CARRY4(param_5,param_2[9]);\n          param_5 = param_5 + param_2[9];\n          param_6 = param_6 + param_2[10] + (uint)bVar21;\n        }\n        iVar7 = FUN_0003e2f0(param_5,param_6);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003c7e0(param_1,param_5,param_6);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        param_2[0x10] = 0;\n        param_2[0x11] = -1;\n        param_2[0x12] = -1;\n        return 1;\n      }\n      if (param_2[0x10] != 0) {\n        uVar11 = param_2[0x12];\n        if (((param_2[0x11] & uVar11) == 0xffffffff) ||\n           (param_6 < uVar11 || param_6 - uVar11 < (uint)(param_5 < (uint)param_2[0x11]))) {\n          param_2[0x11] = param_5;\n          param_2[0x12] = param_6;\n        }\n      }\n    }\n    else if ((int)param_3 < 0x25) {\n      if (param_3 == 0xc) {\n        return 1;\n      }\n      if ((0xb < (int)param_3) && (param_3 - 0x1e < 2)) {\n        return 1;\n      }\n    }\n    else {\n      if (param_3 == 0x38) {\n        return 1;\n      }\n      if ((int)param_3 < 0x39) {\n        if (param_3 == 0x2a) {\n          return 1;\n        }\n      }\n      else {\n        bVar21 = param_3 < 0x3c;\n        bVar23 = param_3 == 0x3c;\n        if (bVar23) {\n          iVar7 = 0xf;\n          pbVar16 = param_7;\n          pbVar18 = (byte *)"gcc2_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar21 = *pbVar16 < *pbVar18;\n            bVar23 = *pbVar16 == *pbVar18;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n          } while (bVar23);\n          bVar22 = false;\n          bVar21 = (!bVar21 && !bVar23) == bVar21;\n          if (bVar21) {\n            param_2[0xb] = 2;\n            return 1;\n          }\n          iVar7 = 0xe;\n          pbVar16 = (byte *)"gcc_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar22 = *param_7 < *pbVar16;\n            bVar21 = *param_7 == *pbVar16;\n            param_7 = param_7 + (uint)bVar24 * -2 + 1;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n          } while (bVar21);\n          if ((!bVar22 && !bVar21) != bVar22) {\n            param_2[0xc] = 1;\n            return 1;\n          }\n          param_2[0xb] = 1;\n          return 1;\n        }\n        if (param_3 == 0x44) {\n          if (param_2[0x10] != 0) {\n            bVar21 = CARRY4(param_5,param_2[9]);\n            param_5 = param_5 + param_2[9];\n            param_6 = param_6 + param_2[10] + (uint)bVar21;\n          }\n          iVar7 = FUN_0003ca10(param_1,param_4,param_5,param_6);\n          goto LAB_0004426d;\n        }\n      }\n    }\nLAB_00044431:\n    local_24 = (byte *)strchr((char *)param_7,0x3a);\n    if (local_24 == (byte *)0x0) {\n      return 1;\n    }\n    bVar24 = local_24[1];\n    if ((bVar24 & 0xdf) != 0x46) goto LAB_000447b5;\n    if (param_2[0x10] != 0) {\n      local_3c = (char *)param_2[0x11];\n      local_38 = param_2[0x12];\n      if ((((uint)local_3c & local_38) == 0xffffffff) ||\n         (param_6 <= local_38 && (uint)(local_3c < param_5) <= local_38 - param_6)) {\n        local_3c = (char *)param_5;\n        local_38 = param_6;\n      }\n      iVar7 = FUN_0003e2f0();\n      if ((iVar7 == 0) || (iVar7 = FUN_0003c7e0(param_1,local_3c,local_38), iVar7 == 0)) {\n        return 0;\n      }\n      param_2[0x11] = -1;\n      param_2[0x12] = -1;\n    }\n    if (param_2[1] != 0) {\n      param_2[9] = param_5;\n      param_2[10] = param_6;\n    }\n    param_2[0x10] = 1;\n    local_24 = (byte *)strchr((char *)param_7,0x3a);\n    if (local_24 == (byte *)0x0) {\n      return 1;\n    }\nLAB_000447b1:\n    bVar24 = local_24[1];\nLAB_000447b5:\n    if (bVar24 == 0x3a) goto LAB_00044790;\n    if (*param_7 != 0x24) goto LAB_000447c7;\n    switch(param_7[1]) {\n    default:\n      dcgettext(0,"unknown C++ encoded name",5);\n      FUN_0003df30();\n    case 0x58:\n    case 0x5f:\n    case 0x76:\nLAB_000447c7:\n      local_3c = (char *)0x0;\n      if ((param_7 != local_24) && ((*param_7 != 0x20 || (local_24 != param_7 + 1)))) {\n        local_3c = (char *)FUN_0003e060();\n      }\n      break;\n    case 0x65:\n      local_3c = "eh_throw";\n      break;\n    case 0x74:\n      local_3c = "this";\n    }\n    param_7 = param_7 + sVar9;\n    pbVar16 = local_24 + 1;\n    bVar24 = local_24[1];\n    if (((PTR__sch_istable_00071fbc[(uint)bVar24 * 2] & 4) != 0) ||\n       (bVar24 == 0x28 || bVar24 == 0x2d)) {\nLAB_0004483d:\n      local_24 = pbVar16;\n      iVar7 = FUN_00040c70(&local_24,0,param_7);\n      if (iVar7 == 0) {\n        return 0;\n      }\n      uVar27 = 4;\n      goto code_r0x0004486e;\n    }\n    if (bVar24 != 0) {\n      pbVar16 = local_24 + 2;\n      bVar24 = local_24[1];\n      if (0x33 < (byte)(bVar24 + 0xbd)) goto LAB_00044e16;\n      iVar7 = (int)&__DT_PLTGOT + *(int *)(&DAT_00057e08 + (uint)(byte)(bVar24 + 0xbd) * 4);\n      switch(bVar24) {\n      case 0x43:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,bVar24);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003ccf0(param_1,local_3c,iVar7,param_5,param_6);\n        goto joined_r0x00044fe7;\n      default:\n        goto LAB_00044e16;\n      case 0x46:\n      case 0x66:\n        local_24 = pbVar16;\n        uVar26 = FUN_00040c70(&local_24,0,param_7,iVar7);\n        uVar27 = (undefined4)((ulonglong)uVar26 >> 0x20);\n        if ((int)uVar26 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003c5a0(param_1,local_3c,(int)uVar26,bVar24 == 0x46,param_5,param_6,uVar27,\n                             uVar27);\n        while( true ) {\n          if (iVar7 == 0) {\n            return 0;\n          }\n          if (*local_24 != 0x3b) break;\n          local_24 = local_24 + 1;\n          iVar7 = FUN_00040c70(&local_24,0,param_7);\n        }\n        return 1;\n      case 0x47:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,iVar7);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) goto code_r0x00044c0d;\n        iVar10 = param_2[3];\n        piVar13 = (int *)param_2[2];\n        cVar3 = *(char *)(*(int *)(*param_2 + 4) + 0x18);\n        if (iVar10 < 1) goto code_r0x00044c0d;\n        cVar2 = *local_3c;\n        goto code_r0x00044bbc;\n      case 0x50:\n        if (param_3 == 0x24) {\n          local_24 = pbVar16;\n          do {\n            if (*local_24 != 0x3b) {\n              return 1;\n            }\n            local_24 = local_24 + 1;\n            iVar7 = FUN_00040c70(&local_24,0,param_7);\n          } while (iVar7 != 0);\n          return 0;\n        }\n      case 0x52:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,iVar7);\njoined_r0x00045010:\n        if (iVar7 == 0) {\n          return 0;\n        }\ncode_r0x00044af0:\n        iVar7 = FUN_0003c6e0(param_1,local_3c,iVar7);\n        goto joined_r0x00044fe7;\n      case 0x53:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 2;\n        goto code_r0x0004486e;\n      case 0x54:\n        pbVar18 = local_24 + 2;\n        if (*pbVar18 == 0x74) {\n          pbVar16 = local_24 + 3;\n        }\n        local_24 = pbVar16;\n        uVar11 = (uint)(*pbVar18 == 0x74);\n        iVar7 = FUN_00040c70(&local_24,apiStack_20,param_7,param_3);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) {\n          return 1;\n        }\n        iVar10 = param_2[0x3a];\n        iVar7 = FUN_0003d680(param_1,local_3c,iVar7,extraout_ECX);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (apiStack_20[0] != (int *)0x0) {\n          *apiStack_20[0] = iVar7;\n        }\n        piVar13 = apiStack_20[0];\n        if (iVar10 != 0) goto code_r0x00044efc;\n        if ((int *)param_2[0x39] == (int *)0x0) goto code_r0x00044efc;\n        cVar3 = *local_3c;\n        piVar17 = param_2 + 0x39;\n        piVar20 = (int *)param_2[0x39];\n        goto code_r0x00044ecc;\n      case 0x56:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 3;\n        goto code_r0x0004486e;\n      case 0x58:\n      case 0x6c:\n      case 0x73:\n        goto LAB_0004483d;\n      case 0x59:\n        pbVar16 = local_24 + 3;\n        if ((local_24[3] == 0x6e) &&\n           (pbVar16 = local_24 + 4, pbVar18 = local_24 + 4, local_24 = pbVar16, *pbVar18 == 0x30)) {\n          for (; *local_24 != 0x3b; local_24 = local_24 + 1) {\n          }\n          return 1;\n        }\nLAB_00044e16:\n        local_24 = pbVar16;\n        FUN_0003dfb0();\n        return 0;\n      case 0x61:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,bVar24);\n        goto joined_r0x00045010;\n      case 99:\n        if (local_24[2] == 0x3d) {\n          pbVar16 = local_24 + 4;\n          bVar24 = local_24[3];\n          local_24 = pbVar16;\n          if (bVar24 == 0x69) {\n            lVar15 = strtol((char *)pbVar16,(char **)0x0,10);\n            iVar7 = FUN_0003cbe0(param_1,local_3c,lVar15,lVar15 >> 0x1f);\n            goto joined_r0x00044fe7;\n          }\n          if (bVar24 == 0x72) {\n            lVar25 = (longdouble)func_0x00013560(pbVar16,0,0x72,0x72);\n            iVar7 = FUN_0003cc30(param_1,local_3c,(double)lVar25);\n            goto joined_r0x00044fe7;\n          }\n          if (bVar24 == 0x65) {\n            iVar7 = FUN_00040c70(&local_24,0,param_7,0x65);\n            if (iVar7 == 0) {\n              return 0;\n            }\n            pbVar16 = local_24;\n            if (*local_24 == 0x2c) {\n              uVar28 = 10;\n              uVar27 = 0;\n              lVar15 = strtol((char *)local_24,(char **)0x0,10);\n              iVar7 = FUN_0003cc70(param_1,local_3c,iVar7,lVar15,lVar15 >> 0x1f,uVar27,uVar28,\n                                   param_3);\n              goto joined_r0x00044fe7;\n            }\n          }\n        }\n        break;\n      case 0x70:\n        if (local_24[2] == 0x46) {\n          local_24 = local_24 + 3;\n          iVar7 = FUN_00040c70(&local_24,0,param_7,local_24);\n          if (iVar7 == 0) {\n            return 0;\n          }\n          uVar27 = FUN_0003d080(param_1,iVar7,0,0);\n          iVar7 = FUN_0003d030(param_1,uVar27);\n        }\n        else {\n          pbVar18 = local_24;\n          local_24 = pbVar16;\n          iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        }\n        goto joined_r0x00044dee;\n      case 0x72:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 5;\n        goto code_r0x0004486e;\n      case 0x74:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,apiStack_20,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) {\n          return 1;\n        }\n        iVar7 = FUN_0003d5a0(param_1,local_3c,iVar7,param_2);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (apiStack_20[0] == (int *)0x0) {\n          return 1;\n        }\n        *apiStack_20[0] = iVar7;\n        return 1;\n      case 0x76:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\njoined_r0x00044dee:\n        if (iVar7 == 0) {\n          return 0;\n        }\n        goto code_r0x00044af0;\n      }\n    }\n    goto LAB_000449d0;\n  }" if (parenthesized_expression "((int)param_3 < 99)" ( (binary_expression "(int)param_3 < 99" (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n    if (param_3 == 0x24) {\n      if (*param_7 == 0) {\n        if (param_2[0x10] == 0) {\n          return 1;\n        }\n        if (param_2[1] != 0) {\n          bVar21 = CARRY4(param_5,param_2[9]);\n          param_5 = param_5 + param_2[9];\n          param_6 = param_6 + param_2[10] + (uint)bVar21;\n        }\n        iVar7 = FUN_0003e2f0(param_5,param_6);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003c7e0(param_1,param_5,param_6);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        param_2[0x10] = 0;\n        param_2[0x11] = -1;\n        param_2[0x12] = -1;\n        return 1;\n      }\n      if (param_2[0x10] != 0) {\n        uVar11 = param_2[0x12];\n        if (((param_2[0x11] & uVar11) == 0xffffffff) ||\n           (param_6 < uVar11 || param_6 - uVar11 < (uint)(param_5 < (uint)param_2[0x11]))) {\n          param_2[0x11] = param_5;\n          param_2[0x12] = param_6;\n        }\n      }\n    }\n    else if ((int)param_3 < 0x25) {\n      if (param_3 == 0xc) {\n        return 1;\n      }\n      if ((0xb < (int)param_3) && (param_3 - 0x1e < 2)) {\n        return 1;\n      }\n    }\n    else {\n      if (param_3 == 0x38) {\n        return 1;\n      }\n      if ((int)param_3 < 0x39) {\n        if (param_3 == 0x2a) {\n          return 1;\n        }\n      }\n      else {\n        bVar21 = param_3 < 0x3c;\n        bVar23 = param_3 == 0x3c;\n        if (bVar23) {\n          iVar7 = 0xf;\n          pbVar16 = param_7;\n          pbVar18 = (byte *)"gcc2_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar21 = *pbVar16 < *pbVar18;\n            bVar23 = *pbVar16 == *pbVar18;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n          } while (bVar23);\n          bVar22 = false;\n          bVar21 = (!bVar21 && !bVar23) == bVar21;\n          if (bVar21) {\n            param_2[0xb] = 2;\n            return 1;\n          }\n          iVar7 = 0xe;\n          pbVar16 = (byte *)"gcc_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar22 = *param_7 < *pbVar16;\n            bVar21 = *param_7 == *pbVar16;\n            param_7 = param_7 + (uint)bVar24 * -2 + 1;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n          } while (bVar21);\n          if ((!bVar22 && !bVar21) != bVar22) {\n            param_2[0xc] = 1;\n            return 1;\n          }\n          param_2[0xb] = 1;\n          return 1;\n        }\n        if (param_3 == 0x44) {\n          if (param_2[0x10] != 0) {\n            bVar21 = CARRY4(param_5,param_2[9]);\n            param_5 = param_5 + param_2[9];\n            param_6 = param_6 + param_2[10] + (uint)bVar21;\n          }\n          iVar7 = FUN_0003ca10(param_1,param_4,param_5,param_6);\n          goto LAB_0004426d;\n        }\n      }\n    }\nLAB_00044431:\n    local_24 = (byte *)strchr((char *)param_7,0x3a);\n    if (local_24 == (byte *)0x0) {\n      return 1;\n    }\n    bVar24 = local_24[1];\n    if ((bVar24 & 0xdf) != 0x46) goto LAB_000447b5;\n    if (param_2[0x10] != 0) {\n      local_3c = (char *)param_2[0x11];\n      local_38 = param_2[0x12];\n      if ((((uint)local_3c & local_38) == 0xffffffff) ||\n         (param_6 <= local_38 && (uint)(local_3c < param_5) <= local_38 - param_6)) {\n        local_3c = (char *)param_5;\n        local_38 = param_6;\n      }\n      iVar7 = FUN_0003e2f0();\n      if ((iVar7 == 0) || (iVar7 = FUN_0003c7e0(param_1,local_3c,local_38), iVar7 == 0)) {\n        return 0;\n      }\n      param_2[0x11] = -1;\n      param_2[0x12] = -1;\n    }\n    if (param_2[1] != 0) {\n      param_2[9] = param_5;\n      param_2[10] = param_6;\n    }\n    param_2[0x10] = 1;\n    local_24 = (byte *)strchr((char *)param_7,0x3a);\n    if (local_24 == (byte *)0x0) {\n      return 1;\n    }\nLAB_000447b1:\n    bVar24 = local_24[1];\nLAB_000447b5:\n    if (bVar24 == 0x3a) goto LAB_00044790;\n    if (*param_7 != 0x24) goto LAB_000447c7;\n    switch(param_7[1]) {\n    default:\n      dcgettext(0,"unknown C++ encoded name",5);\n      FUN_0003df30();\n    case 0x58:\n    case 0x5f:\n    case 0x76:\nLAB_000447c7:\n      local_3c = (char *)0x0;\n      if ((param_7 != local_24) && ((*param_7 != 0x20 || (local_24 != param_7 + 1)))) {\n        local_3c = (char *)FUN_0003e060();\n      }\n      break;\n    case 0x65:\n      local_3c = "eh_throw";\n      break;\n    case 0x74:\n      local_3c = "this";\n    }\n    param_7 = param_7 + sVar9;\n    pbVar16 = local_24 + 1;\n    bVar24 = local_24[1];\n    if (((PTR__sch_istable_00071fbc[(uint)bVar24 * 2] & 4) != 0) ||\n       (bVar24 == 0x28 || bVar24 == 0x2d)) {\nLAB_0004483d:\n      local_24 = pbVar16;\n      iVar7 = FUN_00040c70(&local_24,0,param_7);\n      if (iVar7 == 0) {\n        return 0;\n      }\n      uVar27 = 4;\n      goto code_r0x0004486e;\n    }\n    if (bVar24 != 0) {\n      pbVar16 = local_24 + 2;\n      bVar24 = local_24[1];\n      if (0x33 < (byte)(bVar24 + 0xbd)) goto LAB_00044e16;\n      iVar7 = (int)&__DT_PLTGOT + *(int *)(&DAT_00057e08 + (uint)(byte)(bVar24 + 0xbd) * 4);\n      switch(bVar24) {\n      case 0x43:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,bVar24);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003ccf0(param_1,local_3c,iVar7,param_5,param_6);\n        goto joined_r0x00044fe7;\n      default:\n        goto LAB_00044e16;\n      case 0x46:\n      case 0x66:\n        local_24 = pbVar16;\n        uVar26 = FUN_00040c70(&local_24,0,param_7,iVar7);\n        uVar27 = (undefined4)((ulonglong)uVar26 >> 0x20);\n        if ((int)uVar26 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003c5a0(param_1,local_3c,(int)uVar26,bVar24 == 0x46,param_5,param_6,uVar27,\n                             uVar27);\n        while( true ) {\n          if (iVar7 == 0) {\n            return 0;\n          }\n          if (*local_24 != 0x3b) break;\n          local_24 = local_24 + 1;\n          iVar7 = FUN_00040c70(&local_24,0,param_7);\n        }\n        return 1;\n      case 0x47:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,iVar7);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) goto code_r0x00044c0d;\n        iVar10 = param_2[3];\n        piVar13 = (int *)param_2[2];\n        cVar3 = *(char *)(*(int *)(*param_2 + 4) + 0x18);\n        if (iVar10 < 1) goto code_r0x00044c0d;\n        cVar2 = *local_3c;\n        goto code_r0x00044bbc;\n      case 0x50:\n        if (param_3 == 0x24) {\n          local_24 = pbVar16;\n          do {\n            if (*local_24 != 0x3b) {\n              return 1;\n            }\n            local_24 = local_24 + 1;\n            iVar7 = FUN_00040c70(&local_24,0,param_7);\n          } while (iVar7 != 0);\n          return 0;\n        }\n      case 0x52:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,iVar7);\njoined_r0x00045010:\n        if (iVar7 == 0) {\n          return 0;\n        }\ncode_r0x00044af0:\n        iVar7 = FUN_0003c6e0(param_1,local_3c,iVar7);\n        goto joined_r0x00044fe7;\n      case 0x53:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 2;\n        goto code_r0x0004486e;\n      case 0x54:\n        pbVar18 = local_24 + 2;\n        if (*pbVar18 == 0x74) {\n          pbVar16 = local_24 + 3;\n        }\n        local_24 = pbVar16;\n        uVar11 = (uint)(*pbVar18 == 0x74);\n        iVar7 = FUN_00040c70(&local_24,apiStack_20,param_7,param_3);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) {\n          return 1;\n        }\n        iVar10 = param_2[0x3a];\n        iVar7 = FUN_0003d680(param_1,local_3c,iVar7,extraout_ECX);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (apiStack_20[0] != (int *)0x0) {\n          *apiStack_20[0] = iVar7;\n        }\n        piVar13 = apiStack_20[0];\n        if (iVar10 != 0) goto code_r0x00044efc;\n        if ((int *)param_2[0x39] == (int *)0x0) goto code_r0x00044efc;\n        cVar3 = *local_3c;\n        piVar17 = param_2 + 0x39;\n        piVar20 = (int *)param_2[0x39];\n        goto code_r0x00044ecc;\n      case 0x56:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 3;\n        goto code_r0x0004486e;\n      case 0x58:\n      case 0x6c:\n      case 0x73:\n        goto LAB_0004483d;\n      case 0x59:\n        pbVar16 = local_24 + 3;\n        if ((local_24[3] == 0x6e) &&\n           (pbVar16 = local_24 + 4, pbVar18 = local_24 + 4, local_24 = pbVar16, *pbVar18 == 0x30)) {\n          for (; *local_24 != 0x3b; local_24 = local_24 + 1) {\n          }\n          return 1;\n        }\nLAB_00044e16:\n        local_24 = pbVar16;\n        FUN_0003dfb0();\n        return 0;\n      case 0x61:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,bVar24);\n        goto joined_r0x00045010;\n      case 99:\n        if (local_24[2] == 0x3d) {\n          pbVar16 = local_24 + 4;\n          bVar24 = local_24[3];\n          local_24 = pbVar16;\n          if (bVar24 == 0x69) {\n            lVar15 = strtol((char *)pbVar16,(char **)0x0,10);\n            iVar7 = FUN_0003cbe0(param_1,local_3c,lVar15,lVar15 >> 0x1f);\n            goto joined_r0x00044fe7;\n          }\n          if (bVar24 == 0x72) {\n            lVar25 = (longdouble)func_0x00013560(pbVar16,0,0x72,0x72);\n            iVar7 = FUN_0003cc30(param_1,local_3c,(double)lVar25);\n            goto joined_r0x00044fe7;\n          }\n          if (bVar24 == 0x65) {\n            iVar7 = FUN_00040c70(&local_24,0,param_7,0x65);\n            if (iVar7 == 0) {\n              return 0;\n            }\n            pbVar16 = local_24;\n            if (*local_24 == 0x2c) {\n              uVar28 = 10;\n              uVar27 = 0;\n              lVar15 = strtol((char *)local_24,(char **)0x0,10);\n              iVar7 = FUN_0003cc70(param_1,local_3c,iVar7,lVar15,lVar15 >> 0x1f,uVar27,uVar28,\n                                   param_3);\n              goto joined_r0x00044fe7;\n            }\n          }\n        }\n        break;\n      case 0x70:\n        if (local_24[2] == 0x46) {\n          local_24 = local_24 + 3;\n          iVar7 = FUN_00040c70(&local_24,0,param_7,local_24);\n          if (iVar7 == 0) {\n            return 0;\n          }\n          uVar27 = FUN_0003d080(param_1,iVar7,0,0);\n          iVar7 = FUN_0003d030(param_1,uVar27);\n        }\n        else {\n          pbVar18 = local_24;\n          local_24 = pbVar16;\n          iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        }\n        goto joined_r0x00044dee;\n      case 0x72:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 5;\n        goto code_r0x0004486e;\n      case 0x74:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,apiStack_20,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) {\n          return 1;\n        }\n        iVar7 = FUN_0003d5a0(param_1,local_3c,iVar7,param_2);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (apiStack_20[0] == (int *)0x0) {\n          return 1;\n        }\n        *apiStack_20[0] = iVar7;\n        return 1;\n      case 0x76:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\njoined_r0x00044dee:\n        if (iVar7 == 0) {\n          return 0;\n        }\n        goto code_r0x00044af0;\n      }\n    }\n    goto LAB_000449d0;\n  }" { (if_statement "if (param_3 == 0x24) {\n      if (*param_7 == 0) {\n        if (param_2[0x10] == 0) {\n          return 1;\n        }\n        if (param_2[1] != 0) {\n          bVar21 = CARRY4(param_5,param_2[9]);\n          param_5 = param_5 + param_2[9];\n          param_6 = param_6 + param_2[10] + (uint)bVar21;\n        }\n        iVar7 = FUN_0003e2f0(param_5,param_6);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003c7e0(param_1,param_5,param_6);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        param_2[0x10] = 0;\n        param_2[0x11] = -1;\n        param_2[0x12] = -1;\n        return 1;\n      }\n      if (param_2[0x10] != 0) {\n        uVar11 = param_2[0x12];\n        if (((param_2[0x11] & uVar11) == 0xffffffff) ||\n           (param_6 < uVar11 || param_6 - uVar11 < (uint)(param_5 < (uint)param_2[0x11]))) {\n          param_2[0x11] = param_5;\n          param_2[0x12] = param_6;\n        }\n      }\n    }\n    else if ((int)param_3 < 0x25) {\n      if (param_3 == 0xc) {\n        return 1;\n      }\n      if ((0xb < (int)param_3) && (param_3 - 0x1e < 2)) {\n        return 1;\n      }\n    }\n    else {\n      if (param_3 == 0x38) {\n        return 1;\n      }\n      if ((int)param_3 < 0x39) {\n        if (param_3 == 0x2a) {\n          return 1;\n        }\n      }\n      else {\n        bVar21 = param_3 < 0x3c;\n        bVar23 = param_3 == 0x3c;\n        if (bVar23) {\n          iVar7 = 0xf;\n          pbVar16 = param_7;\n          pbVar18 = (byte *)"gcc2_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar21 = *pbVar16 < *pbVar18;\n            bVar23 = *pbVar16 == *pbVar18;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n          } while (bVar23);\n          bVar22 = false;\n          bVar21 = (!bVar21 && !bVar23) == bVar21;\n          if (bVar21) {\n            param_2[0xb] = 2;\n            return 1;\n          }\n          iVar7 = 0xe;\n          pbVar16 = (byte *)"gcc_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar22 = *param_7 < *pbVar16;\n            bVar21 = *param_7 == *pbVar16;\n            param_7 = param_7 + (uint)bVar24 * -2 + 1;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n          } while (bVar21);\n          if ((!bVar22 && !bVar21) != bVar22) {\n            param_2[0xc] = 1;\n            return 1;\n          }\n          param_2[0xb] = 1;\n          return 1;\n        }\n        if (param_3 == 0x44) {\n          if (param_2[0x10] != 0) {\n            bVar21 = CARRY4(param_5,param_2[9]);\n            param_5 = param_5 + param_2[9];\n            param_6 = param_6 + param_2[10] + (uint)bVar21;\n          }\n          iVar7 = FUN_0003ca10(param_1,param_4,param_5,param_6);\n          goto LAB_0004426d;\n        }\n      }\n    }" if (parenthesized_expression "(param_3 == 0x24)" ( (binary_expression "param_3 == 0x24" identifier == number_literal) )) (compound_statement "{\n      if (*param_7 == 0) {\n        if (param_2[0x10] == 0) {\n          return 1;\n        }\n        if (param_2[1] != 0) {\n          bVar21 = CARRY4(param_5,param_2[9]);\n          param_5 = param_5 + param_2[9];\n          param_6 = param_6 + param_2[10] + (uint)bVar21;\n        }\n        iVar7 = FUN_0003e2f0(param_5,param_6);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003c7e0(param_1,param_5,param_6);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        param_2[0x10] = 0;\n        param_2[0x11] = -1;\n        param_2[0x12] = -1;\n        return 1;\n      }\n      if (param_2[0x10] != 0) {\n        uVar11 = param_2[0x12];\n        if (((param_2[0x11] & uVar11) == 0xffffffff) ||\n           (param_6 < uVar11 || param_6 - uVar11 < (uint)(param_5 < (uint)param_2[0x11]))) {\n          param_2[0x11] = param_5;\n          param_2[0x12] = param_6;\n        }\n      }\n    }" { (if_statement "if (*param_7 == 0) {\n        if (param_2[0x10] == 0) {\n          return 1;\n        }\n        if (param_2[1] != 0) {\n          bVar21 = CARRY4(param_5,param_2[9]);\n          param_5 = param_5 + param_2[9];\n          param_6 = param_6 + param_2[10] + (uint)bVar21;\n        }\n        iVar7 = FUN_0003e2f0(param_5,param_6);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003c7e0(param_1,param_5,param_6);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        param_2[0x10] = 0;\n        param_2[0x11] = -1;\n        param_2[0x12] = -1;\n        return 1;\n      }" if (parenthesized_expression "(*param_7 == 0)" ( (binary_expression "*param_7 == 0" (pointer_expression "*param_7" * identifier) == number_literal) )) (compound_statement "{\n        if (param_2[0x10] == 0) {\n          return 1;\n        }\n        if (param_2[1] != 0) {\n          bVar21 = CARRY4(param_5,param_2[9]);\n          param_5 = param_5 + param_2[9];\n          param_6 = param_6 + param_2[10] + (uint)bVar21;\n        }\n        iVar7 = FUN_0003e2f0(param_5,param_6);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003c7e0(param_1,param_5,param_6);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        param_2[0x10] = 0;\n        param_2[0x11] = -1;\n        param_2[0x12] = -1;\n        return 1;\n      }" { (if_statement "if (param_2[0x10] == 0) {\n          return 1;\n        }" if (parenthesized_expression "(param_2[0x10] == 0)" ( (binary_expression "param_2[0x10] == 0" (subscript_expression "param_2[0x10]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n          return 1;\n        }" { (return_statement "return 1;" return number_literal ;) })) (if_statement "if (param_2[1] != 0) {\n          bVar21 = CARRY4(param_5,param_2[9]);\n          param_5 = param_5 + param_2[9];\n          param_6 = param_6 + param_2[10] + (uint)bVar21;\n        }" if (parenthesized_expression "(param_2[1] != 0)" ( (binary_expression "param_2[1] != 0" (subscript_expression "param_2[1]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n          bVar21 = CARRY4(param_5,param_2[9]);\n          param_5 = param_5 + param_2[9];\n          param_6 = param_6 + param_2[10] + (uint)bVar21;\n        }" { (expression_statement "bVar21 = CARRY4(param_5,param_2[9]);" (assignment_expression "bVar21 = CARRY4(param_5,param_2[9])" identifier = (call_expression "CARRY4(param_5,param_2[9])" identifier (argument_list "(param_5,param_2[9])" ( identifier , (subscript_expression "param_2[9]" identifier [ number_literal ]) )))) ;) (expression_statement "param_5 = param_5 + param_2[9];" (assignment_expression "param_5 = param_5 + param_2[9]" identifier = (binary_expression "param_5 + param_2[9]" identifier + (subscript_expression "param_2[9]" identifier [ number_literal ]))) ;) (expression_statement "param_6 = param_6 + param_2[10] + (uint)bVar21;" (assignment_expression "param_6 = param_6 + param_2[10] + (uint)bVar21" identifier = (binary_expression "param_6 + param_2[10] + (uint)bVar21" (binary_expression "param_6 + param_2[10]" identifier + (subscript_expression "param_2[10]" identifier [ number_literal ])) + (cast_expression "(uint)bVar21" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) })) (expression_statement "iVar7 = FUN_0003e2f0(param_5,param_6);" (assignment_expression "iVar7 = FUN_0003e2f0(param_5,param_6)" identifier = (call_expression "FUN_0003e2f0(param_5,param_6)" identifier (argument_list "(param_5,param_6)" ( identifier , identifier )))) ;) (if_statement "if (iVar7 == 0) {\n          return 0;\n        }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n          return 0;\n        }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "iVar7 = FUN_0003c7e0(param_1,param_5,param_6);" (assignment_expression "iVar7 = FUN_0003c7e0(param_1,param_5,param_6)" identifier = (call_expression "FUN_0003c7e0(param_1,param_5,param_6)" identifier (argument_list "(param_1,param_5,param_6)" ( identifier , identifier , identifier )))) ;) (if_statement "if (iVar7 == 0) {\n          return 0;\n        }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n          return 0;\n        }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "param_2[0x10] = 0;" (assignment_expression "param_2[0x10] = 0" (subscript_expression "param_2[0x10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_2[0x11] = -1;" (assignment_expression "param_2[0x11] = -1" (subscript_expression "param_2[0x11]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_2[0x12] = -1;" (assignment_expression "param_2[0x12] = -1" (subscript_expression "param_2[0x12]" identifier [ number_literal ]) = number_literal) ;) (return_statement "return 1;" return number_literal ;) })) (if_statement "if (param_2[0x10] != 0) {\n        uVar11 = param_2[0x12];\n        if (((param_2[0x11] & uVar11) == 0xffffffff) ||\n           (param_6 < uVar11 || param_6 - uVar11 < (uint)(param_5 < (uint)param_2[0x11]))) {\n          param_2[0x11] = param_5;\n          param_2[0x12] = param_6;\n        }\n      }" if (parenthesized_expression "(param_2[0x10] != 0)" ( (binary_expression "param_2[0x10] != 0" (subscript_expression "param_2[0x10]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        uVar11 = param_2[0x12];\n        if (((param_2[0x11] & uVar11) == 0xffffffff) ||\n           (param_6 < uVar11 || param_6 - uVar11 < (uint)(param_5 < (uint)param_2[0x11]))) {\n          param_2[0x11] = param_5;\n          param_2[0x12] = param_6;\n        }\n      }" { (expression_statement "uVar11 = param_2[0x12];" (assignment_expression "uVar11 = param_2[0x12]" identifier = (subscript_expression "param_2[0x12]" identifier [ number_literal ])) ;) (if_statement "if (((param_2[0x11] & uVar11) == 0xffffffff) ||\n           (param_6 < uVar11 || param_6 - uVar11 < (uint)(param_5 < (uint)param_2[0x11]))) {\n          param_2[0x11] = param_5;\n          param_2[0x12] = param_6;\n        }" if (parenthesized_expression "(((param_2[0x11] & uVar11) == 0xffffffff) ||\n           (param_6 < uVar11 || param_6 - uVar11 < (uint)(param_5 < (uint)param_2[0x11])))" ( (binary_expression "((param_2[0x11] & uVar11) == 0xffffffff) ||\n           (param_6 < uVar11 || param_6 - uVar11 < (uint)(param_5 < (uint)param_2[0x11]))" (parenthesized_expression "((param_2[0x11] & uVar11) == 0xffffffff)" ( (binary_expression "(param_2[0x11] & uVar11) == 0xffffffff" (parenthesized_expression "(param_2[0x11] & uVar11)" ( (binary_expression "param_2[0x11] & uVar11" (subscript_expression "param_2[0x11]" identifier [ number_literal ]) & identifier) )) == number_literal) )) || (parenthesized_expression "(param_6 < uVar11 || param_6 - uVar11 < (uint)(param_5 < (uint)param_2[0x11]))" ( (binary_expression "param_6 < uVar11 || param_6 - uVar11 < (uint)(param_5 < (uint)param_2[0x11])" (binary_expression "param_6 < uVar11" identifier < identifier) || (binary_expression "param_6 - uVar11 < (uint)(param_5 < (uint)param_2[0x11])" (binary_expression "param_6 - uVar11" identifier - identifier) < (call_expression "(uint)(param_5 < (uint)param_2[0x11])" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(param_5 < (uint)param_2[0x11])" ( (binary_expression "param_5 < (uint)param_2[0x11]" identifier < (cast_expression "(uint)param_2[0x11]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_2[0x11]" identifier [ number_literal ]))) ))))) ))) )) (compound_statement "{\n          param_2[0x11] = param_5;\n          param_2[0x12] = param_6;\n        }" { (expression_statement "param_2[0x11] = param_5;" (assignment_expression "param_2[0x11] = param_5" (subscript_expression "param_2[0x11]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_2[0x12] = param_6;" (assignment_expression "param_2[0x12] = param_6" (subscript_expression "param_2[0x12]" identifier [ number_literal ]) = identifier) ;) })) })) }) (else_clause "else if ((int)param_3 < 0x25) {\n      if (param_3 == 0xc) {\n        return 1;\n      }\n      if ((0xb < (int)param_3) && (param_3 - 0x1e < 2)) {\n        return 1;\n      }\n    }\n    else {\n      if (param_3 == 0x38) {\n        return 1;\n      }\n      if ((int)param_3 < 0x39) {\n        if (param_3 == 0x2a) {\n          return 1;\n        }\n      }\n      else {\n        bVar21 = param_3 < 0x3c;\n        bVar23 = param_3 == 0x3c;\n        if (bVar23) {\n          iVar7 = 0xf;\n          pbVar16 = param_7;\n          pbVar18 = (byte *)"gcc2_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar21 = *pbVar16 < *pbVar18;\n            bVar23 = *pbVar16 == *pbVar18;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n          } while (bVar23);\n          bVar22 = false;\n          bVar21 = (!bVar21 && !bVar23) == bVar21;\n          if (bVar21) {\n            param_2[0xb] = 2;\n            return 1;\n          }\n          iVar7 = 0xe;\n          pbVar16 = (byte *)"gcc_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar22 = *param_7 < *pbVar16;\n            bVar21 = *param_7 == *pbVar16;\n            param_7 = param_7 + (uint)bVar24 * -2 + 1;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n          } while (bVar21);\n          if ((!bVar22 && !bVar21) != bVar22) {\n            param_2[0xc] = 1;\n            return 1;\n          }\n          param_2[0xb] = 1;\n          return 1;\n        }\n        if (param_3 == 0x44) {\n          if (param_2[0x10] != 0) {\n            bVar21 = CARRY4(param_5,param_2[9]);\n            param_5 = param_5 + param_2[9];\n            param_6 = param_6 + param_2[10] + (uint)bVar21;\n          }\n          iVar7 = FUN_0003ca10(param_1,param_4,param_5,param_6);\n          goto LAB_0004426d;\n        }\n      }\n    }" else (if_statement "if ((int)param_3 < 0x25) {\n      if (param_3 == 0xc) {\n        return 1;\n      }\n      if ((0xb < (int)param_3) && (param_3 - 0x1e < 2)) {\n        return 1;\n      }\n    }\n    else {\n      if (param_3 == 0x38) {\n        return 1;\n      }\n      if ((int)param_3 < 0x39) {\n        if (param_3 == 0x2a) {\n          return 1;\n        }\n      }\n      else {\n        bVar21 = param_3 < 0x3c;\n        bVar23 = param_3 == 0x3c;\n        if (bVar23) {\n          iVar7 = 0xf;\n          pbVar16 = param_7;\n          pbVar18 = (byte *)"gcc2_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar21 = *pbVar16 < *pbVar18;\n            bVar23 = *pbVar16 == *pbVar18;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n          } while (bVar23);\n          bVar22 = false;\n          bVar21 = (!bVar21 && !bVar23) == bVar21;\n          if (bVar21) {\n            param_2[0xb] = 2;\n            return 1;\n          }\n          iVar7 = 0xe;\n          pbVar16 = (byte *)"gcc_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar22 = *param_7 < *pbVar16;\n            bVar21 = *param_7 == *pbVar16;\n            param_7 = param_7 + (uint)bVar24 * -2 + 1;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n          } while (bVar21);\n          if ((!bVar22 && !bVar21) != bVar22) {\n            param_2[0xc] = 1;\n            return 1;\n          }\n          param_2[0xb] = 1;\n          return 1;\n        }\n        if (param_3 == 0x44) {\n          if (param_2[0x10] != 0) {\n            bVar21 = CARRY4(param_5,param_2[9]);\n            param_5 = param_5 + param_2[9];\n            param_6 = param_6 + param_2[10] + (uint)bVar21;\n          }\n          iVar7 = FUN_0003ca10(param_1,param_4,param_5,param_6);\n          goto LAB_0004426d;\n        }\n      }\n    }" if (parenthesized_expression "((int)param_3 < 0x25)" ( (binary_expression "(int)param_3 < 0x25" (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      if (param_3 == 0xc) {\n        return 1;\n      }\n      if ((0xb < (int)param_3) && (param_3 - 0x1e < 2)) {\n        return 1;\n      }\n    }" { (if_statement "if (param_3 == 0xc) {\n        return 1;\n      }" if (parenthesized_expression "(param_3 == 0xc)" ( (binary_expression "param_3 == 0xc" identifier == number_literal) )) (compound_statement "{\n        return 1;\n      }" { (return_statement "return 1;" return number_literal ;) })) (if_statement "if ((0xb < (int)param_3) && (param_3 - 0x1e < 2)) {\n        return 1;\n      }" if (parenthesized_expression "((0xb < (int)param_3) && (param_3 - 0x1e < 2))" ( (binary_expression "(0xb < (int)param_3) && (param_3 - 0x1e < 2)" (parenthesized_expression "(0xb < (int)param_3)" ( (binary_expression "0xb < (int)param_3" number_literal < (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier)) )) && (parenthesized_expression "(param_3 - 0x1e < 2)" ( (binary_expression "param_3 - 0x1e < 2" (binary_expression "param_3 - 0x1e" identifier - number_literal) < number_literal) ))) )) (compound_statement "{\n        return 1;\n      }" { (return_statement "return 1;" return number_literal ;) })) }) (else_clause "else {\n      if (param_3 == 0x38) {\n        return 1;\n      }\n      if ((int)param_3 < 0x39) {\n        if (param_3 == 0x2a) {\n          return 1;\n        }\n      }\n      else {\n        bVar21 = param_3 < 0x3c;\n        bVar23 = param_3 == 0x3c;\n        if (bVar23) {\n          iVar7 = 0xf;\n          pbVar16 = param_7;\n          pbVar18 = (byte *)"gcc2_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar21 = *pbVar16 < *pbVar18;\n            bVar23 = *pbVar16 == *pbVar18;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n          } while (bVar23);\n          bVar22 = false;\n          bVar21 = (!bVar21 && !bVar23) == bVar21;\n          if (bVar21) {\n            param_2[0xb] = 2;\n            return 1;\n          }\n          iVar7 = 0xe;\n          pbVar16 = (byte *)"gcc_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar22 = *param_7 < *pbVar16;\n            bVar21 = *param_7 == *pbVar16;\n            param_7 = param_7 + (uint)bVar24 * -2 + 1;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n          } while (bVar21);\n          if ((!bVar22 && !bVar21) != bVar22) {\n            param_2[0xc] = 1;\n            return 1;\n          }\n          param_2[0xb] = 1;\n          return 1;\n        }\n        if (param_3 == 0x44) {\n          if (param_2[0x10] != 0) {\n            bVar21 = CARRY4(param_5,param_2[9]);\n            param_5 = param_5 + param_2[9];\n            param_6 = param_6 + param_2[10] + (uint)bVar21;\n          }\n          iVar7 = FUN_0003ca10(param_1,param_4,param_5,param_6);\n          goto LAB_0004426d;\n        }\n      }\n    }" else (compound_statement "{\n      if (param_3 == 0x38) {\n        return 1;\n      }\n      if ((int)param_3 < 0x39) {\n        if (param_3 == 0x2a) {\n          return 1;\n        }\n      }\n      else {\n        bVar21 = param_3 < 0x3c;\n        bVar23 = param_3 == 0x3c;\n        if (bVar23) {\n          iVar7 = 0xf;\n          pbVar16 = param_7;\n          pbVar18 = (byte *)"gcc2_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar21 = *pbVar16 < *pbVar18;\n            bVar23 = *pbVar16 == *pbVar18;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n          } while (bVar23);\n          bVar22 = false;\n          bVar21 = (!bVar21 && !bVar23) == bVar21;\n          if (bVar21) {\n            param_2[0xb] = 2;\n            return 1;\n          }\n          iVar7 = 0xe;\n          pbVar16 = (byte *)"gcc_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar22 = *param_7 < *pbVar16;\n            bVar21 = *param_7 == *pbVar16;\n            param_7 = param_7 + (uint)bVar24 * -2 + 1;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n          } while (bVar21);\n          if ((!bVar22 && !bVar21) != bVar22) {\n            param_2[0xc] = 1;\n            return 1;\n          }\n          param_2[0xb] = 1;\n          return 1;\n        }\n        if (param_3 == 0x44) {\n          if (param_2[0x10] != 0) {\n            bVar21 = CARRY4(param_5,param_2[9]);\n            param_5 = param_5 + param_2[9];\n            param_6 = param_6 + param_2[10] + (uint)bVar21;\n          }\n          iVar7 = FUN_0003ca10(param_1,param_4,param_5,param_6);\n          goto LAB_0004426d;\n        }\n      }\n    }" { (if_statement "if (param_3 == 0x38) {\n        return 1;\n      }" if (parenthesized_expression "(param_3 == 0x38)" ( (binary_expression "param_3 == 0x38" identifier == number_literal) )) (compound_statement "{\n        return 1;\n      }" { (return_statement "return 1;" return number_literal ;) })) (if_statement "if ((int)param_3 < 0x39) {\n        if (param_3 == 0x2a) {\n          return 1;\n        }\n      }\n      else {\n        bVar21 = param_3 < 0x3c;\n        bVar23 = param_3 == 0x3c;\n        if (bVar23) {\n          iVar7 = 0xf;\n          pbVar16 = param_7;\n          pbVar18 = (byte *)"gcc2_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar21 = *pbVar16 < *pbVar18;\n            bVar23 = *pbVar16 == *pbVar18;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n          } while (bVar23);\n          bVar22 = false;\n          bVar21 = (!bVar21 && !bVar23) == bVar21;\n          if (bVar21) {\n            param_2[0xb] = 2;\n            return 1;\n          }\n          iVar7 = 0xe;\n          pbVar16 = (byte *)"gcc_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar22 = *param_7 < *pbVar16;\n            bVar21 = *param_7 == *pbVar16;\n            param_7 = param_7 + (uint)bVar24 * -2 + 1;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n          } while (bVar21);\n          if ((!bVar22 && !bVar21) != bVar22) {\n            param_2[0xc] = 1;\n            return 1;\n          }\n          param_2[0xb] = 1;\n          return 1;\n        }\n        if (param_3 == 0x44) {\n          if (param_2[0x10] != 0) {\n            bVar21 = CARRY4(param_5,param_2[9]);\n            param_5 = param_5 + param_2[9];\n            param_6 = param_6 + param_2[10] + (uint)bVar21;\n          }\n          iVar7 = FUN_0003ca10(param_1,param_4,param_5,param_6);\n          goto LAB_0004426d;\n        }\n      }" if (parenthesized_expression "((int)param_3 < 0x39)" ( (binary_expression "(int)param_3 < 0x39" (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n        if (param_3 == 0x2a) {\n          return 1;\n        }\n      }" { (if_statement "if (param_3 == 0x2a) {\n          return 1;\n        }" if (parenthesized_expression "(param_3 == 0x2a)" ( (binary_expression "param_3 == 0x2a" identifier == number_literal) )) (compound_statement "{\n          return 1;\n        }" { (return_statement "return 1;" return number_literal ;) })) }) (else_clause "else {\n        bVar21 = param_3 < 0x3c;\n        bVar23 = param_3 == 0x3c;\n        if (bVar23) {\n          iVar7 = 0xf;\n          pbVar16 = param_7;\n          pbVar18 = (byte *)"gcc2_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar21 = *pbVar16 < *pbVar18;\n            bVar23 = *pbVar16 == *pbVar18;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n          } while (bVar23);\n          bVar22 = false;\n          bVar21 = (!bVar21 && !bVar23) == bVar21;\n          if (bVar21) {\n            param_2[0xb] = 2;\n            return 1;\n          }\n          iVar7 = 0xe;\n          pbVar16 = (byte *)"gcc_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar22 = *param_7 < *pbVar16;\n            bVar21 = *param_7 == *pbVar16;\n            param_7 = param_7 + (uint)bVar24 * -2 + 1;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n          } while (bVar21);\n          if ((!bVar22 && !bVar21) != bVar22) {\n            param_2[0xc] = 1;\n            return 1;\n          }\n          param_2[0xb] = 1;\n          return 1;\n        }\n        if (param_3 == 0x44) {\n          if (param_2[0x10] != 0) {\n            bVar21 = CARRY4(param_5,param_2[9]);\n            param_5 = param_5 + param_2[9];\n            param_6 = param_6 + param_2[10] + (uint)bVar21;\n          }\n          iVar7 = FUN_0003ca10(param_1,param_4,param_5,param_6);\n          goto LAB_0004426d;\n        }\n      }" else (compound_statement "{\n        bVar21 = param_3 < 0x3c;\n        bVar23 = param_3 == 0x3c;\n        if (bVar23) {\n          iVar7 = 0xf;\n          pbVar16 = param_7;\n          pbVar18 = (byte *)"gcc2_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar21 = *pbVar16 < *pbVar18;\n            bVar23 = *pbVar16 == *pbVar18;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n          } while (bVar23);\n          bVar22 = false;\n          bVar21 = (!bVar21 && !bVar23) == bVar21;\n          if (bVar21) {\n            param_2[0xb] = 2;\n            return 1;\n          }\n          iVar7 = 0xe;\n          pbVar16 = (byte *)"gcc_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar22 = *param_7 < *pbVar16;\n            bVar21 = *param_7 == *pbVar16;\n            param_7 = param_7 + (uint)bVar24 * -2 + 1;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n          } while (bVar21);\n          if ((!bVar22 && !bVar21) != bVar22) {\n            param_2[0xc] = 1;\n            return 1;\n          }\n          param_2[0xb] = 1;\n          return 1;\n        }\n        if (param_3 == 0x44) {\n          if (param_2[0x10] != 0) {\n            bVar21 = CARRY4(param_5,param_2[9]);\n            param_5 = param_5 + param_2[9];\n            param_6 = param_6 + param_2[10] + (uint)bVar21;\n          }\n          iVar7 = FUN_0003ca10(param_1,param_4,param_5,param_6);\n          goto LAB_0004426d;\n        }\n      }" { (expression_statement "bVar21 = param_3 < 0x3c;" (assignment_expression "bVar21 = param_3 < 0x3c" identifier = (binary_expression "param_3 < 0x3c" identifier < number_literal)) ;) (expression_statement "bVar23 = param_3 == 0x3c;" (assignment_expression "bVar23 = param_3 == 0x3c" identifier = (binary_expression "param_3 == 0x3c" identifier == number_literal)) ;) (if_statement "if (bVar23) {\n          iVar7 = 0xf;\n          pbVar16 = param_7;\n          pbVar18 = (byte *)"gcc2_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar21 = *pbVar16 < *pbVar18;\n            bVar23 = *pbVar16 == *pbVar18;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n          } while (bVar23);\n          bVar22 = false;\n          bVar21 = (!bVar21 && !bVar23) == bVar21;\n          if (bVar21) {\n            param_2[0xb] = 2;\n            return 1;\n          }\n          iVar7 = 0xe;\n          pbVar16 = (byte *)"gcc_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar22 = *param_7 < *pbVar16;\n            bVar21 = *param_7 == *pbVar16;\n            param_7 = param_7 + (uint)bVar24 * -2 + 1;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n          } while (bVar21);\n          if ((!bVar22 && !bVar21) != bVar22) {\n            param_2[0xc] = 1;\n            return 1;\n          }\n          param_2[0xb] = 1;\n          return 1;\n        }" if (parenthesized_expression "(bVar23)" ( identifier )) (compound_statement "{\n          iVar7 = 0xf;\n          pbVar16 = param_7;\n          pbVar18 = (byte *)"gcc2_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar21 = *pbVar16 < *pbVar18;\n            bVar23 = *pbVar16 == *pbVar18;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n          } while (bVar23);\n          bVar22 = false;\n          bVar21 = (!bVar21 && !bVar23) == bVar21;\n          if (bVar21) {\n            param_2[0xb] = 2;\n            return 1;\n          }\n          iVar7 = 0xe;\n          pbVar16 = (byte *)"gcc_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar22 = *param_7 < *pbVar16;\n            bVar21 = *param_7 == *pbVar16;\n            param_7 = param_7 + (uint)bVar24 * -2 + 1;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n          } while (bVar21);\n          if ((!bVar22 && !bVar21) != bVar22) {\n            param_2[0xc] = 1;\n            return 1;\n          }\n          param_2[0xb] = 1;\n          return 1;\n        }" { (expression_statement "iVar7 = 0xf;" (assignment_expression "iVar7 = 0xf" identifier = number_literal) ;) (expression_statement "pbVar16 = param_7;" (assignment_expression "pbVar16 = param_7" identifier = identifier) ;) (expression_statement "pbVar18 = (byte *)"gcc2_compiled.";" (assignment_expression "pbVar18 = (byte *)"gcc2_compiled."" identifier = (cast_expression "(byte *)"gcc2_compiled."" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""gcc2_compiled."" " string_content "))) ;) (do_statement "do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar21 = *pbVar16 < *pbVar18;\n            bVar23 = *pbVar16 == *pbVar18;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n          } while (bVar23);" do (compound_statement "{\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar21 = *pbVar16 < *pbVar18;\n            bVar23 = *pbVar16 == *pbVar18;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n          }" { (if_statement "if (iVar7 == 0) break;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar7 = iVar7 + -1;" (assignment_expression "iVar7 = iVar7 + -1" identifier = (binary_expression "iVar7 + -1" identifier + number_literal)) ;) (expression_statement "bVar21 = *pbVar16 < *pbVar18;" (assignment_expression "bVar21 = *pbVar16 < *pbVar18" identifier = (binary_expression "*pbVar16 < *pbVar18" (pointer_expression "*pbVar16" * identifier) < (pointer_expression "*pbVar18" * identifier))) ;) (expression_statement "bVar23 = *pbVar16 == *pbVar18;" (assignment_expression "bVar23 = *pbVar16 == *pbVar18" identifier = (binary_expression "*pbVar16 == *pbVar18" (pointer_expression "*pbVar16" * identifier) == (pointer_expression "*pbVar18" * identifier))) ;) (expression_statement "pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;" (assignment_expression "pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1" identifier = (binary_expression "pbVar16 + (uint)bVar24 * -2 + 1" (binary_expression "pbVar16 + (uint)bVar24 * -2" identifier + (binary_expression "(uint)bVar24 * -2" (cast_expression "(uint)bVar24" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1" identifier = (binary_expression "pbVar18 + (uint)bVar24 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar24 * -2" identifier + (binary_expression "(uint)bVar24 * -2" (cast_expression "(uint)bVar24" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar23)" ( identifier )) ;) (expression_statement "bVar22 = false;" (assignment_expression "bVar22 = false" identifier = false) ;) (expression_statement "bVar21 = (!bVar21 && !bVar23) == bVar21;" (assignment_expression "bVar21 = (!bVar21 && !bVar23) == bVar21" identifier = (binary_expression "(!bVar21 && !bVar23) == bVar21" (parenthesized_expression "(!bVar21 && !bVar23)" ( (binary_expression "!bVar21 && !bVar23" (unary_expression "!bVar21" ! identifier) && (unary_expression "!bVar23" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar21) {\n            param_2[0xb] = 2;\n            return 1;\n          }" if (parenthesized_expression "(bVar21)" ( identifier )) (compound_statement "{\n            param_2[0xb] = 2;\n            return 1;\n          }" { (expression_statement "param_2[0xb] = 2;" (assignment_expression "param_2[0xb] = 2" (subscript_expression "param_2[0xb]" identifier [ number_literal ]) = number_literal) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar7 = 0xe;" (assignment_expression "iVar7 = 0xe" identifier = number_literal) ;) (expression_statement "pbVar16 = (byte *)"gcc_compiled.";" (assignment_expression "pbVar16 = (byte *)"gcc_compiled."" identifier = (cast_expression "(byte *)"gcc_compiled."" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""gcc_compiled."" " string_content "))) ;) (do_statement "do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar22 = *param_7 < *pbVar16;\n            bVar21 = *param_7 == *pbVar16;\n            param_7 = param_7 + (uint)bVar24 * -2 + 1;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n          } while (bVar21);" do (compound_statement "{\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar22 = *param_7 < *pbVar16;\n            bVar21 = *param_7 == *pbVar16;\n            param_7 = param_7 + (uint)bVar24 * -2 + 1;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n          }" { (if_statement "if (iVar7 == 0) break;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar7 = iVar7 + -1;" (assignment_expression "iVar7 = iVar7 + -1" identifier = (binary_expression "iVar7 + -1" identifier + number_literal)) ;) (expression_statement "bVar22 = *param_7 < *pbVar16;" (assignment_expression "bVar22 = *param_7 < *pbVar16" identifier = (binary_expression "*param_7 < *pbVar16" (pointer_expression "*param_7" * identifier) < (pointer_expression "*pbVar16" * identifier))) ;) (expression_statement "bVar21 = *param_7 == *pbVar16;" (assignment_expression "bVar21 = *param_7 == *pbVar16" identifier = (binary_expression "*param_7 == *pbVar16" (pointer_expression "*param_7" * identifier) == (pointer_expression "*pbVar16" * identifier))) ;) (expression_statement "param_7 = param_7 + (uint)bVar24 * -2 + 1;" (assignment_expression "param_7 = param_7 + (uint)bVar24 * -2 + 1" identifier = (binary_expression "param_7 + (uint)bVar24 * -2 + 1" (binary_expression "param_7 + (uint)bVar24 * -2" identifier + (binary_expression "(uint)bVar24 * -2" (cast_expression "(uint)bVar24" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;" (assignment_expression "pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1" identifier = (binary_expression "pbVar16 + (uint)bVar24 * -2 + 1" (binary_expression "pbVar16 + (uint)bVar24 * -2" identifier + (binary_expression "(uint)bVar24 * -2" (cast_expression "(uint)bVar24" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar21)" ( identifier )) ;) (if_statement "if ((!bVar22 && !bVar21) != bVar22) {\n            param_2[0xc] = 1;\n            return 1;\n          }" if (parenthesized_expression "((!bVar22 && !bVar21) != bVar22)" ( (binary_expression "(!bVar22 && !bVar21) != bVar22" (parenthesized_expression "(!bVar22 && !bVar21)" ( (binary_expression "!bVar22 && !bVar21" (unary_expression "!bVar22" ! identifier) && (unary_expression "!bVar21" ! identifier)) )) != identifier) )) (compound_statement "{\n            param_2[0xc] = 1;\n            return 1;\n          }" { (expression_statement "param_2[0xc] = 1;" (assignment_expression "param_2[0xc] = 1" (subscript_expression "param_2[0xc]" identifier [ number_literal ]) = number_literal) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "param_2[0xb] = 1;" (assignment_expression "param_2[0xb] = 1" (subscript_expression "param_2[0xb]" identifier [ number_literal ]) = number_literal) ;) (return_statement "return 1;" return number_literal ;) })) (if_statement "if (param_3 == 0x44) {\n          if (param_2[0x10] != 0) {\n            bVar21 = CARRY4(param_5,param_2[9]);\n            param_5 = param_5 + param_2[9];\n            param_6 = param_6 + param_2[10] + (uint)bVar21;\n          }\n          iVar7 = FUN_0003ca10(param_1,param_4,param_5,param_6);\n          goto LAB_0004426d;\n        }" if (parenthesized_expression "(param_3 == 0x44)" ( (binary_expression "param_3 == 0x44" identifier == number_literal) )) (compound_statement "{\n          if (param_2[0x10] != 0) {\n            bVar21 = CARRY4(param_5,param_2[9]);\n            param_5 = param_5 + param_2[9];\n            param_6 = param_6 + param_2[10] + (uint)bVar21;\n          }\n          iVar7 = FUN_0003ca10(param_1,param_4,param_5,param_6);\n          goto LAB_0004426d;\n        }" { (if_statement "if (param_2[0x10] != 0) {\n            bVar21 = CARRY4(param_5,param_2[9]);\n            param_5 = param_5 + param_2[9];\n            param_6 = param_6 + param_2[10] + (uint)bVar21;\n          }" if (parenthesized_expression "(param_2[0x10] != 0)" ( (binary_expression "param_2[0x10] != 0" (subscript_expression "param_2[0x10]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n            bVar21 = CARRY4(param_5,param_2[9]);\n            param_5 = param_5 + param_2[9];\n            param_6 = param_6 + param_2[10] + (uint)bVar21;\n          }" { (expression_statement "bVar21 = CARRY4(param_5,param_2[9]);" (assignment_expression "bVar21 = CARRY4(param_5,param_2[9])" identifier = (call_expression "CARRY4(param_5,param_2[9])" identifier (argument_list "(param_5,param_2[9])" ( identifier , (subscript_expression "param_2[9]" identifier [ number_literal ]) )))) ;) (expression_statement "param_5 = param_5 + param_2[9];" (assignment_expression "param_5 = param_5 + param_2[9]" identifier = (binary_expression "param_5 + param_2[9]" identifier + (subscript_expression "param_2[9]" identifier [ number_literal ]))) ;) (expression_statement "param_6 = param_6 + param_2[10] + (uint)bVar21;" (assignment_expression "param_6 = param_6 + param_2[10] + (uint)bVar21" identifier = (binary_expression "param_6 + param_2[10] + (uint)bVar21" (binary_expression "param_6 + param_2[10]" identifier + (subscript_expression "param_2[10]" identifier [ number_literal ])) + (cast_expression "(uint)bVar21" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) })) (expression_statement "iVar7 = FUN_0003ca10(param_1,param_4,param_5,param_6);" (assignment_expression "iVar7 = FUN_0003ca10(param_1,param_4,param_5,param_6)" identifier = (call_expression "FUN_0003ca10(param_1,param_4,param_5,param_6)" identifier (argument_list "(param_1,param_4,param_5,param_6)" ( identifier , identifier , identifier , identifier )))) ;) (goto_statement "goto LAB_0004426d;" goto statement_identifier ;) })) }))) }))))) (labeled_statement "LAB_00044431:\n    local_24 = (byte *)strchr((char *)param_7,0x3a);" statement_identifier : (expression_statement "local_24 = (byte *)strchr((char *)param_7,0x3a);" (assignment_expression "local_24 = (byte *)strchr((char *)param_7,0x3a)" identifier = (cast_expression "(byte *)strchr((char *)param_7,0x3a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "strchr((char *)param_7,0x3a)" identifier (argument_list "((char *)param_7,0x3a)" ( (cast_expression "(char *)param_7" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , number_literal ))))) ;)) (if_statement "if (local_24 == (byte *)0x0) {\n      return 1;\n    }" if (parenthesized_expression "(local_24 == (byte *)0x0)" ( (binary_expression "local_24 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      return 1;\n    }" { (return_statement "return 1;" return number_literal ;) })) (expression_statement "bVar24 = local_24[1];" (assignment_expression "bVar24 = local_24[1]" identifier = (subscript_expression "local_24[1]" identifier [ number_literal ])) ;) (if_statement "if ((bVar24 & 0xdf) != 0x46) goto LAB_000447b5;" if (parenthesized_expression "((bVar24 & 0xdf) != 0x46)" ( (binary_expression "(bVar24 & 0xdf) != 0x46" (parenthesized_expression "(bVar24 & 0xdf)" ( (binary_expression "bVar24 & 0xdf" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_000447b5;" goto statement_identifier ;)) (if_statement "if (param_2[0x10] != 0) {\n      local_3c = (char *)param_2[0x11];\n      local_38 = param_2[0x12];\n      if ((((uint)local_3c & local_38) == 0xffffffff) ||\n         (param_6 <= local_38 && (uint)(local_3c < param_5) <= local_38 - param_6)) {\n        local_3c = (char *)param_5;\n        local_38 = param_6;\n      }\n      iVar7 = FUN_0003e2f0();\n      if ((iVar7 == 0) || (iVar7 = FUN_0003c7e0(param_1,local_3c,local_38), iVar7 == 0)) {\n        return 0;\n      }\n      param_2[0x11] = -1;\n      param_2[0x12] = -1;\n    }" if (parenthesized_expression "(param_2[0x10] != 0)" ( (binary_expression "param_2[0x10] != 0" (subscript_expression "param_2[0x10]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      local_3c = (char *)param_2[0x11];\n      local_38 = param_2[0x12];\n      if ((((uint)local_3c & local_38) == 0xffffffff) ||\n         (param_6 <= local_38 && (uint)(local_3c < param_5) <= local_38 - param_6)) {\n        local_3c = (char *)param_5;\n        local_38 = param_6;\n      }\n      iVar7 = FUN_0003e2f0();\n      if ((iVar7 == 0) || (iVar7 = FUN_0003c7e0(param_1,local_3c,local_38), iVar7 == 0)) {\n        return 0;\n      }\n      param_2[0x11] = -1;\n      param_2[0x12] = -1;\n    }" { (expression_statement "local_3c = (char *)param_2[0x11];" (assignment_expression "local_3c = (char *)param_2[0x11]" identifier = (cast_expression "(char *)param_2[0x11]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[0x11]" identifier [ number_literal ]))) ;) (expression_statement "local_38 = param_2[0x12];" (assignment_expression "local_38 = param_2[0x12]" identifier = (subscript_expression "param_2[0x12]" identifier [ number_literal ])) ;) (if_statement "if ((((uint)local_3c & local_38) == 0xffffffff) ||\n         (param_6 <= local_38 && (uint)(local_3c < param_5) <= local_38 - param_6)) {\n        local_3c = (char *)param_5;\n        local_38 = param_6;\n      }" if (parenthesized_expression "((((uint)local_3c & local_38) == 0xffffffff) ||\n         (param_6 <= local_38 && (uint)(local_3c < param_5) <= local_38 - param_6))" ( (binary_expression "(((uint)local_3c & local_38) == 0xffffffff) ||\n         (param_6 <= local_38 && (uint)(local_3c < param_5) <= local_38 - param_6)" (parenthesized_expression "(((uint)local_3c & local_38) == 0xffffffff)" ( (binary_expression "((uint)local_3c & local_38) == 0xffffffff" (parenthesized_expression "((uint)local_3c & local_38)" ( (binary_expression "(uint)local_3c & local_38" (cast_expression "(uint)local_3c" ( (type_descriptor "uint" type_identifier) ) identifier) & identifier) )) == number_literal) )) || (parenthesized_expression "(param_6 <= local_38 && (uint)(local_3c < param_5) <= local_38 - param_6)" ( (binary_expression "param_6 <= local_38 && (uint)(local_3c < param_5) <= local_38 - param_6" (binary_expression "param_6 <= local_38" identifier <= identifier) && (binary_expression "(uint)(local_3c < param_5) <= local_38 - param_6" (call_expression "(uint)(local_3c < param_5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_3c < param_5)" ( (binary_expression "local_3c < param_5" identifier < identifier) ))) <= (binary_expression "local_38 - param_6" identifier - identifier))) ))) )) (compound_statement "{\n        local_3c = (char *)param_5;\n        local_38 = param_6;\n      }" { (expression_statement "local_3c = (char *)param_5;" (assignment_expression "local_3c = (char *)param_5" identifier = (cast_expression "(char *)param_5" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "local_38 = param_6;" (assignment_expression "local_38 = param_6" identifier = identifier) ;) })) (expression_statement "iVar7 = FUN_0003e2f0();" (assignment_expression "iVar7 = FUN_0003e2f0()" identifier = (call_expression "FUN_0003e2f0()" identifier (argument_list "()" ( )))) ;) (if_statement "if ((iVar7 == 0) || (iVar7 = FUN_0003c7e0(param_1,local_3c,local_38), iVar7 == 0)) {\n        return 0;\n      }" if (parenthesized_expression "((iVar7 == 0) || (iVar7 = FUN_0003c7e0(param_1,local_3c,local_38), iVar7 == 0))" ( (binary_expression "(iVar7 == 0) || (iVar7 = FUN_0003c7e0(param_1,local_3c,local_38), iVar7 == 0)" (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar7 = FUN_0003c7e0(param_1,local_3c,local_38), iVar7 == 0)" ( (comma_expression "iVar7 = FUN_0003c7e0(param_1,local_3c,local_38), iVar7 == 0" (assignment_expression "iVar7 = FUN_0003c7e0(param_1,local_3c,local_38)" identifier = (call_expression "FUN_0003c7e0(param_1,local_3c,local_38)" identifier (argument_list "(param_1,local_3c,local_38)" ( identifier , identifier , identifier )))) , (binary_expression "iVar7 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n        return 0;\n      }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "param_2[0x11] = -1;" (assignment_expression "param_2[0x11] = -1" (subscript_expression "param_2[0x11]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_2[0x12] = -1;" (assignment_expression "param_2[0x12] = -1" (subscript_expression "param_2[0x12]" identifier [ number_literal ]) = number_literal) ;) })) (if_statement "if (param_2[1] != 0) {\n      param_2[9] = param_5;\n      param_2[10] = param_6;\n    }" if (parenthesized_expression "(param_2[1] != 0)" ( (binary_expression "param_2[1] != 0" (subscript_expression "param_2[1]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      param_2[9] = param_5;\n      param_2[10] = param_6;\n    }" { (expression_statement "param_2[9] = param_5;" (assignment_expression "param_2[9] = param_5" (subscript_expression "param_2[9]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_2[10] = param_6;" (assignment_expression "param_2[10] = param_6" (subscript_expression "param_2[10]" identifier [ number_literal ]) = identifier) ;) })) (expression_statement "param_2[0x10] = 1;" (assignment_expression "param_2[0x10] = 1" (subscript_expression "param_2[0x10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_24 = (byte *)strchr((char *)param_7,0x3a);" (assignment_expression "local_24 = (byte *)strchr((char *)param_7,0x3a)" identifier = (cast_expression "(byte *)strchr((char *)param_7,0x3a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "strchr((char *)param_7,0x3a)" identifier (argument_list "((char *)param_7,0x3a)" ( (cast_expression "(char *)param_7" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , number_literal ))))) ;) (if_statement "if (local_24 == (byte *)0x0) {\n      return 1;\n    }" if (parenthesized_expression "(local_24 == (byte *)0x0)" ( (binary_expression "local_24 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      return 1;\n    }" { (return_statement "return 1;" return number_literal ;) })) (labeled_statement "LAB_000447b1:\n    bVar24 = local_24[1];" statement_identifier : (expression_statement "bVar24 = local_24[1];" (assignment_expression "bVar24 = local_24[1]" identifier = (subscript_expression "local_24[1]" identifier [ number_literal ])) ;)) (labeled_statement "LAB_000447b5:\n    if (bVar24 == 0x3a) goto LAB_00044790;" statement_identifier : (if_statement "if (bVar24 == 0x3a) goto LAB_00044790;" if (parenthesized_expression "(bVar24 == 0x3a)" ( (binary_expression "bVar24 == 0x3a" identifier == number_literal) )) (goto_statement "goto LAB_00044790;" goto statement_identifier ;))) (if_statement "if (*param_7 != 0x24) goto LAB_000447c7;" if (parenthesized_expression "(*param_7 != 0x24)" ( (binary_expression "*param_7 != 0x24" (pointer_expression "*param_7" * identifier) != number_literal) )) (goto_statement "goto LAB_000447c7;" goto statement_identifier ;)) (switch_statement "switch(param_7[1]) {\n    default:\n      dcgettext(0,"unknown C++ encoded name",5);\n      FUN_0003df30();\n    case 0x58:\n    case 0x5f:\n    case 0x76:\nLAB_000447c7:\n      local_3c = (char *)0x0;\n      if ((param_7 != local_24) && ((*param_7 != 0x20 || (local_24 != param_7 + 1)))) {\n        local_3c = (char *)FUN_0003e060();\n      }\n      break;\n    case 0x65:\n      local_3c = "eh_throw";\n      break;\n    case 0x74:\n      local_3c = "this";\n    }" switch (parenthesized_expression "(param_7[1])" ( (subscript_expression "param_7[1]" identifier [ number_literal ]) )) (compound_statement "{\n    default:\n      dcgettext(0,"unknown C++ encoded name",5);\n      FUN_0003df30();\n    case 0x58:\n    case 0x5f:\n    case 0x76:\nLAB_000447c7:\n      local_3c = (char *)0x0;\n      if ((param_7 != local_24) && ((*param_7 != 0x20 || (local_24 != param_7 + 1)))) {\n        local_3c = (char *)FUN_0003e060();\n      }\n      break;\n    case 0x65:\n      local_3c = "eh_throw";\n      break;\n    case 0x74:\n      local_3c = "this";\n    }" { (case_statement "default:\n      dcgettext(0,"unknown C++ encoded name",5);\n      FUN_0003df30();" default : (expression_statement "dcgettext(0,"unknown C++ encoded name",5);" (call_expression "dcgettext(0,"unknown C++ encoded name",5)" identifier (argument_list "(0,"unknown C++ encoded name",5)" ( number_literal , (string_literal ""unknown C++ encoded name"" " string_content ") , number_literal ))) ;) (expression_statement "FUN_0003df30();" (call_expression "FUN_0003df30()" identifier (argument_list "()" ( ))) ;)) (case_statement "case 0x58:" case number_literal :) (case_statement "case 0x5f:" case number_literal :) (case_statement "case 0x76:\nLAB_000447c7:\n      local_3c = (char *)0x0;\n      if ((param_7 != local_24) && ((*param_7 != 0x20 || (local_24 != param_7 + 1)))) {\n        local_3c = (char *)FUN_0003e060();\n      }\n      break;" case number_literal : (labeled_statement "LAB_000447c7:\n      local_3c = (char *)0x0;" statement_identifier : (expression_statement "local_3c = (char *)0x0;" (assignment_expression "local_3c = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (if_statement "if ((param_7 != local_24) && ((*param_7 != 0x20 || (local_24 != param_7 + 1)))) {\n        local_3c = (char *)FUN_0003e060();\n      }" if (parenthesized_expression "((param_7 != local_24) && ((*param_7 != 0x20 || (local_24 != param_7 + 1))))" ( (binary_expression "(param_7 != local_24) && ((*param_7 != 0x20 || (local_24 != param_7 + 1)))" (parenthesized_expression "(param_7 != local_24)" ( (binary_expression "param_7 != local_24" identifier != identifier) )) && (parenthesized_expression "((*param_7 != 0x20 || (local_24 != param_7 + 1)))" ( (parenthesized_expression "(*param_7 != 0x20 || (local_24 != param_7 + 1))" ( (binary_expression "*param_7 != 0x20 || (local_24 != param_7 + 1)" (binary_expression "*param_7 != 0x20" (pointer_expression "*param_7" * identifier) != number_literal) || (parenthesized_expression "(local_24 != param_7 + 1)" ( (binary_expression "local_24 != param_7 + 1" identifier != (binary_expression "param_7 + 1" identifier + number_literal)) ))) )) ))) )) (compound_statement "{\n        local_3c = (char *)FUN_0003e060();\n      }" { (expression_statement "local_3c = (char *)FUN_0003e060();" (assignment_expression "local_3c = (char *)FUN_0003e060()" identifier = (cast_expression "(char *)FUN_0003e060()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0003e060()" identifier (argument_list "()" ( ))))) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x65:\n      local_3c = "eh_throw";\n      break;" case number_literal : (expression_statement "local_3c = "eh_throw";" (assignment_expression "local_3c = "eh_throw"" identifier = (string_literal ""eh_throw"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case 0x74:\n      local_3c = "this";" case number_literal : (expression_statement "local_3c = "this";" (assignment_expression "local_3c = "this"" identifier = (string_literal ""this"" " string_content ")) ;)) })) (expression_statement "param_7 = param_7 + sVar9;" (assignment_expression "param_7 = param_7 + sVar9" identifier = (binary_expression "param_7 + sVar9" identifier + identifier)) ;) (expression_statement "pbVar16 = local_24 + 1;" (assignment_expression "pbVar16 = local_24 + 1" identifier = (binary_expression "local_24 + 1" identifier + number_literal)) ;) (expression_statement "bVar24 = local_24[1];" (assignment_expression "bVar24 = local_24[1]" identifier = (subscript_expression "local_24[1]" identifier [ number_literal ])) ;) (if_statement "if (((PTR__sch_istable_00071fbc[(uint)bVar24 * 2] & 4) != 0) ||\n       (bVar24 == 0x28 || bVar24 == 0x2d)) {\nLAB_0004483d:\n      local_24 = pbVar16;\n      iVar7 = FUN_00040c70(&local_24,0,param_7);\n      if (iVar7 == 0) {\n        return 0;\n      }\n      uVar27 = 4;\n      goto code_r0x0004486e;\n    }" if (parenthesized_expression "(((PTR__sch_istable_00071fbc[(uint)bVar24 * 2] & 4) != 0) ||\n       (bVar24 == 0x28 || bVar24 == 0x2d))" ( (binary_expression "((PTR__sch_istable_00071fbc[(uint)bVar24 * 2] & 4) != 0) ||\n       (bVar24 == 0x28 || bVar24 == 0x2d)" (parenthesized_expression "((PTR__sch_istable_00071fbc[(uint)bVar24 * 2] & 4) != 0)" ( (binary_expression "(PTR__sch_istable_00071fbc[(uint)bVar24 * 2] & 4) != 0" (parenthesized_expression "(PTR__sch_istable_00071fbc[(uint)bVar24 * 2] & 4)" ( (binary_expression "PTR__sch_istable_00071fbc[(uint)bVar24 * 2] & 4" (subscript_expression "PTR__sch_istable_00071fbc[(uint)bVar24 * 2]" identifier [ (binary_expression "(uint)bVar24 * 2" (cast_expression "(uint)bVar24" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal) ]) & number_literal) )) != number_literal) )) || (parenthesized_expression "(bVar24 == 0x28 || bVar24 == 0x2d)" ( (binary_expression "bVar24 == 0x28 || bVar24 == 0x2d" (binary_expression "bVar24 == 0x28" identifier == number_literal) || (binary_expression "bVar24 == 0x2d" identifier == number_literal)) ))) )) (compound_statement "{\nLAB_0004483d:\n      local_24 = pbVar16;\n      iVar7 = FUN_00040c70(&local_24,0,param_7);\n      if (iVar7 == 0) {\n        return 0;\n      }\n      uVar27 = 4;\n      goto code_r0x0004486e;\n    }" { (labeled_statement "LAB_0004483d:\n      local_24 = pbVar16;" statement_identifier : (expression_statement "local_24 = pbVar16;" (assignment_expression "local_24 = pbVar16" identifier = identifier) ;)) (expression_statement "iVar7 = FUN_00040c70(&local_24,0,param_7);" (assignment_expression "iVar7 = FUN_00040c70(&local_24,0,param_7)" identifier = (call_expression "FUN_00040c70(&local_24,0,param_7)" identifier (argument_list "(&local_24,0,param_7)" ( (pointer_expression "&local_24" & identifier) , number_literal , identifier )))) ;) (if_statement "if (iVar7 == 0) {\n        return 0;\n      }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n        return 0;\n      }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "uVar27 = 4;" (assignment_expression "uVar27 = 4" identifier = number_literal) ;) (goto_statement "goto code_r0x0004486e;" goto statement_identifier ;) })) (if_statement "if (bVar24 != 0) {\n      pbVar16 = local_24 + 2;\n      bVar24 = local_24[1];\n      if (0x33 < (byte)(bVar24 + 0xbd)) goto LAB_00044e16;\n      iVar7 = (int)&__DT_PLTGOT + *(int *)(&DAT_00057e08 + (uint)(byte)(bVar24 + 0xbd) * 4);\n      switch(bVar24) {\n      case 0x43:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,bVar24);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003ccf0(param_1,local_3c,iVar7,param_5,param_6);\n        goto joined_r0x00044fe7;\n      default:\n        goto LAB_00044e16;\n      case 0x46:\n      case 0x66:\n        local_24 = pbVar16;\n        uVar26 = FUN_00040c70(&local_24,0,param_7,iVar7);\n        uVar27 = (undefined4)((ulonglong)uVar26 >> 0x20);\n        if ((int)uVar26 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003c5a0(param_1,local_3c,(int)uVar26,bVar24 == 0x46,param_5,param_6,uVar27,\n                             uVar27);\n        while( true ) {\n          if (iVar7 == 0) {\n            return 0;\n          }\n          if (*local_24 != 0x3b) break;\n          local_24 = local_24 + 1;\n          iVar7 = FUN_00040c70(&local_24,0,param_7);\n        }\n        return 1;\n      case 0x47:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,iVar7);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) goto code_r0x00044c0d;\n        iVar10 = param_2[3];\n        piVar13 = (int *)param_2[2];\n        cVar3 = *(char *)(*(int *)(*param_2 + 4) + 0x18);\n        if (iVar10 < 1) goto code_r0x00044c0d;\n        cVar2 = *local_3c;\n        goto code_r0x00044bbc;\n      case 0x50:\n        if (param_3 == 0x24) {\n          local_24 = pbVar16;\n          do {\n            if (*local_24 != 0x3b) {\n              return 1;\n            }\n            local_24 = local_24 + 1;\n            iVar7 = FUN_00040c70(&local_24,0,param_7);\n          } while (iVar7 != 0);\n          return 0;\n        }\n      case 0x52:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,iVar7);\njoined_r0x00045010:\n        if (iVar7 == 0) {\n          return 0;\n        }\ncode_r0x00044af0:\n        iVar7 = FUN_0003c6e0(param_1,local_3c,iVar7);\n        goto joined_r0x00044fe7;\n      case 0x53:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 2;\n        goto code_r0x0004486e;\n      case 0x54:\n        pbVar18 = local_24 + 2;\n        if (*pbVar18 == 0x74) {\n          pbVar16 = local_24 + 3;\n        }\n        local_24 = pbVar16;\n        uVar11 = (uint)(*pbVar18 == 0x74);\n        iVar7 = FUN_00040c70(&local_24,apiStack_20,param_7,param_3);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) {\n          return 1;\n        }\n        iVar10 = param_2[0x3a];\n        iVar7 = FUN_0003d680(param_1,local_3c,iVar7,extraout_ECX);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (apiStack_20[0] != (int *)0x0) {\n          *apiStack_20[0] = iVar7;\n        }\n        piVar13 = apiStack_20[0];\n        if (iVar10 != 0) goto code_r0x00044efc;\n        if ((int *)param_2[0x39] == (int *)0x0) goto code_r0x00044efc;\n        cVar3 = *local_3c;\n        piVar17 = param_2 + 0x39;\n        piVar20 = (int *)param_2[0x39];\n        goto code_r0x00044ecc;\n      case 0x56:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 3;\n        goto code_r0x0004486e;\n      case 0x58:\n      case 0x6c:\n      case 0x73:\n        goto LAB_0004483d;\n      case 0x59:\n        pbVar16 = local_24 + 3;\n        if ((local_24[3] == 0x6e) &&\n           (pbVar16 = local_24 + 4, pbVar18 = local_24 + 4, local_24 = pbVar16, *pbVar18 == 0x30)) {\n          for (; *local_24 != 0x3b; local_24 = local_24 + 1) {\n          }\n          return 1;\n        }\nLAB_00044e16:\n        local_24 = pbVar16;\n        FUN_0003dfb0();\n        return 0;\n      case 0x61:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,bVar24);\n        goto joined_r0x00045010;\n      case 99:\n        if (local_24[2] == 0x3d) {\n          pbVar16 = local_24 + 4;\n          bVar24 = local_24[3];\n          local_24 = pbVar16;\n          if (bVar24 == 0x69) {\n            lVar15 = strtol((char *)pbVar16,(char **)0x0,10);\n            iVar7 = FUN_0003cbe0(param_1,local_3c,lVar15,lVar15 >> 0x1f);\n            goto joined_r0x00044fe7;\n          }\n          if (bVar24 == 0x72) {\n            lVar25 = (longdouble)func_0x00013560(pbVar16,0,0x72,0x72);\n            iVar7 = FUN_0003cc30(param_1,local_3c,(double)lVar25);\n            goto joined_r0x00044fe7;\n          }\n          if (bVar24 == 0x65) {\n            iVar7 = FUN_00040c70(&local_24,0,param_7,0x65);\n            if (iVar7 == 0) {\n              return 0;\n            }\n            pbVar16 = local_24;\n            if (*local_24 == 0x2c) {\n              uVar28 = 10;\n              uVar27 = 0;\n              lVar15 = strtol((char *)local_24,(char **)0x0,10);\n              iVar7 = FUN_0003cc70(param_1,local_3c,iVar7,lVar15,lVar15 >> 0x1f,uVar27,uVar28,\n                                   param_3);\n              goto joined_r0x00044fe7;\n            }\n          }\n        }\n        break;\n      case 0x70:\n        if (local_24[2] == 0x46) {\n          local_24 = local_24 + 3;\n          iVar7 = FUN_00040c70(&local_24,0,param_7,local_24);\n          if (iVar7 == 0) {\n            return 0;\n          }\n          uVar27 = FUN_0003d080(param_1,iVar7,0,0);\n          iVar7 = FUN_0003d030(param_1,uVar27);\n        }\n        else {\n          pbVar18 = local_24;\n          local_24 = pbVar16;\n          iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        }\n        goto joined_r0x00044dee;\n      case 0x72:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 5;\n        goto code_r0x0004486e;\n      case 0x74:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,apiStack_20,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) {\n          return 1;\n        }\n        iVar7 = FUN_0003d5a0(param_1,local_3c,iVar7,param_2);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (apiStack_20[0] == (int *)0x0) {\n          return 1;\n        }\n        *apiStack_20[0] = iVar7;\n        return 1;\n      case 0x76:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\njoined_r0x00044dee:\n        if (iVar7 == 0) {\n          return 0;\n        }\n        goto code_r0x00044af0;\n      }\n    }" if (parenthesized_expression "(bVar24 != 0)" ( (binary_expression "bVar24 != 0" identifier != number_literal) )) (compound_statement "{\n      pbVar16 = local_24 + 2;\n      bVar24 = local_24[1];\n      if (0x33 < (byte)(bVar24 + 0xbd)) goto LAB_00044e16;\n      iVar7 = (int)&__DT_PLTGOT + *(int *)(&DAT_00057e08 + (uint)(byte)(bVar24 + 0xbd) * 4);\n      switch(bVar24) {\n      case 0x43:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,bVar24);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003ccf0(param_1,local_3c,iVar7,param_5,param_6);\n        goto joined_r0x00044fe7;\n      default:\n        goto LAB_00044e16;\n      case 0x46:\n      case 0x66:\n        local_24 = pbVar16;\n        uVar26 = FUN_00040c70(&local_24,0,param_7,iVar7);\n        uVar27 = (undefined4)((ulonglong)uVar26 >> 0x20);\n        if ((int)uVar26 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003c5a0(param_1,local_3c,(int)uVar26,bVar24 == 0x46,param_5,param_6,uVar27,\n                             uVar27);\n        while( true ) {\n          if (iVar7 == 0) {\n            return 0;\n          }\n          if (*local_24 != 0x3b) break;\n          local_24 = local_24 + 1;\n          iVar7 = FUN_00040c70(&local_24,0,param_7);\n        }\n        return 1;\n      case 0x47:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,iVar7);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) goto code_r0x00044c0d;\n        iVar10 = param_2[3];\n        piVar13 = (int *)param_2[2];\n        cVar3 = *(char *)(*(int *)(*param_2 + 4) + 0x18);\n        if (iVar10 < 1) goto code_r0x00044c0d;\n        cVar2 = *local_3c;\n        goto code_r0x00044bbc;\n      case 0x50:\n        if (param_3 == 0x24) {\n          local_24 = pbVar16;\n          do {\n            if (*local_24 != 0x3b) {\n              return 1;\n            }\n            local_24 = local_24 + 1;\n            iVar7 = FUN_00040c70(&local_24,0,param_7);\n          } while (iVar7 != 0);\n          return 0;\n        }\n      case 0x52:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,iVar7);\njoined_r0x00045010:\n        if (iVar7 == 0) {\n          return 0;\n        }\ncode_r0x00044af0:\n        iVar7 = FUN_0003c6e0(param_1,local_3c,iVar7);\n        goto joined_r0x00044fe7;\n      case 0x53:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 2;\n        goto code_r0x0004486e;\n      case 0x54:\n        pbVar18 = local_24 + 2;\n        if (*pbVar18 == 0x74) {\n          pbVar16 = local_24 + 3;\n        }\n        local_24 = pbVar16;\n        uVar11 = (uint)(*pbVar18 == 0x74);\n        iVar7 = FUN_00040c70(&local_24,apiStack_20,param_7,param_3);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) {\n          return 1;\n        }\n        iVar10 = param_2[0x3a];\n        iVar7 = FUN_0003d680(param_1,local_3c,iVar7,extraout_ECX);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (apiStack_20[0] != (int *)0x0) {\n          *apiStack_20[0] = iVar7;\n        }\n        piVar13 = apiStack_20[0];\n        if (iVar10 != 0) goto code_r0x00044efc;\n        if ((int *)param_2[0x39] == (int *)0x0) goto code_r0x00044efc;\n        cVar3 = *local_3c;\n        piVar17 = param_2 + 0x39;\n        piVar20 = (int *)param_2[0x39];\n        goto code_r0x00044ecc;\n      case 0x56:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 3;\n        goto code_r0x0004486e;\n      case 0x58:\n      case 0x6c:\n      case 0x73:\n        goto LAB_0004483d;\n      case 0x59:\n        pbVar16 = local_24 + 3;\n        if ((local_24[3] == 0x6e) &&\n           (pbVar16 = local_24 + 4, pbVar18 = local_24 + 4, local_24 = pbVar16, *pbVar18 == 0x30)) {\n          for (; *local_24 != 0x3b; local_24 = local_24 + 1) {\n          }\n          return 1;\n        }\nLAB_00044e16:\n        local_24 = pbVar16;\n        FUN_0003dfb0();\n        return 0;\n      case 0x61:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,bVar24);\n        goto joined_r0x00045010;\n      case 99:\n        if (local_24[2] == 0x3d) {\n          pbVar16 = local_24 + 4;\n          bVar24 = local_24[3];\n          local_24 = pbVar16;\n          if (bVar24 == 0x69) {\n            lVar15 = strtol((char *)pbVar16,(char **)0x0,10);\n            iVar7 = FUN_0003cbe0(param_1,local_3c,lVar15,lVar15 >> 0x1f);\n            goto joined_r0x00044fe7;\n          }\n          if (bVar24 == 0x72) {\n            lVar25 = (longdouble)func_0x00013560(pbVar16,0,0x72,0x72);\n            iVar7 = FUN_0003cc30(param_1,local_3c,(double)lVar25);\n            goto joined_r0x00044fe7;\n          }\n          if (bVar24 == 0x65) {\n            iVar7 = FUN_00040c70(&local_24,0,param_7,0x65);\n            if (iVar7 == 0) {\n              return 0;\n            }\n            pbVar16 = local_24;\n            if (*local_24 == 0x2c) {\n              uVar28 = 10;\n              uVar27 = 0;\n              lVar15 = strtol((char *)local_24,(char **)0x0,10);\n              iVar7 = FUN_0003cc70(param_1,local_3c,iVar7,lVar15,lVar15 >> 0x1f,uVar27,uVar28,\n                                   param_3);\n              goto joined_r0x00044fe7;\n            }\n          }\n        }\n        break;\n      case 0x70:\n        if (local_24[2] == 0x46) {\n          local_24 = local_24 + 3;\n          iVar7 = FUN_00040c70(&local_24,0,param_7,local_24);\n          if (iVar7 == 0) {\n            return 0;\n          }\n          uVar27 = FUN_0003d080(param_1,iVar7,0,0);\n          iVar7 = FUN_0003d030(param_1,uVar27);\n        }\n        else {\n          pbVar18 = local_24;\n          local_24 = pbVar16;\n          iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        }\n        goto joined_r0x00044dee;\n      case 0x72:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 5;\n        goto code_r0x0004486e;\n      case 0x74:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,apiStack_20,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) {\n          return 1;\n        }\n        iVar7 = FUN_0003d5a0(param_1,local_3c,iVar7,param_2);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (apiStack_20[0] == (int *)0x0) {\n          return 1;\n        }\n        *apiStack_20[0] = iVar7;\n        return 1;\n      case 0x76:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\njoined_r0x00044dee:\n        if (iVar7 == 0) {\n          return 0;\n        }\n        goto code_r0x00044af0;\n      }\n    }" { (expression_statement "pbVar16 = local_24 + 2;" (assignment_expression "pbVar16 = local_24 + 2" identifier = (binary_expression "local_24 + 2" identifier + number_literal)) ;) (expression_statement "bVar24 = local_24[1];" (assignment_expression "bVar24 = local_24[1]" identifier = (subscript_expression "local_24[1]" identifier [ number_literal ])) ;) (if_statement "if (0x33 < (byte)(bVar24 + 0xbd)) goto LAB_00044e16;" if (parenthesized_expression "(0x33 < (byte)(bVar24 + 0xbd))" ( (binary_expression "0x33 < (byte)(bVar24 + 0xbd)" number_literal < (call_expression "(byte)(bVar24 + 0xbd)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar24 + 0xbd)" ( (binary_expression "bVar24 + 0xbd" identifier + number_literal) )))) )) (goto_statement "goto LAB_00044e16;" goto statement_identifier ;)) (expression_statement "iVar7 = (int)&__DT_PLTGOT + *(int *)(&DAT_00057e08 + (uint)(byte)(bVar24 + 0xbd) * 4);" (assignment_expression "iVar7 = (int)&__DT_PLTGOT + *(int *)(&DAT_00057e08 + (uint)(byte)(bVar24 + 0xbd) * 4)" identifier = (binary_expression "(int)&__DT_PLTGOT + *(int *)(&DAT_00057e08 + (uint)(byte)(bVar24 + 0xbd) * 4)" (cast_expression "(int)&__DT_PLTGOT" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&__DT_PLTGOT" & identifier)) + (pointer_expression "*(int *)(&DAT_00057e08 + (uint)(byte)(bVar24 + 0xbd) * 4)" * (cast_expression "(int *)(&DAT_00057e08 + (uint)(byte)(bVar24 + 0xbd) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00057e08 + (uint)(byte)(bVar24 + 0xbd) * 4)" ( (binary_expression "&DAT_00057e08 + (uint)(byte)(bVar24 + 0xbd) * 4" (pointer_expression "&DAT_00057e08" & identifier) + (binary_expression "(uint)(byte)(bVar24 + 0xbd) * 4" (call_expression "(uint)(byte)(bVar24 + 0xbd)" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier ))) (argument_list "(bVar24 + 0xbd)" ( (binary_expression "bVar24 + 0xbd" identifier + number_literal) ))) * number_literal)) )))))) ;) (switch_statement "switch(bVar24) {\n      case 0x43:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,bVar24);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003ccf0(param_1,local_3c,iVar7,param_5,param_6);\n        goto joined_r0x00044fe7;\n      default:\n        goto LAB_00044e16;\n      case 0x46:\n      case 0x66:\n        local_24 = pbVar16;\n        uVar26 = FUN_00040c70(&local_24,0,param_7,iVar7);\n        uVar27 = (undefined4)((ulonglong)uVar26 >> 0x20);\n        if ((int)uVar26 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003c5a0(param_1,local_3c,(int)uVar26,bVar24 == 0x46,param_5,param_6,uVar27,\n                             uVar27);\n        while( true ) {\n          if (iVar7 == 0) {\n            return 0;\n          }\n          if (*local_24 != 0x3b) break;\n          local_24 = local_24 + 1;\n          iVar7 = FUN_00040c70(&local_24,0,param_7);\n        }\n        return 1;\n      case 0x47:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,iVar7);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) goto code_r0x00044c0d;\n        iVar10 = param_2[3];\n        piVar13 = (int *)param_2[2];\n        cVar3 = *(char *)(*(int *)(*param_2 + 4) + 0x18);\n        if (iVar10 < 1) goto code_r0x00044c0d;\n        cVar2 = *local_3c;\n        goto code_r0x00044bbc;\n      case 0x50:\n        if (param_3 == 0x24) {\n          local_24 = pbVar16;\n          do {\n            if (*local_24 != 0x3b) {\n              return 1;\n            }\n            local_24 = local_24 + 1;\n            iVar7 = FUN_00040c70(&local_24,0,param_7);\n          } while (iVar7 != 0);\n          return 0;\n        }\n      case 0x52:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,iVar7);\njoined_r0x00045010:\n        if (iVar7 == 0) {\n          return 0;\n        }\ncode_r0x00044af0:\n        iVar7 = FUN_0003c6e0(param_1,local_3c,iVar7);\n        goto joined_r0x00044fe7;\n      case 0x53:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 2;\n        goto code_r0x0004486e;\n      case 0x54:\n        pbVar18 = local_24 + 2;\n        if (*pbVar18 == 0x74) {\n          pbVar16 = local_24 + 3;\n        }\n        local_24 = pbVar16;\n        uVar11 = (uint)(*pbVar18 == 0x74);\n        iVar7 = FUN_00040c70(&local_24,apiStack_20,param_7,param_3);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) {\n          return 1;\n        }\n        iVar10 = param_2[0x3a];\n        iVar7 = FUN_0003d680(param_1,local_3c,iVar7,extraout_ECX);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (apiStack_20[0] != (int *)0x0) {\n          *apiStack_20[0] = iVar7;\n        }\n        piVar13 = apiStack_20[0];\n        if (iVar10 != 0) goto code_r0x00044efc;\n        if ((int *)param_2[0x39] == (int *)0x0) goto code_r0x00044efc;\n        cVar3 = *local_3c;\n        piVar17 = param_2 + 0x39;\n        piVar20 = (int *)param_2[0x39];\n        goto code_r0x00044ecc;\n      case 0x56:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 3;\n        goto code_r0x0004486e;\n      case 0x58:\n      case 0x6c:\n      case 0x73:\n        goto LAB_0004483d;\n      case 0x59:\n        pbVar16 = local_24 + 3;\n        if ((local_24[3] == 0x6e) &&\n           (pbVar16 = local_24 + 4, pbVar18 = local_24 + 4, local_24 = pbVar16, *pbVar18 == 0x30)) {\n          for (; *local_24 != 0x3b; local_24 = local_24 + 1) {\n          }\n          return 1;\n        }\nLAB_00044e16:\n        local_24 = pbVar16;\n        FUN_0003dfb0();\n        return 0;\n      case 0x61:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,bVar24);\n        goto joined_r0x00045010;\n      case 99:\n        if (local_24[2] == 0x3d) {\n          pbVar16 = local_24 + 4;\n          bVar24 = local_24[3];\n          local_24 = pbVar16;\n          if (bVar24 == 0x69) {\n            lVar15 = strtol((char *)pbVar16,(char **)0x0,10);\n            iVar7 = FUN_0003cbe0(param_1,local_3c,lVar15,lVar15 >> 0x1f);\n            goto joined_r0x00044fe7;\n          }\n          if (bVar24 == 0x72) {\n            lVar25 = (longdouble)func_0x00013560(pbVar16,0,0x72,0x72);\n            iVar7 = FUN_0003cc30(param_1,local_3c,(double)lVar25);\n            goto joined_r0x00044fe7;\n          }\n          if (bVar24 == 0x65) {\n            iVar7 = FUN_00040c70(&local_24,0,param_7,0x65);\n            if (iVar7 == 0) {\n              return 0;\n            }\n            pbVar16 = local_24;\n            if (*local_24 == 0x2c) {\n              uVar28 = 10;\n              uVar27 = 0;\n              lVar15 = strtol((char *)local_24,(char **)0x0,10);\n              iVar7 = FUN_0003cc70(param_1,local_3c,iVar7,lVar15,lVar15 >> 0x1f,uVar27,uVar28,\n                                   param_3);\n              goto joined_r0x00044fe7;\n            }\n          }\n        }\n        break;\n      case 0x70:\n        if (local_24[2] == 0x46) {\n          local_24 = local_24 + 3;\n          iVar7 = FUN_00040c70(&local_24,0,param_7,local_24);\n          if (iVar7 == 0) {\n            return 0;\n          }\n          uVar27 = FUN_0003d080(param_1,iVar7,0,0);\n          iVar7 = FUN_0003d030(param_1,uVar27);\n        }\n        else {\n          pbVar18 = local_24;\n          local_24 = pbVar16;\n          iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        }\n        goto joined_r0x00044dee;\n      case 0x72:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 5;\n        goto code_r0x0004486e;\n      case 0x74:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,apiStack_20,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) {\n          return 1;\n        }\n        iVar7 = FUN_0003d5a0(param_1,local_3c,iVar7,param_2);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (apiStack_20[0] == (int *)0x0) {\n          return 1;\n        }\n        *apiStack_20[0] = iVar7;\n        return 1;\n      case 0x76:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\njoined_r0x00044dee:\n        if (iVar7 == 0) {\n          return 0;\n        }\n        goto code_r0x00044af0;\n      }" switch (parenthesized_expression "(bVar24)" ( identifier )) (compound_statement "{\n      case 0x43:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,bVar24);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003ccf0(param_1,local_3c,iVar7,param_5,param_6);\n        goto joined_r0x00044fe7;\n      default:\n        goto LAB_00044e16;\n      case 0x46:\n      case 0x66:\n        local_24 = pbVar16;\n        uVar26 = FUN_00040c70(&local_24,0,param_7,iVar7);\n        uVar27 = (undefined4)((ulonglong)uVar26 >> 0x20);\n        if ((int)uVar26 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003c5a0(param_1,local_3c,(int)uVar26,bVar24 == 0x46,param_5,param_6,uVar27,\n                             uVar27);\n        while( true ) {\n          if (iVar7 == 0) {\n            return 0;\n          }\n          if (*local_24 != 0x3b) break;\n          local_24 = local_24 + 1;\n          iVar7 = FUN_00040c70(&local_24,0,param_7);\n        }\n        return 1;\n      case 0x47:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,iVar7);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) goto code_r0x00044c0d;\n        iVar10 = param_2[3];\n        piVar13 = (int *)param_2[2];\n        cVar3 = *(char *)(*(int *)(*param_2 + 4) + 0x18);\n        if (iVar10 < 1) goto code_r0x00044c0d;\n        cVar2 = *local_3c;\n        goto code_r0x00044bbc;\n      case 0x50:\n        if (param_3 == 0x24) {\n          local_24 = pbVar16;\n          do {\n            if (*local_24 != 0x3b) {\n              return 1;\n            }\n            local_24 = local_24 + 1;\n            iVar7 = FUN_00040c70(&local_24,0,param_7);\n          } while (iVar7 != 0);\n          return 0;\n        }\n      case 0x52:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,iVar7);\njoined_r0x00045010:\n        if (iVar7 == 0) {\n          return 0;\n        }\ncode_r0x00044af0:\n        iVar7 = FUN_0003c6e0(param_1,local_3c,iVar7);\n        goto joined_r0x00044fe7;\n      case 0x53:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 2;\n        goto code_r0x0004486e;\n      case 0x54:\n        pbVar18 = local_24 + 2;\n        if (*pbVar18 == 0x74) {\n          pbVar16 = local_24 + 3;\n        }\n        local_24 = pbVar16;\n        uVar11 = (uint)(*pbVar18 == 0x74);\n        iVar7 = FUN_00040c70(&local_24,apiStack_20,param_7,param_3);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) {\n          return 1;\n        }\n        iVar10 = param_2[0x3a];\n        iVar7 = FUN_0003d680(param_1,local_3c,iVar7,extraout_ECX);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (apiStack_20[0] != (int *)0x0) {\n          *apiStack_20[0] = iVar7;\n        }\n        piVar13 = apiStack_20[0];\n        if (iVar10 != 0) goto code_r0x00044efc;\n        if ((int *)param_2[0x39] == (int *)0x0) goto code_r0x00044efc;\n        cVar3 = *local_3c;\n        piVar17 = param_2 + 0x39;\n        piVar20 = (int *)param_2[0x39];\n        goto code_r0x00044ecc;\n      case 0x56:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 3;\n        goto code_r0x0004486e;\n      case 0x58:\n      case 0x6c:\n      case 0x73:\n        goto LAB_0004483d;\n      case 0x59:\n        pbVar16 = local_24 + 3;\n        if ((local_24[3] == 0x6e) &&\n           (pbVar16 = local_24 + 4, pbVar18 = local_24 + 4, local_24 = pbVar16, *pbVar18 == 0x30)) {\n          for (; *local_24 != 0x3b; local_24 = local_24 + 1) {\n          }\n          return 1;\n        }\nLAB_00044e16:\n        local_24 = pbVar16;\n        FUN_0003dfb0();\n        return 0;\n      case 0x61:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,bVar24);\n        goto joined_r0x00045010;\n      case 99:\n        if (local_24[2] == 0x3d) {\n          pbVar16 = local_24 + 4;\n          bVar24 = local_24[3];\n          local_24 = pbVar16;\n          if (bVar24 == 0x69) {\n            lVar15 = strtol((char *)pbVar16,(char **)0x0,10);\n            iVar7 = FUN_0003cbe0(param_1,local_3c,lVar15,lVar15 >> 0x1f);\n            goto joined_r0x00044fe7;\n          }\n          if (bVar24 == 0x72) {\n            lVar25 = (longdouble)func_0x00013560(pbVar16,0,0x72,0x72);\n            iVar7 = FUN_0003cc30(param_1,local_3c,(double)lVar25);\n            goto joined_r0x00044fe7;\n          }\n          if (bVar24 == 0x65) {\n            iVar7 = FUN_00040c70(&local_24,0,param_7,0x65);\n            if (iVar7 == 0) {\n              return 0;\n            }\n            pbVar16 = local_24;\n            if (*local_24 == 0x2c) {\n              uVar28 = 10;\n              uVar27 = 0;\n              lVar15 = strtol((char *)local_24,(char **)0x0,10);\n              iVar7 = FUN_0003cc70(param_1,local_3c,iVar7,lVar15,lVar15 >> 0x1f,uVar27,uVar28,\n                                   param_3);\n              goto joined_r0x00044fe7;\n            }\n          }\n        }\n        break;\n      case 0x70:\n        if (local_24[2] == 0x46) {\n          local_24 = local_24 + 3;\n          iVar7 = FUN_00040c70(&local_24,0,param_7,local_24);\n          if (iVar7 == 0) {\n            return 0;\n          }\n          uVar27 = FUN_0003d080(param_1,iVar7,0,0);\n          iVar7 = FUN_0003d030(param_1,uVar27);\n        }\n        else {\n          pbVar18 = local_24;\n          local_24 = pbVar16;\n          iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        }\n        goto joined_r0x00044dee;\n      case 0x72:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 5;\n        goto code_r0x0004486e;\n      case 0x74:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,apiStack_20,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) {\n          return 1;\n        }\n        iVar7 = FUN_0003d5a0(param_1,local_3c,iVar7,param_2);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (apiStack_20[0] == (int *)0x0) {\n          return 1;\n        }\n        *apiStack_20[0] = iVar7;\n        return 1;\n      case 0x76:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\njoined_r0x00044dee:\n        if (iVar7 == 0) {\n          return 0;\n        }\n        goto code_r0x00044af0;\n      }" { (case_statement "case 0x43:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,bVar24);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003ccf0(param_1,local_3c,iVar7,param_5,param_6);\n        goto joined_r0x00044fe7;" case number_literal : (expression_statement "local_24 = pbVar16;" (assignment_expression "local_24 = pbVar16" identifier = identifier) ;) (expression_statement "iVar7 = FUN_00040c70(&local_24,0,param_7,bVar24);" (assignment_expression "iVar7 = FUN_00040c70(&local_24,0,param_7,bVar24)" identifier = (call_expression "FUN_00040c70(&local_24,0,param_7,bVar24)" identifier (argument_list "(&local_24,0,param_7,bVar24)" ( (pointer_expression "&local_24" & identifier) , number_literal , identifier , identifier )))) ;) (if_statement "if (iVar7 == 0) {\n          return 0;\n        }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n          return 0;\n        }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "iVar7 = FUN_0003ccf0(param_1,local_3c,iVar7,param_5,param_6);" (assignment_expression "iVar7 = FUN_0003ccf0(param_1,local_3c,iVar7,param_5,param_6)" identifier = (call_expression "FUN_0003ccf0(param_1,local_3c,iVar7,param_5,param_6)" identifier (argument_list "(param_1,local_3c,iVar7,param_5,param_6)" ( identifier , identifier , identifier , identifier , identifier )))) ;) (goto_statement "goto joined_r0x00044fe7;" goto statement_identifier ;)) (case_statement "default:\n        goto LAB_00044e16;" default : (goto_statement "goto LAB_00044e16;" goto statement_identifier ;)) (case_statement "case 0x46:" case number_literal :) (case_statement "case 0x66:\n        local_24 = pbVar16;\n        uVar26 = FUN_00040c70(&local_24,0,param_7,iVar7);\n        uVar27 = (undefined4)((ulonglong)uVar26 >> 0x20);\n        if ((int)uVar26 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003c5a0(param_1,local_3c,(int)uVar26,bVar24 == 0x46,param_5,param_6,uVar27,\n                             uVar27);\n        while( true ) {\n          if (iVar7 == 0) {\n            return 0;\n          }\n          if (*local_24 != 0x3b) break;\n          local_24 = local_24 + 1;\n          iVar7 = FUN_00040c70(&local_24,0,param_7);\n        }\n        return 1;" case number_literal : (expression_statement "local_24 = pbVar16;" (assignment_expression "local_24 = pbVar16" identifier = identifier) ;) (expression_statement "uVar26 = FUN_00040c70(&local_24,0,param_7,iVar7);" (assignment_expression "uVar26 = FUN_00040c70(&local_24,0,param_7,iVar7)" identifier = (call_expression "FUN_00040c70(&local_24,0,param_7,iVar7)" identifier (argument_list "(&local_24,0,param_7,iVar7)" ( (pointer_expression "&local_24" & identifier) , number_literal , identifier , identifier )))) ;) (expression_statement "uVar27 = (undefined4)((ulonglong)uVar26 >> 0x20);" (assignment_expression "uVar27 = (undefined4)((ulonglong)uVar26 >> 0x20)" identifier = (call_expression "(undefined4)((ulonglong)uVar26 >> 0x20)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "((ulonglong)uVar26 >> 0x20)" ( (binary_expression "(ulonglong)uVar26 >> 0x20" (cast_expression "(ulonglong)uVar26" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (if_statement "if ((int)uVar26 == 0) {\n          return 0;\n        }" if (parenthesized_expression "((int)uVar26 == 0)" ( (binary_expression "(int)uVar26 == 0" (cast_expression "(int)uVar26" ( (type_descriptor "int" primitive_type) ) identifier) == number_literal) )) (compound_statement "{\n          return 0;\n        }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "iVar7 = FUN_0003c5a0(param_1,local_3c,(int)uVar26,bVar24 == 0x46,param_5,param_6,uVar27,\n                             uVar27);" (assignment_expression "iVar7 = FUN_0003c5a0(param_1,local_3c,(int)uVar26,bVar24 == 0x46,param_5,param_6,uVar27,\n                             uVar27)" identifier = (call_expression "FUN_0003c5a0(param_1,local_3c,(int)uVar26,bVar24 == 0x46,param_5,param_6,uVar27,\n                             uVar27)" identifier (argument_list "(param_1,local_3c,(int)uVar26,bVar24 == 0x46,param_5,param_6,uVar27,\n                             uVar27)" ( identifier , identifier , (cast_expression "(int)uVar26" ( (type_descriptor "int" primitive_type) ) identifier) , (binary_expression "bVar24 == 0x46" identifier == number_literal) , identifier , identifier , identifier , identifier )))) ;) (while_statement "while( true ) {\n          if (iVar7 == 0) {\n            return 0;\n          }\n          if (*local_24 != 0x3b) break;\n          local_24 = local_24 + 1;\n          iVar7 = FUN_00040c70(&local_24,0,param_7);\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          if (iVar7 == 0) {\n            return 0;\n          }\n          if (*local_24 != 0x3b) break;\n          local_24 = local_24 + 1;\n          iVar7 = FUN_00040c70(&local_24,0,param_7);\n        }" { (if_statement "if (iVar7 == 0) {\n            return 0;\n          }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n            return 0;\n          }" { (return_statement "return 0;" return number_literal ;) })) (if_statement "if (*local_24 != 0x3b) break;" if (parenthesized_expression "(*local_24 != 0x3b)" ( (binary_expression "*local_24 != 0x3b" (pointer_expression "*local_24" * identifier) != number_literal) )) (break_statement "break;" break ;)) (expression_statement "local_24 = local_24 + 1;" (assignment_expression "local_24 = local_24 + 1" identifier = (binary_expression "local_24 + 1" identifier + number_literal)) ;) (expression_statement "iVar7 = FUN_00040c70(&local_24,0,param_7);" (assignment_expression "iVar7 = FUN_00040c70(&local_24,0,param_7)" identifier = (call_expression "FUN_00040c70(&local_24,0,param_7)" identifier (argument_list "(&local_24,0,param_7)" ( (pointer_expression "&local_24" & identifier) , number_literal , identifier )))) ;) })) (return_statement "return 1;" return number_literal ;)) (case_statement "case 0x47:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,iVar7);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) goto code_r0x00044c0d;\n        iVar10 = param_2[3];\n        piVar13 = (int *)param_2[2];\n        cVar3 = *(char *)(*(int *)(*param_2 + 4) + 0x18);\n        if (iVar10 < 1) goto code_r0x00044c0d;\n        cVar2 = *local_3c;\n        goto code_r0x00044bbc;" case number_literal : (expression_statement "local_24 = pbVar16;" (assignment_expression "local_24 = pbVar16" identifier = identifier) ;) (expression_statement "iVar7 = FUN_00040c70(&local_24,0,param_7,iVar7);" (assignment_expression "iVar7 = FUN_00040c70(&local_24,0,param_7,iVar7)" identifier = (call_expression "FUN_00040c70(&local_24,0,param_7,iVar7)" identifier (argument_list "(&local_24,0,param_7,iVar7)" ( (pointer_expression "&local_24" & identifier) , number_literal , identifier , identifier )))) ;) (if_statement "if (iVar7 == 0) {\n          return 0;\n        }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n          return 0;\n        }" { (return_statement "return 0;" return number_literal ;) })) (if_statement "if (local_3c == (char *)0x0) goto code_r0x00044c0d;" if (parenthesized_expression "(local_3c == (char *)0x0)" ( (binary_expression "local_3c == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto code_r0x00044c0d;" goto statement_identifier ;)) (expression_statement "iVar10 = param_2[3];" (assignment_expression "iVar10 = param_2[3]" identifier = (subscript_expression "param_2[3]" identifier [ number_literal ])) ;) (expression_statement "piVar13 = (int *)param_2[2];" (assignment_expression "piVar13 = (int *)param_2[2]" identifier = (cast_expression "(int *)param_2[2]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[2]" identifier [ number_literal ]))) ;) (expression_statement "cVar3 = *(char *)(*(int *)(*param_2 + 4) + 0x18);" (assignment_expression "cVar3 = *(char *)(*(int *)(*param_2 + 4) + 0x18)" identifier = (pointer_expression "*(char *)(*(int *)(*param_2 + 4) + 0x18)" * (cast_expression "(char *)(*(int *)(*param_2 + 4) + 0x18)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*param_2 + 4) + 0x18)" ( (binary_expression "*(int *)(*param_2 + 4) + 0x18" (pointer_expression "*(int *)(*param_2 + 4)" * (cast_expression "(int *)(*param_2 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_2 + 4)" ( (binary_expression "*param_2 + 4" (pointer_expression "*param_2" * identifier) + number_literal) )))) + number_literal) ))))) ;) (if_statement "if (iVar10 < 1) goto code_r0x00044c0d;" if (parenthesized_expression "(iVar10 < 1)" ( (binary_expression "iVar10 < 1" identifier < number_literal) )) (goto_statement "goto code_r0x00044c0d;" goto statement_identifier ;)) (expression_statement "cVar2 = *local_3c;" (assignment_expression "cVar2 = *local_3c" identifier = (pointer_expression "*local_3c" * identifier)) ;) (goto_statement "goto code_r0x00044bbc;" goto statement_identifier ;)) (case_statement "case 0x50:\n        if (param_3 == 0x24) {\n          local_24 = pbVar16;\n          do {\n            if (*local_24 != 0x3b) {\n              return 1;\n            }\n            local_24 = local_24 + 1;\n            iVar7 = FUN_00040c70(&local_24,0,param_7);\n          } while (iVar7 != 0);\n          return 0;\n        }" case number_literal : (if_statement "if (param_3 == 0x24) {\n          local_24 = pbVar16;\n          do {\n            if (*local_24 != 0x3b) {\n              return 1;\n            }\n            local_24 = local_24 + 1;\n            iVar7 = FUN_00040c70(&local_24,0,param_7);\n          } while (iVar7 != 0);\n          return 0;\n        }" if (parenthesized_expression "(param_3 == 0x24)" ( (binary_expression "param_3 == 0x24" identifier == number_literal) )) (compound_statement "{\n          local_24 = pbVar16;\n          do {\n            if (*local_24 != 0x3b) {\n              return 1;\n            }\n            local_24 = local_24 + 1;\n            iVar7 = FUN_00040c70(&local_24,0,param_7);\n          } while (iVar7 != 0);\n          return 0;\n        }" { (expression_statement "local_24 = pbVar16;" (assignment_expression "local_24 = pbVar16" identifier = identifier) ;) (do_statement "do {\n            if (*local_24 != 0x3b) {\n              return 1;\n            }\n            local_24 = local_24 + 1;\n            iVar7 = FUN_00040c70(&local_24,0,param_7);\n          } while (iVar7 != 0);" do (compound_statement "{\n            if (*local_24 != 0x3b) {\n              return 1;\n            }\n            local_24 = local_24 + 1;\n            iVar7 = FUN_00040c70(&local_24,0,param_7);\n          }" { (if_statement "if (*local_24 != 0x3b) {\n              return 1;\n            }" if (parenthesized_expression "(*local_24 != 0x3b)" ( (binary_expression "*local_24 != 0x3b" (pointer_expression "*local_24" * identifier) != number_literal) )) (compound_statement "{\n              return 1;\n            }" { (return_statement "return 1;" return number_literal ;) })) (expression_statement "local_24 = local_24 + 1;" (assignment_expression "local_24 = local_24 + 1" identifier = (binary_expression "local_24 + 1" identifier + number_literal)) ;) (expression_statement "iVar7 = FUN_00040c70(&local_24,0,param_7);" (assignment_expression "iVar7 = FUN_00040c70(&local_24,0,param_7)" identifier = (call_expression "FUN_00040c70(&local_24,0,param_7)" identifier (argument_list "(&local_24,0,param_7)" ( (pointer_expression "&local_24" & identifier) , number_literal , identifier )))) ;) }) while (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) ;) (return_statement "return 0;" return number_literal ;) }))) (case_statement "case 0x52:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,iVar7);\njoined_r0x00045010:\n        if (iVar7 == 0) {\n          return 0;\n        }\ncode_r0x00044af0:\n        iVar7 = FUN_0003c6e0(param_1,local_3c,iVar7);\n        goto joined_r0x00044fe7;" case number_literal : (expression_statement "local_24 = pbVar16;" (assignment_expression "local_24 = pbVar16" identifier = identifier) ;) (expression_statement "iVar7 = FUN_00040c70(&local_24,0,param_7,iVar7);" (assignment_expression "iVar7 = FUN_00040c70(&local_24,0,param_7,iVar7)" identifier = (call_expression "FUN_00040c70(&local_24,0,param_7,iVar7)" identifier (argument_list "(&local_24,0,param_7,iVar7)" ( (pointer_expression "&local_24" & identifier) , number_literal , identifier , identifier )))) ;) (labeled_statement "joined_r0x00045010:\n        if (iVar7 == 0) {\n          return 0;\n        }" statement_identifier : (if_statement "if (iVar7 == 0) {\n          return 0;\n        }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n          return 0;\n        }" { (return_statement "return 0;" return number_literal ;) }))) (labeled_statement "code_r0x00044af0:\n        iVar7 = FUN_0003c6e0(param_1,local_3c,iVar7);" statement_identifier : (expression_statement "iVar7 = FUN_0003c6e0(param_1,local_3c,iVar7);" (assignment_expression "iVar7 = FUN_0003c6e0(param_1,local_3c,iVar7)" identifier = (call_expression "FUN_0003c6e0(param_1,local_3c,iVar7)" identifier (argument_list "(param_1,local_3c,iVar7)" ( identifier , identifier , identifier )))) ;)) (goto_statement "goto joined_r0x00044fe7;" goto statement_identifier ;)) (case_statement "case 0x53:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 2;\n        goto code_r0x0004486e;" case number_literal : (expression_statement "pbVar18 = local_24;" (assignment_expression "pbVar18 = local_24" identifier = identifier) ;) (expression_statement "local_24 = pbVar16;" (assignment_expression "local_24 = pbVar16" identifier = identifier) ;) (expression_statement "iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);" (assignment_expression "iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18)" identifier = (call_expression "FUN_00040c70(&local_24,0,param_7,pbVar18)" identifier (argument_list "(&local_24,0,param_7,pbVar18)" ( (pointer_expression "&local_24" & identifier) , number_literal , identifier , identifier )))) ;) (if_statement "if (iVar7 == 0) {\n          return 0;\n        }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n          return 0;\n        }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "uVar27 = 2;" (assignment_expression "uVar27 = 2" identifier = number_literal) ;) (goto_statement "goto code_r0x0004486e;" goto statement_identifier ;)) (case_statement "case 0x54:\n        pbVar18 = local_24 + 2;\n        if (*pbVar18 == 0x74) {\n          pbVar16 = local_24 + 3;\n        }\n        local_24 = pbVar16;\n        uVar11 = (uint)(*pbVar18 == 0x74);\n        iVar7 = FUN_00040c70(&local_24,apiStack_20,param_7,param_3);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) {\n          return 1;\n        }\n        iVar10 = param_2[0x3a];\n        iVar7 = FUN_0003d680(param_1,local_3c,iVar7,extraout_ECX);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (apiStack_20[0] != (int *)0x0) {\n          *apiStack_20[0] = iVar7;\n        }\n        piVar13 = apiStack_20[0];\n        if (iVar10 != 0) goto code_r0x00044efc;\n        if ((int *)param_2[0x39] == (int *)0x0) goto code_r0x00044efc;\n        cVar3 = *local_3c;\n        piVar17 = param_2 + 0x39;\n        piVar20 = (int *)param_2[0x39];\n        goto code_r0x00044ecc;" case number_literal : (expression_statement "pbVar18 = local_24 + 2;" (assignment_expression "pbVar18 = local_24 + 2" identifier = (binary_expression "local_24 + 2" identifier + number_literal)) ;) (if_statement "if (*pbVar18 == 0x74) {\n          pbVar16 = local_24 + 3;\n        }" if (parenthesized_expression "(*pbVar18 == 0x74)" ( (binary_expression "*pbVar18 == 0x74" (pointer_expression "*pbVar18" * identifier) == number_literal) )) (compound_statement "{\n          pbVar16 = local_24 + 3;\n        }" { (expression_statement "pbVar16 = local_24 + 3;" (assignment_expression "pbVar16 = local_24 + 3" identifier = (binary_expression "local_24 + 3" identifier + number_literal)) ;) })) (expression_statement "local_24 = pbVar16;" (assignment_expression "local_24 = pbVar16" identifier = identifier) ;) (expression_statement "uVar11 = (uint)(*pbVar18 == 0x74);" (assignment_expression "uVar11 = (uint)(*pbVar18 == 0x74)" identifier = (call_expression "(uint)(*pbVar18 == 0x74)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*pbVar18 == 0x74)" ( (binary_expression "*pbVar18 == 0x74" (pointer_expression "*pbVar18" * identifier) == number_literal) )))) ;) (expression_statement "iVar7 = FUN_00040c70(&local_24,apiStack_20,param_7,param_3);" (assignment_expression "iVar7 = FUN_00040c70(&local_24,apiStack_20,param_7,param_3)" identifier = (call_expression "FUN_00040c70(&local_24,apiStack_20,param_7,param_3)" identifier (argument_list "(&local_24,apiStack_20,param_7,param_3)" ( (pointer_expression "&local_24" & identifier) , identifier , identifier , identifier )))) ;) (if_statement "if (iVar7 == 0) {\n          return 0;\n        }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n          return 0;\n        }" { (return_statement "return 0;" return number_literal ;) })) (if_statement "if (local_3c == (char *)0x0) {\n          return 1;\n        }" if (parenthesized_expression "(local_3c == (char *)0x0)" ( (binary_expression "local_3c == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          return 1;\n        }" { (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar10 = param_2[0x3a];" (assignment_expression "iVar10 = param_2[0x3a]" identifier = (subscript_expression "param_2[0x3a]" identifier [ number_literal ])) ;) (expression_statement "iVar7 = FUN_0003d680(param_1,local_3c,iVar7,extraout_ECX);" (assignment_expression "iVar7 = FUN_0003d680(param_1,local_3c,iVar7,extraout_ECX)" identifier = (call_expression "FUN_0003d680(param_1,local_3c,iVar7,extraout_ECX)" identifier (argument_list "(param_1,local_3c,iVar7,extraout_ECX)" ( identifier , identifier , identifier , identifier )))) ;) (if_statement "if (iVar7 == 0) {\n          return 0;\n        }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n          return 0;\n        }" { (return_statement "return 0;" return number_literal ;) })) (if_statement "if (apiStack_20[0] != (int *)0x0) {\n          *apiStack_20[0] = iVar7;\n        }" if (parenthesized_expression "(apiStack_20[0] != (int *)0x0)" ( (binary_expression "apiStack_20[0] != (int *)0x0" (subscript_expression "apiStack_20[0]" identifier [ number_literal ]) != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          *apiStack_20[0] = iVar7;\n        }" { (expression_statement "*apiStack_20[0] = iVar7;" (assignment_expression "*apiStack_20[0] = iVar7" (pointer_expression "*apiStack_20[0]" * (subscript_expression "apiStack_20[0]" identifier [ number_literal ])) = identifier) ;) })) (expression_statement "piVar13 = apiStack_20[0];" (assignment_expression "piVar13 = apiStack_20[0]" identifier = (subscript_expression "apiStack_20[0]" identifier [ number_literal ])) ;) (if_statement "if (iVar10 != 0) goto code_r0x00044efc;" if (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) )) (goto_statement "goto code_r0x00044efc;" goto statement_identifier ;)) (if_statement "if ((int *)param_2[0x39] == (int *)0x0) goto code_r0x00044efc;" if (parenthesized_expression "((int *)param_2[0x39] == (int *)0x0)" ( (binary_expression "(int *)param_2[0x39] == (int *)0x0" (cast_expression "(int *)param_2[0x39]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[0x39]" identifier [ number_literal ])) == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto code_r0x00044efc;" goto statement_identifier ;)) (expression_statement "cVar3 = *local_3c;" (assignment_expression "cVar3 = *local_3c" identifier = (pointer_expression "*local_3c" * identifier)) ;) (expression_statement "piVar17 = param_2 + 0x39;" (assignment_expression "piVar17 = param_2 + 0x39" identifier = (binary_expression "param_2 + 0x39" identifier + number_literal)) ;) (expression_statement "piVar20 = (int *)param_2[0x39];" (assignment_expression "piVar20 = (int *)param_2[0x39]" identifier = (cast_expression "(int *)param_2[0x39]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[0x39]" identifier [ number_literal ]))) ;) (goto_statement "goto code_r0x00044ecc;" goto statement_identifier ;)) (case_statement "case 0x56:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 3;\n        goto code_r0x0004486e;" case number_literal : (expression_statement "pbVar18 = local_24;" (assignment_expression "pbVar18 = local_24" identifier = identifier) ;) (expression_statement "local_24 = pbVar16;" (assignment_expression "local_24 = pbVar16" identifier = identifier) ;) (expression_statement "iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);" (assignment_expression "iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18)" identifier = (call_expression "FUN_00040c70(&local_24,0,param_7,pbVar18)" identifier (argument_list "(&local_24,0,param_7,pbVar18)" ( (pointer_expression "&local_24" & identifier) , number_literal , identifier , identifier )))) ;) (if_statement "if (iVar7 == 0) {\n          return 0;\n        }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n          return 0;\n        }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "uVar27 = 3;" (assignment_expression "uVar27 = 3" identifier = number_literal) ;) (goto_statement "goto code_r0x0004486e;" goto statement_identifier ;)) (case_statement "case 0x58:" case number_literal :) (case_statement "case 0x6c:" case number_literal :) (case_statement "case 0x73:\n        goto LAB_0004483d;" case number_literal : (goto_statement "goto LAB_0004483d;" goto statement_identifier ;)) (case_statement "case 0x59:\n        pbVar16 = local_24 + 3;\n        if ((local_24[3] == 0x6e) &&\n           (pbVar16 = local_24 + 4, pbVar18 = local_24 + 4, local_24 = pbVar16, *pbVar18 == 0x30)) {\n          for (; *local_24 != 0x3b; local_24 = local_24 + 1) {\n          }\n          return 1;\n        }\nLAB_00044e16:\n        local_24 = pbVar16;\n        FUN_0003dfb0();\n        return 0;" case number_literal : (expression_statement "pbVar16 = local_24 + 3;" (assignment_expression "pbVar16 = local_24 + 3" identifier = (binary_expression "local_24 + 3" identifier + number_literal)) ;) (if_statement "if ((local_24[3] == 0x6e) &&\n           (pbVar16 = local_24 + 4, pbVar18 = local_24 + 4, local_24 = pbVar16, *pbVar18 == 0x30)) {\n          for (; *local_24 != 0x3b; local_24 = local_24 + 1) {\n          }\n          return 1;\n        }" if (parenthesized_expression "((local_24[3] == 0x6e) &&\n           (pbVar16 = local_24 + 4, pbVar18 = local_24 + 4, local_24 = pbVar16, *pbVar18 == 0x30))" ( (binary_expression "(local_24[3] == 0x6e) &&\n           (pbVar16 = local_24 + 4, pbVar18 = local_24 + 4, local_24 = pbVar16, *pbVar18 == 0x30)" (parenthesized_expression "(local_24[3] == 0x6e)" ( (binary_expression "local_24[3] == 0x6e" (subscript_expression "local_24[3]" identifier [ number_literal ]) == number_literal) )) && (parenthesized_expression "(pbVar16 = local_24 + 4, pbVar18 = local_24 + 4, local_24 = pbVar16, *pbVar18 == 0x30)" ( (comma_expression "pbVar16 = local_24 + 4, pbVar18 = local_24 + 4, local_24 = pbVar16, *pbVar18 == 0x30" (assignment_expression "pbVar16 = local_24 + 4" identifier = (binary_expression "local_24 + 4" identifier + number_literal)) , (comma_expression "pbVar18 = local_24 + 4, local_24 = pbVar16, *pbVar18 == 0x30" (assignment_expression "pbVar18 = local_24 + 4" identifier = (binary_expression "local_24 + 4" identifier + number_literal)) , (comma_expression "local_24 = pbVar16, *pbVar18 == 0x30" (assignment_expression "local_24 = pbVar16" identifier = identifier) , (binary_expression "*pbVar18 == 0x30" (pointer_expression "*pbVar18" * identifier) == number_literal)))) ))) )) (compound_statement "{\n          for (; *local_24 != 0x3b; local_24 = local_24 + 1) {\n          }\n          return 1;\n        }" { (for_statement "for (; *local_24 != 0x3b; local_24 = local_24 + 1) {\n          }" for ( ; (binary_expression "*local_24 != 0x3b" (pointer_expression "*local_24" * identifier) != number_literal) ; (assignment_expression "local_24 = local_24 + 1" identifier = (binary_expression "local_24 + 1" identifier + number_literal)) ) (compound_statement "{\n          }" { })) (return_statement "return 1;" return number_literal ;) })) (labeled_statement "LAB_00044e16:\n        local_24 = pbVar16;" statement_identifier : (expression_statement "local_24 = pbVar16;" (assignment_expression "local_24 = pbVar16" identifier = identifier) ;)) (expression_statement "FUN_0003dfb0();" (call_expression "FUN_0003dfb0()" identifier (argument_list "()" ( ))) ;) (return_statement "return 0;" return number_literal ;)) (case_statement "case 0x61:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,bVar24);\n        goto joined_r0x00045010;" case number_literal : (expression_statement "local_24 = pbVar16;" (assignment_expression "local_24 = pbVar16" identifier = identifier) ;) (expression_statement "iVar7 = FUN_00040c70(&local_24,0,param_7,bVar24);" (assignment_expression "iVar7 = FUN_00040c70(&local_24,0,param_7,bVar24)" identifier = (call_expression "FUN_00040c70(&local_24,0,param_7,bVar24)" identifier (argument_list "(&local_24,0,param_7,bVar24)" ( (pointer_expression "&local_24" & identifier) , number_literal , identifier , identifier )))) ;) (goto_statement "goto joined_r0x00045010;" goto statement_identifier ;)) (case_statement "case 99:\n        if (local_24[2] == 0x3d) {\n          pbVar16 = local_24 + 4;\n          bVar24 = local_24[3];\n          local_24 = pbVar16;\n          if (bVar24 == 0x69) {\n            lVar15 = strtol((char *)pbVar16,(char **)0x0,10);\n            iVar7 = FUN_0003cbe0(param_1,local_3c,lVar15,lVar15 >> 0x1f);\n            goto joined_r0x00044fe7;\n          }\n          if (bVar24 == 0x72) {\n            lVar25 = (longdouble)func_0x00013560(pbVar16,0,0x72,0x72);\n            iVar7 = FUN_0003cc30(param_1,local_3c,(double)lVar25);\n            goto joined_r0x00044fe7;\n          }\n          if (bVar24 == 0x65) {\n            iVar7 = FUN_00040c70(&local_24,0,param_7,0x65);\n            if (iVar7 == 0) {\n              return 0;\n            }\n            pbVar16 = local_24;\n            if (*local_24 == 0x2c) {\n              uVar28 = 10;\n              uVar27 = 0;\n              lVar15 = strtol((char *)local_24,(char **)0x0,10);\n              iVar7 = FUN_0003cc70(param_1,local_3c,iVar7,lVar15,lVar15 >> 0x1f,uVar27,uVar28,\n                                   param_3);\n              goto joined_r0x00044fe7;\n            }\n          }\n        }\n        break;" case number_literal : (if_statement "if (local_24[2] == 0x3d) {\n          pbVar16 = local_24 + 4;\n          bVar24 = local_24[3];\n          local_24 = pbVar16;\n          if (bVar24 == 0x69) {\n            lVar15 = strtol((char *)pbVar16,(char **)0x0,10);\n            iVar7 = FUN_0003cbe0(param_1,local_3c,lVar15,lVar15 >> 0x1f);\n            goto joined_r0x00044fe7;\n          }\n          if (bVar24 == 0x72) {\n            lVar25 = (longdouble)func_0x00013560(pbVar16,0,0x72,0x72);\n            iVar7 = FUN_0003cc30(param_1,local_3c,(double)lVar25);\n            goto joined_r0x00044fe7;\n          }\n          if (bVar24 == 0x65) {\n            iVar7 = FUN_00040c70(&local_24,0,param_7,0x65);\n            if (iVar7 == 0) {\n              return 0;\n            }\n            pbVar16 = local_24;\n            if (*local_24 == 0x2c) {\n              uVar28 = 10;\n              uVar27 = 0;\n              lVar15 = strtol((char *)local_24,(char **)0x0,10);\n              iVar7 = FUN_0003cc70(param_1,local_3c,iVar7,lVar15,lVar15 >> 0x1f,uVar27,uVar28,\n                                   param_3);\n              goto joined_r0x00044fe7;\n            }\n          }\n        }" if (parenthesized_expression "(local_24[2] == 0x3d)" ( (binary_expression "local_24[2] == 0x3d" (subscript_expression "local_24[2]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n          pbVar16 = local_24 + 4;\n          bVar24 = local_24[3];\n          local_24 = pbVar16;\n          if (bVar24 == 0x69) {\n            lVar15 = strtol((char *)pbVar16,(char **)0x0,10);\n            iVar7 = FUN_0003cbe0(param_1,local_3c,lVar15,lVar15 >> 0x1f);\n            goto joined_r0x00044fe7;\n          }\n          if (bVar24 == 0x72) {\n            lVar25 = (longdouble)func_0x00013560(pbVar16,0,0x72,0x72);\n            iVar7 = FUN_0003cc30(param_1,local_3c,(double)lVar25);\n            goto joined_r0x00044fe7;\n          }\n          if (bVar24 == 0x65) {\n            iVar7 = FUN_00040c70(&local_24,0,param_7,0x65);\n            if (iVar7 == 0) {\n              return 0;\n            }\n            pbVar16 = local_24;\n            if (*local_24 == 0x2c) {\n              uVar28 = 10;\n              uVar27 = 0;\n              lVar15 = strtol((char *)local_24,(char **)0x0,10);\n              iVar7 = FUN_0003cc70(param_1,local_3c,iVar7,lVar15,lVar15 >> 0x1f,uVar27,uVar28,\n                                   param_3);\n              goto joined_r0x00044fe7;\n            }\n          }\n        }" { (expression_statement "pbVar16 = local_24 + 4;" (assignment_expression "pbVar16 = local_24 + 4" identifier = (binary_expression "local_24 + 4" identifier + number_literal)) ;) (expression_statement "bVar24 = local_24[3];" (assignment_expression "bVar24 = local_24[3]" identifier = (subscript_expression "local_24[3]" identifier [ number_literal ])) ;) (expression_statement "local_24 = pbVar16;" (assignment_expression "local_24 = pbVar16" identifier = identifier) ;) (if_statement "if (bVar24 == 0x69) {\n            lVar15 = strtol((char *)pbVar16,(char **)0x0,10);\n            iVar7 = FUN_0003cbe0(param_1,local_3c,lVar15,lVar15 >> 0x1f);\n            goto joined_r0x00044fe7;\n          }" if (parenthesized_expression "(bVar24 == 0x69)" ( (binary_expression "bVar24 == 0x69" identifier == number_literal) )) (compound_statement "{\n            lVar15 = strtol((char *)pbVar16,(char **)0x0,10);\n            iVar7 = FUN_0003cbe0(param_1,local_3c,lVar15,lVar15 >> 0x1f);\n            goto joined_r0x00044fe7;\n          }" { (expression_statement "lVar15 = strtol((char *)pbVar16,(char **)0x0,10);" (assignment_expression "lVar15 = strtol((char *)pbVar16,(char **)0x0,10)" identifier = (call_expression "strtol((char *)pbVar16,(char **)0x0,10)" identifier (argument_list "((char *)pbVar16,(char **)0x0,10)" ( (cast_expression "(char *)pbVar16" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) , number_literal )))) ;) (expression_statement "iVar7 = FUN_0003cbe0(param_1,local_3c,lVar15,lVar15 >> 0x1f);" (assignment_expression "iVar7 = FUN_0003cbe0(param_1,local_3c,lVar15,lVar15 >> 0x1f)" identifier = (call_expression "FUN_0003cbe0(param_1,local_3c,lVar15,lVar15 >> 0x1f)" identifier (argument_list "(param_1,local_3c,lVar15,lVar15 >> 0x1f)" ( identifier , identifier , identifier , (binary_expression "lVar15 >> 0x1f" identifier >> number_literal) )))) ;) (goto_statement "goto joined_r0x00044fe7;" goto statement_identifier ;) })) (if_statement "if (bVar24 == 0x72) {\n            lVar25 = (longdouble)func_0x00013560(pbVar16,0,0x72,0x72);\n            iVar7 = FUN_0003cc30(param_1,local_3c,(double)lVar25);\n            goto joined_r0x00044fe7;\n          }" if (parenthesized_expression "(bVar24 == 0x72)" ( (binary_expression "bVar24 == 0x72" identifier == number_literal) )) (compound_statement "{\n            lVar25 = (longdouble)func_0x00013560(pbVar16,0,0x72,0x72);\n            iVar7 = FUN_0003cc30(param_1,local_3c,(double)lVar25);\n            goto joined_r0x00044fe7;\n          }" { (expression_statement "lVar25 = (longdouble)func_0x00013560(pbVar16,0,0x72,0x72);" (assignment_expression "lVar25 = (longdouble)func_0x00013560(pbVar16,0,0x72,0x72)" identifier = (cast_expression "(longdouble)func_0x00013560(pbVar16,0,0x72,0x72)" ( (type_descriptor "longdouble" type_identifier) ) (call_expression "func_0x00013560(pbVar16,0,0x72,0x72)" identifier (argument_list "(pbVar16,0,0x72,0x72)" ( identifier , number_literal , number_literal , number_literal ))))) ;) (expression_statement "iVar7 = FUN_0003cc30(param_1,local_3c,(double)lVar25);" (assignment_expression "iVar7 = FUN_0003cc30(param_1,local_3c,(double)lVar25)" identifier = (call_expression "FUN_0003cc30(param_1,local_3c,(double)lVar25)" identifier (argument_list "(param_1,local_3c,(double)lVar25)" ( identifier , identifier , (cast_expression "(double)lVar25" ( (type_descriptor "double" primitive_type) ) identifier) )))) ;) (goto_statement "goto joined_r0x00044fe7;" goto statement_identifier ;) })) (if_statement "if (bVar24 == 0x65) {\n            iVar7 = FUN_00040c70(&local_24,0,param_7,0x65);\n            if (iVar7 == 0) {\n              return 0;\n            }\n            pbVar16 = local_24;\n            if (*local_24 == 0x2c) {\n              uVar28 = 10;\n              uVar27 = 0;\n              lVar15 = strtol((char *)local_24,(char **)0x0,10);\n              iVar7 = FUN_0003cc70(param_1,local_3c,iVar7,lVar15,lVar15 >> 0x1f,uVar27,uVar28,\n                                   param_3);\n              goto joined_r0x00044fe7;\n            }\n          }" if (parenthesized_expression "(bVar24 == 0x65)" ( (binary_expression "bVar24 == 0x65" identifier == number_literal) )) (compound_statement "{\n            iVar7 = FUN_00040c70(&local_24,0,param_7,0x65);\n            if (iVar7 == 0) {\n              return 0;\n            }\n            pbVar16 = local_24;\n            if (*local_24 == 0x2c) {\n              uVar28 = 10;\n              uVar27 = 0;\n              lVar15 = strtol((char *)local_24,(char **)0x0,10);\n              iVar7 = FUN_0003cc70(param_1,local_3c,iVar7,lVar15,lVar15 >> 0x1f,uVar27,uVar28,\n                                   param_3);\n              goto joined_r0x00044fe7;\n            }\n          }" { (expression_statement "iVar7 = FUN_00040c70(&local_24,0,param_7,0x65);" (assignment_expression "iVar7 = FUN_00040c70(&local_24,0,param_7,0x65)" identifier = (call_expression "FUN_00040c70(&local_24,0,param_7,0x65)" identifier (argument_list "(&local_24,0,param_7,0x65)" ( (pointer_expression "&local_24" & identifier) , number_literal , identifier , number_literal )))) ;) (if_statement "if (iVar7 == 0) {\n              return 0;\n            }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n              return 0;\n            }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "pbVar16 = local_24;" (assignment_expression "pbVar16 = local_24" identifier = identifier) ;) (if_statement "if (*local_24 == 0x2c) {\n              uVar28 = 10;\n              uVar27 = 0;\n              lVar15 = strtol((char *)local_24,(char **)0x0,10);\n              iVar7 = FUN_0003cc70(param_1,local_3c,iVar7,lVar15,lVar15 >> 0x1f,uVar27,uVar28,\n                                   param_3);\n              goto joined_r0x00044fe7;\n            }" if (parenthesized_expression "(*local_24 == 0x2c)" ( (binary_expression "*local_24 == 0x2c" (pointer_expression "*local_24" * identifier) == number_literal) )) (compound_statement "{\n              uVar28 = 10;\n              uVar27 = 0;\n              lVar15 = strtol((char *)local_24,(char **)0x0,10);\n              iVar7 = FUN_0003cc70(param_1,local_3c,iVar7,lVar15,lVar15 >> 0x1f,uVar27,uVar28,\n                                   param_3);\n              goto joined_r0x00044fe7;\n            }" { (expression_statement "uVar28 = 10;" (assignment_expression "uVar28 = 10" identifier = number_literal) ;) (expression_statement "uVar27 = 0;" (assignment_expression "uVar27 = 0" identifier = number_literal) ;) (expression_statement "lVar15 = strtol((char *)local_24,(char **)0x0,10);" (assignment_expression "lVar15 = strtol((char *)local_24,(char **)0x0,10)" identifier = (call_expression "strtol((char *)local_24,(char **)0x0,10)" identifier (argument_list "((char *)local_24,(char **)0x0,10)" ( (cast_expression "(char *)local_24" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) , number_literal )))) ;) (expression_statement "iVar7 = FUN_0003cc70(param_1,local_3c,iVar7,lVar15,lVar15 >> 0x1f,uVar27,uVar28,\n                                   param_3);" (assignment_expression "iVar7 = FUN_0003cc70(param_1,local_3c,iVar7,lVar15,lVar15 >> 0x1f,uVar27,uVar28,\n                                   param_3)" identifier = (call_expression "FUN_0003cc70(param_1,local_3c,iVar7,lVar15,lVar15 >> 0x1f,uVar27,uVar28,\n                                   param_3)" identifier (argument_list "(param_1,local_3c,iVar7,lVar15,lVar15 >> 0x1f,uVar27,uVar28,\n                                   param_3)" ( identifier , identifier , identifier , identifier , (binary_expression "lVar15 >> 0x1f" identifier >> number_literal) , identifier , identifier , identifier )))) ;) (goto_statement "goto joined_r0x00044fe7;" goto statement_identifier ;) })) })) })) (break_statement "break;" break ;)) (case_statement "case 0x70:\n        if (local_24[2] == 0x46) {\n          local_24 = local_24 + 3;\n          iVar7 = FUN_00040c70(&local_24,0,param_7,local_24);\n          if (iVar7 == 0) {\n            return 0;\n          }\n          uVar27 = FUN_0003d080(param_1,iVar7,0,0);\n          iVar7 = FUN_0003d030(param_1,uVar27);\n        }\n        else {\n          pbVar18 = local_24;\n          local_24 = pbVar16;\n          iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        }\n        goto joined_r0x00044dee;" case number_literal : (if_statement "if (local_24[2] == 0x46) {\n          local_24 = local_24 + 3;\n          iVar7 = FUN_00040c70(&local_24,0,param_7,local_24);\n          if (iVar7 == 0) {\n            return 0;\n          }\n          uVar27 = FUN_0003d080(param_1,iVar7,0,0);\n          iVar7 = FUN_0003d030(param_1,uVar27);\n        }\n        else {\n          pbVar18 = local_24;\n          local_24 = pbVar16;\n          iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        }" if (parenthesized_expression "(local_24[2] == 0x46)" ( (binary_expression "local_24[2] == 0x46" (subscript_expression "local_24[2]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n          local_24 = local_24 + 3;\n          iVar7 = FUN_00040c70(&local_24,0,param_7,local_24);\n          if (iVar7 == 0) {\n            return 0;\n          }\n          uVar27 = FUN_0003d080(param_1,iVar7,0,0);\n          iVar7 = FUN_0003d030(param_1,uVar27);\n        }" { (expression_statement "local_24 = local_24 + 3;" (assignment_expression "local_24 = local_24 + 3" identifier = (binary_expression "local_24 + 3" identifier + number_literal)) ;) (expression_statement "iVar7 = FUN_00040c70(&local_24,0,param_7,local_24);" (assignment_expression "iVar7 = FUN_00040c70(&local_24,0,param_7,local_24)" identifier = (call_expression "FUN_00040c70(&local_24,0,param_7,local_24)" identifier (argument_list "(&local_24,0,param_7,local_24)" ( (pointer_expression "&local_24" & identifier) , number_literal , identifier , identifier )))) ;) (if_statement "if (iVar7 == 0) {\n            return 0;\n          }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n            return 0;\n          }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "uVar27 = FUN_0003d080(param_1,iVar7,0,0);" (assignment_expression "uVar27 = FUN_0003d080(param_1,iVar7,0,0)" identifier = (call_expression "FUN_0003d080(param_1,iVar7,0,0)" identifier (argument_list "(param_1,iVar7,0,0)" ( identifier , identifier , number_literal , number_literal )))) ;) (expression_statement "iVar7 = FUN_0003d030(param_1,uVar27);" (assignment_expression "iVar7 = FUN_0003d030(param_1,uVar27)" identifier = (call_expression "FUN_0003d030(param_1,uVar27)" identifier (argument_list "(param_1,uVar27)" ( identifier , identifier )))) ;) }) (else_clause "else {\n          pbVar18 = local_24;\n          local_24 = pbVar16;\n          iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        }" else (compound_statement "{\n          pbVar18 = local_24;\n          local_24 = pbVar16;\n          iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        }" { (expression_statement "pbVar18 = local_24;" (assignment_expression "pbVar18 = local_24" identifier = identifier) ;) (expression_statement "local_24 = pbVar16;" (assignment_expression "local_24 = pbVar16" identifier = identifier) ;) (expression_statement "iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);" (assignment_expression "iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18)" identifier = (call_expression "FUN_00040c70(&local_24,0,param_7,pbVar18)" identifier (argument_list "(&local_24,0,param_7,pbVar18)" ( (pointer_expression "&local_24" & identifier) , number_literal , identifier , identifier )))) ;) }))) (goto_statement "goto joined_r0x00044dee;" goto statement_identifier ;)) (case_statement "case 0x72:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 5;\n        goto code_r0x0004486e;" case number_literal : (expression_statement "pbVar18 = local_24;" (assignment_expression "pbVar18 = local_24" identifier = identifier) ;) (expression_statement "local_24 = pbVar16;" (assignment_expression "local_24 = pbVar16" identifier = identifier) ;) (expression_statement "iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);" (assignment_expression "iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18)" identifier = (call_expression "FUN_00040c70(&local_24,0,param_7,pbVar18)" identifier (argument_list "(&local_24,0,param_7,pbVar18)" ( (pointer_expression "&local_24" & identifier) , number_literal , identifier , identifier )))) ;) (if_statement "if (iVar7 == 0) {\n          return 0;\n        }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n          return 0;\n        }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "uVar27 = 5;" (assignment_expression "uVar27 = 5" identifier = number_literal) ;) (goto_statement "goto code_r0x0004486e;" goto statement_identifier ;)) (case_statement "case 0x74:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,apiStack_20,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) {\n          return 1;\n        }\n        iVar7 = FUN_0003d5a0(param_1,local_3c,iVar7,param_2);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (apiStack_20[0] == (int *)0x0) {\n          return 1;\n        }\n        *apiStack_20[0] = iVar7;\n        return 1;" case number_literal : (expression_statement "pbVar18 = local_24;" (assignment_expression "pbVar18 = local_24" identifier = identifier) ;) (expression_statement "local_24 = pbVar16;" (assignment_expression "local_24 = pbVar16" identifier = identifier) ;) (expression_statement "iVar7 = FUN_00040c70(&local_24,apiStack_20,param_7,pbVar18);" (assignment_expression "iVar7 = FUN_00040c70(&local_24,apiStack_20,param_7,pbVar18)" identifier = (call_expression "FUN_00040c70(&local_24,apiStack_20,param_7,pbVar18)" identifier (argument_list "(&local_24,apiStack_20,param_7,pbVar18)" ( (pointer_expression "&local_24" & identifier) , identifier , identifier , identifier )))) ;) (if_statement "if (iVar7 == 0) {\n          return 0;\n        }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n          return 0;\n        }" { (return_statement "return 0;" return number_literal ;) })) (if_statement "if (local_3c == (char *)0x0) {\n          return 1;\n        }" if (parenthesized_expression "(local_3c == (char *)0x0)" ( (binary_expression "local_3c == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          return 1;\n        }" { (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar7 = FUN_0003d5a0(param_1,local_3c,iVar7,param_2);" (assignment_expression "iVar7 = FUN_0003d5a0(param_1,local_3c,iVar7,param_2)" identifier = (call_expression "FUN_0003d5a0(param_1,local_3c,iVar7,param_2)" identifier (argument_list "(param_1,local_3c,iVar7,param_2)" ( identifier , identifier , identifier , identifier )))) ;) (if_statement "if (iVar7 == 0) {\n          return 0;\n        }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n          return 0;\n        }" { (return_statement "return 0;" return number_literal ;) })) (if_statement "if (apiStack_20[0] == (int *)0x0) {\n          return 1;\n        }" if (parenthesized_expression "(apiStack_20[0] == (int *)0x0)" ( (binary_expression "apiStack_20[0] == (int *)0x0" (subscript_expression "apiStack_20[0]" identifier [ number_literal ]) == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          return 1;\n        }" { (return_statement "return 1;" return number_literal ;) })) (expression_statement "*apiStack_20[0] = iVar7;" (assignment_expression "*apiStack_20[0] = iVar7" (pointer_expression "*apiStack_20[0]" * (subscript_expression "apiStack_20[0]" identifier [ number_literal ])) = identifier) ;) (return_statement "return 1;" return number_literal ;)) (case_statement "case 0x76:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\njoined_r0x00044dee:\n        if (iVar7 == 0) {\n          return 0;\n        }\n        goto code_r0x00044af0;" case number_literal : (expression_statement "pbVar18 = local_24;" (assignment_expression "pbVar18 = local_24" identifier = identifier) ;) (expression_statement "local_24 = pbVar16;" (assignment_expression "local_24 = pbVar16" identifier = identifier) ;) (expression_statement "iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);" (assignment_expression "iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18)" identifier = (call_expression "FUN_00040c70(&local_24,0,param_7,pbVar18)" identifier (argument_list "(&local_24,0,param_7,pbVar18)" ( (pointer_expression "&local_24" & identifier) , number_literal , identifier , identifier )))) ;) (labeled_statement "joined_r0x00044dee:\n        if (iVar7 == 0) {\n          return 0;\n        }" statement_identifier : (if_statement "if (iVar7 == 0) {\n          return 0;\n        }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n          return 0;\n        }" { (return_statement "return 0;" return number_literal ;) }))) (goto_statement "goto code_r0x00044af0;" goto statement_identifier ;)) })) })) (goto_statement "goto LAB_000449d0;" goto statement_identifier ;) })) (if_statement "if (param_3 == 0xc0) {\n    if ((param_2[0xc] != 0) && (param_4 == 1)) {\n      return 1;\n    }\n    if (param_2[0x10] == 0) {\n      pcVar12 = (char *)dcgettext(0,"N_LBRAC not within function\n",5);\n      fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar12);\n      return 0;\n    }\n    uVar11 = param_2[9] + param_2[7];\n    iVar7 = FUN_0003c880(param_1,uVar11 + param_5,\n                         param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7]) + param_6 +\n                         (uint)CARRY4(uVar11,param_5));\n    if (iVar7 == 0) {\n      return 0;\n    }\n    iVar7 = FUN_0003e2f0();\n    if (iVar7 == 0) {\n      return 0;\n    }\n    param_2[0x13] = param_2[0x13] + 1;\n    return 1;\n  }" if (parenthesized_expression "(param_3 == 0xc0)" ( (binary_expression "param_3 == 0xc0" identifier == number_literal) )) (compound_statement "{\n    if ((param_2[0xc] != 0) && (param_4 == 1)) {\n      return 1;\n    }\n    if (param_2[0x10] == 0) {\n      pcVar12 = (char *)dcgettext(0,"N_LBRAC not within function\n",5);\n      fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar12);\n      return 0;\n    }\n    uVar11 = param_2[9] + param_2[7];\n    iVar7 = FUN_0003c880(param_1,uVar11 + param_5,\n                         param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7]) + param_6 +\n                         (uint)CARRY4(uVar11,param_5));\n    if (iVar7 == 0) {\n      return 0;\n    }\n    iVar7 = FUN_0003e2f0();\n    if (iVar7 == 0) {\n      return 0;\n    }\n    param_2[0x13] = param_2[0x13] + 1;\n    return 1;\n  }" { (if_statement "if ((param_2[0xc] != 0) && (param_4 == 1)) {\n      return 1;\n    }" if (parenthesized_expression "((param_2[0xc] != 0) && (param_4 == 1))" ( (binary_expression "(param_2[0xc] != 0) && (param_4 == 1)" (parenthesized_expression "(param_2[0xc] != 0)" ( (binary_expression "param_2[0xc] != 0" (subscript_expression "param_2[0xc]" identifier [ number_literal ]) != number_literal) )) && (parenthesized_expression "(param_4 == 1)" ( (binary_expression "param_4 == 1" identifier == number_literal) ))) )) (compound_statement "{\n      return 1;\n    }" { (return_statement "return 1;" return number_literal ;) })) (if_statement "if (param_2[0x10] == 0) {\n      pcVar12 = (char *)dcgettext(0,"N_LBRAC not within function\n",5);\n      fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar12);\n      return 0;\n    }" if (parenthesized_expression "(param_2[0x10] == 0)" ( (binary_expression "param_2[0x10] == 0" (subscript_expression "param_2[0x10]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      pcVar12 = (char *)dcgettext(0,"N_LBRAC not within function\n",5);\n      fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar12);\n      return 0;\n    }" { (expression_statement "pcVar12 = (char *)dcgettext(0,"N_LBRAC not within function\n",5);" (assignment_expression "pcVar12 = (char *)dcgettext(0,"N_LBRAC not within function\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"N_LBRAC not within function\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"N_LBRAC not within function\n",5)" identifier (argument_list "(0,"N_LBRAC not within function\n",5)" ( number_literal , (string_literal ""N_LBRAC not within function\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar12);" (call_expression "fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar12)" identifier (argument_list "(*(FILE **)PTR_stderr_00071fb4,pcVar12)" ( (pointer_expression "*(FILE **)PTR_stderr_00071fb4" * (cast_expression "(FILE **)PTR_stderr_00071fb4" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "uVar11 = param_2[9] + param_2[7];" (assignment_expression "uVar11 = param_2[9] + param_2[7]" identifier = (binary_expression "param_2[9] + param_2[7]" (subscript_expression "param_2[9]" identifier [ number_literal ]) + (subscript_expression "param_2[7]" identifier [ number_literal ]))) ;) (expression_statement "iVar7 = FUN_0003c880(param_1,uVar11 + param_5,\n                         param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7]) + param_6 +\n                         (uint)CARRY4(uVar11,param_5));" (assignment_expression "iVar7 = FUN_0003c880(param_1,uVar11 + param_5,\n                         param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7]) + param_6 +\n                         (uint)CARRY4(uVar11,param_5))" identifier = (call_expression "FUN_0003c880(param_1,uVar11 + param_5,\n                         param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7]) + param_6 +\n                         (uint)CARRY4(uVar11,param_5))" identifier (argument_list "(param_1,uVar11 + param_5,\n                         param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7]) + param_6 +\n                         (uint)CARRY4(uVar11,param_5))" ( identifier , (binary_expression "uVar11 + param_5" identifier + identifier) , (binary_expression "param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7]) + param_6 +\n                         (uint)CARRY4(uVar11,param_5)" (binary_expression "param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7]) + param_6" (binary_expression "param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7])" (binary_expression "param_2[10] + param_2[8]" (subscript_expression "param_2[10]" identifier [ number_literal ]) + (subscript_expression "param_2[8]" identifier [ number_literal ])) + (cast_expression "(uint)CARRY4(param_2[9],param_2[7])" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(param_2[9],param_2[7])" identifier (argument_list "(param_2[9],param_2[7])" ( (subscript_expression "param_2[9]" identifier [ number_literal ]) , (subscript_expression "param_2[7]" identifier [ number_literal ]) ))))) + identifier) + (cast_expression "(uint)CARRY4(uVar11,param_5)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar11,param_5)" identifier (argument_list "(uVar11,param_5)" ( identifier , identifier ))))) )))) ;) (if_statement "if (iVar7 == 0) {\n      return 0;\n    }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n      return 0;\n    }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "iVar7 = FUN_0003e2f0();" (assignment_expression "iVar7 = FUN_0003e2f0()" identifier = (call_expression "FUN_0003e2f0()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar7 == 0) {\n      return 0;\n    }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n      return 0;\n    }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "param_2[0x13] = param_2[0x13] + 1;" (assignment_expression "param_2[0x13] = param_2[0x13] + 1" (subscript_expression "param_2[0x13]" identifier [ number_literal ]) = (binary_expression "param_2[0x13] + 1" (subscript_expression "param_2[0x13]" identifier [ number_literal ]) + number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (if_statement "if (0xc0 < (int)param_3) {\n    if (param_3 == 0xe0) {\n      if ((param_2[0xc] != 0) && (param_4 == 1)) {\n        return 1;\n      }\n      iVar7 = FUN_0003e2f0();\n      if (iVar7 == 0) {\n        return 0;\n      }\n      uVar11 = param_2[9] + param_2[7];\n      iVar7 = FUN_0003c980(param_1,uVar11 + param_5,\n                           param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7]) + param_6\n                           + (uint)CARRY4(uVar11,param_5));\n      if (iVar7 == 0) {\n        return 0;\n      }\n      param_2 = param_2 + 0x13;\n      *param_2 = *param_2 + -1;\n      if (*param_2 < 0) {\n        pcVar12 = (char *)dcgettext(0,"Too many N_RBRACs\n",5);\n        fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar12);\n        return 0;\n      }\n      return 1;\n    }\n    if ((int)param_3 < 0xe1) {\n      if (param_3 == 0xc2) {\n        iVar7 = param_2[0x15];\n        param_2[0x15] = iVar7 + 1;\n        iVar7 = xrealloc(param_2[0x16],(iVar7 + 1) * 4);\n        puVar8 = (undefined4 *)param_2[0xf];\n        param_2[0x16] = iVar7;\n        while( true ) {\n          if (puVar8 == (undefined4 *)0x0) {\n            dcgettext(0,"Undefined N_EXCL",5);\n            FUN_0003df30();\n            *(undefined4 *)(param_2[0x16] + -4 + param_2[0x15] * 4) = 0;\n            return 1;\n          }\n          if ((puVar8[4] == param_6 && puVar8[3] == param_5) &&\n             (iVar10 = strcmp((char *)puVar8[2],(char *)param_7), iVar10 == 0)) break;\n          puVar8 = (undefined4 *)*puVar8;\n        }\n        *(undefined4 *)(iVar7 + -4 + param_2[0x15] * 4) = puVar8[6];\n        return 1;\n      }\n      goto LAB_00044431;\n    }\n    if (param_3 == 0xe2) {\n      iVar7 = FUN_0003cb60(param_1,param_7);\n    }\n    else {\n      if (param_3 != 0xe4) goto LAB_00044431;\n      iVar7 = FUN_0003cba0(param_1,param_7);\n    }\n    goto LAB_0004426d;\n  }" if (parenthesized_expression "(0xc0 < (int)param_3)" ( (binary_expression "0xc0 < (int)param_3" number_literal < (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    if (param_3 == 0xe0) {\n      if ((param_2[0xc] != 0) && (param_4 == 1)) {\n        return 1;\n      }\n      iVar7 = FUN_0003e2f0();\n      if (iVar7 == 0) {\n        return 0;\n      }\n      uVar11 = param_2[9] + param_2[7];\n      iVar7 = FUN_0003c980(param_1,uVar11 + param_5,\n                           param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7]) + param_6\n                           + (uint)CARRY4(uVar11,param_5));\n      if (iVar7 == 0) {\n        return 0;\n      }\n      param_2 = param_2 + 0x13;\n      *param_2 = *param_2 + -1;\n      if (*param_2 < 0) {\n        pcVar12 = (char *)dcgettext(0,"Too many N_RBRACs\n",5);\n        fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar12);\n        return 0;\n      }\n      return 1;\n    }\n    if ((int)param_3 < 0xe1) {\n      if (param_3 == 0xc2) {\n        iVar7 = param_2[0x15];\n        param_2[0x15] = iVar7 + 1;\n        iVar7 = xrealloc(param_2[0x16],(iVar7 + 1) * 4);\n        puVar8 = (undefined4 *)param_2[0xf];\n        param_2[0x16] = iVar7;\n        while( true ) {\n          if (puVar8 == (undefined4 *)0x0) {\n            dcgettext(0,"Undefined N_EXCL",5);\n            FUN_0003df30();\n            *(undefined4 *)(param_2[0x16] + -4 + param_2[0x15] * 4) = 0;\n            return 1;\n          }\n          if ((puVar8[4] == param_6 && puVar8[3] == param_5) &&\n             (iVar10 = strcmp((char *)puVar8[2],(char *)param_7), iVar10 == 0)) break;\n          puVar8 = (undefined4 *)*puVar8;\n        }\n        *(undefined4 *)(iVar7 + -4 + param_2[0x15] * 4) = puVar8[6];\n        return 1;\n      }\n      goto LAB_00044431;\n    }\n    if (param_3 == 0xe2) {\n      iVar7 = FUN_0003cb60(param_1,param_7);\n    }\n    else {\n      if (param_3 != 0xe4) goto LAB_00044431;\n      iVar7 = FUN_0003cba0(param_1,param_7);\n    }\n    goto LAB_0004426d;\n  }" { (if_statement "if (param_3 == 0xe0) {\n      if ((param_2[0xc] != 0) && (param_4 == 1)) {\n        return 1;\n      }\n      iVar7 = FUN_0003e2f0();\n      if (iVar7 == 0) {\n        return 0;\n      }\n      uVar11 = param_2[9] + param_2[7];\n      iVar7 = FUN_0003c980(param_1,uVar11 + param_5,\n                           param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7]) + param_6\n                           + (uint)CARRY4(uVar11,param_5));\n      if (iVar7 == 0) {\n        return 0;\n      }\n      param_2 = param_2 + 0x13;\n      *param_2 = *param_2 + -1;\n      if (*param_2 < 0) {\n        pcVar12 = (char *)dcgettext(0,"Too many N_RBRACs\n",5);\n        fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar12);\n        return 0;\n      }\n      return 1;\n    }" if (parenthesized_expression "(param_3 == 0xe0)" ( (binary_expression "param_3 == 0xe0" identifier == number_literal) )) (compound_statement "{\n      if ((param_2[0xc] != 0) && (param_4 == 1)) {\n        return 1;\n      }\n      iVar7 = FUN_0003e2f0();\n      if (iVar7 == 0) {\n        return 0;\n      }\n      uVar11 = param_2[9] + param_2[7];\n      iVar7 = FUN_0003c980(param_1,uVar11 + param_5,\n                           param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7]) + param_6\n                           + (uint)CARRY4(uVar11,param_5));\n      if (iVar7 == 0) {\n        return 0;\n      }\n      param_2 = param_2 + 0x13;\n      *param_2 = *param_2 + -1;\n      if (*param_2 < 0) {\n        pcVar12 = (char *)dcgettext(0,"Too many N_RBRACs\n",5);\n        fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar12);\n        return 0;\n      }\n      return 1;\n    }" { (if_statement "if ((param_2[0xc] != 0) && (param_4 == 1)) {\n        return 1;\n      }" if (parenthesized_expression "((param_2[0xc] != 0) && (param_4 == 1))" ( (binary_expression "(param_2[0xc] != 0) && (param_4 == 1)" (parenthesized_expression "(param_2[0xc] != 0)" ( (binary_expression "param_2[0xc] != 0" (subscript_expression "param_2[0xc]" identifier [ number_literal ]) != number_literal) )) && (parenthesized_expression "(param_4 == 1)" ( (binary_expression "param_4 == 1" identifier == number_literal) ))) )) (compound_statement "{\n        return 1;\n      }" { (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar7 = FUN_0003e2f0();" (assignment_expression "iVar7 = FUN_0003e2f0()" identifier = (call_expression "FUN_0003e2f0()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar7 == 0) {\n        return 0;\n      }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n        return 0;\n      }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "uVar11 = param_2[9] + param_2[7];" (assignment_expression "uVar11 = param_2[9] + param_2[7]" identifier = (binary_expression "param_2[9] + param_2[7]" (subscript_expression "param_2[9]" identifier [ number_literal ]) + (subscript_expression "param_2[7]" identifier [ number_literal ]))) ;) (expression_statement "iVar7 = FUN_0003c980(param_1,uVar11 + param_5,\n                           param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7]) + param_6\n                           + (uint)CARRY4(uVar11,param_5));" (assignment_expression "iVar7 = FUN_0003c980(param_1,uVar11 + param_5,\n                           param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7]) + param_6\n                           + (uint)CARRY4(uVar11,param_5))" identifier = (call_expression "FUN_0003c980(param_1,uVar11 + param_5,\n                           param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7]) + param_6\n                           + (uint)CARRY4(uVar11,param_5))" identifier (argument_list "(param_1,uVar11 + param_5,\n                           param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7]) + param_6\n                           + (uint)CARRY4(uVar11,param_5))" ( identifier , (binary_expression "uVar11 + param_5" identifier + identifier) , (binary_expression "param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7]) + param_6\n                           + (uint)CARRY4(uVar11,param_5)" (binary_expression "param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7]) + param_6" (binary_expression "param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7])" (binary_expression "param_2[10] + param_2[8]" (subscript_expression "param_2[10]" identifier [ number_literal ]) + (subscript_expression "param_2[8]" identifier [ number_literal ])) + (cast_expression "(uint)CARRY4(param_2[9],param_2[7])" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(param_2[9],param_2[7])" identifier (argument_list "(param_2[9],param_2[7])" ( (subscript_expression "param_2[9]" identifier [ number_literal ]) , (subscript_expression "param_2[7]" identifier [ number_literal ]) ))))) + identifier) + (cast_expression "(uint)CARRY4(uVar11,param_5)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar11,param_5)" identifier (argument_list "(uVar11,param_5)" ( identifier , identifier ))))) )))) ;) (if_statement "if (iVar7 == 0) {\n        return 0;\n      }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n        return 0;\n      }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "param_2 = param_2 + 0x13;" (assignment_expression "param_2 = param_2 + 0x13" identifier = (binary_expression "param_2 + 0x13" identifier + number_literal)) ;) (expression_statement "*param_2 = *param_2 + -1;" (assignment_expression "*param_2 = *param_2 + -1" (pointer_expression "*param_2" * identifier) = (binary_expression "*param_2 + -1" (pointer_expression "*param_2" * identifier) + number_literal)) ;) (if_statement "if (*param_2 < 0) {\n        pcVar12 = (char *)dcgettext(0,"Too many N_RBRACs\n",5);\n        fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar12);\n        return 0;\n      }" if (parenthesized_expression "(*param_2 < 0)" ( (binary_expression "*param_2 < 0" (pointer_expression "*param_2" * identifier) < number_literal) )) (compound_statement "{\n        pcVar12 = (char *)dcgettext(0,"Too many N_RBRACs\n",5);\n        fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar12);\n        return 0;\n      }" { (expression_statement "pcVar12 = (char *)dcgettext(0,"Too many N_RBRACs\n",5);" (assignment_expression "pcVar12 = (char *)dcgettext(0,"Too many N_RBRACs\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"Too many N_RBRACs\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Too many N_RBRACs\n",5)" identifier (argument_list "(0,"Too many N_RBRACs\n",5)" ( number_literal , (string_literal ""Too many N_RBRACs\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar12);" (call_expression "fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar12)" identifier (argument_list "(*(FILE **)PTR_stderr_00071fb4,pcVar12)" ( (pointer_expression "*(FILE **)PTR_stderr_00071fb4" * (cast_expression "(FILE **)PTR_stderr_00071fb4" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (return_statement "return 1;" return number_literal ;) })) (if_statement "if ((int)param_3 < 0xe1) {\n      if (param_3 == 0xc2) {\n        iVar7 = param_2[0x15];\n        param_2[0x15] = iVar7 + 1;\n        iVar7 = xrealloc(param_2[0x16],(iVar7 + 1) * 4);\n        puVar8 = (undefined4 *)param_2[0xf];\n        param_2[0x16] = iVar7;\n        while( true ) {\n          if (puVar8 == (undefined4 *)0x0) {\n            dcgettext(0,"Undefined N_EXCL",5);\n            FUN_0003df30();\n            *(undefined4 *)(param_2[0x16] + -4 + param_2[0x15] * 4) = 0;\n            return 1;\n          }\n          if ((puVar8[4] == param_6 && puVar8[3] == param_5) &&\n             (iVar10 = strcmp((char *)puVar8[2],(char *)param_7), iVar10 == 0)) break;\n          puVar8 = (undefined4 *)*puVar8;\n        }\n        *(undefined4 *)(iVar7 + -4 + param_2[0x15] * 4) = puVar8[6];\n        return 1;\n      }\n      goto LAB_00044431;\n    }" if (parenthesized_expression "((int)param_3 < 0xe1)" ( (binary_expression "(int)param_3 < 0xe1" (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      if (param_3 == 0xc2) {\n        iVar7 = param_2[0x15];\n        param_2[0x15] = iVar7 + 1;\n        iVar7 = xrealloc(param_2[0x16],(iVar7 + 1) * 4);\n        puVar8 = (undefined4 *)param_2[0xf];\n        param_2[0x16] = iVar7;\n        while( true ) {\n          if (puVar8 == (undefined4 *)0x0) {\n            dcgettext(0,"Undefined N_EXCL",5);\n            FUN_0003df30();\n            *(undefined4 *)(param_2[0x16] + -4 + param_2[0x15] * 4) = 0;\n            return 1;\n          }\n          if ((puVar8[4] == param_6 && puVar8[3] == param_5) &&\n             (iVar10 = strcmp((char *)puVar8[2],(char *)param_7), iVar10 == 0)) break;\n          puVar8 = (undefined4 *)*puVar8;\n        }\n        *(undefined4 *)(iVar7 + -4 + param_2[0x15] * 4) = puVar8[6];\n        return 1;\n      }\n      goto LAB_00044431;\n    }" { (if_statement "if (param_3 == 0xc2) {\n        iVar7 = param_2[0x15];\n        param_2[0x15] = iVar7 + 1;\n        iVar7 = xrealloc(param_2[0x16],(iVar7 + 1) * 4);\n        puVar8 = (undefined4 *)param_2[0xf];\n        param_2[0x16] = iVar7;\n        while( true ) {\n          if (puVar8 == (undefined4 *)0x0) {\n            dcgettext(0,"Undefined N_EXCL",5);\n            FUN_0003df30();\n            *(undefined4 *)(param_2[0x16] + -4 + param_2[0x15] * 4) = 0;\n            return 1;\n          }\n          if ((puVar8[4] == param_6 && puVar8[3] == param_5) &&\n             (iVar10 = strcmp((char *)puVar8[2],(char *)param_7), iVar10 == 0)) break;\n          puVar8 = (undefined4 *)*puVar8;\n        }\n        *(undefined4 *)(iVar7 + -4 + param_2[0x15] * 4) = puVar8[6];\n        return 1;\n      }" if (parenthesized_expression "(param_3 == 0xc2)" ( (binary_expression "param_3 == 0xc2" identifier == number_literal) )) (compound_statement "{\n        iVar7 = param_2[0x15];\n        param_2[0x15] = iVar7 + 1;\n        iVar7 = xrealloc(param_2[0x16],(iVar7 + 1) * 4);\n        puVar8 = (undefined4 *)param_2[0xf];\n        param_2[0x16] = iVar7;\n        while( true ) {\n          if (puVar8 == (undefined4 *)0x0) {\n            dcgettext(0,"Undefined N_EXCL",5);\n            FUN_0003df30();\n            *(undefined4 *)(param_2[0x16] + -4 + param_2[0x15] * 4) = 0;\n            return 1;\n          }\n          if ((puVar8[4] == param_6 && puVar8[3] == param_5) &&\n             (iVar10 = strcmp((char *)puVar8[2],(char *)param_7), iVar10 == 0)) break;\n          puVar8 = (undefined4 *)*puVar8;\n        }\n        *(undefined4 *)(iVar7 + -4 + param_2[0x15] * 4) = puVar8[6];\n        return 1;\n      }" { (expression_statement "iVar7 = param_2[0x15];" (assignment_expression "iVar7 = param_2[0x15]" identifier = (subscript_expression "param_2[0x15]" identifier [ number_literal ])) ;) (expression_statement "param_2[0x15] = iVar7 + 1;" (assignment_expression "param_2[0x15] = iVar7 + 1" (subscript_expression "param_2[0x15]" identifier [ number_literal ]) = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) (expression_statement "iVar7 = xrealloc(param_2[0x16],(iVar7 + 1) * 4);" (assignment_expression "iVar7 = xrealloc(param_2[0x16],(iVar7 + 1) * 4)" identifier = (call_expression "xrealloc(param_2[0x16],(iVar7 + 1) * 4)" identifier (argument_list "(param_2[0x16],(iVar7 + 1) * 4)" ( (subscript_expression "param_2[0x16]" identifier [ number_literal ]) , (binary_expression "(iVar7 + 1) * 4" (parenthesized_expression "(iVar7 + 1)" ( (binary_expression "iVar7 + 1" identifier + number_literal) )) * number_literal) )))) ;) (expression_statement "puVar8 = (undefined4 *)param_2[0xf];" (assignment_expression "puVar8 = (undefined4 *)param_2[0xf]" identifier = (cast_expression "(undefined4 *)param_2[0xf]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[0xf]" identifier [ number_literal ]))) ;) (expression_statement "param_2[0x16] = iVar7;" (assignment_expression "param_2[0x16] = iVar7" (subscript_expression "param_2[0x16]" identifier [ number_literal ]) = identifier) ;) (while_statement "while( true ) {\n          if (puVar8 == (undefined4 *)0x0) {\n            dcgettext(0,"Undefined N_EXCL",5);\n            FUN_0003df30();\n            *(undefined4 *)(param_2[0x16] + -4 + param_2[0x15] * 4) = 0;\n            return 1;\n          }\n          if ((puVar8[4] == param_6 && puVar8[3] == param_5) &&\n             (iVar10 = strcmp((char *)puVar8[2],(char *)param_7), iVar10 == 0)) break;\n          puVar8 = (undefined4 *)*puVar8;\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          if (puVar8 == (undefined4 *)0x0) {\n            dcgettext(0,"Undefined N_EXCL",5);\n            FUN_0003df30();\n            *(undefined4 *)(param_2[0x16] + -4 + param_2[0x15] * 4) = 0;\n            return 1;\n          }\n          if ((puVar8[4] == param_6 && puVar8[3] == param_5) &&\n             (iVar10 = strcmp((char *)puVar8[2],(char *)param_7), iVar10 == 0)) break;\n          puVar8 = (undefined4 *)*puVar8;\n        }" { (if_statement "if (puVar8 == (undefined4 *)0x0) {\n            dcgettext(0,"Undefined N_EXCL",5);\n            FUN_0003df30();\n            *(undefined4 *)(param_2[0x16] + -4 + param_2[0x15] * 4) = 0;\n            return 1;\n          }" if (parenthesized_expression "(puVar8 == (undefined4 *)0x0)" ( (binary_expression "puVar8 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            dcgettext(0,"Undefined N_EXCL",5);\n            FUN_0003df30();\n            *(undefined4 *)(param_2[0x16] + -4 + param_2[0x15] * 4) = 0;\n            return 1;\n          }" { (expression_statement "dcgettext(0,"Undefined N_EXCL",5);" (call_expression "dcgettext(0,"Undefined N_EXCL",5)" identifier (argument_list "(0,"Undefined N_EXCL",5)" ( number_literal , (string_literal ""Undefined N_EXCL"" " string_content ") , number_literal ))) ;) (expression_statement "FUN_0003df30();" (call_expression "FUN_0003df30()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(param_2[0x16] + -4 + param_2[0x15] * 4) = 0;" (assignment_expression "*(undefined4 *)(param_2[0x16] + -4 + param_2[0x15] * 4) = 0" (pointer_expression "*(undefined4 *)(param_2[0x16] + -4 + param_2[0x15] * 4)" * (cast_expression "(undefined4 *)(param_2[0x16] + -4 + param_2[0x15] * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2[0x16] + -4 + param_2[0x15] * 4)" ( (binary_expression "param_2[0x16] + -4 + param_2[0x15] * 4" (binary_expression "param_2[0x16] + -4" (subscript_expression "param_2[0x16]" identifier [ number_literal ]) + number_literal) + (binary_expression "param_2[0x15] * 4" (subscript_expression "param_2[0x15]" identifier [ number_literal ]) * number_literal)) )))) = number_literal) ;) (return_statement "return 1;" return number_literal ;) })) (if_statement "if ((puVar8[4] == param_6 && puVar8[3] == param_5) &&\n             (iVar10 = strcmp((char *)puVar8[2],(char *)param_7), iVar10 == 0)) break;" if (parenthesized_expression "((puVar8[4] == param_6 && puVar8[3] == param_5) &&\n             (iVar10 = strcmp((char *)puVar8[2],(char *)param_7), iVar10 == 0))" ( (binary_expression "(puVar8[4] == param_6 && puVar8[3] == param_5) &&\n             (iVar10 = strcmp((char *)puVar8[2],(char *)param_7), iVar10 == 0)" (parenthesized_expression "(puVar8[4] == param_6 && puVar8[3] == param_5)" ( (binary_expression "puVar8[4] == param_6 && puVar8[3] == param_5" (binary_expression "puVar8[4] == param_6" (subscript_expression "puVar8[4]" identifier [ number_literal ]) == identifier) && (binary_expression "puVar8[3] == param_5" (subscript_expression "puVar8[3]" identifier [ number_literal ]) == identifier)) )) && (parenthesized_expression "(iVar10 = strcmp((char *)puVar8[2],(char *)param_7), iVar10 == 0)" ( (comma_expression "iVar10 = strcmp((char *)puVar8[2],(char *)param_7), iVar10 == 0" (assignment_expression "iVar10 = strcmp((char *)puVar8[2],(char *)param_7)" identifier = (call_expression "strcmp((char *)puVar8[2],(char *)param_7)" identifier (argument_list "((char *)puVar8[2],(char *)param_7)" ( (cast_expression "(char *)puVar8[2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar8[2]" identifier [ number_literal ])) , (cast_expression "(char *)param_7" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) , (binary_expression "iVar10 == 0" identifier == number_literal)) ))) )) (break_statement "break;" break ;)) (expression_statement "puVar8 = (undefined4 *)*puVar8;" (assignment_expression "puVar8 = (undefined4 *)*puVar8" identifier = (cast_expression "(undefined4 *)*puVar8" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar8" * identifier))) ;) })) (expression_statement "*(undefined4 *)(iVar7 + -4 + param_2[0x15] * 4) = puVar8[6];" (assignment_expression "*(undefined4 *)(iVar7 + -4 + param_2[0x15] * 4) = puVar8[6]" (pointer_expression "*(undefined4 *)(iVar7 + -4 + param_2[0x15] * 4)" * (cast_expression "(undefined4 *)(iVar7 + -4 + param_2[0x15] * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + -4 + param_2[0x15] * 4)" ( (binary_expression "iVar7 + -4 + param_2[0x15] * 4" (binary_expression "iVar7 + -4" identifier + number_literal) + (binary_expression "param_2[0x15] * 4" (subscript_expression "param_2[0x15]" identifier [ number_literal ]) * number_literal)) )))) = (subscript_expression "puVar8[6]" identifier [ number_literal ])) ;) (return_statement "return 1;" return number_literal ;) })) (goto_statement "goto LAB_00044431;" goto statement_identifier ;) })) (if_statement "if (param_3 == 0xe2) {\n      iVar7 = FUN_0003cb60(param_1,param_7);\n    }\n    else {\n      if (param_3 != 0xe4) goto LAB_00044431;\n      iVar7 = FUN_0003cba0(param_1,param_7);\n    }" if (parenthesized_expression "(param_3 == 0xe2)" ( (binary_expression "param_3 == 0xe2" identifier == number_literal) )) (compound_statement "{\n      iVar7 = FUN_0003cb60(param_1,param_7);\n    }" { (expression_statement "iVar7 = FUN_0003cb60(param_1,param_7);" (assignment_expression "iVar7 = FUN_0003cb60(param_1,param_7)" identifier = (call_expression "FUN_0003cb60(param_1,param_7)" identifier (argument_list "(param_1,param_7)" ( identifier , identifier )))) ;) }) (else_clause "else {\n      if (param_3 != 0xe4) goto LAB_00044431;\n      iVar7 = FUN_0003cba0(param_1,param_7);\n    }" else (compound_statement "{\n      if (param_3 != 0xe4) goto LAB_00044431;\n      iVar7 = FUN_0003cba0(param_1,param_7);\n    }" { (if_statement "if (param_3 != 0xe4) goto LAB_00044431;" if (parenthesized_expression "(param_3 != 0xe4)" ( (binary_expression "param_3 != 0xe4" identifier != number_literal) )) (goto_statement "goto LAB_00044431;" goto statement_identifier ;)) (expression_statement "iVar7 = FUN_0003cba0(param_1,param_7);" (assignment_expression "iVar7 = FUN_0003cba0(param_1,param_7)" identifier = (call_expression "FUN_0003cba0(param_1,param_7)" identifier (argument_list "(param_1,param_7)" ( identifier , identifier )))) ;) }))) (goto_statement "goto LAB_0004426d;" goto statement_identifier ;) })) (if_statement "if (param_3 == 0x82) {\n    piVar13 = (int *)xmalloc(0x1c);\n    iVar7 = param_2[0xf];\n    piVar13[4] = param_6;\n    *piVar13 = iVar7;\n    iVar7 = param_2[0xe];\n    piVar13[6] = 0;\n    piVar13[1] = iVar7;\n    param_2[0xf] = (int)piVar13;\n    piVar13[2] = (int)param_7;\n    param_2[0xe] = (int)piVar13;\n    piVar13[3] = param_5;\n    iVar7 = param_2[0x15];\n    piVar13[5] = iVar7;\n    iVar7 = iVar7 + 1;\n    param_2[0x15] = iVar7;\n    iVar10 = xrealloc(param_2[0x16],iVar7 * 4);\n    iVar7 = piVar13[5];\n    param_2[0x16] = iVar10;\n    *(undefined4 *)(iVar10 + iVar7 * 4) = 0;\n  }\n  else {\n    if ((int)param_3 < 0x83) {\n      if (param_3 != 100) goto LAB_00044431;\n      bVar6 = *param_7;\n      if (param_2[0x10] != 0) {\n        if (bVar6 != 0) goto LAB_000448f8;\n        goto LAB_00044916;\n      }\n      goto LAB_00044966;\n    }\n    if (param_3 != 0x84) {\n      if (param_3 != 0xa2) goto LAB_00044431;\n      iVar7 = param_2[0xe];\n      if (iVar7 != 0) {\n        iVar10 = *(int *)(iVar7 + 4);\n        uVar11 = *(uint *)(iVar7 + 0x14);\n        param_2[0xe] = iVar10;\n        if ((uVar11 < (uint)param_2[0x15]) &&\n           (*(undefined4 *)(iVar7 + 0x18) = *(undefined4 *)(param_2[0x16] + uVar11 * 4), iVar10 != 0\n           )) {\n          param_7 = *(byte **)(iVar10 + 8);\n          goto LAB_000445bf;\n        }\n      }\n      param_7 = (byte *)param_2[0xd];\n    }\n  }" if (parenthesized_expression "(param_3 == 0x82)" ( (binary_expression "param_3 == 0x82" identifier == number_literal) )) (compound_statement "{\n    piVar13 = (int *)xmalloc(0x1c);\n    iVar7 = param_2[0xf];\n    piVar13[4] = param_6;\n    *piVar13 = iVar7;\n    iVar7 = param_2[0xe];\n    piVar13[6] = 0;\n    piVar13[1] = iVar7;\n    param_2[0xf] = (int)piVar13;\n    piVar13[2] = (int)param_7;\n    param_2[0xe] = (int)piVar13;\n    piVar13[3] = param_5;\n    iVar7 = param_2[0x15];\n    piVar13[5] = iVar7;\n    iVar7 = iVar7 + 1;\n    param_2[0x15] = iVar7;\n    iVar10 = xrealloc(param_2[0x16],iVar7 * 4);\n    iVar7 = piVar13[5];\n    param_2[0x16] = iVar10;\n    *(undefined4 *)(iVar10 + iVar7 * 4) = 0;\n  }" { (expression_statement "piVar13 = (int *)xmalloc(0x1c);" (assignment_expression "piVar13 = (int *)xmalloc(0x1c)" identifier = (cast_expression "(int *)xmalloc(0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(0x1c)" identifier (argument_list "(0x1c)" ( number_literal ))))) ;) (expression_statement "iVar7 = param_2[0xf];" (assignment_expression "iVar7 = param_2[0xf]" identifier = (subscript_expression "param_2[0xf]" identifier [ number_literal ])) ;) (expression_statement "piVar13[4] = param_6;" (assignment_expression "piVar13[4] = param_6" (subscript_expression "piVar13[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*piVar13 = iVar7;" (assignment_expression "*piVar13 = iVar7" (pointer_expression "*piVar13" * identifier) = identifier) ;) (expression_statement "iVar7 = param_2[0xe];" (assignment_expression "iVar7 = param_2[0xe]" identifier = (subscript_expression "param_2[0xe]" identifier [ number_literal ])) ;) (expression_statement "piVar13[6] = 0;" (assignment_expression "piVar13[6] = 0" (subscript_expression "piVar13[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar13[1] = iVar7;" (assignment_expression "piVar13[1] = iVar7" (subscript_expression "piVar13[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_2[0xf] = (int)piVar13;" (assignment_expression "param_2[0xf] = (int)piVar13" (subscript_expression "param_2[0xf]" identifier [ number_literal ]) = (cast_expression "(int)piVar13" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar13[2] = (int)param_7;" (assignment_expression "piVar13[2] = (int)param_7" (subscript_expression "piVar13[2]" identifier [ number_literal ]) = (cast_expression "(int)param_7" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "param_2[0xe] = (int)piVar13;" (assignment_expression "param_2[0xe] = (int)piVar13" (subscript_expression "param_2[0xe]" identifier [ number_literal ]) = (cast_expression "(int)piVar13" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar13[3] = param_5;" (assignment_expression "piVar13[3] = param_5" (subscript_expression "piVar13[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar7 = param_2[0x15];" (assignment_expression "iVar7 = param_2[0x15]" identifier = (subscript_expression "param_2[0x15]" identifier [ number_literal ])) ;) (expression_statement "piVar13[5] = iVar7;" (assignment_expression "piVar13[5] = iVar7" (subscript_expression "piVar13[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) (expression_statement "param_2[0x15] = iVar7;" (assignment_expression "param_2[0x15] = iVar7" (subscript_expression "param_2[0x15]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar10 = xrealloc(param_2[0x16],iVar7 * 4);" (assignment_expression "iVar10 = xrealloc(param_2[0x16],iVar7 * 4)" identifier = (call_expression "xrealloc(param_2[0x16],iVar7 * 4)" identifier (argument_list "(param_2[0x16],iVar7 * 4)" ( (subscript_expression "param_2[0x16]" identifier [ number_literal ]) , (binary_expression "iVar7 * 4" identifier * number_literal) )))) ;) (expression_statement "iVar7 = piVar13[5];" (assignment_expression "iVar7 = piVar13[5]" identifier = (subscript_expression "piVar13[5]" identifier [ number_literal ])) ;) (expression_statement "param_2[0x16] = iVar10;" (assignment_expression "param_2[0x16] = iVar10" (subscript_expression "param_2[0x16]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(undefined4 *)(iVar10 + iVar7 * 4) = 0;" (assignment_expression "*(undefined4 *)(iVar10 + iVar7 * 4) = 0" (pointer_expression "*(undefined4 *)(iVar10 + iVar7 * 4)" * (cast_expression "(undefined4 *)(iVar10 + iVar7 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + iVar7 * 4)" ( (binary_expression "iVar10 + iVar7 * 4" identifier + (binary_expression "iVar7 * 4" identifier * number_literal)) )))) = number_literal) ;) }) (else_clause "else {\n    if ((int)param_3 < 0x83) {\n      if (param_3 != 100) goto LAB_00044431;\n      bVar6 = *param_7;\n      if (param_2[0x10] != 0) {\n        if (bVar6 != 0) goto LAB_000448f8;\n        goto LAB_00044916;\n      }\n      goto LAB_00044966;\n    }\n    if (param_3 != 0x84) {\n      if (param_3 != 0xa2) goto LAB_00044431;\n      iVar7 = param_2[0xe];\n      if (iVar7 != 0) {\n        iVar10 = *(int *)(iVar7 + 4);\n        uVar11 = *(uint *)(iVar7 + 0x14);\n        param_2[0xe] = iVar10;\n        if ((uVar11 < (uint)param_2[0x15]) &&\n           (*(undefined4 *)(iVar7 + 0x18) = *(undefined4 *)(param_2[0x16] + uVar11 * 4), iVar10 != 0\n           )) {\n          param_7 = *(byte **)(iVar10 + 8);\n          goto LAB_000445bf;\n        }\n      }\n      param_7 = (byte *)param_2[0xd];\n    }\n  }" else (compound_statement "{\n    if ((int)param_3 < 0x83) {\n      if (param_3 != 100) goto LAB_00044431;\n      bVar6 = *param_7;\n      if (param_2[0x10] != 0) {\n        if (bVar6 != 0) goto LAB_000448f8;\n        goto LAB_00044916;\n      }\n      goto LAB_00044966;\n    }\n    if (param_3 != 0x84) {\n      if (param_3 != 0xa2) goto LAB_00044431;\n      iVar7 = param_2[0xe];\n      if (iVar7 != 0) {\n        iVar10 = *(int *)(iVar7 + 4);\n        uVar11 = *(uint *)(iVar7 + 0x14);\n        param_2[0xe] = iVar10;\n        if ((uVar11 < (uint)param_2[0x15]) &&\n           (*(undefined4 *)(iVar7 + 0x18) = *(undefined4 *)(param_2[0x16] + uVar11 * 4), iVar10 != 0\n           )) {\n          param_7 = *(byte **)(iVar10 + 8);\n          goto LAB_000445bf;\n        }\n      }\n      param_7 = (byte *)param_2[0xd];\n    }\n  }" { (if_statement "if ((int)param_3 < 0x83) {\n      if (param_3 != 100) goto LAB_00044431;\n      bVar6 = *param_7;\n      if (param_2[0x10] != 0) {\n        if (bVar6 != 0) goto LAB_000448f8;\n        goto LAB_00044916;\n      }\n      goto LAB_00044966;\n    }" if (parenthesized_expression "((int)param_3 < 0x83)" ( (binary_expression "(int)param_3 < 0x83" (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      if (param_3 != 100) goto LAB_00044431;\n      bVar6 = *param_7;\n      if (param_2[0x10] != 0) {\n        if (bVar6 != 0) goto LAB_000448f8;\n        goto LAB_00044916;\n      }\n      goto LAB_00044966;\n    }" { (if_statement "if (param_3 != 100) goto LAB_00044431;" if (parenthesized_expression "(param_3 != 100)" ( (binary_expression "param_3 != 100" identifier != number_literal) )) (goto_statement "goto LAB_00044431;" goto statement_identifier ;)) (expression_statement "bVar6 = *param_7;" (assignment_expression "bVar6 = *param_7" identifier = (pointer_expression "*param_7" * identifier)) ;) (if_statement "if (param_2[0x10] != 0) {\n        if (bVar6 != 0) goto LAB_000448f8;\n        goto LAB_00044916;\n      }" if (parenthesized_expression "(param_2[0x10] != 0)" ( (binary_expression "param_2[0x10] != 0" (subscript_expression "param_2[0x10]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        if (bVar6 != 0) goto LAB_000448f8;\n        goto LAB_00044916;\n      }" { (if_statement "if (bVar6 != 0) goto LAB_000448f8;" if (parenthesized_expression "(bVar6 != 0)" ( (binary_expression "bVar6 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000448f8;" goto statement_identifier ;)) (goto_statement "goto LAB_00044916;" goto statement_identifier ;) })) (goto_statement "goto LAB_00044966;" goto statement_identifier ;) })) (if_statement "if (param_3 != 0x84) {\n      if (param_3 != 0xa2) goto LAB_00044431;\n      iVar7 = param_2[0xe];\n      if (iVar7 != 0) {\n        iVar10 = *(int *)(iVar7 + 4);\n        uVar11 = *(uint *)(iVar7 + 0x14);\n        param_2[0xe] = iVar10;\n        if ((uVar11 < (uint)param_2[0x15]) &&\n           (*(undefined4 *)(iVar7 + 0x18) = *(undefined4 *)(param_2[0x16] + uVar11 * 4), iVar10 != 0\n           )) {\n          param_7 = *(byte **)(iVar10 + 8);\n          goto LAB_000445bf;\n        }\n      }\n      param_7 = (byte *)param_2[0xd];\n    }" if (parenthesized_expression "(param_3 != 0x84)" ( (binary_expression "param_3 != 0x84" identifier != number_literal) )) (compound_statement "{\n      if (param_3 != 0xa2) goto LAB_00044431;\n      iVar7 = param_2[0xe];\n      if (iVar7 != 0) {\n        iVar10 = *(int *)(iVar7 + 4);\n        uVar11 = *(uint *)(iVar7 + 0x14);\n        param_2[0xe] = iVar10;\n        if ((uVar11 < (uint)param_2[0x15]) &&\n           (*(undefined4 *)(iVar7 + 0x18) = *(undefined4 *)(param_2[0x16] + uVar11 * 4), iVar10 != 0\n           )) {\n          param_7 = *(byte **)(iVar10 + 8);\n          goto LAB_000445bf;\n        }\n      }\n      param_7 = (byte *)param_2[0xd];\n    }" { (if_statement "if (param_3 != 0xa2) goto LAB_00044431;" if (parenthesized_expression "(param_3 != 0xa2)" ( (binary_expression "param_3 != 0xa2" identifier != number_literal) )) (goto_statement "goto LAB_00044431;" goto statement_identifier ;)) (expression_statement "iVar7 = param_2[0xe];" (assignment_expression "iVar7 = param_2[0xe]" identifier = (subscript_expression "param_2[0xe]" identifier [ number_literal ])) ;) (if_statement "if (iVar7 != 0) {\n        iVar10 = *(int *)(iVar7 + 4);\n        uVar11 = *(uint *)(iVar7 + 0x14);\n        param_2[0xe] = iVar10;\n        if ((uVar11 < (uint)param_2[0x15]) &&\n           (*(undefined4 *)(iVar7 + 0x18) = *(undefined4 *)(param_2[0x16] + uVar11 * 4), iVar10 != 0\n           )) {\n          param_7 = *(byte **)(iVar10 + 8);\n          goto LAB_000445bf;\n        }\n      }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar10 = *(int *)(iVar7 + 4);\n        uVar11 = *(uint *)(iVar7 + 0x14);\n        param_2[0xe] = iVar10;\n        if ((uVar11 < (uint)param_2[0x15]) &&\n           (*(undefined4 *)(iVar7 + 0x18) = *(undefined4 *)(param_2[0x16] + uVar11 * 4), iVar10 != 0\n           )) {\n          param_7 = *(byte **)(iVar10 + 8);\n          goto LAB_000445bf;\n        }\n      }" { (expression_statement "iVar10 = *(int *)(iVar7 + 4);" (assignment_expression "iVar10 = *(int *)(iVar7 + 4)" identifier = (pointer_expression "*(int *)(iVar7 + 4)" * (cast_expression "(int *)(iVar7 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 4)" ( (binary_expression "iVar7 + 4" identifier + number_literal) ))))) ;) (expression_statement "uVar11 = *(uint *)(iVar7 + 0x14);" (assignment_expression "uVar11 = *(uint *)(iVar7 + 0x14)" identifier = (pointer_expression "*(uint *)(iVar7 + 0x14)" * (cast_expression "(uint *)(iVar7 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x14)" ( (binary_expression "iVar7 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "param_2[0xe] = iVar10;" (assignment_expression "param_2[0xe] = iVar10" (subscript_expression "param_2[0xe]" identifier [ number_literal ]) = identifier) ;) (if_statement "if ((uVar11 < (uint)param_2[0x15]) &&\n           (*(undefined4 *)(iVar7 + 0x18) = *(undefined4 *)(param_2[0x16] + uVar11 * 4), iVar10 != 0\n           )) {\n          param_7 = *(byte **)(iVar10 + 8);\n          goto LAB_000445bf;\n        }" if (parenthesized_expression "((uVar11 < (uint)param_2[0x15]) &&\n           (*(undefined4 *)(iVar7 + 0x18) = *(undefined4 *)(param_2[0x16] + uVar11 * 4), iVar10 != 0\n           ))" ( (binary_expression "(uVar11 < (uint)param_2[0x15]) &&\n           (*(undefined4 *)(iVar7 + 0x18) = *(undefined4 *)(param_2[0x16] + uVar11 * 4), iVar10 != 0\n           )" (parenthesized_expression "(uVar11 < (uint)param_2[0x15])" ( (binary_expression "uVar11 < (uint)param_2[0x15]" identifier < (cast_expression "(uint)param_2[0x15]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_2[0x15]" identifier [ number_literal ]))) )) && (parenthesized_expression "(*(undefined4 *)(iVar7 + 0x18) = *(undefined4 *)(param_2[0x16] + uVar11 * 4), iVar10 != 0\n           )" ( (comma_expression "*(undefined4 *)(iVar7 + 0x18) = *(undefined4 *)(param_2[0x16] + uVar11 * 4), iVar10 != 0" (assignment_expression "*(undefined4 *)(iVar7 + 0x18) = *(undefined4 *)(param_2[0x16] + uVar11 * 4)" (pointer_expression "*(undefined4 *)(iVar7 + 0x18)" * (cast_expression "(undefined4 *)(iVar7 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x18)" ( (binary_expression "iVar7 + 0x18" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(param_2[0x16] + uVar11 * 4)" * (cast_expression "(undefined4 *)(param_2[0x16] + uVar11 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2[0x16] + uVar11 * 4)" ( (binary_expression "param_2[0x16] + uVar11 * 4" (subscript_expression "param_2[0x16]" identifier [ number_literal ]) + (binary_expression "uVar11 * 4" identifier * number_literal)) ))))) , (binary_expression "iVar10 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n          param_7 = *(byte **)(iVar10 + 8);\n          goto LAB_000445bf;\n        }" { (expression_statement "param_7 = *(byte **)(iVar10 + 8);" (assignment_expression "param_7 = *(byte **)(iVar10 + 8)" identifier = (pointer_expression "*(byte **)(iVar10 + 8)" * (cast_expression "(byte **)(iVar10 + 8)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar10 + 8)" ( (binary_expression "iVar10 + 8" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_000445bf;" goto statement_identifier ;) })) })) (expression_statement "param_7 = (byte *)param_2[0xd];" (assignment_expression "param_7 = (byte *)param_2[0xd]" identifier = (cast_expression "(byte *)param_2[0xd]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[0xd]" identifier [ number_literal ]))) ;) })) }))) (labeled_statement "LAB_000445bf:\n  iVar7 = FUN_0003c4a0(param_1,param_7);" statement_identifier : (expression_statement "iVar7 = FUN_0003c4a0(param_1,param_7);" (assignment_expression "iVar7 = FUN_0003c4a0(param_1,param_7)" identifier = (call_expression "FUN_0003c4a0(param_1,param_7)" identifier (argument_list "(param_1,param_7)" ( identifier , identifier )))) ;)) (labeled_statement "LAB_0004426d:\n  return (uint)(iVar7 != 0);" statement_identifier : (return_statement "return (uint)(iVar7 != 0);" return (call_expression "(uint)(iVar7 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) ))) ;)) (labeled_statement "LAB_00044790:\n  local_24 = local_24 + 2;" statement_identifier : (expression_statement "local_24 = local_24 + 2;" (assignment_expression "local_24 = local_24 + 2" identifier = (binary_expression "local_24 + 2" identifier + number_literal)) ;)) (expression_statement "local_24 = (byte *)strchr((char *)local_24,0x3a);" (assignment_expression "local_24 = (byte *)strchr((char *)local_24,0x3a)" identifier = (cast_expression "(byte *)strchr((char *)local_24,0x3a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "strchr((char *)local_24,0x3a)" identifier (argument_list "((char *)local_24,0x3a)" ( (cast_expression "(char *)local_24" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , number_literal ))))) ;) (expression_statement "pbVar16 = local_24;" (assignment_expression "pbVar16 = local_24" identifier = identifier) ;) (if_statement "if (local_24 == (byte *)0x0) {\nLAB_000449d0:\n    local_24 = pbVar16;\n    FUN_0003dfb0();\n    return 0;\n  }" if (parenthesized_expression "(local_24 == (byte *)0x0)" ( (binary_expression "local_24 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_000449d0:\n    local_24 = pbVar16;\n    FUN_0003dfb0();\n    return 0;\n  }" { (labeled_statement "LAB_000449d0:\n    local_24 = pbVar16;" statement_identifier : (expression_statement "local_24 = pbVar16;" (assignment_expression "local_24 = pbVar16" identifier = identifier) ;)) (expression_statement "FUN_0003dfb0();" (call_expression "FUN_0003dfb0()" identifier (argument_list "()" ( ))) ;) (return_statement "return 0;" return number_literal ;) })) (goto_statement "goto LAB_000447b1;" goto statement_identifier ;) (labeled_statement "code_r0x00044ecc:\n  piVar13 = (int *)piVar20[1];" statement_identifier : (expression_statement "piVar13 = (int *)piVar20[1];" (assignment_expression "piVar13 = (int *)piVar20[1]" identifier = (cast_expression "(int *)piVar20[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar20[1]" identifier [ number_literal ]))) ;)) (if_statement "if (((char)*piVar13 == cVar3) &&\n     (piVar13 = (int *)strcmp((char *)piVar13,local_3c), piVar13 == (int *)0x0)) {\n    piVar13 = (int *)*piVar20;\n    piVar20[3] = iVar7;\n    *piVar17 = (int)piVar13;\n    goto code_r0x00044efc;\n  }" if (parenthesized_expression "(((char)*piVar13 == cVar3) &&\n     (piVar13 = (int *)strcmp((char *)piVar13,local_3c), piVar13 == (int *)0x0))" ( (binary_expression "((char)*piVar13 == cVar3) &&\n     (piVar13 = (int *)strcmp((char *)piVar13,local_3c), piVar13 == (int *)0x0)" (parenthesized_expression "((char)*piVar13 == cVar3)" ( (binary_expression "(char)*piVar13 == cVar3" (cast_expression "(char)*piVar13" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*piVar13" * identifier)) == identifier) )) && (parenthesized_expression "(piVar13 = (int *)strcmp((char *)piVar13,local_3c), piVar13 == (int *)0x0)" ( (comma_expression "piVar13 = (int *)strcmp((char *)piVar13,local_3c), piVar13 == (int *)0x0" (assignment_expression "piVar13 = (int *)strcmp((char *)piVar13,local_3c)" identifier = (cast_expression "(int *)strcmp((char *)piVar13,local_3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "strcmp((char *)piVar13,local_3c)" identifier (argument_list "((char *)piVar13,local_3c)" ( (cast_expression "(char *)piVar13" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))))) , (binary_expression "piVar13 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n    piVar13 = (int *)*piVar20;\n    piVar20[3] = iVar7;\n    *piVar17 = (int)piVar13;\n    goto code_r0x00044efc;\n  }" { (expression_statement "piVar13 = (int *)*piVar20;" (assignment_expression "piVar13 = (int *)*piVar20" identifier = (cast_expression "(int *)*piVar20" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar20" * identifier))) ;) (expression_statement "piVar20[3] = iVar7;" (assignment_expression "piVar20[3] = iVar7" (subscript_expression "piVar20[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*piVar17 = (int)piVar13;" (assignment_expression "*piVar17 = (int)piVar13" (pointer_expression "*piVar17" * identifier) = (cast_expression "(int)piVar13" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (goto_statement "goto code_r0x00044efc;" goto statement_identifier ;) })) (expression_statement "piVar5 = (int *)*piVar20;" (assignment_expression "piVar5 = (int *)*piVar20" identifier = (cast_expression "(int *)*piVar20" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar20" * identifier))) ;) (expression_statement "piVar17 = piVar20;" (assignment_expression "piVar17 = piVar20" identifier = identifier) ;) (expression_statement "piVar20 = piVar5;" (assignment_expression "piVar20 = piVar5" identifier = identifier) ;) (if_statement "if (piVar5 == (int *)0x0) {\ncode_r0x00044efc:\n    if (uVar11 == 0) {\n      return 1;\n    }\n    iVar7 = FUN_0003d5a0(param_1,local_3c,iVar7,piVar13);\n    if (iVar7 != 0) {\n      if (apiStack_20[0] == (int *)0x0) {\n        return 1;\n      }\n      *apiStack_20[0] = iVar7;\n      return uVar11;\n    }\n    return 0;\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 "{\ncode_r0x00044efc:\n    if (uVar11 == 0) {\n      return 1;\n    }\n    iVar7 = FUN_0003d5a0(param_1,local_3c,iVar7,piVar13);\n    if (iVar7 != 0) {\n      if (apiStack_20[0] == (int *)0x0) {\n        return 1;\n      }\n      *apiStack_20[0] = iVar7;\n      return uVar11;\n    }\n    return 0;\n  }" { (labeled_statement "code_r0x00044efc:\n    if (uVar11 == 0) {\n      return 1;\n    }" statement_identifier : (if_statement "if (uVar11 == 0) {\n      return 1;\n    }" if (parenthesized_expression "(uVar11 == 0)" ( (binary_expression "uVar11 == 0" identifier == number_literal) )) (compound_statement "{\n      return 1;\n    }" { (return_statement "return 1;" return number_literal ;) }))) (expression_statement "iVar7 = FUN_0003d5a0(param_1,local_3c,iVar7,piVar13);" (assignment_expression "iVar7 = FUN_0003d5a0(param_1,local_3c,iVar7,piVar13)" identifier = (call_expression "FUN_0003d5a0(param_1,local_3c,iVar7,piVar13)" identifier (argument_list "(param_1,local_3c,iVar7,piVar13)" ( identifier , identifier , identifier , identifier )))) ;) (if_statement "if (iVar7 != 0) {\n      if (apiStack_20[0] == (int *)0x0) {\n        return 1;\n      }\n      *apiStack_20[0] = iVar7;\n      return uVar11;\n    }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n      if (apiStack_20[0] == (int *)0x0) {\n        return 1;\n      }\n      *apiStack_20[0] = iVar7;\n      return uVar11;\n    }" { (if_statement "if (apiStack_20[0] == (int *)0x0) {\n        return 1;\n      }" if (parenthesized_expression "(apiStack_20[0] == (int *)0x0)" ( (binary_expression "apiStack_20[0] == (int *)0x0" (subscript_expression "apiStack_20[0]" identifier [ number_literal ]) == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        return 1;\n      }" { (return_statement "return 1;" return number_literal ;) })) (expression_statement "*apiStack_20[0] = iVar7;" (assignment_expression "*apiStack_20[0] = iVar7" (pointer_expression "*apiStack_20[0]" * (subscript_expression "apiStack_20[0]" identifier [ number_literal ])) = identifier) ;) (return_statement "return uVar11;" return identifier ;) })) (return_statement "return 0;" return number_literal ;) })) (goto_statement "goto code_r0x00044ecc;" goto statement_identifier ;) (labeled_statement "code_r0x00044bbc:\n  iVar4 = *piVar13;" statement_identifier : (expression_statement "iVar4 = *piVar13;" (assignment_expression "iVar4 = *piVar13" identifier = (pointer_expression "*piVar13" * identifier)) ;)) (expression_statement "pcVar12 = *(char **)(iVar4 + 4);" (assignment_expression "pcVar12 = *(char **)(iVar4 + 4)" identifier = (pointer_expression "*(char **)(iVar4 + 4)" * (cast_expression "(char **)(iVar4 + 4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 4)" ( (binary_expression "iVar4 + 4" identifier + number_literal) ))))) ;) (if_statement "if (cVar3 != '\0') {\n    pcVar12 = pcVar12 + (cVar3 == *pcVar12);\n  }" if (parenthesized_expression "(cVar3 != '\0')" ( (binary_expression "cVar3 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    pcVar12 = pcVar12 + (cVar3 == *pcVar12);\n  }" { (expression_statement "pcVar12 = pcVar12 + (cVar3 == *pcVar12);" (assignment_expression "pcVar12 = pcVar12 + (cVar3 == *pcVar12)" identifier = (binary_expression "pcVar12 + (cVar3 == *pcVar12)" identifier + (parenthesized_expression "(cVar3 == *pcVar12)" ( (binary_expression "cVar3 == *pcVar12" identifier == (pointer_expression "*pcVar12" * identifier)) )))) ;) })) (if_statement "if ((*pcVar12 == cVar2) && (iVar14 = strcmp(pcVar12,local_3c), iVar14 == 0)) {\n    puVar1 = (uint *)(*(int *)(iVar4 + 0x14) + 0x1c);\n    param_5 = *(uint *)(iVar4 + 8) + *puVar1;\n    param_6 = *(int *)(iVar4 + 0xc) + *(int *)(*(int *)(iVar4 + 0x14) + 0x20) +\n              (uint)CARRY4(*(uint *)(iVar4 + 8),*puVar1);\n    goto code_r0x00044c0d;\n  }" if (parenthesized_expression "((*pcVar12 == cVar2) && (iVar14 = strcmp(pcVar12,local_3c), iVar14 == 0))" ( (binary_expression "(*pcVar12 == cVar2) && (iVar14 = strcmp(pcVar12,local_3c), iVar14 == 0)" (parenthesized_expression "(*pcVar12 == cVar2)" ( (binary_expression "*pcVar12 == cVar2" (pointer_expression "*pcVar12" * identifier) == identifier) )) && (parenthesized_expression "(iVar14 = strcmp(pcVar12,local_3c), iVar14 == 0)" ( (comma_expression "iVar14 = strcmp(pcVar12,local_3c), iVar14 == 0" (assignment_expression "iVar14 = strcmp(pcVar12,local_3c)" identifier = (call_expression "strcmp(pcVar12,local_3c)" identifier (argument_list "(pcVar12,local_3c)" ( identifier , identifier )))) , (binary_expression "iVar14 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n    puVar1 = (uint *)(*(int *)(iVar4 + 0x14) + 0x1c);\n    param_5 = *(uint *)(iVar4 + 8) + *puVar1;\n    param_6 = *(int *)(iVar4 + 0xc) + *(int *)(*(int *)(iVar4 + 0x14) + 0x20) +\n              (uint)CARRY4(*(uint *)(iVar4 + 8),*puVar1);\n    goto code_r0x00044c0d;\n  }" { (expression_statement "puVar1 = (uint *)(*(int *)(iVar4 + 0x14) + 0x1c);" (assignment_expression "puVar1 = (uint *)(*(int *)(iVar4 + 0x14) + 0x1c)" identifier = (cast_expression "(uint *)(*(int *)(iVar4 + 0x14) + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar4 + 0x14) + 0x1c)" ( (binary_expression "*(int *)(iVar4 + 0x14) + 0x1c" (pointer_expression "*(int *)(iVar4 + 0x14)" * (cast_expression "(int *)(iVar4 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x14)" ( (binary_expression "iVar4 + 0x14" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "param_5 = *(uint *)(iVar4 + 8) + *puVar1;" (assignment_expression "param_5 = *(uint *)(iVar4 + 8) + *puVar1" identifier = (binary_expression "*(uint *)(iVar4 + 8) + *puVar1" (pointer_expression "*(uint *)(iVar4 + 8)" * (cast_expression "(uint *)(iVar4 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 8)" ( (binary_expression "iVar4 + 8" identifier + number_literal) )))) + (pointer_expression "*puVar1" * identifier))) ;) (expression_statement "param_6 = *(int *)(iVar4 + 0xc) + *(int *)(*(int *)(iVar4 + 0x14) + 0x20) +\n              (uint)CARRY4(*(uint *)(iVar4 + 8),*puVar1);" (assignment_expression "param_6 = *(int *)(iVar4 + 0xc) + *(int *)(*(int *)(iVar4 + 0x14) + 0x20) +\n              (uint)CARRY4(*(uint *)(iVar4 + 8),*puVar1)" identifier = (binary_expression "*(int *)(iVar4 + 0xc) + *(int *)(*(int *)(iVar4 + 0x14) + 0x20) +\n              (uint)CARRY4(*(uint *)(iVar4 + 8),*puVar1)" (binary_expression "*(int *)(iVar4 + 0xc) + *(int *)(*(int *)(iVar4 + 0x14) + 0x20)" (pointer_expression "*(int *)(iVar4 + 0xc)" * (cast_expression "(int *)(iVar4 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xc)" ( (binary_expression "iVar4 + 0xc" identifier + number_literal) )))) + (pointer_expression "*(int *)(*(int *)(iVar4 + 0x14) + 0x20)" * (cast_expression "(int *)(*(int *)(iVar4 + 0x14) + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar4 + 0x14) + 0x20)" ( (binary_expression "*(int *)(iVar4 + 0x14) + 0x20" (pointer_expression "*(int *)(iVar4 + 0x14)" * (cast_expression "(int *)(iVar4 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x14)" ( (binary_expression "iVar4 + 0x14" identifier + number_literal) )))) + number_literal) ))))) + (cast_expression "(uint)CARRY4(*(uint *)(iVar4 + 8),*puVar1)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(*(uint *)(iVar4 + 8),*puVar1)" identifier (argument_list "(*(uint *)(iVar4 + 8),*puVar1)" ( (pointer_expression "*(uint *)(iVar4 + 8)" * (cast_expression "(uint *)(iVar4 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 8)" ( (binary_expression "iVar4 + 8" identifier + number_literal) )))) , (pointer_expression "*puVar1" * identifier) )))))) ;) (goto_statement "goto code_r0x00044c0d;" goto statement_identifier ;) })) (expression_statement "piVar13 = piVar13 + 1;" (assignment_expression "piVar13 = piVar13 + 1" identifier = (binary_expression "piVar13 + 1" identifier + number_literal)) ;) (expression_statement "iVar10 = iVar10 + -1;" (assignment_expression "iVar10 = iVar10 + -1" identifier = (binary_expression "iVar10 + -1" identifier + number_literal)) ;) (if_statement "if (iVar10 == 0) {\ncode_r0x00044c0d:\n    uVar27 = 1;\ncode_r0x0004486e:\n    iVar7 = FUN_0003e250(iVar7,uVar27,param_5,param_6);\njoined_r0x00044fe7:\n    if (iVar7 != 0) {\n      return 1;\n    }\n    return 0;\n  }" if (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) (compound_statement "{\ncode_r0x00044c0d:\n    uVar27 = 1;\ncode_r0x0004486e:\n    iVar7 = FUN_0003e250(iVar7,uVar27,param_5,param_6);\njoined_r0x00044fe7:\n    if (iVar7 != 0) {\n      return 1;\n    }\n    return 0;\n  }" { (labeled_statement "code_r0x00044c0d:\n    uVar27 = 1;" statement_identifier : (expression_statement "uVar27 = 1;" (assignment_expression "uVar27 = 1" identifier = number_literal) ;)) (labeled_statement "code_r0x0004486e:\n    iVar7 = FUN_0003e250(iVar7,uVar27,param_5,param_6);" statement_identifier : (expression_statement "iVar7 = FUN_0003e250(iVar7,uVar27,param_5,param_6);" (assignment_expression "iVar7 = FUN_0003e250(iVar7,uVar27,param_5,param_6)" identifier = (call_expression "FUN_0003e250(iVar7,uVar27,param_5,param_6)" identifier (argument_list "(iVar7,uVar27,param_5,param_6)" ( identifier , identifier , identifier , identifier )))) ;)) (labeled_statement "joined_r0x00044fe7:\n    if (iVar7 != 0) {\n      return 1;\n    }" statement_identifier : (if_statement "if (iVar7 != 0) {\n      return 1;\n    }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n      return 1;\n    }" { (return_statement "return 1;" return number_literal ;) }))) (return_statement "return 0;" return number_literal ;) })) (goto_statement "goto code_r0x00044bbc;" goto statement_identifier ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Type propagation algorithm not settling */\n\nbfd_boolean parse_stab(void *dhandle,void *handle,int type,int desc,bfd_vma value,char *string)\n\n{\n  uint *puVar1;\n  char cVar2;\n  uint uVar3;\n  int *piVar4;\n  bfd_vma bVar5;\n  char cVar6;\n  undefined4 uVar7;\n  undefined4 *puVar8;\n  size_t sVar9;\n  int iVar10;\n  int iVar11;\n  debug_type pdVar12;\n  bfd_boolean bVar13;\n  int iVar14;\n  debug_type_conflict pdVar15;\n  long lVar16;\n  char **pp;\n  debug_type_conflict *arg_types;\n  char *pcVar17;\n  uint uVar18;\n  char **extraout_EDX;\n  debug_type_conflict type_00;\n  byte *pbVar19;\n  char **ppcVar20;\n  int *piVar21;\n  byte *pbVar22;\n  int *piVar23;\n  bool bVar24;\n  bool bVar25;\n  bool bVar26;\n  byte bVar27;\n  double val;\n  debug_parm_kind kind;\n  debug_var_kind kind_00;\n  char **in_stack_ffffffb0;\n  char **ppcVar28;\n  debug_type_conflict **slotp;\n  char *p_end;\n  uint uVar29;\n  char *local_3c;\n  char *p;\n  debug_type_conflict *slot;\n  long lStack_14;\n  \n  bVar27 = 0;\n  lStack_14 = 0x440f9;\n  pcVar17 = *(char **)((int)handle + 0x10);\n  if (pcVar17 != (char *)0x0) {\n    if (((type != 100) || (cVar6 = *string, cVar6 == '\0')) ||\n       (value != *(bfd_vma *)((int)handle + 0x14))) {\n      bVar13 = debug_set_filename(dhandle,pcVar17);\n      if (bVar13 == 0) {\n        return 0;\n      }\n      *(undefined4 *)((int)handle + 0x2c) = 0;\n      *(undefined4 *)((int)handle + 0x30) = 0;\n      *(undefined4 *)((int)handle + 0x34) = *(undefined4 *)((int)handle + 0x10);\n      if (*(int *)((int)handle + 4) == 0) {\n        *(undefined4 *)((int)handle + 0x1c) = *(undefined4 *)((int)handle + 0x14);\n        *(undefined4 *)((int)handle + 0x20) = *(undefined4 *)((int)handle + 0x18);\n      }\n      *(undefined4 *)((int)handle + 0x54) = 1;\n      puVar8 = (undefined4 *)xmalloc(4);\n      *(undefined4 *)((int)handle + 0x10) = 0;\n      *(undefined4 **)((int)handle + 0x58) = puVar8;\n      *puVar8 = 0;\n      goto LAB_00044203;\n    }\n    if (*(int *)((int)handle + 0x40) == 0) goto LAB_0004414d;\nLAB_000448f8:\n    uVar29 = (uint)(value >> 0x20);\n    uVar18 = *(uint *)((int)handle + 0x44);\n    uVar3 = *(uint *)((int)handle + 0x48);\n    if (((uVar18 & uVar3) == 0xffffffff) ||\n       (bVar5 = *(bfd_vma *)((int)handle + 0x44),\n       uVar29 <= uVar3 && (uint)(uVar18 < (uint)value) <= uVar3 - uVar29)) {\nLAB_00044916:\n      bVar5 = value;\n    }\n    bVar13 = stab_emit_pending_vars(dhandle,(stab_handle *)((int)handle + 0x50));\n    if (bVar13 == 0) {\n      return 0;\n    }\n    bVar13 = debug_end_function(dhandle,bVar5);\n    if (bVar13 == 0) {\n      return 0;\n    }\n    *(undefined4 *)((int)handle + 0x40) = 0;\n    *(undefined4 *)((int)handle + 0x44) = 0xffffffff;\n    *(undefined4 *)((int)handle + 0x48) = 0xffffffff;\n    cVar6 = *string;\nLAB_00044966:\n    if (cVar6 == '\0') {\n      return 1;\n    }\n    pcVar17 = *(char **)((int)handle + 0x10);\nLAB_0004414d:\n    if (pcVar17 == (char *)0x0) {\n      uVar7 = xstrdup(string);\n      *(undefined4 *)((int)handle + 0x10) = uVar7;\n    }\n    else {\n      if (cVar6 == '/') {\n        uVar7 = xstrdup(string);\n        *(undefined4 *)((int)handle + 0x10) = uVar7;\n      }\n      else {\n        uVar7 = concat(pcVar17,string,0);\n        *(undefined4 *)((int)handle + 0x10) = uVar7;\n      }\n      free(pcVar17);\n    }\n    *(bfd_vma *)((int)handle + 0x14) = value;\n    return 1;\n  }\nLAB_00044203:\n  sVar9 = strlen(string);\n  uVar18 = (uint)(value >> 0x20);\n  if (type == 0x62) {\n    return 1;\n  }\n  if (type < 99) {\n    if (type == 0x24) {\n      if (*string == '\0') {\n        if (*(int *)((int)handle + 0x40) == 0) {\n          return 1;\n        }\n        if (*(int *)((int)handle + 4) != 0) {\n          value = value + *(longlong *)((int)handle + 0x24);\n        }\n        bVar13 = stab_emit_pending_vars(dhandle,(stab_handle *)((int)handle + 0x50));\n        if (bVar13 == 0) {\n          return 0;\n        }\n        bVar13 = debug_end_function(dhandle,value);\n        if (bVar13 == 0) {\n          return 0;\n        }\n        *(undefined4 *)((int)handle + 0x40) = 0;\n        *(undefined4 *)((int)handle + 0x44) = 0xffffffff;\n        *(undefined4 *)((int)handle + 0x48) = 0xffffffff;\n        return 1;\n      }\n      if (*(int *)((int)handle + 0x40) != 0) {\n        uVar3 = *(uint *)((int)handle + 0x48);\n        if (((*(uint *)((int)handle + 0x44) & uVar3) == 0xffffffff) ||\n           (uVar18 < uVar3 || uVar18 - uVar3 < (uint)((uint)value < *(uint *)((int)handle + 0x44))))\n        {\n          *(bfd_vma *)((int)handle + 0x44) = value;\n        }\n      }\n    }\n    else if (type < 0x25) {\n      if (type == 0xc) {\n        return 1;\n      }\n      if ((0xb < type) && (type - 0x1eU < 2)) {\n        return 1;\n      }\n    }\n    else {\n      if (type == 0x38) {\n        return 1;\n      }\n      if (type < 0x39) {\n        if (type == 0x2a) {\n          return 1;\n        }\n      }\n      else {\n        bVar24 = (uint)type < 0x3c;\n        bVar26 = type == 0x3c;\n        if (bVar26) {\n          iVar10 = 0xf;\n          pbVar19 = (byte *)string;\n          pbVar22 = (byte *)"gcc2_compiled.";\n          do {\n            if (iVar10 == 0) break;\n            iVar10 = iVar10 + -1;\n            bVar24 = *pbVar19 < *pbVar22;\n            bVar26 = *pbVar19 == *pbVar22;\n            pbVar19 = pbVar19 + (uint)bVar27 * -2 + 1;\n            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n          } while (bVar26);\n          bVar25 = false;\n          bVar24 = (!bVar24 && !bVar26) == bVar24;\n          if (bVar24) {\n            *(undefined4 *)((int)handle + 0x2c) = 2;\n            return 1;\n          }\n          iVar10 = 0xe;\n          pbVar19 = (byte *)"gcc_compiled.";\n          do {\n            if (iVar10 == 0) break;\n            iVar10 = iVar10 + -1;\n            bVar25 = (byte)*string < *pbVar19;\n            bVar24 = *string == *pbVar19;\n            string = (char *)((byte *)string + (uint)bVar27 * -2 + 1);\n            pbVar19 = pbVar19 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          if ((!bVar25 && !bVar24) != bVar25) {\n            *(undefined4 *)((int)handle + 0x30) = 1;\n            return 1;\n          }\n          *(undefined4 *)((int)handle + 0x2c) = 1;\n          return 1;\n        }\n        if (type == 0x44) {\n          if (*(int *)((int)handle + 0x40) != 0) {\n            value = value + *(longlong *)((int)handle + 0x24);\n          }\n          iVar10 = debug_record_line(dhandle,desc,value);\n          goto LAB_0004426d;\n        }\n      }\n    }\nLAB_00044431:\n    p = strchr(string,0x3a);\n    uVar18 = (uint)(value >> 0x20);\n    if (p == (char *)0x0) {\n      return 1;\n    }\n    bVar27 = p[1];\n    if ((bVar27 & 0xdf) != 0x46) goto LAB_000447b5;\n    if (*(int *)((int)handle + 0x40) != 0) {\n      uVar3 = *(uint *)((int)handle + 0x44);\n      uVar29 = *(uint *)((int)handle + 0x48);\n      if (((uVar3 & uVar29) == 0xffffffff) ||\n         (bVar5 = *(bfd_vma *)((int)handle + 0x44),\n         uVar18 <= uVar29 && (uint)(uVar3 < (uint)value) <= uVar29 - uVar18)) {\n        bVar5 = value;\n      }\n      in_stack_ffffffb0 = (char **)0x444a2;\n      bVar13 = stab_emit_pending_vars(dhandle,(stab_handle *)((int)handle + 0x50));\n      if ((bVar13 == 0) || (bVar13 = debug_end_function(dhandle,bVar5), bVar13 == 0)) {\n        return 0;\n      }\n      *(undefined4 *)((int)handle + 0x44) = 0xffffffff;\n      *(undefined4 *)((int)handle + 0x48) = 0xffffffff;\n    }\n    if (*(int *)((int)handle + 4) != 0) {\n      *(bfd_vma *)((int)handle + 0x24) = value;\n    }\n    *(undefined4 *)((int)handle + 0x40) = 1;\n    p = strchr(string,0x3a);\n    if (p == (char *)0x0) {\n      return 1;\n    }\nLAB_000447b1:\n    bVar27 = p[1];\nLAB_000447b5:\n    if (bVar27 == 0x3a) goto LAB_00044790;\n    if (*string != '$') goto _L1810;\n    switch(string[1]) {\n    default:\n      pcVar17 = (char *)dcgettext(0,"unknown C++ encoded name",5);\n      warn_stab(string,pcVar17);\n    case 'X':\n    case '_':\n    case 'v':\n_L1810:\n      local_3c = (char *)0x0;\n      if ((string != p) && ((*string != ' ' || (p != string + 1)))) {\n        in_stack_ffffffb0 = (char **)0x447f4;\n        local_3c = savestring(string,(int)p - (int)string);\n      }\n      break;\n    case 'e':\n      local_3c = "eh_throw";\n      break;\n    case 't':\n      local_3c = "this";\n    }\n    p_end = (char *)(value >> 0x20);\n    slotp = (debug_type_conflict **)value;\n    pcVar17 = string + sVar9;\n    ppcVar28 = (char **)((int)p + 1);\n    bVar27 = *(byte *)((int)p + 1);\n    if (((PTR__sch_istable_00071fbc[(uint)bVar27 * 2] & 4) != 0) ||\n       (bVar27 == 0x28 || bVar27 == 0x2d)) {\n_L1827:\n      p = (char *)ppcVar28;\n      pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,in_stack_ffffffb0,slotp,p_end);\n      if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }\n      kind_00 = DEBUG_LOCAL;\n      goto LAB_0004486e;\n    }\n    if (bVar27 == 0) goto LAB_000449d0;\n    ppcVar28 = (char **)((int)p + 2);\n    bVar27 = *(byte *)((int)p + 1);\n    ppcVar20 = (char **)(uint)bVar27;\n    if (0x33 < (byte)((int)ppcVar20 - 0x43U)) goto _L1817;\n    uVar18 = (int)ppcVar20 - 0x43U & 0xff;\n    pp = (char **)((int)&_GLOBAL_OFFSET_TABLE_ + (&switchD_00044abe::switchdataD_00057e08)[uVar18]);\n    switch(uVar18) {\n    case 0:\n      p = (char *)ppcVar28;\n      pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end);\n      if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }\n      bVar13 = debug_record_label(dhandle,local_3c,pdVar12,value);\n      goto joined_r0x00044fe7;\n    default:\n      goto _L1817;\n    case 3:\n    case 0x23:\n      p = (char *)ppcVar28;\n      pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,pp,slotp,p_end);\n      if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }\n      ppcVar28 = extraout_EDX;\n      pdVar12 = (debug_type)\n                debug_record_function(dhandle,local_3c,pdVar12,(uint)(bVar27 == 0x46),value);\n      while( true ) {\n        if (pdVar12 == (debug_type)0x0) {\n          return 0;\n        }\n        if (*p != ';') break;\n        p = p + 1;\n        pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar28,\n                                  (debug_type_conflict **)value,(char *)(value >> 0x20));\n      }\n      return 1;\n    case 4:\n      p = (char *)ppcVar28;\n      pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,pp,slotp,p_end);\n      if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }\n      if (local_3c == (char *)0x0) goto LAB_00044c0d;\n                    /* WARNING: Load size is inaccurate */\n      iVar10 = *(int *)((int)handle + 0xc);\n      piVar21 = *(int **)((int)handle + 8);\n      cVar6 = *(char *)(*(int *)(*handle + 4) + 0x18);\n      if (iVar10 < 1) goto LAB_00044c0d;\n      cVar2 = *local_3c;\n      goto LAB_00044bbc;\n    case 0xd:\n      if (type == 0x24) {\n        p = (char *)ppcVar28;\n        do {\n          if (*p != ';') {\n            return 1;\n          }\n          p = p + 1;\n          pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,in_stack_ffffffb0,\n                                    (debug_type_conflict **)value,(char *)(value >> 0x20));\n        } while (pdVar12 != (debug_type)0x0);\n        return 0;\n      }\n    case 0xf:\n      p = (char *)ppcVar28;\n      pdVar15 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,pp,slotp,p_end);\n      if (pdVar15 == (debug_type)0x0) {\n        return 0;\n      }\n      kind = DEBUG_PARM_REG;\n      break;\n    case 0x10:\n      ppcVar20 = (char **)p;\n      p = (char *)ppcVar28;\n      pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end);\n      if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }\n      kind_00 = DEBUG_STATIC;\n      goto LAB_0004486e;\n    case 0x11:\n      bVar24 = *(char *)((int)p + 2) == 't';\n      if (bVar24) {\n        ppcVar28 = (char **)((int)p + 3);\n      }\n      p = (char *)ppcVar28;\n      uVar18 = (uint)bVar24;\n      pdVar12 = parse_stab_type(&p,(stab_handle *)&slot,pcVar17,(char **)type,slotp,p_end);\n      if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }\n      if (local_3c == (char *)0x0) {\n        return 1;\n      }\n      iVar10 = *(int *)((int)handle + 0xe8);\n      pdVar15 = debug_tag_type(dhandle,local_3c,pdVar12);\n      if (pdVar15 == (debug_type_conflict)0x0) {\n        return 0;\n      }\n      if (slot != (debug_type_conflict *)0x0) {\n        *slot = pdVar15;\n      }\n      if (iVar10 != 0) goto LAB_00044efc;\n      if (*(int **)((int)handle + 0xe4) == (int *)0x0) goto LAB_00044efc;\n      cVar6 = *local_3c;\n      piVar21 = (int *)((int)handle + 0xe4);\n      piVar23 = *(int **)((int)handle + 0xe4);\n      goto LAB_00044ecc;\n    case 0x13:\n      ppcVar20 = (char **)p;\n      p = (char *)ppcVar28;\n      pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end);\n      if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }\n      kind_00 = DEBUG_LOCAL_STATIC;\n      goto LAB_0004486e;\n    case 0x15:\n    case 0x29:\n    case 0x30:\n      goto _L1827;\n    case 0x16:\n      ppcVar28 = (char **)((int)p + 3);\n      if ((*(char *)((int)p + 3) == 'n') &&\n         (ppcVar28 = (char **)((int)p + 4), ppcVar20 = (char **)((int)p + 4), p = (char *)ppcVar28,\n         *(char *)ppcVar20 == '0')) {\n        for (; *p != ';'; p = p + 1) {\n        }\n        return 1;\n      }\n_L1817:\n      p = (char *)ppcVar28;\n      bad_stab(string);\n      return 0;\n    case 0x1e:\n      p = (char *)ppcVar28;\n      pdVar15 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end);\n      if (pdVar15 == (debug_type)0x0) {\n        return 0;\n      }\n      kind = DEBUG_PARM_REF_REG;\n      break;\n    case 0x20:\n      if (*(char *)((int)p + 2) == '=') {\n        ppcVar28 = (char **)((int)p + 4);\n        bVar27 = *(byte *)((int)p + 3);\n        p = (char *)ppcVar28;\n        if (bVar27 == 0x69) {\n          lVar16 = strtol((char *)ppcVar28,(char **)0x0,10);\n          bVar13 = debug_record_int_const(dhandle,local_3c,(longlong)lVar16);\n          goto joined_r0x00044fe7;\n        }\n        if (bVar27 == 0x72) {\n          val = strtod((char *)ppcVar28,(char **)0x0);\n          bVar13 = debug_record_float_const(dhandle,local_3c,val);\n          goto joined_r0x00044fe7;\n        }\n        if (bVar27 == 0x65) {\n          pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,(char **)(uint)bVar27,slotp,p_end)\n          ;\n          if (pdVar12 == (debug_type)0x0) {\n            return 0;\n          }\n          ppcVar28 = (char **)p;\n          if (*p == ',') {\n            lVar16 = strtol(p,(char **)0x0,10);\n            bVar13 = debug_record_typed_const(dhandle,local_3c,pdVar12,(longlong)lVar16);\n            goto joined_r0x00044fe7;\n          }\n        }\n      }\n      goto LAB_000449d0;\n    case 0x2d:\n      if (*(char *)((int)p + 2) == 'F') {\n        p = (char *)((int)p + 3);\n        pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,(char **)p,slotp,p_end);\n        if (pdVar12 == (debug_type)0x0) {\n          return 0;\n        }\n        pdVar15 = debug_make_function_type(pdVar12,type_00,arg_types,(bfd_boolean)dhandle);\n        pdVar15 = debug_make_pointer_type(dhandle,pdVar15);\n      }\n      else {\n        ppcVar20 = (char **)p;\n        p = (char *)ppcVar28;\n        pdVar15 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end);\n      }\n      if (pdVar15 == (debug_type_conflict)0x0) {\n        return 0;\n      }\n      kind = DEBUG_PARM_STACK;\n      break;\n    case 0x2f:\n      ppcVar20 = (char **)p;\n      p = (char *)ppcVar28;\n      pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end);\n      if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }\n      kind_00 = DEBUG_REGISTER;\n      goto LAB_0004486e;\n    case 0x31:\n      ppcVar20 = (char **)p;\n      p = (char *)ppcVar28;\n      pdVar12 = parse_stab_type(&p,(stab_handle *)&slot,pcVar17,ppcVar20,slotp,p_end);\n      if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }\n      if (local_3c == (char *)0x0) {\n        return 1;\n      }\n      pdVar15 = debug_name_type(dhandle,local_3c,pdVar12);\n      if (pdVar15 == (debug_type_conflict)0x0) {\n        return 0;\n      }\n      if (slot == (debug_type_conflict *)0x0) {\n        return 1;\n      }\n      *slot = pdVar15;\n      return 1;\n    case 0x33:\n      ppcVar20 = (char **)p;\n      p = (char *)ppcVar28;\n      pdVar15 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end);\n      if (pdVar15 == (debug_type)0x0) {\n        return 0;\n      }\n      kind = DEBUG_PARM_REFERENCE;\n    }\n    bVar13 = debug_record_parameter(dhandle,local_3c,pdVar15,kind,value);\n    goto joined_r0x00044fe7;\n  }\n  if (type == 0xc0) {\n    if ((*(int *)((int)handle + 0x30) != 0) && (desc == 1)) {\n      return 1;\n    }\n    if (*(int *)((int)handle + 0x40) == 0) {\n      pcVar17 = (char *)dcgettext(0,"N_LBRAC not within function\n",5);\n      fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar17);\n      return 0;\n    }\n    bVar13 = debug_start_block(dhandle,value + CONCAT44(*(int *)((int)handle + 0x28) +\n                                                        *(int *)((int)handle + 0x20) +\n                                                        (uint)CARRY4(*(uint *)((int)handle + 0x24),\n                                                                     *(uint *)((int)handle + 0x1c)),\n                                                        *(uint *)((int)handle + 0x24) +\n                                                        *(uint *)((int)handle + 0x1c)));\n    if (bVar13 == 0) {\n      return 0;\n    }\n    bVar13 = stab_emit_pending_vars(dhandle,(stab_handle *)((int)handle + 0x50));\n    if (bVar13 == 0) {\n      return 0;\n    }\n    *(int *)((int)handle + 0x4c) = *(int *)((int)handle + 0x4c) + 1;\n    return 1;\n  }\n  if (0xc0 < type) {\n    if (type == 0xe0) {\n      if ((*(int *)((int)handle + 0x30) != 0) && (desc == 1)) {\n        return 1;\n      }\n      bVar13 = stab_emit_pending_vars(dhandle,(stab_handle *)((int)handle + 0x50));\n      if (bVar13 == 0) {\n        return 0;\n      }\n      bVar13 = debug_end_block(dhandle,value + CONCAT44(*(int *)((int)handle + 0x28) +\n                                                        *(int *)((int)handle + 0x20) +\n                                                        (uint)CARRY4(*(uint *)((int)handle + 0x24),\n                                                                     *(uint *)((int)handle + 0x1c)),\n                                                        *(uint *)((int)handle + 0x24) +\n                                                        *(uint *)((int)handle + 0x1c)));\n      if (bVar13 == 0) {\n        return 0;\n      }\n      piVar21 = (int *)((int)handle + 0x4c);\n      *piVar21 = *piVar21 + -1;\n      if (*piVar21 < 0) {\n        pcVar17 = (char *)dcgettext(0,"Too many N_RBRACs\n",5);\n        fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar17);\n        return 0;\n      }\n      return 1;\n    }\n    if (type < 0xe1) {\n      if (type == 0xc2) {\n        iVar10 = *(int *)((int)handle + 0x54) + 1;\n        *(int *)((int)handle + 0x54) = iVar10;\n        iVar10 = xrealloc(*(undefined4 *)((int)handle + 0x58),iVar10 * 4);\n        puVar8 = *(undefined4 **)((int)handle + 0x3c);\n        *(int *)((int)handle + 0x58) = iVar10;\n        while( true ) {\n          if (puVar8 == (undefined4 *)0x0) {\n            pcVar17 = (char *)dcgettext(0,"Undefined N_EXCL",5);\n            warn_stab(string,pcVar17);\n            *(undefined4 *)(*(int *)((int)handle + 0x58) + -4 + *(int *)((int)handle + 0x54) * 4) =\n                 0;\n            return 1;\n          }\n          if ((value == *(bfd_vma *)(puVar8 + 3)) &&\n             (iVar11 = strcmp((char *)puVar8[2],string), iVar11 == 0)) break;\n          puVar8 = (undefined4 *)*puVar8;\n        }\n        *(undefined4 *)(iVar10 + -4 + *(int *)((int)handle + 0x54) * 4) = puVar8[6];\n        return 1;\n      }\n      goto LAB_00044431;\n    }\n    if (type == 0xe2) {\n      iVar10 = debug_start_common_block(dhandle,string);\n    }\n    else {\n      if (type != 0xe4) goto LAB_00044431;\n      iVar10 = debug_end_common_block(dhandle,string);\n    }\n    goto LAB_0004426d;\n  }\n  if (type == 0x82) {\n    puVar8 = (undefined4 *)xmalloc(0x1c);\n    uVar7 = *(undefined4 *)((int)handle + 0x3c);\n    puVar8[4] = (int)(value >> 0x20);\n    *puVar8 = uVar7;\n    uVar7 = *(undefined4 *)((int)handle + 0x38);\n    puVar8[6] = 0;\n    puVar8[1] = uVar7;\n    *(undefined4 **)((int)handle + 0x3c) = puVar8;\n    puVar8[2] = string;\n    *(undefined4 **)((int)handle + 0x38) = puVar8;\n    puVar8[3] = (int)value;\n    iVar10 = *(int *)((int)handle + 0x54);\n    puVar8[5] = iVar10;\n    iVar10 = iVar10 + 1;\n    *(int *)((int)handle + 0x54) = iVar10;\n    iVar11 = xrealloc(*(undefined4 *)((int)handle + 0x58),iVar10 * 4);\n    iVar10 = puVar8[5];\n    *(int *)((int)handle + 0x58) = iVar11;\n    *(undefined4 *)(iVar11 + iVar10 * 4) = 0;\n  }\n  else {\n    if (type < 0x83) {\n      if (type != 100) goto LAB_00044431;\n      cVar6 = *string;\n      if (*(int *)((int)handle + 0x40) != 0) {\n        if (cVar6 != '\0') goto LAB_000448f8;\n        goto LAB_00044916;\n      }\n      goto LAB_00044966;\n    }\n    if (type != 0x84) {\n      if (type != 0xa2) goto LAB_00044431;\n      iVar10 = *(int *)((int)handle + 0x38);\n      if (iVar10 != 0) {\n        iVar11 = *(int *)(iVar10 + 4);\n        uVar18 = *(uint *)(iVar10 + 0x14);\n        *(int *)((int)handle + 0x38) = iVar11;\n        if ((uVar18 < *(uint *)((int)handle + 0x54)) &&\n           (*(undefined4 *)(iVar10 + 0x18) =\n                 *(undefined4 *)(*(int *)((int)handle + 0x58) + uVar18 * 4), iVar11 != 0)) {\n          string = *(char **)(iVar11 + 8);\n          goto LAB_000445bf;\n        }\n      }\n      string = *(char **)((int)handle + 0x34);\n    }\n  }\nLAB_000445bf:\n  iVar10 = debug_start_source(dhandle,string);\nLAB_0004426d:\n  return (uint)(iVar10 != 0);\nLAB_00044790:\n  p = p + 2;\n  p = strchr(p,0x3a);\n  ppcVar28 = (char **)p;\n  if (p == (char *)0x0) {\nLAB_000449d0:\n    p = (char *)ppcVar28;\n    bad_stab(string);\n    return 0;\n  }\n  goto LAB_000447b1;\nLAB_00044ecc:\n  if ((*(char *)piVar23[1] == cVar6) && (iVar10 = strcmp((char *)piVar23[1],local_3c), iVar10 == 0))\n  {\n    piVar23[3] = (int)pdVar15;\n    *piVar21 = *piVar23;\n    goto LAB_00044efc;\n  }\n  piVar4 = (int *)*piVar23;\n  piVar21 = piVar23;\n  piVar23 = piVar4;\n  if (piVar4 == (int *)0x0) {\nLAB_00044efc:\n    if (uVar18 == 0) {\n      return 1;\n    }\n    pdVar15 = debug_name_type(dhandle,local_3c,pdVar15);\n    if (pdVar15 != (debug_type_conflict)0x0) {\n      if (slot == (debug_type_conflict *)0x0) {\n        return 1;\n      }\n      *slot = pdVar15;\n      return uVar18;\n    }\n    return 0;\n  }\n  goto LAB_00044ecc;\nLAB_00044bbc:\n  iVar11 = *piVar21;\n  pcVar17 = *(char **)(iVar11 + 4);\n  if (cVar6 != '\0') {\n    pcVar17 = pcVar17 + (cVar6 == *pcVar17);\n  }\n  if ((*pcVar17 == cVar2) && (iVar14 = strcmp(pcVar17,local_3c), iVar14 == 0)) {\n    puVar1 = (uint *)(*(int *)(iVar11 + 0x14) + 0x1c);\n    value = CONCAT44(*(int *)(iVar11 + 0xc) + *(int *)(*(int *)(iVar11 + 0x14) + 0x20) +\n                     (uint)CARRY4(*(uint *)(iVar11 + 8),*puVar1),*(uint *)(iVar11 + 8) + *puVar1);\n    goto LAB_00044c0d;\n  }\n  piVar21 = piVar21 + 1;\n  iVar10 = iVar10 + -1;\n  if (iVar10 == 0) {\nLAB_00044c0d:\n    kind_00 = DEBUG_GLOBAL;\nLAB_0004486e:\n    bVar13 = stab_record_variable(dhandle,(stab_handle *)handle,local_3c,pdVar12,kind_00,value);\njoined_r0x00044fe7:\n    if (bVar13 != 0) {\n      return 1;\n    }\n    return 0;\n  }\n  goto LAB_00044bbc;\n}\n\n" comment comment (function_definition "bfd_boolean parse_stab(void *dhandle,void *handle,int type,int desc,bfd_vma value,char *string)\n\n{\n  uint *puVar1;\n  char cVar2;\n  uint uVar3;\n  int *piVar4;\n  bfd_vma bVar5;\n  char cVar6;\n  undefined4 uVar7;\n  undefined4 *puVar8;\n  size_t sVar9;\n  int iVar10;\n  int iVar11;\n  debug_type pdVar12;\n  bfd_boolean bVar13;\n  int iVar14;\n  debug_type_conflict pdVar15;\n  long lVar16;\n  char **pp;\n  debug_type_conflict *arg_types;\n  char *pcVar17;\n  uint uVar18;\n  char **extraout_EDX;\n  debug_type_conflict type_00;\n  byte *pbVar19;\n  char **ppcVar20;\n  int *piVar21;\n  byte *pbVar22;\n  int *piVar23;\n  bool bVar24;\n  bool bVar25;\n  bool bVar26;\n  byte bVar27;\n  double val;\n  debug_parm_kind kind;\n  debug_var_kind kind_00;\n  char **in_stack_ffffffb0;\n  char **ppcVar28;\n  debug_type_conflict **slotp;\n  char *p_end;\n  uint uVar29;\n  char *local_3c;\n  char *p;\n  debug_type_conflict *slot;\n  long lStack_14;\n  \n  bVar27 = 0;\n  lStack_14 = 0x440f9;\n  pcVar17 = *(char **)((int)handle + 0x10);\n  if (pcVar17 != (char *)0x0) {\n    if (((type != 100) || (cVar6 = *string, cVar6 == '\0')) ||\n       (value != *(bfd_vma *)((int)handle + 0x14))) {\n      bVar13 = debug_set_filename(dhandle,pcVar17);\n      if (bVar13 == 0) {\n        return 0;\n      }\n      *(undefined4 *)((int)handle + 0x2c) = 0;\n      *(undefined4 *)((int)handle + 0x30) = 0;\n      *(undefined4 *)((int)handle + 0x34) = *(undefined4 *)((int)handle + 0x10);\n      if (*(int *)((int)handle + 4) == 0) {\n        *(undefined4 *)((int)handle + 0x1c) = *(undefined4 *)((int)handle + 0x14);\n        *(undefined4 *)((int)handle + 0x20) = *(undefined4 *)((int)handle + 0x18);\n      }\n      *(undefined4 *)((int)handle + 0x54) = 1;\n      puVar8 = (undefined4 *)xmalloc(4);\n      *(undefined4 *)((int)handle + 0x10) = 0;\n      *(undefined4 **)((int)handle + 0x58) = puVar8;\n      *puVar8 = 0;\n      goto LAB_00044203;\n    }\n    if (*(int *)((int)handle + 0x40) == 0) goto LAB_0004414d;\nLAB_000448f8:\n    uVar29 = (uint)(value >> 0x20);\n    uVar18 = *(uint *)((int)handle + 0x44);\n    uVar3 = *(uint *)((int)handle + 0x48);\n    if (((uVar18 & uVar3) == 0xffffffff) ||\n       (bVar5 = *(bfd_vma *)((int)handle + 0x44),\n       uVar29 <= uVar3 && (uint)(uVar18 < (uint)value) <= uVar3 - uVar29)) {\nLAB_00044916:\n      bVar5 = value;\n    }\n    bVar13 = stab_emit_pending_vars(dhandle,(stab_handle *)((int)handle + 0x50));\n    if (bVar13 == 0) {\n      return 0;\n    }\n    bVar13 = debug_end_function(dhandle,bVar5);\n    if (bVar13 == 0) {\n      return 0;\n    }\n    *(undefined4 *)((int)handle + 0x40) = 0;\n    *(undefined4 *)((int)handle + 0x44) = 0xffffffff;\n    *(undefined4 *)((int)handle + 0x48) = 0xffffffff;\n    cVar6 = *string;\nLAB_00044966:\n    if (cVar6 == '\0') {\n      return 1;\n    }\n    pcVar17 = *(char **)((int)handle + 0x10);\nLAB_0004414d:\n    if (pcVar17 == (char *)0x0) {\n      uVar7 = xstrdup(string);\n      *(undefined4 *)((int)handle + 0x10) = uVar7;\n    }\n    else {\n      if (cVar6 == '/') {\n        uVar7 = xstrdup(string);\n        *(undefined4 *)((int)handle + 0x10) = uVar7;\n      }\n      else {\n        uVar7 = concat(pcVar17,string,0);\n        *(undefined4 *)((int)handle + 0x10) = uVar7;\n      }\n      free(pcVar17);\n    }\n    *(bfd_vma *)((int)handle + 0x14) = value;\n    return 1;\n  }\nLAB_00044203:\n  sVar9 = strlen(string);\n  uVar18 = (uint)(value >> 0x20);\n  if (type == 0x62) {\n    return 1;\n  }\n  if (type < 99) {\n    if (type == 0x24) {\n      if (*string == '\0') {\n        if (*(int *)((int)handle + 0x40) == 0) {\n          return 1;\n        }\n        if (*(int *)((int)handle + 4) != 0) {\n          value = value + *(longlong *)((int)handle + 0x24);\n        }\n        bVar13 = stab_emit_pending_vars(dhandle,(stab_handle *)((int)handle + 0x50));\n        if (bVar13 == 0) {\n          return 0;\n        }\n        bVar13 = debug_end_function(dhandle,value);\n        if (bVar13 == 0) {\n          return 0;\n        }\n        *(undefined4 *)((int)handle + 0x40) = 0;\n        *(undefined4 *)((int)handle + 0x44) = 0xffffffff;\n        *(undefined4 *)((int)handle + 0x48) = 0xffffffff;\n        return 1;\n      }\n      if (*(int *)((int)handle + 0x40) != 0) {\n        uVar3 = *(uint *)((int)handle + 0x48);\n        if (((*(uint *)((int)handle + 0x44) & uVar3) == 0xffffffff) ||\n           (uVar18 < uVar3 || uVar18 - uVar3 < (uint)((uint)value < *(uint *)((int)handle + 0x44))))\n        {\n          *(bfd_vma *)((int)handle + 0x44) = value;\n        }\n      }\n    }\n    else if (type < 0x25) {\n      if (type == 0xc) {\n        return 1;\n      }\n      if ((0xb < type) && (type - 0x1eU < 2)) {\n        return 1;\n      }\n    }\n    else {\n      if (type == 0x38) {\n        return 1;\n      }\n      if (type < 0x39) {\n        if (type == 0x2a) {\n          return 1;\n        }\n      }\n      else {\n        bVar24 = (uint)type < 0x3c;\n        bVar26 = type == 0x3c;\n        if (bVar26) {\n          iVar10 = 0xf;\n          pbVar19 = (byte *)string;\n          pbVar22 = (byte *)"gcc2_compiled.";\n          do {\n            if (iVar10 == 0) break;\n            iVar10 = iVar10 + -1;\n            bVar24 = *pbVar19 < *pbVar22;\n            bVar26 = *pbVar19 == *pbVar22;\n            pbVar19 = pbVar19 + (uint)bVar27 * -2 + 1;\n            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n          } while (bVar26);\n          bVar25 = false;\n          bVar24 = (!bVar24 && !bVar26) == bVar24;\n          if (bVar24) {\n            *(undefined4 *)((int)handle + 0x2c) = 2;\n            return 1;\n          }\n          iVar10 = 0xe;\n          pbVar19 = (byte *)"gcc_compiled.";\n          do {\n            if (iVar10 == 0) break;\n            iVar10 = iVar10 + -1;\n            bVar25 = (byte)*string < *pbVar19;\n            bVar24 = *string == *pbVar19;\n            string = (char *)((byte *)string + (uint)bVar27 * -2 + 1);\n            pbVar19 = pbVar19 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          if ((!bVar25 && !bVar24) != bVar25) {\n            *(undefined4 *)((int)handle + 0x30) = 1;\n            return 1;\n          }\n          *(undefined4 *)((int)handle + 0x2c) = 1;\n          return 1;\n        }\n        if (type == 0x44) {\n          if (*(int *)((int)handle + 0x40) != 0) {\n            value = value + *(longlong *)((int)handle + 0x24);\n          }\n          iVar10 = debug_record_line(dhandle,desc,value);\n          goto LAB_0004426d;\n        }\n      }\n    }\nLAB_00044431:\n    p = strchr(string,0x3a);\n    uVar18 = (uint)(value >> 0x20);\n    if (p == (char *)0x0) {\n      return 1;\n    }\n    bVar27 = p[1];\n    if ((bVar27 & 0xdf) != 0x46) goto LAB_000447b5;\n    if (*(int *)((int)handle + 0x40) != 0) {\n      uVar3 = *(uint *)((int)handle + 0x44);\n      uVar29 = *(uint *)((int)handle + 0x48);\n      if (((uVar3 & uVar29) == 0xffffffff) ||\n         (bVar5 = *(bfd_vma *)((int)handle + 0x44),\n         uVar18 <= uVar29 && (uint)(uVar3 < (uint)value) <= uVar29 - uVar18)) {\n        bVar5 = value;\n      }\n      in_stack_ffffffb0 = (char **)0x444a2;\n      bVar13 = stab_emit_pending_vars(dhandle,(stab_handle *)((int)handle + 0x50));\n      if ((bVar13 == 0) || (bVar13 = debug_end_function(dhandle,bVar5), bVar13 == 0)) {\n        return 0;\n      }\n      *(undefined4 *)((int)handle + 0x44) = 0xffffffff;\n      *(undefined4 *)((int)handle + 0x48) = 0xffffffff;\n    }\n    if (*(int *)((int)handle + 4) != 0) {\n      *(bfd_vma *)((int)handle + 0x24) = value;\n    }\n    *(undefined4 *)((int)handle + 0x40) = 1;\n    p = strchr(string,0x3a);\n    if (p == (char *)0x0) {\n      return 1;\n    }\nLAB_000447b1:\n    bVar27 = p[1];\nLAB_000447b5:\n    if (bVar27 == 0x3a) goto LAB_00044790;\n    if (*string != '$') goto _L1810;\n    switch(string[1]) {\n    default:\n      pcVar17 = (char *)dcgettext(0,"unknown C++ encoded name",5);\n      warn_stab(string,pcVar17);\n    case 'X':\n    case '_':\n    case 'v':\n_L1810:\n      local_3c = (char *)0x0;\n      if ((string != p) && ((*string != ' ' || (p != string + 1)))) {\n        in_stack_ffffffb0 = (char **)0x447f4;\n        local_3c = savestring(string,(int)p - (int)string);\n      }\n      break;\n    case 'e':\n      local_3c = "eh_throw";\n      break;\n    case 't':\n      local_3c = "this";\n    }\n    p_end = (char *)(value >> 0x20);\n    slotp = (debug_type_conflict **)value;\n    pcVar17 = string + sVar9;\n    ppcVar28 = (char **)((int)p + 1);\n    bVar27 = *(byte *)((int)p + 1);\n    if (((PTR__sch_istable_00071fbc[(uint)bVar27 * 2] & 4) != 0) ||\n       (bVar27 == 0x28 || bVar27 == 0x2d)) {\n_L1827:\n      p = (char *)ppcVar28;\n      pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,in_stack_ffffffb0,slotp,p_end);\n      if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }\n      kind_00 = DEBUG_LOCAL;\n      goto LAB_0004486e;\n    }\n    if (bVar27 == 0) goto LAB_000449d0;\n    ppcVar28 = (char **)((int)p + 2);\n    bVar27 = *(byte *)((int)p + 1);\n    ppcVar20 = (char **)(uint)bVar27;\n    if (0x33 < (byte)((int)ppcVar20 - 0x43U)) goto _L1817;\n    uVar18 = (int)ppcVar20 - 0x43U & 0xff;\n    pp = (char **)((int)&_GLOBAL_OFFSET_TABLE_ + (&switchD_00044abe::switchdataD_00057e08)[uVar18]);\n    switch(uVar18) {\n    case 0:\n      p = (char *)ppcVar28;\n      pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end);\n      if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }\n      bVar13 = debug_record_label(dhandle,local_3c,pdVar12,value);\n      goto joined_r0x00044fe7;\n    default:\n      goto _L1817;\n    case 3:\n    case 0x23:\n      p = (char *)ppcVar28;\n      pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,pp,slotp,p_end);\n      if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }\n      ppcVar28 = extraout_EDX;\n      pdVar12 = (debug_type)\n                debug_record_function(dhandle,local_3c,pdVar12,(uint)(bVar27 == 0x46),value);\n      while( true ) {\n        if (pdVar12 == (debug_type)0x0) {\n          return 0;\n        }\n        if (*p != ';') break;\n        p = p + 1;\n        pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar28,\n                                  (debug_type_conflict **)value,(char *)(value >> 0x20));\n      }\n      return 1;\n    case 4:\n      p = (char *)ppcVar28;\n      pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,pp,slotp,p_end);\n      if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }\n      if (local_3c == (char *)0x0) goto LAB_00044c0d;\n                    /* WARNING: Load size is inaccurate */\n      iVar10 = *(int *)((int)handle + 0xc);\n      piVar21 = *(int **)((int)handle + 8);\n      cVar6 = *(char *)(*(int *)(*handle + 4) + 0x18);\n      if (iVar10 < 1) goto LAB_00044c0d;\n      cVar2 = *local_3c;\n      goto LAB_00044bbc;\n    case 0xd:\n      if (type == 0x24) {\n        p = (char *)ppcVar28;\n        do {\n          if (*p != ';') {\n            return 1;\n          }\n          p = p + 1;\n          pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,in_stack_ffffffb0,\n                                    (debug_type_conflict **)value,(char *)(value >> 0x20));\n        } while (pdVar12 != (debug_type)0x0);\n        return 0;\n      }\n    case 0xf:\n      p = (char *)ppcVar28;\n      pdVar15 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,pp,slotp,p_end);\n      if (pdVar15 == (debug_type)0x0) {\n        return 0;\n      }\n      kind = DEBUG_PARM_REG;\n      break;\n    case 0x10:\n      ppcVar20 = (char **)p;\n      p = (char *)ppcVar28;\n      pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end);\n      if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }\n      kind_00 = DEBUG_STATIC;\n      goto LAB_0004486e;\n    case 0x11:\n      bVar24 = *(char *)((int)p + 2) == 't';\n      if (bVar24) {\n        ppcVar28 = (char **)((int)p + 3);\n      }\n      p = (char *)ppcVar28;\n      uVar18 = (uint)bVar24;\n      pdVar12 = parse_stab_type(&p,(stab_handle *)&slot,pcVar17,(char **)type,slotp,p_end);\n      if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }\n      if (local_3c == (char *)0x0) {\n        return 1;\n      }\n      iVar10 = *(int *)((int)handle + 0xe8);\n      pdVar15 = debug_tag_type(dhandle,local_3c,pdVar12);\n      if (pdVar15 == (debug_type_conflict)0x0) {\n        return 0;\n      }\n      if (slot != (debug_type_conflict *)0x0) {\n        *slot = pdVar15;\n      }\n      if (iVar10 != 0) goto LAB_00044efc;\n      if (*(int **)((int)handle + 0xe4) == (int *)0x0) goto LAB_00044efc;\n      cVar6 = *local_3c;\n      piVar21 = (int *)((int)handle + 0xe4);\n      piVar23 = *(int **)((int)handle + 0xe4);\n      goto LAB_00044ecc;\n    case 0x13:\n      ppcVar20 = (char **)p;\n      p = (char *)ppcVar28;\n      pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end);\n      if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }\n      kind_00 = DEBUG_LOCAL_STATIC;\n      goto LAB_0004486e;\n    case 0x15:\n    case 0x29:\n    case 0x30:\n      goto _L1827;\n    case 0x16:\n      ppcVar28 = (char **)((int)p + 3);\n      if ((*(char *)((int)p + 3) == 'n') &&\n         (ppcVar28 = (char **)((int)p + 4), ppcVar20 = (char **)((int)p + 4), p = (char *)ppcVar28,\n         *(char *)ppcVar20 == '0')) {\n        for (; *p != ';'; p = p + 1) {\n        }\n        return 1;\n      }\n_L1817:\n      p = (char *)ppcVar28;\n      bad_stab(string);\n      return 0;\n    case 0x1e:\n      p = (char *)ppcVar28;\n      pdVar15 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end);\n      if (pdVar15 == (debug_type)0x0) {\n        return 0;\n      }\n      kind = DEBUG_PARM_REF_REG;\n      break;\n    case 0x20:\n      if (*(char *)((int)p + 2) == '=') {\n        ppcVar28 = (char **)((int)p + 4);\n        bVar27 = *(byte *)((int)p + 3);\n        p = (char *)ppcVar28;\n        if (bVar27 == 0x69) {\n          lVar16 = strtol((char *)ppcVar28,(char **)0x0,10);\n          bVar13 = debug_record_int_const(dhandle,local_3c,(longlong)lVar16);\n          goto joined_r0x00044fe7;\n        }\n        if (bVar27 == 0x72) {\n          val = strtod((char *)ppcVar28,(char **)0x0);\n          bVar13 = debug_record_float_const(dhandle,local_3c,val);\n          goto joined_r0x00044fe7;\n        }\n        if (bVar27 == 0x65) {\n          pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,(char **)(uint)bVar27,slotp,p_end)\n          ;\n          if (pdVar12 == (debug_type)0x0) {\n            return 0;\n          }\n          ppcVar28 = (char **)p;\n          if (*p == ',') {\n            lVar16 = strtol(p,(char **)0x0,10);\n            bVar13 = debug_record_typed_const(dhandle,local_3c,pdVar12,(longlong)lVar16);\n            goto joined_r0x00044fe7;\n          }\n        }\n      }\n      goto LAB_000449d0;\n    case 0x2d:\n      if (*(char *)((int)p + 2) == 'F') {\n        p = (char *)((int)p + 3);\n        pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,(char **)p,slotp,p_end);\n        if (pdVar12 == (debug_type)0x0) {\n          return 0;\n        }\n        pdVar15 = debug_make_function_type(pdVar12,type_00,arg_types,(bfd_boolean)dhandle);\n        pdVar15 = debug_make_pointer_type(dhandle,pdVar15);\n      }\n      else {\n        ppcVar20 = (char **)p;\n        p = (char *)ppcVar28;\n        pdVar15 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end);\n      }\n      if (pdVar15 == (debug_type_conflict)0x0) {\n        return 0;\n      }\n      kind = DEBUG_PARM_STACK;\n      break;\n    case 0x2f:\n      ppcVar20 = (char **)p;\n      p = (char *)ppcVar28;\n      pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end);\n      if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }\n      kind_00 = DEBUG_REGISTER;\n      goto LAB_0004486e;\n    case 0x31:\n      ppcVar20 = (char **)p;\n      p = (char *)ppcVar28;\n      pdVar12 = parse_stab_type(&p,(stab_handle *)&slot,pcVar17,ppcVar20,slotp,p_end);\n      if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }\n      if (local_3c == (char *)0x0) {\n        return 1;\n      }\n      pdVar15 = debug_name_type(dhandle,local_3c,pdVar12);\n      if (pdVar15 == (debug_type_conflict)0x0) {\n        return 0;\n      }\n      if (slot == (debug_type_conflict *)0x0) {\n        return 1;\n      }\n      *slot = pdVar15;\n      return 1;\n    case 0x33:\n      ppcVar20 = (char **)p;\n      p = (char *)ppcVar28;\n      pdVar15 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end);\n      if (pdVar15 == (debug_type)0x0) {\n        return 0;\n      }\n      kind = DEBUG_PARM_REFERENCE;\n    }\n    bVar13 = debug_record_parameter(dhandle,local_3c,pdVar15,kind,value);\n    goto joined_r0x00044fe7;\n  }\n  if (type == 0xc0) {\n    if ((*(int *)((int)handle + 0x30) != 0) && (desc == 1)) {\n      return 1;\n    }\n    if (*(int *)((int)handle + 0x40) == 0) {\n      pcVar17 = (char *)dcgettext(0,"N_LBRAC not within function\n",5);\n      fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar17);\n      return 0;\n    }\n    bVar13 = debug_start_block(dhandle,value + CONCAT44(*(int *)((int)handle + 0x28) +\n                                                        *(int *)((int)handle + 0x20) +\n                                                        (uint)CARRY4(*(uint *)((int)handle + 0x24),\n                                                                     *(uint *)((int)handle + 0x1c)),\n                                                        *(uint *)((int)handle + 0x24) +\n                                                        *(uint *)((int)handle + 0x1c)));\n    if (bVar13 == 0) {\n      return 0;\n    }\n    bVar13 = stab_emit_pending_vars(dhandle,(stab_handle *)((int)handle + 0x50));\n    if (bVar13 == 0) {\n      return 0;\n    }\n    *(int *)((int)handle + 0x4c) = *(int *)((int)handle + 0x4c) + 1;\n    return 1;\n  }\n  if (0xc0 < type) {\n    if (type == 0xe0) {\n      if ((*(int *)((int)handle + 0x30) != 0) && (desc == 1)) {\n        return 1;\n      }\n      bVar13 = stab_emit_pending_vars(dhandle,(stab_handle *)((int)handle + 0x50));\n      if (bVar13 == 0) {\n        return 0;\n      }\n      bVar13 = debug_end_block(dhandle,value + CONCAT44(*(int *)((int)handle + 0x28) +\n                                                        *(int *)((int)handle + 0x20) +\n                                                        (uint)CARRY4(*(uint *)((int)handle + 0x24),\n                                                                     *(uint *)((int)handle + 0x1c)),\n                                                        *(uint *)((int)handle + 0x24) +\n                                                        *(uint *)((int)handle + 0x1c)));\n      if (bVar13 == 0) {\n        return 0;\n      }\n      piVar21 = (int *)((int)handle + 0x4c);\n      *piVar21 = *piVar21 + -1;\n      if (*piVar21 < 0) {\n        pcVar17 = (char *)dcgettext(0,"Too many N_RBRACs\n",5);\n        fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar17);\n        return 0;\n      }\n      return 1;\n    }\n    if (type < 0xe1) {\n      if (type == 0xc2) {\n        iVar10 = *(int *)((int)handle + 0x54) + 1;\n        *(int *)((int)handle + 0x54) = iVar10;\n        iVar10 = xrealloc(*(undefined4 *)((int)handle + 0x58),iVar10 * 4);\n        puVar8 = *(undefined4 **)((int)handle + 0x3c);\n        *(int *)((int)handle + 0x58) = iVar10;\n        while( true ) {\n          if (puVar8 == (undefined4 *)0x0) {\n            pcVar17 = (char *)dcgettext(0,"Undefined N_EXCL",5);\n            warn_stab(string,pcVar17);\n            *(undefined4 *)(*(int *)((int)handle + 0x58) + -4 + *(int *)((int)handle + 0x54) * 4) =\n                 0;\n            return 1;\n          }\n          if ((value == *(bfd_vma *)(puVar8 + 3)) &&\n             (iVar11 = strcmp((char *)puVar8[2],string), iVar11 == 0)) break;\n          puVar8 = (undefined4 *)*puVar8;\n        }\n        *(undefined4 *)(iVar10 + -4 + *(int *)((int)handle + 0x54) * 4) = puVar8[6];\n        return 1;\n      }\n      goto LAB_00044431;\n    }\n    if (type == 0xe2) {\n      iVar10 = debug_start_common_block(dhandle,string);\n    }\n    else {\n      if (type != 0xe4) goto LAB_00044431;\n      iVar10 = debug_end_common_block(dhandle,string);\n    }\n    goto LAB_0004426d;\n  }\n  if (type == 0x82) {\n    puVar8 = (undefined4 *)xmalloc(0x1c);\n    uVar7 = *(undefined4 *)((int)handle + 0x3c);\n    puVar8[4] = (int)(value >> 0x20);\n    *puVar8 = uVar7;\n    uVar7 = *(undefined4 *)((int)handle + 0x38);\n    puVar8[6] = 0;\n    puVar8[1] = uVar7;\n    *(undefined4 **)((int)handle + 0x3c) = puVar8;\n    puVar8[2] = string;\n    *(undefined4 **)((int)handle + 0x38) = puVar8;\n    puVar8[3] = (int)value;\n    iVar10 = *(int *)((int)handle + 0x54);\n    puVar8[5] = iVar10;\n    iVar10 = iVar10 + 1;\n    *(int *)((int)handle + 0x54) = iVar10;\n    iVar11 = xrealloc(*(undefined4 *)((int)handle + 0x58),iVar10 * 4);\n    iVar10 = puVar8[5];\n    *(int *)((int)handle + 0x58) = iVar11;\n    *(undefined4 *)(iVar11 + iVar10 * 4) = 0;\n  }\n  else {\n    if (type < 0x83) {\n      if (type != 100) goto LAB_00044431;\n      cVar6 = *string;\n      if (*(int *)((int)handle + 0x40) != 0) {\n        if (cVar6 != '\0') goto LAB_000448f8;\n        goto LAB_00044916;\n      }\n      goto LAB_00044966;\n    }\n    if (type != 0x84) {\n      if (type != 0xa2) goto LAB_00044431;\n      iVar10 = *(int *)((int)handle + 0x38);\n      if (iVar10 != 0) {\n        iVar11 = *(int *)(iVar10 + 4);\n        uVar18 = *(uint *)(iVar10 + 0x14);\n        *(int *)((int)handle + 0x38) = iVar11;\n        if ((uVar18 < *(uint *)((int)handle + 0x54)) &&\n           (*(undefined4 *)(iVar10 + 0x18) =\n                 *(undefined4 *)(*(int *)((int)handle + 0x58) + uVar18 * 4), iVar11 != 0)) {\n          string = *(char **)(iVar11 + 8);\n          goto LAB_000445bf;\n        }\n      }\n      string = *(char **)((int)handle + 0x34);\n    }\n  }\nLAB_000445bf:\n  iVar10 = debug_start_source(dhandle,string);\nLAB_0004426d:\n  return (uint)(iVar10 != 0);\nLAB_00044790:\n  p = p + 2;\n  p = strchr(p,0x3a);\n  ppcVar28 = (char **)p;\n  if (p == (char *)0x0) {\nLAB_000449d0:\n    p = (char *)ppcVar28;\n    bad_stab(string);\n    return 0;\n  }\n  goto LAB_000447b1;\nLAB_00044ecc:\n  if ((*(char *)piVar23[1] == cVar6) && (iVar10 = strcmp((char *)piVar23[1],local_3c), iVar10 == 0))\n  {\n    piVar23[3] = (int)pdVar15;\n    *piVar21 = *piVar23;\n    goto LAB_00044efc;\n  }\n  piVar4 = (int *)*piVar23;\n  piVar21 = piVar23;\n  piVar23 = piVar4;\n  if (piVar4 == (int *)0x0) {\nLAB_00044efc:\n    if (uVar18 == 0) {\n      return 1;\n    }\n    pdVar15 = debug_name_type(dhandle,local_3c,pdVar15);\n    if (pdVar15 != (debug_type_conflict)0x0) {\n      if (slot == (debug_type_conflict *)0x0) {\n        return 1;\n      }\n      *slot = pdVar15;\n      return uVar18;\n    }\n    return 0;\n  }\n  goto LAB_00044ecc;\nLAB_00044bbc:\n  iVar11 = *piVar21;\n  pcVar17 = *(char **)(iVar11 + 4);\n  if (cVar6 != '\0') {\n    pcVar17 = pcVar17 + (cVar6 == *pcVar17);\n  }\n  if ((*pcVar17 == cVar2) && (iVar14 = strcmp(pcVar17,local_3c), iVar14 == 0)) {\n    puVar1 = (uint *)(*(int *)(iVar11 + 0x14) + 0x1c);\n    value = CONCAT44(*(int *)(iVar11 + 0xc) + *(int *)(*(int *)(iVar11 + 0x14) + 0x20) +\n                     (uint)CARRY4(*(uint *)(iVar11 + 8),*puVar1),*(uint *)(iVar11 + 8) + *puVar1);\n    goto LAB_00044c0d;\n  }\n  piVar21 = piVar21 + 1;\n  iVar10 = iVar10 + -1;\n  if (iVar10 == 0) {\nLAB_00044c0d:\n    kind_00 = DEBUG_GLOBAL;\nLAB_0004486e:\n    bVar13 = stab_record_variable(dhandle,(stab_handle *)handle,local_3c,pdVar12,kind_00,value);\njoined_r0x00044fe7:\n    if (bVar13 != 0) {\n      return 1;\n    }\n    return 0;\n  }\n  goto LAB_00044bbc;\n}" type_identifier (function_declarator "parse_stab(void *dhandle,void *handle,int type,int desc,bfd_vma value,char *string)" identifier (parameter_list "(void *dhandle,void *handle,int type,int desc,bfd_vma value,char *string)" ( (parameter_declaration "void *dhandle" primitive_type (pointer_declarator "*dhandle" * identifier)) , (parameter_declaration "void *handle" primitive_type (pointer_declarator "*handle" * identifier)) , (parameter_declaration "int type" primitive_type identifier) , (parameter_declaration "int desc" primitive_type identifier) , (parameter_declaration "bfd_vma value" type_identifier identifier) , (parameter_declaration "char *string" primitive_type (pointer_declarator "*string" * identifier)) ))) (compound_statement "{\n  uint *puVar1;\n  char cVar2;\n  uint uVar3;\n  int *piVar4;\n  bfd_vma bVar5;\n  char cVar6;\n  undefined4 uVar7;\n  undefined4 *puVar8;\n  size_t sVar9;\n  int iVar10;\n  int iVar11;\n  debug_type pdVar12;\n  bfd_boolean bVar13;\n  int iVar14;\n  debug_type_conflict pdVar15;\n  long lVar16;\n  char **pp;\n  debug_type_conflict *arg_types;\n  char *pcVar17;\n  uint uVar18;\n  char **extraout_EDX;\n  debug_type_conflict type_00;\n  byte *pbVar19;\n  char **ppcVar20;\n  int *piVar21;\n  byte *pbVar22;\n  int *piVar23;\n  bool bVar24;\n  bool bVar25;\n  bool bVar26;\n  byte bVar27;\n  double val;\n  debug_parm_kind kind;\n  debug_var_kind kind_00;\n  char **in_stack_ffffffb0;\n  char **ppcVar28;\n  debug_type_conflict **slotp;\n  char *p_end;\n  uint uVar29;\n  char *local_3c;\n  char *p;\n  debug_type_conflict *slot;\n  long lStack_14;\n  \n  bVar27 = 0;\n  lStack_14 = 0x440f9;\n  pcVar17 = *(char **)((int)handle + 0x10);\n  if (pcVar17 != (char *)0x0) {\n    if (((type != 100) || (cVar6 = *string, cVar6 == '\0')) ||\n       (value != *(bfd_vma *)((int)handle + 0x14))) {\n      bVar13 = debug_set_filename(dhandle,pcVar17);\n      if (bVar13 == 0) {\n        return 0;\n      }\n      *(undefined4 *)((int)handle + 0x2c) = 0;\n      *(undefined4 *)((int)handle + 0x30) = 0;\n      *(undefined4 *)((int)handle + 0x34) = *(undefined4 *)((int)handle + 0x10);\n      if (*(int *)((int)handle + 4) == 0) {\n        *(undefined4 *)((int)handle + 0x1c) = *(undefined4 *)((int)handle + 0x14);\n        *(undefined4 *)((int)handle + 0x20) = *(undefined4 *)((int)handle + 0x18);\n      }\n      *(undefined4 *)((int)handle + 0x54) = 1;\n      puVar8 = (undefined4 *)xmalloc(4);\n      *(undefined4 *)((int)handle + 0x10) = 0;\n      *(undefined4 **)((int)handle + 0x58) = puVar8;\n      *puVar8 = 0;\n      goto LAB_00044203;\n    }\n    if (*(int *)((int)handle + 0x40) == 0) goto LAB_0004414d;\nLAB_000448f8:\n    uVar29 = (uint)(value >> 0x20);\n    uVar18 = *(uint *)((int)handle + 0x44);\n    uVar3 = *(uint *)((int)handle + 0x48);\n    if (((uVar18 & uVar3) == 0xffffffff) ||\n       (bVar5 = *(bfd_vma *)((int)handle + 0x44),\n       uVar29 <= uVar3 && (uint)(uVar18 < (uint)value) <= uVar3 - uVar29)) {\nLAB_00044916:\n      bVar5 = value;\n    }\n    bVar13 = stab_emit_pending_vars(dhandle,(stab_handle *)((int)handle + 0x50));\n    if (bVar13 == 0) {\n      return 0;\n    }\n    bVar13 = debug_end_function(dhandle,bVar5);\n    if (bVar13 == 0) {\n      return 0;\n    }\n    *(undefined4 *)((int)handle + 0x40) = 0;\n    *(undefined4 *)((int)handle + 0x44) = 0xffffffff;\n    *(undefined4 *)((int)handle + 0x48) = 0xffffffff;\n    cVar6 = *string;\nLAB_00044966:\n    if (cVar6 == '\0') {\n      return 1;\n    }\n    pcVar17 = *(char **)((int)handle + 0x10);\nLAB_0004414d:\n    if (pcVar17 == (char *)0x0) {\n      uVar7 = xstrdup(string);\n      *(undefined4 *)((int)handle + 0x10) = uVar7;\n    }\n    else {\n      if (cVar6 == '/') {\n        uVar7 = xstrdup(string);\n        *(undefined4 *)((int)handle + 0x10) = uVar7;\n      }\n      else {\n        uVar7 = concat(pcVar17,string,0);\n        *(undefined4 *)((int)handle + 0x10) = uVar7;\n      }\n      free(pcVar17);\n    }\n    *(bfd_vma *)((int)handle + 0x14) = value;\n    return 1;\n  }\nLAB_00044203:\n  sVar9 = strlen(string);\n  uVar18 = (uint)(value >> 0x20);\n  if (type == 0x62) {\n    return 1;\n  }\n  if (type < 99) {\n    if (type == 0x24) {\n      if (*string == '\0') {\n        if (*(int *)((int)handle + 0x40) == 0) {\n          return 1;\n        }\n        if (*(int *)((int)handle + 4) != 0) {\n          value = value + *(longlong *)((int)handle + 0x24);\n        }\n        bVar13 = stab_emit_pending_vars(dhandle,(stab_handle *)((int)handle + 0x50));\n        if (bVar13 == 0) {\n          return 0;\n        }\n        bVar13 = debug_end_function(dhandle,value);\n        if (bVar13 == 0) {\n          return 0;\n        }\n        *(undefined4 *)((int)handle + 0x40) = 0;\n        *(undefined4 *)((int)handle + 0x44) = 0xffffffff;\n        *(undefined4 *)((int)handle + 0x48) = 0xffffffff;\n        return 1;\n      }\n      if (*(int *)((int)handle + 0x40) != 0) {\n        uVar3 = *(uint *)((int)handle + 0x48);\n        if (((*(uint *)((int)handle + 0x44) & uVar3) == 0xffffffff) ||\n           (uVar18 < uVar3 || uVar18 - uVar3 < (uint)((uint)value < *(uint *)((int)handle + 0x44))))\n        {\n          *(bfd_vma *)((int)handle + 0x44) = value;\n        }\n      }\n    }\n    else if (type < 0x25) {\n      if (type == 0xc) {\n        return 1;\n      }\n      if ((0xb < type) && (type - 0x1eU < 2)) {\n        return 1;\n      }\n    }\n    else {\n      if (type == 0x38) {\n        return 1;\n      }\n      if (type < 0x39) {\n        if (type == 0x2a) {\n          return 1;\n        }\n      }\n      else {\n        bVar24 = (uint)type < 0x3c;\n        bVar26 = type == 0x3c;\n        if (bVar26) {\n          iVar10 = 0xf;\n          pbVar19 = (byte *)string;\n          pbVar22 = (byte *)"gcc2_compiled.";\n          do {\n            if (iVar10 == 0) break;\n            iVar10 = iVar10 + -1;\n            bVar24 = *pbVar19 < *pbVar22;\n            bVar26 = *pbVar19 == *pbVar22;\n            pbVar19 = pbVar19 + (uint)bVar27 * -2 + 1;\n            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n          } while (bVar26);\n          bVar25 = false;\n          bVar24 = (!bVar24 && !bVar26) == bVar24;\n          if (bVar24) {\n            *(undefined4 *)((int)handle + 0x2c) = 2;\n            return 1;\n          }\n          iVar10 = 0xe;\n          pbVar19 = (byte *)"gcc_compiled.";\n          do {\n            if (iVar10 == 0) break;\n            iVar10 = iVar10 + -1;\n            bVar25 = (byte)*string < *pbVar19;\n            bVar24 = *string == *pbVar19;\n            string = (char *)((byte *)string + (uint)bVar27 * -2 + 1);\n            pbVar19 = pbVar19 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          if ((!bVar25 && !bVar24) != bVar25) {\n            *(undefined4 *)((int)handle + 0x30) = 1;\n            return 1;\n          }\n          *(undefined4 *)((int)handle + 0x2c) = 1;\n          return 1;\n        }\n        if (type == 0x44) {\n          if (*(int *)((int)handle + 0x40) != 0) {\n            value = value + *(longlong *)((int)handle + 0x24);\n          }\n          iVar10 = debug_record_line(dhandle,desc,value);\n          goto LAB_0004426d;\n        }\n      }\n    }\nLAB_00044431:\n    p = strchr(string,0x3a);\n    uVar18 = (uint)(value >> 0x20);\n    if (p == (char *)0x0) {\n      return 1;\n    }\n    bVar27 = p[1];\n    if ((bVar27 & 0xdf) != 0x46) goto LAB_000447b5;\n    if (*(int *)((int)handle + 0x40) != 0) {\n      uVar3 = *(uint *)((int)handle + 0x44);\n      uVar29 = *(uint *)((int)handle + 0x48);\n      if (((uVar3 & uVar29) == 0xffffffff) ||\n         (bVar5 = *(bfd_vma *)((int)handle + 0x44),\n         uVar18 <= uVar29 && (uint)(uVar3 < (uint)value) <= uVar29 - uVar18)) {\n        bVar5 = value;\n      }\n      in_stack_ffffffb0 = (char **)0x444a2;\n      bVar13 = stab_emit_pending_vars(dhandle,(stab_handle *)((int)handle + 0x50));\n      if ((bVar13 == 0) || (bVar13 = debug_end_function(dhandle,bVar5), bVar13 == 0)) {\n        return 0;\n      }\n      *(undefined4 *)((int)handle + 0x44) = 0xffffffff;\n      *(undefined4 *)((int)handle + 0x48) = 0xffffffff;\n    }\n    if (*(int *)((int)handle + 4) != 0) {\n      *(bfd_vma *)((int)handle + 0x24) = value;\n    }\n    *(undefined4 *)((int)handle + 0x40) = 1;\n    p = strchr(string,0x3a);\n    if (p == (char *)0x0) {\n      return 1;\n    }\nLAB_000447b1:\n    bVar27 = p[1];\nLAB_000447b5:\n    if (bVar27 == 0x3a) goto LAB_00044790;\n    if (*string != '$') goto _L1810;\n    switch(string[1]) {\n    default:\n      pcVar17 = (char *)dcgettext(0,"unknown C++ encoded name",5);\n      warn_stab(string,pcVar17);\n    case 'X':\n    case '_':\n    case 'v':\n_L1810:\n      local_3c = (char *)0x0;\n      if ((string != p) && ((*string != ' ' || (p != string + 1)))) {\n        in_stack_ffffffb0 = (char **)0x447f4;\n        local_3c = savestring(string,(int)p - (int)string);\n      }\n      break;\n    case 'e':\n      local_3c = "eh_throw";\n      break;\n    case 't':\n      local_3c = "this";\n    }\n    p_end = (char *)(value >> 0x20);\n    slotp = (debug_type_conflict **)value;\n    pcVar17 = string + sVar9;\n    ppcVar28 = (char **)((int)p + 1);\n    bVar27 = *(byte *)((int)p + 1);\n    if (((PTR__sch_istable_00071fbc[(uint)bVar27 * 2] & 4) != 0) ||\n       (bVar27 == 0x28 || bVar27 == 0x2d)) {\n_L1827:\n      p = (char *)ppcVar28;\n      pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,in_stack_ffffffb0,slotp,p_end);\n      if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }\n      kind_00 = DEBUG_LOCAL;\n      goto LAB_0004486e;\n    }\n    if (bVar27 == 0) goto LAB_000449d0;\n    ppcVar28 = (char **)((int)p + 2);\n    bVar27 = *(byte *)((int)p + 1);\n    ppcVar20 = (char **)(uint)bVar27;\n    if (0x33 < (byte)((int)ppcVar20 - 0x43U)) goto _L1817;\n    uVar18 = (int)ppcVar20 - 0x43U & 0xff;\n    pp = (char **)((int)&_GLOBAL_OFFSET_TABLE_ + (&switchD_00044abe::switchdataD_00057e08)[uVar18]);\n    switch(uVar18) {\n    case 0:\n      p = (char *)ppcVar28;\n      pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end);\n      if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }\n      bVar13 = debug_record_label(dhandle,local_3c,pdVar12,value);\n      goto joined_r0x00044fe7;\n    default:\n      goto _L1817;\n    case 3:\n    case 0x23:\n      p = (char *)ppcVar28;\n      pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,pp,slotp,p_end);\n      if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }\n      ppcVar28 = extraout_EDX;\n      pdVar12 = (debug_type)\n                debug_record_function(dhandle,local_3c,pdVar12,(uint)(bVar27 == 0x46),value);\n      while( true ) {\n        if (pdVar12 == (debug_type)0x0) {\n          return 0;\n        }\n        if (*p != ';') break;\n        p = p + 1;\n        pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar28,\n                                  (debug_type_conflict **)value,(char *)(value >> 0x20));\n      }\n      return 1;\n    case 4:\n      p = (char *)ppcVar28;\n      pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,pp,slotp,p_end);\n      if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }\n      if (local_3c == (char *)0x0) goto LAB_00044c0d;\n                    /* WARNING: Load size is inaccurate */\n      iVar10 = *(int *)((int)handle + 0xc);\n      piVar21 = *(int **)((int)handle + 8);\n      cVar6 = *(char *)(*(int *)(*handle + 4) + 0x18);\n      if (iVar10 < 1) goto LAB_00044c0d;\n      cVar2 = *local_3c;\n      goto LAB_00044bbc;\n    case 0xd:\n      if (type == 0x24) {\n        p = (char *)ppcVar28;\n        do {\n          if (*p != ';') {\n            return 1;\n          }\n          p = p + 1;\n          pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,in_stack_ffffffb0,\n                                    (debug_type_conflict **)value,(char *)(value >> 0x20));\n        } while (pdVar12 != (debug_type)0x0);\n        return 0;\n      }\n    case 0xf:\n      p = (char *)ppcVar28;\n      pdVar15 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,pp,slotp,p_end);\n      if (pdVar15 == (debug_type)0x0) {\n        return 0;\n      }\n      kind = DEBUG_PARM_REG;\n      break;\n    case 0x10:\n      ppcVar20 = (char **)p;\n      p = (char *)ppcVar28;\n      pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end);\n      if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }\n      kind_00 = DEBUG_STATIC;\n      goto LAB_0004486e;\n    case 0x11:\n      bVar24 = *(char *)((int)p + 2) == 't';\n      if (bVar24) {\n        ppcVar28 = (char **)((int)p + 3);\n      }\n      p = (char *)ppcVar28;\n      uVar18 = (uint)bVar24;\n      pdVar12 = parse_stab_type(&p,(stab_handle *)&slot,pcVar17,(char **)type,slotp,p_end);\n      if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }\n      if (local_3c == (char *)0x0) {\n        return 1;\n      }\n      iVar10 = *(int *)((int)handle + 0xe8);\n      pdVar15 = debug_tag_type(dhandle,local_3c,pdVar12);\n      if (pdVar15 == (debug_type_conflict)0x0) {\n        return 0;\n      }\n      if (slot != (debug_type_conflict *)0x0) {\n        *slot = pdVar15;\n      }\n      if (iVar10 != 0) goto LAB_00044efc;\n      if (*(int **)((int)handle + 0xe4) == (int *)0x0) goto LAB_00044efc;\n      cVar6 = *local_3c;\n      piVar21 = (int *)((int)handle + 0xe4);\n      piVar23 = *(int **)((int)handle + 0xe4);\n      goto LAB_00044ecc;\n    case 0x13:\n      ppcVar20 = (char **)p;\n      p = (char *)ppcVar28;\n      pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end);\n      if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }\n      kind_00 = DEBUG_LOCAL_STATIC;\n      goto LAB_0004486e;\n    case 0x15:\n    case 0x29:\n    case 0x30:\n      goto _L1827;\n    case 0x16:\n      ppcVar28 = (char **)((int)p + 3);\n      if ((*(char *)((int)p + 3) == 'n') &&\n         (ppcVar28 = (char **)((int)p + 4), ppcVar20 = (char **)((int)p + 4), p = (char *)ppcVar28,\n         *(char *)ppcVar20 == '0')) {\n        for (; *p != ';'; p = p + 1) {\n        }\n        return 1;\n      }\n_L1817:\n      p = (char *)ppcVar28;\n      bad_stab(string);\n      return 0;\n    case 0x1e:\n      p = (char *)ppcVar28;\n      pdVar15 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end);\n      if (pdVar15 == (debug_type)0x0) {\n        return 0;\n      }\n      kind = DEBUG_PARM_REF_REG;\n      break;\n    case 0x20:\n      if (*(char *)((int)p + 2) == '=') {\n        ppcVar28 = (char **)((int)p + 4);\n        bVar27 = *(byte *)((int)p + 3);\n        p = (char *)ppcVar28;\n        if (bVar27 == 0x69) {\n          lVar16 = strtol((char *)ppcVar28,(char **)0x0,10);\n          bVar13 = debug_record_int_const(dhandle,local_3c,(longlong)lVar16);\n          goto joined_r0x00044fe7;\n        }\n        if (bVar27 == 0x72) {\n          val = strtod((char *)ppcVar28,(char **)0x0);\n          bVar13 = debug_record_float_const(dhandle,local_3c,val);\n          goto joined_r0x00044fe7;\n        }\n        if (bVar27 == 0x65) {\n          pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,(char **)(uint)bVar27,slotp,p_end)\n          ;\n          if (pdVar12 == (debug_type)0x0) {\n            return 0;\n          }\n          ppcVar28 = (char **)p;\n          if (*p == ',') {\n            lVar16 = strtol(p,(char **)0x0,10);\n            bVar13 = debug_record_typed_const(dhandle,local_3c,pdVar12,(longlong)lVar16);\n            goto joined_r0x00044fe7;\n          }\n        }\n      }\n      goto LAB_000449d0;\n    case 0x2d:\n      if (*(char *)((int)p + 2) == 'F') {\n        p = (char *)((int)p + 3);\n        pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,(char **)p,slotp,p_end);\n        if (pdVar12 == (debug_type)0x0) {\n          return 0;\n        }\n        pdVar15 = debug_make_function_type(pdVar12,type_00,arg_types,(bfd_boolean)dhandle);\n        pdVar15 = debug_make_pointer_type(dhandle,pdVar15);\n      }\n      else {\n        ppcVar20 = (char **)p;\n        p = (char *)ppcVar28;\n        pdVar15 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end);\n      }\n      if (pdVar15 == (debug_type_conflict)0x0) {\n        return 0;\n      }\n      kind = DEBUG_PARM_STACK;\n      break;\n    case 0x2f:\n      ppcVar20 = (char **)p;\n      p = (char *)ppcVar28;\n      pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end);\n      if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }\n      kind_00 = DEBUG_REGISTER;\n      goto LAB_0004486e;\n    case 0x31:\n      ppcVar20 = (char **)p;\n      p = (char *)ppcVar28;\n      pdVar12 = parse_stab_type(&p,(stab_handle *)&slot,pcVar17,ppcVar20,slotp,p_end);\n      if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }\n      if (local_3c == (char *)0x0) {\n        return 1;\n      }\n      pdVar15 = debug_name_type(dhandle,local_3c,pdVar12);\n      if (pdVar15 == (debug_type_conflict)0x0) {\n        return 0;\n      }\n      if (slot == (debug_type_conflict *)0x0) {\n        return 1;\n      }\n      *slot = pdVar15;\n      return 1;\n    case 0x33:\n      ppcVar20 = (char **)p;\n      p = (char *)ppcVar28;\n      pdVar15 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end);\n      if (pdVar15 == (debug_type)0x0) {\n        return 0;\n      }\n      kind = DEBUG_PARM_REFERENCE;\n    }\n    bVar13 = debug_record_parameter(dhandle,local_3c,pdVar15,kind,value);\n    goto joined_r0x00044fe7;\n  }\n  if (type == 0xc0) {\n    if ((*(int *)((int)handle + 0x30) != 0) && (desc == 1)) {\n      return 1;\n    }\n    if (*(int *)((int)handle + 0x40) == 0) {\n      pcVar17 = (char *)dcgettext(0,"N_LBRAC not within function\n",5);\n      fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar17);\n      return 0;\n    }\n    bVar13 = debug_start_block(dhandle,value + CONCAT44(*(int *)((int)handle + 0x28) +\n                                                        *(int *)((int)handle + 0x20) +\n                                                        (uint)CARRY4(*(uint *)((int)handle + 0x24),\n                                                                     *(uint *)((int)handle + 0x1c)),\n                                                        *(uint *)((int)handle + 0x24) +\n                                                        *(uint *)((int)handle + 0x1c)));\n    if (bVar13 == 0) {\n      return 0;\n    }\n    bVar13 = stab_emit_pending_vars(dhandle,(stab_handle *)((int)handle + 0x50));\n    if (bVar13 == 0) {\n      return 0;\n    }\n    *(int *)((int)handle + 0x4c) = *(int *)((int)handle + 0x4c) + 1;\n    return 1;\n  }\n  if (0xc0 < type) {\n    if (type == 0xe0) {\n      if ((*(int *)((int)handle + 0x30) != 0) && (desc == 1)) {\n        return 1;\n      }\n      bVar13 = stab_emit_pending_vars(dhandle,(stab_handle *)((int)handle + 0x50));\n      if (bVar13 == 0) {\n        return 0;\n      }\n      bVar13 = debug_end_block(dhandle,value + CONCAT44(*(int *)((int)handle + 0x28) +\n                                                        *(int *)((int)handle + 0x20) +\n                                                        (uint)CARRY4(*(uint *)((int)handle + 0x24),\n                                                                     *(uint *)((int)handle + 0x1c)),\n                                                        *(uint *)((int)handle + 0x24) +\n                                                        *(uint *)((int)handle + 0x1c)));\n      if (bVar13 == 0) {\n        return 0;\n      }\n      piVar21 = (int *)((int)handle + 0x4c);\n      *piVar21 = *piVar21 + -1;\n      if (*piVar21 < 0) {\n        pcVar17 = (char *)dcgettext(0,"Too many N_RBRACs\n",5);\n        fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar17);\n        return 0;\n      }\n      return 1;\n    }\n    if (type < 0xe1) {\n      if (type == 0xc2) {\n        iVar10 = *(int *)((int)handle + 0x54) + 1;\n        *(int *)((int)handle + 0x54) = iVar10;\n        iVar10 = xrealloc(*(undefined4 *)((int)handle + 0x58),iVar10 * 4);\n        puVar8 = *(undefined4 **)((int)handle + 0x3c);\n        *(int *)((int)handle + 0x58) = iVar10;\n        while( true ) {\n          if (puVar8 == (undefined4 *)0x0) {\n            pcVar17 = (char *)dcgettext(0,"Undefined N_EXCL",5);\n            warn_stab(string,pcVar17);\n            *(undefined4 *)(*(int *)((int)handle + 0x58) + -4 + *(int *)((int)handle + 0x54) * 4) =\n                 0;\n            return 1;\n          }\n          if ((value == *(bfd_vma *)(puVar8 + 3)) &&\n             (iVar11 = strcmp((char *)puVar8[2],string), iVar11 == 0)) break;\n          puVar8 = (undefined4 *)*puVar8;\n        }\n        *(undefined4 *)(iVar10 + -4 + *(int *)((int)handle + 0x54) * 4) = puVar8[6];\n        return 1;\n      }\n      goto LAB_00044431;\n    }\n    if (type == 0xe2) {\n      iVar10 = debug_start_common_block(dhandle,string);\n    }\n    else {\n      if (type != 0xe4) goto LAB_00044431;\n      iVar10 = debug_end_common_block(dhandle,string);\n    }\n    goto LAB_0004426d;\n  }\n  if (type == 0x82) {\n    puVar8 = (undefined4 *)xmalloc(0x1c);\n    uVar7 = *(undefined4 *)((int)handle + 0x3c);\n    puVar8[4] = (int)(value >> 0x20);\n    *puVar8 = uVar7;\n    uVar7 = *(undefined4 *)((int)handle + 0x38);\n    puVar8[6] = 0;\n    puVar8[1] = uVar7;\n    *(undefined4 **)((int)handle + 0x3c) = puVar8;\n    puVar8[2] = string;\n    *(undefined4 **)((int)handle + 0x38) = puVar8;\n    puVar8[3] = (int)value;\n    iVar10 = *(int *)((int)handle + 0x54);\n    puVar8[5] = iVar10;\n    iVar10 = iVar10 + 1;\n    *(int *)((int)handle + 0x54) = iVar10;\n    iVar11 = xrealloc(*(undefined4 *)((int)handle + 0x58),iVar10 * 4);\n    iVar10 = puVar8[5];\n    *(int *)((int)handle + 0x58) = iVar11;\n    *(undefined4 *)(iVar11 + iVar10 * 4) = 0;\n  }\n  else {\n    if (type < 0x83) {\n      if (type != 100) goto LAB_00044431;\n      cVar6 = *string;\n      if (*(int *)((int)handle + 0x40) != 0) {\n        if (cVar6 != '\0') goto LAB_000448f8;\n        goto LAB_00044916;\n      }\n      goto LAB_00044966;\n    }\n    if (type != 0x84) {\n      if (type != 0xa2) goto LAB_00044431;\n      iVar10 = *(int *)((int)handle + 0x38);\n      if (iVar10 != 0) {\n        iVar11 = *(int *)(iVar10 + 4);\n        uVar18 = *(uint *)(iVar10 + 0x14);\n        *(int *)((int)handle + 0x38) = iVar11;\n        if ((uVar18 < *(uint *)((int)handle + 0x54)) &&\n           (*(undefined4 *)(iVar10 + 0x18) =\n                 *(undefined4 *)(*(int *)((int)handle + 0x58) + uVar18 * 4), iVar11 != 0)) {\n          string = *(char **)(iVar11 + 8);\n          goto LAB_000445bf;\n        }\n      }\n      string = *(char **)((int)handle + 0x34);\n    }\n  }\nLAB_000445bf:\n  iVar10 = debug_start_source(dhandle,string);\nLAB_0004426d:\n  return (uint)(iVar10 != 0);\nLAB_00044790:\n  p = p + 2;\n  p = strchr(p,0x3a);\n  ppcVar28 = (char **)p;\n  if (p == (char *)0x0) {\nLAB_000449d0:\n    p = (char *)ppcVar28;\n    bad_stab(string);\n    return 0;\n  }\n  goto LAB_000447b1;\nLAB_00044ecc:\n  if ((*(char *)piVar23[1] == cVar6) && (iVar10 = strcmp((char *)piVar23[1],local_3c), iVar10 == 0))\n  {\n    piVar23[3] = (int)pdVar15;\n    *piVar21 = *piVar23;\n    goto LAB_00044efc;\n  }\n  piVar4 = (int *)*piVar23;\n  piVar21 = piVar23;\n  piVar23 = piVar4;\n  if (piVar4 == (int *)0x0) {\nLAB_00044efc:\n    if (uVar18 == 0) {\n      return 1;\n    }\n    pdVar15 = debug_name_type(dhandle,local_3c,pdVar15);\n    if (pdVar15 != (debug_type_conflict)0x0) {\n      if (slot == (debug_type_conflict *)0x0) {\n        return 1;\n      }\n      *slot = pdVar15;\n      return uVar18;\n    }\n    return 0;\n  }\n  goto LAB_00044ecc;\nLAB_00044bbc:\n  iVar11 = *piVar21;\n  pcVar17 = *(char **)(iVar11 + 4);\n  if (cVar6 != '\0') {\n    pcVar17 = pcVar17 + (cVar6 == *pcVar17);\n  }\n  if ((*pcVar17 == cVar2) && (iVar14 = strcmp(pcVar17,local_3c), iVar14 == 0)) {\n    puVar1 = (uint *)(*(int *)(iVar11 + 0x14) + 0x1c);\n    value = CONCAT44(*(int *)(iVar11 + 0xc) + *(int *)(*(int *)(iVar11 + 0x14) + 0x20) +\n                     (uint)CARRY4(*(uint *)(iVar11 + 8),*puVar1),*(uint *)(iVar11 + 8) + *puVar1);\n    goto LAB_00044c0d;\n  }\n  piVar21 = piVar21 + 1;\n  iVar10 = iVar10 + -1;\n  if (iVar10 == 0) {\nLAB_00044c0d:\n    kind_00 = DEBUG_GLOBAL;\nLAB_0004486e:\n    bVar13 = stab_record_variable(dhandle,(stab_handle *)handle,local_3c,pdVar12,kind_00,value);\njoined_r0x00044fe7:\n    if (bVar13 != 0) {\n      return 1;\n    }\n    return 0;\n  }\n  goto LAB_00044bbc;\n}" { (declaration "uint *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "int *piVar4;" primitive_type (pointer_declarator "*piVar4" * identifier) ;) (declaration "bfd_vma bVar5;" type_identifier identifier ;) (declaration "char cVar6;" primitive_type identifier ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "undefined4 *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "size_t sVar9;" primitive_type identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "debug_type pdVar12;" type_identifier identifier ;) (declaration "bfd_boolean bVar13;" type_identifier identifier ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "debug_type_conflict pdVar15;" type_identifier identifier ;) (declaration "long lVar16;" (sized_type_specifier "long" long) identifier ;) (declaration "char **pp;" primitive_type (pointer_declarator "**pp" * (pointer_declarator "*pp" * identifier)) ;) (declaration "debug_type_conflict *arg_types;" type_identifier (pointer_declarator "*arg_types" * identifier) ;) (declaration "char *pcVar17;" primitive_type (pointer_declarator "*pcVar17" * identifier) ;) (declaration "uint uVar18;" type_identifier identifier ;) (declaration "char **extraout_EDX;" primitive_type (pointer_declarator "**extraout_EDX" * (pointer_declarator "*extraout_EDX" * identifier)) ;) (declaration "debug_type_conflict type_00;" type_identifier identifier ;) (declaration "byte *pbVar19;" type_identifier (pointer_declarator "*pbVar19" * identifier) ;) (declaration "char **ppcVar20;" primitive_type (pointer_declarator "**ppcVar20" * (pointer_declarator "*ppcVar20" * identifier)) ;) (declaration "int *piVar21;" primitive_type (pointer_declarator "*piVar21" * identifier) ;) (declaration "byte *pbVar22;" type_identifier (pointer_declarator "*pbVar22" * identifier) ;) (declaration "int *piVar23;" primitive_type (pointer_declarator "*piVar23" * identifier) ;) (declaration "bool bVar24;" primitive_type identifier ;) (declaration "bool bVar25;" primitive_type identifier ;) (declaration "bool bVar26;" primitive_type identifier ;) (declaration "byte bVar27;" type_identifier identifier ;) (declaration "double val;" primitive_type identifier ;) (declaration "debug_parm_kind kind;" type_identifier identifier ;) (declaration "debug_var_kind kind_00;" type_identifier identifier ;) (declaration "char **in_stack_ffffffb0;" primitive_type (pointer_declarator "**in_stack_ffffffb0" * (pointer_declarator "*in_stack_ffffffb0" * identifier)) ;) (declaration "char **ppcVar28;" primitive_type (pointer_declarator "**ppcVar28" * (pointer_declarator "*ppcVar28" * identifier)) ;) (declaration "debug_type_conflict **slotp;" type_identifier (pointer_declarator "**slotp" * (pointer_declarator "*slotp" * identifier)) ;) (declaration "char *p_end;" primitive_type (pointer_declarator "*p_end" * identifier) ;) (declaration "uint uVar29;" type_identifier identifier ;) (declaration "char *local_3c;" primitive_type (pointer_declarator "*local_3c" * identifier) ;) (declaration "char *p;" primitive_type (pointer_declarator "*p" * identifier) ;) (declaration "debug_type_conflict *slot;" type_identifier (pointer_declarator "*slot" * identifier) ;) (declaration "long lStack_14;" (sized_type_specifier "long" long) identifier ;) (expression_statement "bVar27 = 0;" (assignment_expression "bVar27 = 0" identifier = number_literal) ;) (expression_statement "lStack_14 = 0x440f9;" (assignment_expression "lStack_14 = 0x440f9" identifier = number_literal) ;) (expression_statement "pcVar17 = *(char **)((int)handle + 0x10);" (assignment_expression "pcVar17 = *(char **)((int)handle + 0x10)" identifier = (pointer_expression "*(char **)((int)handle + 0x10)" * (cast_expression "(char **)((int)handle + 0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)handle + 0x10)" ( (binary_expression "(int)handle + 0x10" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if (pcVar17 != (char *)0x0) {\n    if (((type != 100) || (cVar6 = *string, cVar6 == '\0')) ||\n       (value != *(bfd_vma *)((int)handle + 0x14))) {\n      bVar13 = debug_set_filename(dhandle,pcVar17);\n      if (bVar13 == 0) {\n        return 0;\n      }\n      *(undefined4 *)((int)handle + 0x2c) = 0;\n      *(undefined4 *)((int)handle + 0x30) = 0;\n      *(undefined4 *)((int)handle + 0x34) = *(undefined4 *)((int)handle + 0x10);\n      if (*(int *)((int)handle + 4) == 0) {\n        *(undefined4 *)((int)handle + 0x1c) = *(undefined4 *)((int)handle + 0x14);\n        *(undefined4 *)((int)handle + 0x20) = *(undefined4 *)((int)handle + 0x18);\n      }\n      *(undefined4 *)((int)handle + 0x54) = 1;\n      puVar8 = (undefined4 *)xmalloc(4);\n      *(undefined4 *)((int)handle + 0x10) = 0;\n      *(undefined4 **)((int)handle + 0x58) = puVar8;\n      *puVar8 = 0;\n      goto LAB_00044203;\n    }\n    if (*(int *)((int)handle + 0x40) == 0) goto LAB_0004414d;\nLAB_000448f8:\n    uVar29 = (uint)(value >> 0x20);\n    uVar18 = *(uint *)((int)handle + 0x44);\n    uVar3 = *(uint *)((int)handle + 0x48);\n    if (((uVar18 & uVar3) == 0xffffffff) ||\n       (bVar5 = *(bfd_vma *)((int)handle + 0x44),\n       uVar29 <= uVar3 && (uint)(uVar18 < (uint)value) <= uVar3 - uVar29)) {\nLAB_00044916:\n      bVar5 = value;\n    }\n    bVar13 = stab_emit_pending_vars(dhandle,(stab_handle *)((int)handle + 0x50));\n    if (bVar13 == 0) {\n      return 0;\n    }\n    bVar13 = debug_end_function(dhandle,bVar5);\n    if (bVar13 == 0) {\n      return 0;\n    }\n    *(undefined4 *)((int)handle + 0x40) = 0;\n    *(undefined4 *)((int)handle + 0x44) = 0xffffffff;\n    *(undefined4 *)((int)handle + 0x48) = 0xffffffff;\n    cVar6 = *string;\nLAB_00044966:\n    if (cVar6 == '\0') {\n      return 1;\n    }\n    pcVar17 = *(char **)((int)handle + 0x10);\nLAB_0004414d:\n    if (pcVar17 == (char *)0x0) {\n      uVar7 = xstrdup(string);\n      *(undefined4 *)((int)handle + 0x10) = uVar7;\n    }\n    else {\n      if (cVar6 == '/') {\n        uVar7 = xstrdup(string);\n        *(undefined4 *)((int)handle + 0x10) = uVar7;\n      }\n      else {\n        uVar7 = concat(pcVar17,string,0);\n        *(undefined4 *)((int)handle + 0x10) = uVar7;\n      }\n      free(pcVar17);\n    }\n    *(bfd_vma *)((int)handle + 0x14) = value;\n    return 1;\n  }" if (parenthesized_expression "(pcVar17 != (char *)0x0)" ( (binary_expression "pcVar17 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (((type != 100) || (cVar6 = *string, cVar6 == '\0')) ||\n       (value != *(bfd_vma *)((int)handle + 0x14))) {\n      bVar13 = debug_set_filename(dhandle,pcVar17);\n      if (bVar13 == 0) {\n        return 0;\n      }\n      *(undefined4 *)((int)handle + 0x2c) = 0;\n      *(undefined4 *)((int)handle + 0x30) = 0;\n      *(undefined4 *)((int)handle + 0x34) = *(undefined4 *)((int)handle + 0x10);\n      if (*(int *)((int)handle + 4) == 0) {\n        *(undefined4 *)((int)handle + 0x1c) = *(undefined4 *)((int)handle + 0x14);\n        *(undefined4 *)((int)handle + 0x20) = *(undefined4 *)((int)handle + 0x18);\n      }\n      *(undefined4 *)((int)handle + 0x54) = 1;\n      puVar8 = (undefined4 *)xmalloc(4);\n      *(undefined4 *)((int)handle + 0x10) = 0;\n      *(undefined4 **)((int)handle + 0x58) = puVar8;\n      *puVar8 = 0;\n      goto LAB_00044203;\n    }\n    if (*(int *)((int)handle + 0x40) == 0) goto LAB_0004414d;\nLAB_000448f8:\n    uVar29 = (uint)(value >> 0x20);\n    uVar18 = *(uint *)((int)handle + 0x44);\n    uVar3 = *(uint *)((int)handle + 0x48);\n    if (((uVar18 & uVar3) == 0xffffffff) ||\n       (bVar5 = *(bfd_vma *)((int)handle + 0x44),\n       uVar29 <= uVar3 && (uint)(uVar18 < (uint)value) <= uVar3 - uVar29)) {\nLAB_00044916:\n      bVar5 = value;\n    }\n    bVar13 = stab_emit_pending_vars(dhandle,(stab_handle *)((int)handle + 0x50));\n    if (bVar13 == 0) {\n      return 0;\n    }\n    bVar13 = debug_end_function(dhandle,bVar5);\n    if (bVar13 == 0) {\n      return 0;\n    }\n    *(undefined4 *)((int)handle + 0x40) = 0;\n    *(undefined4 *)((int)handle + 0x44) = 0xffffffff;\n    *(undefined4 *)((int)handle + 0x48) = 0xffffffff;\n    cVar6 = *string;\nLAB_00044966:\n    if (cVar6 == '\0') {\n      return 1;\n    }\n    pcVar17 = *(char **)((int)handle + 0x10);\nLAB_0004414d:\n    if (pcVar17 == (char *)0x0) {\n      uVar7 = xstrdup(string);\n      *(undefined4 *)((int)handle + 0x10) = uVar7;\n    }\n    else {\n      if (cVar6 == '/') {\n        uVar7 = xstrdup(string);\n        *(undefined4 *)((int)handle + 0x10) = uVar7;\n      }\n      else {\n        uVar7 = concat(pcVar17,string,0);\n        *(undefined4 *)((int)handle + 0x10) = uVar7;\n      }\n      free(pcVar17);\n    }\n    *(bfd_vma *)((int)handle + 0x14) = value;\n    return 1;\n  }" { (if_statement "if (((type != 100) || (cVar6 = *string, cVar6 == '\0')) ||\n       (value != *(bfd_vma *)((int)handle + 0x14))) {\n      bVar13 = debug_set_filename(dhandle,pcVar17);\n      if (bVar13 == 0) {\n        return 0;\n      }\n      *(undefined4 *)((int)handle + 0x2c) = 0;\n      *(undefined4 *)((int)handle + 0x30) = 0;\n      *(undefined4 *)((int)handle + 0x34) = *(undefined4 *)((int)handle + 0x10);\n      if (*(int *)((int)handle + 4) == 0) {\n        *(undefined4 *)((int)handle + 0x1c) = *(undefined4 *)((int)handle + 0x14);\n        *(undefined4 *)((int)handle + 0x20) = *(undefined4 *)((int)handle + 0x18);\n      }\n      *(undefined4 *)((int)handle + 0x54) = 1;\n      puVar8 = (undefined4 *)xmalloc(4);\n      *(undefined4 *)((int)handle + 0x10) = 0;\n      *(undefined4 **)((int)handle + 0x58) = puVar8;\n      *puVar8 = 0;\n      goto LAB_00044203;\n    }" if (parenthesized_expression "(((type != 100) || (cVar6 = *string, cVar6 == '\0')) ||\n       (value != *(bfd_vma *)((int)handle + 0x14)))" ( (binary_expression "((type != 100) || (cVar6 = *string, cVar6 == '\0')) ||\n       (value != *(bfd_vma *)((int)handle + 0x14))" (parenthesized_expression "((type != 100) || (cVar6 = *string, cVar6 == '\0'))" ( (binary_expression "(type != 100) || (cVar6 = *string, cVar6 == '\0')" (parenthesized_expression "(type != 100)" ( (binary_expression "type != 100" identifier != number_literal) )) || (parenthesized_expression "(cVar6 = *string, cVar6 == '\0')" ( (comma_expression "cVar6 = *string, cVar6 == '\0'" (assignment_expression "cVar6 = *string" identifier = (pointer_expression "*string" * identifier)) , (binary_expression "cVar6 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence '))) ))) )) || (parenthesized_expression "(value != *(bfd_vma *)((int)handle + 0x14))" ( (binary_expression "value != *(bfd_vma *)((int)handle + 0x14)" identifier != (pointer_expression "*(bfd_vma *)((int)handle + 0x14)" * (cast_expression "(bfd_vma *)((int)handle + 0x14)" ( (type_descriptor "bfd_vma *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x14)" ( (binary_expression "(int)handle + 0x14" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ))) )) (compound_statement "{\n      bVar13 = debug_set_filename(dhandle,pcVar17);\n      if (bVar13 == 0) {\n        return 0;\n      }\n      *(undefined4 *)((int)handle + 0x2c) = 0;\n      *(undefined4 *)((int)handle + 0x30) = 0;\n      *(undefined4 *)((int)handle + 0x34) = *(undefined4 *)((int)handle + 0x10);\n      if (*(int *)((int)handle + 4) == 0) {\n        *(undefined4 *)((int)handle + 0x1c) = *(undefined4 *)((int)handle + 0x14);\n        *(undefined4 *)((int)handle + 0x20) = *(undefined4 *)((int)handle + 0x18);\n      }\n      *(undefined4 *)((int)handle + 0x54) = 1;\n      puVar8 = (undefined4 *)xmalloc(4);\n      *(undefined4 *)((int)handle + 0x10) = 0;\n      *(undefined4 **)((int)handle + 0x58) = puVar8;\n      *puVar8 = 0;\n      goto LAB_00044203;\n    }" { (expression_statement "bVar13 = debug_set_filename(dhandle,pcVar17);" (assignment_expression "bVar13 = debug_set_filename(dhandle,pcVar17)" identifier = (call_expression "debug_set_filename(dhandle,pcVar17)" identifier (argument_list "(dhandle,pcVar17)" ( identifier , identifier )))) ;) (if_statement "if (bVar13 == 0) {\n        return 0;\n      }" if (parenthesized_expression "(bVar13 == 0)" ( (binary_expression "bVar13 == 0" identifier == number_literal) )) (compound_statement "{\n        return 0;\n      }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "*(undefined4 *)((int)handle + 0x2c) = 0;" (assignment_expression "*(undefined4 *)((int)handle + 0x2c) = 0" (pointer_expression "*(undefined4 *)((int)handle + 0x2c)" * (cast_expression "(undefined4 *)((int)handle + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x2c)" ( (binary_expression "(int)handle + 0x2c" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)handle + 0x30) = 0;" (assignment_expression "*(undefined4 *)((int)handle + 0x30) = 0" (pointer_expression "*(undefined4 *)((int)handle + 0x30)" * (cast_expression "(undefined4 *)((int)handle + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x30)" ( (binary_expression "(int)handle + 0x30" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)handle + 0x34) = *(undefined4 *)((int)handle + 0x10);" (assignment_expression "*(undefined4 *)((int)handle + 0x34) = *(undefined4 *)((int)handle + 0x10)" (pointer_expression "*(undefined4 *)((int)handle + 0x34)" * (cast_expression "(undefined4 *)((int)handle + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x34)" ( (binary_expression "(int)handle + 0x34" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)handle + 0x10)" * (cast_expression "(undefined4 *)((int)handle + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x10)" ( (binary_expression "(int)handle + 0x10" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if (*(int *)((int)handle + 4) == 0) {\n        *(undefined4 *)((int)handle + 0x1c) = *(undefined4 *)((int)handle + 0x14);\n        *(undefined4 *)((int)handle + 0x20) = *(undefined4 *)((int)handle + 0x18);\n      }" if (parenthesized_expression "(*(int *)((int)handle + 4) == 0)" ( (binary_expression "*(int *)((int)handle + 4) == 0" (pointer_expression "*(int *)((int)handle + 4)" * (cast_expression "(int *)((int)handle + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 4)" ( (binary_expression "(int)handle + 4" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == number_literal) )) (compound_statement "{\n        *(undefined4 *)((int)handle + 0x1c) = *(undefined4 *)((int)handle + 0x14);\n        *(undefined4 *)((int)handle + 0x20) = *(undefined4 *)((int)handle + 0x18);\n      }" { (expression_statement "*(undefined4 *)((int)handle + 0x1c) = *(undefined4 *)((int)handle + 0x14);" (assignment_expression "*(undefined4 *)((int)handle + 0x1c) = *(undefined4 *)((int)handle + 0x14)" (pointer_expression "*(undefined4 *)((int)handle + 0x1c)" * (cast_expression "(undefined4 *)((int)handle + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x1c)" ( (binary_expression "(int)handle + 0x1c" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)handle + 0x14)" * (cast_expression "(undefined4 *)((int)handle + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x14)" ( (binary_expression "(int)handle + 0x14" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)handle + 0x20) = *(undefined4 *)((int)handle + 0x18);" (assignment_expression "*(undefined4 *)((int)handle + 0x20) = *(undefined4 *)((int)handle + 0x18)" (pointer_expression "*(undefined4 *)((int)handle + 0x20)" * (cast_expression "(undefined4 *)((int)handle + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x20)" ( (binary_expression "(int)handle + 0x20" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)handle + 0x18)" * (cast_expression "(undefined4 *)((int)handle + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x18)" ( (binary_expression "(int)handle + 0x18" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) })) (expression_statement "*(undefined4 *)((int)handle + 0x54) = 1;" (assignment_expression "*(undefined4 *)((int)handle + 0x54) = 1" (pointer_expression "*(undefined4 *)((int)handle + 0x54)" * (cast_expression "(undefined4 *)((int)handle + 0x54)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x54)" ( (binary_expression "(int)handle + 0x54" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "puVar8 = (undefined4 *)xmalloc(4);" (assignment_expression "puVar8 = (undefined4 *)xmalloc(4)" identifier = (cast_expression "(undefined4 *)xmalloc(4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(4)" identifier (argument_list "(4)" ( number_literal ))))) ;) (expression_statement "*(undefined4 *)((int)handle + 0x10) = 0;" (assignment_expression "*(undefined4 *)((int)handle + 0x10) = 0" (pointer_expression "*(undefined4 *)((int)handle + 0x10)" * (cast_expression "(undefined4 *)((int)handle + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x10)" ( (binary_expression "(int)handle + 0x10" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 **)((int)handle + 0x58) = puVar8;" (assignment_expression "*(undefined4 **)((int)handle + 0x58) = puVar8" (pointer_expression "*(undefined4 **)((int)handle + 0x58)" * (cast_expression "(undefined4 **)((int)handle + 0x58)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)handle + 0x58)" ( (binary_expression "(int)handle + 0x58" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*puVar8 = 0;" (assignment_expression "*puVar8 = 0" (pointer_expression "*puVar8" * identifier) = number_literal) ;) (goto_statement "goto LAB_00044203;" goto statement_identifier ;) })) (if_statement "if (*(int *)((int)handle + 0x40) == 0) goto LAB_0004414d;" if (parenthesized_expression "(*(int *)((int)handle + 0x40) == 0)" ( (binary_expression "*(int *)((int)handle + 0x40) == 0" (pointer_expression "*(int *)((int)handle + 0x40)" * (cast_expression "(int *)((int)handle + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x40)" ( (binary_expression "(int)handle + 0x40" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_0004414d;" goto statement_identifier ;)) (labeled_statement "LAB_000448f8:\n    uVar29 = (uint)(value >> 0x20);" statement_identifier : (expression_statement "uVar29 = (uint)(value >> 0x20);" (assignment_expression "uVar29 = (uint)(value >> 0x20)" identifier = (call_expression "(uint)(value >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(value >> 0x20)" ( (binary_expression "value >> 0x20" identifier >> number_literal) )))) ;)) (expression_statement "uVar18 = *(uint *)((int)handle + 0x44);" (assignment_expression "uVar18 = *(uint *)((int)handle + 0x44)" identifier = (pointer_expression "*(uint *)((int)handle + 0x44)" * (cast_expression "(uint *)((int)handle + 0x44)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x44)" ( (binary_expression "(int)handle + 0x44" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "uVar3 = *(uint *)((int)handle + 0x48);" (assignment_expression "uVar3 = *(uint *)((int)handle + 0x48)" identifier = (pointer_expression "*(uint *)((int)handle + 0x48)" * (cast_expression "(uint *)((int)handle + 0x48)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x48)" ( (binary_expression "(int)handle + 0x48" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if (((uVar18 & uVar3) == 0xffffffff) ||\n       (bVar5 = *(bfd_vma *)((int)handle + 0x44),\n       uVar29 <= uVar3 && (uint)(uVar18 < (uint)value) <= uVar3 - uVar29)) {\nLAB_00044916:\n      bVar5 = value;\n    }" if (parenthesized_expression "(((uVar18 & uVar3) == 0xffffffff) ||\n       (bVar5 = *(bfd_vma *)((int)handle + 0x44),\n       uVar29 <= uVar3 && (uint)(uVar18 < (uint)value) <= uVar3 - uVar29))" ( (binary_expression "((uVar18 & uVar3) == 0xffffffff) ||\n       (bVar5 = *(bfd_vma *)((int)handle + 0x44),\n       uVar29 <= uVar3 && (uint)(uVar18 < (uint)value) <= uVar3 - uVar29)" (parenthesized_expression "((uVar18 & uVar3) == 0xffffffff)" ( (binary_expression "(uVar18 & uVar3) == 0xffffffff" (parenthesized_expression "(uVar18 & uVar3)" ( (binary_expression "uVar18 & uVar3" identifier & identifier) )) == number_literal) )) || (parenthesized_expression "(bVar5 = *(bfd_vma *)((int)handle + 0x44),\n       uVar29 <= uVar3 && (uint)(uVar18 < (uint)value) <= uVar3 - uVar29)" ( (comma_expression "bVar5 = *(bfd_vma *)((int)handle + 0x44),\n       uVar29 <= uVar3 && (uint)(uVar18 < (uint)value) <= uVar3 - uVar29" (assignment_expression "bVar5 = *(bfd_vma *)((int)handle + 0x44)" identifier = (pointer_expression "*(bfd_vma *)((int)handle + 0x44)" * (cast_expression "(bfd_vma *)((int)handle + 0x44)" ( (type_descriptor "bfd_vma *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x44)" ( (binary_expression "(int)handle + 0x44" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) , (binary_expression "uVar29 <= uVar3 && (uint)(uVar18 < (uint)value) <= uVar3 - uVar29" (binary_expression "uVar29 <= uVar3" identifier <= identifier) && (binary_expression "(uint)(uVar18 < (uint)value) <= uVar3 - uVar29" (call_expression "(uint)(uVar18 < (uint)value)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar18 < (uint)value)" ( (binary_expression "uVar18 < (uint)value" identifier < (cast_expression "(uint)value" ( (type_descriptor "uint" type_identifier) ) identifier)) ))) <= (binary_expression "uVar3 - uVar29" identifier - identifier)))) ))) )) (compound_statement "{\nLAB_00044916:\n      bVar5 = value;\n    }" { (labeled_statement "LAB_00044916:\n      bVar5 = value;" statement_identifier : (expression_statement "bVar5 = value;" (assignment_expression "bVar5 = value" identifier = identifier) ;)) })) (expression_statement "bVar13 = stab_emit_pending_vars(dhandle,(stab_handle *)((int)handle + 0x50));" (assignment_expression "bVar13 = stab_emit_pending_vars(dhandle,(stab_handle *)((int)handle + 0x50))" identifier = (call_expression "stab_emit_pending_vars(dhandle,(stab_handle *)((int)handle + 0x50))" identifier (argument_list "(dhandle,(stab_handle *)((int)handle + 0x50))" ( identifier , (cast_expression "(stab_handle *)((int)handle + 0x50)" ( (type_descriptor "stab_handle *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x50)" ( (binary_expression "(int)handle + 0x50" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) )))) ;) (if_statement "if (bVar13 == 0) {\n      return 0;\n    }" if (parenthesized_expression "(bVar13 == 0)" ( (binary_expression "bVar13 == 0" identifier == number_literal) )) (compound_statement "{\n      return 0;\n    }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "bVar13 = debug_end_function(dhandle,bVar5);" (assignment_expression "bVar13 = debug_end_function(dhandle,bVar5)" identifier = (call_expression "debug_end_function(dhandle,bVar5)" identifier (argument_list "(dhandle,bVar5)" ( identifier , identifier )))) ;) (if_statement "if (bVar13 == 0) {\n      return 0;\n    }" if (parenthesized_expression "(bVar13 == 0)" ( (binary_expression "bVar13 == 0" identifier == number_literal) )) (compound_statement "{\n      return 0;\n    }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "*(undefined4 *)((int)handle + 0x40) = 0;" (assignment_expression "*(undefined4 *)((int)handle + 0x40) = 0" (pointer_expression "*(undefined4 *)((int)handle + 0x40)" * (cast_expression "(undefined4 *)((int)handle + 0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x40)" ( (binary_expression "(int)handle + 0x40" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)handle + 0x44) = 0xffffffff;" (assignment_expression "*(undefined4 *)((int)handle + 0x44) = 0xffffffff" (pointer_expression "*(undefined4 *)((int)handle + 0x44)" * (cast_expression "(undefined4 *)((int)handle + 0x44)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x44)" ( (binary_expression "(int)handle + 0x44" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)handle + 0x48) = 0xffffffff;" (assignment_expression "*(undefined4 *)((int)handle + 0x48) = 0xffffffff" (pointer_expression "*(undefined4 *)((int)handle + 0x48)" * (cast_expression "(undefined4 *)((int)handle + 0x48)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x48)" ( (binary_expression "(int)handle + 0x48" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "cVar6 = *string;" (assignment_expression "cVar6 = *string" identifier = (pointer_expression "*string" * identifier)) ;) (labeled_statement "LAB_00044966:\n    if (cVar6 == '\0') {\n      return 1;\n    }" statement_identifier : (if_statement "if (cVar6 == '\0') {\n      return 1;\n    }" if (parenthesized_expression "(cVar6 == '\0')" ( (binary_expression "cVar6 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      return 1;\n    }" { (return_statement "return 1;" return number_literal ;) }))) (expression_statement "pcVar17 = *(char **)((int)handle + 0x10);" (assignment_expression "pcVar17 = *(char **)((int)handle + 0x10)" identifier = (pointer_expression "*(char **)((int)handle + 0x10)" * (cast_expression "(char **)((int)handle + 0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)handle + 0x10)" ( (binary_expression "(int)handle + 0x10" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (labeled_statement "LAB_0004414d:\n    if (pcVar17 == (char *)0x0) {\n      uVar7 = xstrdup(string);\n      *(undefined4 *)((int)handle + 0x10) = uVar7;\n    }\n    else {\n      if (cVar6 == '/') {\n        uVar7 = xstrdup(string);\n        *(undefined4 *)((int)handle + 0x10) = uVar7;\n      }\n      else {\n        uVar7 = concat(pcVar17,string,0);\n        *(undefined4 *)((int)handle + 0x10) = uVar7;\n      }\n      free(pcVar17);\n    }" statement_identifier : (if_statement "if (pcVar17 == (char *)0x0) {\n      uVar7 = xstrdup(string);\n      *(undefined4 *)((int)handle + 0x10) = uVar7;\n    }\n    else {\n      if (cVar6 == '/') {\n        uVar7 = xstrdup(string);\n        *(undefined4 *)((int)handle + 0x10) = uVar7;\n      }\n      else {\n        uVar7 = concat(pcVar17,string,0);\n        *(undefined4 *)((int)handle + 0x10) = uVar7;\n      }\n      free(pcVar17);\n    }" if (parenthesized_expression "(pcVar17 == (char *)0x0)" ( (binary_expression "pcVar17 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      uVar7 = xstrdup(string);\n      *(undefined4 *)((int)handle + 0x10) = uVar7;\n    }" { (expression_statement "uVar7 = xstrdup(string);" (assignment_expression "uVar7 = xstrdup(string)" identifier = (call_expression "xstrdup(string)" identifier (argument_list "(string)" ( identifier )))) ;) (expression_statement "*(undefined4 *)((int)handle + 0x10) = uVar7;" (assignment_expression "*(undefined4 *)((int)handle + 0x10) = uVar7" (pointer_expression "*(undefined4 *)((int)handle + 0x10)" * (cast_expression "(undefined4 *)((int)handle + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x10)" ( (binary_expression "(int)handle + 0x10" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) }) (else_clause "else {\n      if (cVar6 == '/') {\n        uVar7 = xstrdup(string);\n        *(undefined4 *)((int)handle + 0x10) = uVar7;\n      }\n      else {\n        uVar7 = concat(pcVar17,string,0);\n        *(undefined4 *)((int)handle + 0x10) = uVar7;\n      }\n      free(pcVar17);\n    }" else (compound_statement "{\n      if (cVar6 == '/') {\n        uVar7 = xstrdup(string);\n        *(undefined4 *)((int)handle + 0x10) = uVar7;\n      }\n      else {\n        uVar7 = concat(pcVar17,string,0);\n        *(undefined4 *)((int)handle + 0x10) = uVar7;\n      }\n      free(pcVar17);\n    }" { (if_statement "if (cVar6 == '/') {\n        uVar7 = xstrdup(string);\n        *(undefined4 *)((int)handle + 0x10) = uVar7;\n      }\n      else {\n        uVar7 = concat(pcVar17,string,0);\n        *(undefined4 *)((int)handle + 0x10) = uVar7;\n      }" if (parenthesized_expression "(cVar6 == '/')" ( (binary_expression "cVar6 == '/'" identifier == (char_literal "'/'" ' character ')) )) (compound_statement "{\n        uVar7 = xstrdup(string);\n        *(undefined4 *)((int)handle + 0x10) = uVar7;\n      }" { (expression_statement "uVar7 = xstrdup(string);" (assignment_expression "uVar7 = xstrdup(string)" identifier = (call_expression "xstrdup(string)" identifier (argument_list "(string)" ( identifier )))) ;) (expression_statement "*(undefined4 *)((int)handle + 0x10) = uVar7;" (assignment_expression "*(undefined4 *)((int)handle + 0x10) = uVar7" (pointer_expression "*(undefined4 *)((int)handle + 0x10)" * (cast_expression "(undefined4 *)((int)handle + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x10)" ( (binary_expression "(int)handle + 0x10" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) }) (else_clause "else {\n        uVar7 = concat(pcVar17,string,0);\n        *(undefined4 *)((int)handle + 0x10) = uVar7;\n      }" else (compound_statement "{\n        uVar7 = concat(pcVar17,string,0);\n        *(undefined4 *)((int)handle + 0x10) = uVar7;\n      }" { (expression_statement "uVar7 = concat(pcVar17,string,0);" (assignment_expression "uVar7 = concat(pcVar17,string,0)" identifier = (call_expression "concat(pcVar17,string,0)" identifier (argument_list "(pcVar17,string,0)" ( identifier , identifier , number_literal )))) ;) (expression_statement "*(undefined4 *)((int)handle + 0x10) = uVar7;" (assignment_expression "*(undefined4 *)((int)handle + 0x10) = uVar7" (pointer_expression "*(undefined4 *)((int)handle + 0x10)" * (cast_expression "(undefined4 *)((int)handle + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x10)" ( (binary_expression "(int)handle + 0x10" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) }))) (expression_statement "free(pcVar17);" (call_expression "free(pcVar17)" identifier (argument_list "(pcVar17)" ( identifier ))) ;) })))) (expression_statement "*(bfd_vma *)((int)handle + 0x14) = value;" (assignment_expression "*(bfd_vma *)((int)handle + 0x14) = value" (pointer_expression "*(bfd_vma *)((int)handle + 0x14)" * (cast_expression "(bfd_vma *)((int)handle + 0x14)" ( (type_descriptor "bfd_vma *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x14)" ( (binary_expression "(int)handle + 0x14" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (return_statement "return 1;" return number_literal ;) })) (labeled_statement "LAB_00044203:\n  sVar9 = strlen(string);" statement_identifier : (expression_statement "sVar9 = strlen(string);" (assignment_expression "sVar9 = strlen(string)" identifier = (call_expression "strlen(string)" identifier (argument_list "(string)" ( identifier )))) ;)) (expression_statement "uVar18 = (uint)(value >> 0x20);" (assignment_expression "uVar18 = (uint)(value >> 0x20)" identifier = (call_expression "(uint)(value >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(value >> 0x20)" ( (binary_expression "value >> 0x20" identifier >> number_literal) )))) ;) (if_statement "if (type == 0x62) {\n    return 1;\n  }" if (parenthesized_expression "(type == 0x62)" ( (binary_expression "type == 0x62" identifier == number_literal) )) (compound_statement "{\n    return 1;\n  }" { (return_statement "return 1;" return number_literal ;) })) (if_statement "if (type < 99) {\n    if (type == 0x24) {\n      if (*string == '\0') {\n        if (*(int *)((int)handle + 0x40) == 0) {\n          return 1;\n        }\n        if (*(int *)((int)handle + 4) != 0) {\n          value = value + *(longlong *)((int)handle + 0x24);\n        }\n        bVar13 = stab_emit_pending_vars(dhandle,(stab_handle *)((int)handle + 0x50));\n        if (bVar13 == 0) {\n          return 0;\n        }\n        bVar13 = debug_end_function(dhandle,value);\n        if (bVar13 == 0) {\n          return 0;\n        }\n        *(undefined4 *)((int)handle + 0x40) = 0;\n        *(undefined4 *)((int)handle + 0x44) = 0xffffffff;\n        *(undefined4 *)((int)handle + 0x48) = 0xffffffff;\n        return 1;\n      }\n      if (*(int *)((int)handle + 0x40) != 0) {\n        uVar3 = *(uint *)((int)handle + 0x48);\n        if (((*(uint *)((int)handle + 0x44) & uVar3) == 0xffffffff) ||\n           (uVar18 < uVar3 || uVar18 - uVar3 < (uint)((uint)value < *(uint *)((int)handle + 0x44))))\n        {\n          *(bfd_vma *)((int)handle + 0x44) = value;\n        }\n      }\n    }\n    else if (type < 0x25) {\n      if (type == 0xc) {\n        return 1;\n      }\n      if ((0xb < type) && (type - 0x1eU < 2)) {\n        return 1;\n      }\n    }\n    else {\n      if (type == 0x38) {\n        return 1;\n      }\n      if (type < 0x39) {\n        if (type == 0x2a) {\n          return 1;\n        }\n      }\n      else {\n        bVar24 = (uint)type < 0x3c;\n        bVar26 = type == 0x3c;\n        if (bVar26) {\n          iVar10 = 0xf;\n          pbVar19 = (byte *)string;\n          pbVar22 = (byte *)"gcc2_compiled.";\n          do {\n            if (iVar10 == 0) break;\n            iVar10 = iVar10 + -1;\n            bVar24 = *pbVar19 < *pbVar22;\n            bVar26 = *pbVar19 == *pbVar22;\n            pbVar19 = pbVar19 + (uint)bVar27 * -2 + 1;\n            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n          } while (bVar26);\n          bVar25 = false;\n          bVar24 = (!bVar24 && !bVar26) == bVar24;\n          if (bVar24) {\n            *(undefined4 *)((int)handle + 0x2c) = 2;\n            return 1;\n          }\n          iVar10 = 0xe;\n          pbVar19 = (byte *)"gcc_compiled.";\n          do {\n            if (iVar10 == 0) break;\n            iVar10 = iVar10 + -1;\n            bVar25 = (byte)*string < *pbVar19;\n            bVar24 = *string == *pbVar19;\n            string = (char *)((byte *)string + (uint)bVar27 * -2 + 1);\n            pbVar19 = pbVar19 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          if ((!bVar25 && !bVar24) != bVar25) {\n            *(undefined4 *)((int)handle + 0x30) = 1;\n            return 1;\n          }\n          *(undefined4 *)((int)handle + 0x2c) = 1;\n          return 1;\n        }\n        if (type == 0x44) {\n          if (*(int *)((int)handle + 0x40) != 0) {\n            value = value + *(longlong *)((int)handle + 0x24);\n          }\n          iVar10 = debug_record_line(dhandle,desc,value);\n          goto LAB_0004426d;\n        }\n      }\n    }\nLAB_00044431:\n    p = strchr(string,0x3a);\n    uVar18 = (uint)(value >> 0x20);\n    if (p == (char *)0x0) {\n      return 1;\n    }\n    bVar27 = p[1];\n    if ((bVar27 & 0xdf) != 0x46) goto LAB_000447b5;\n    if (*(int *)((int)handle + 0x40) != 0) {\n      uVar3 = *(uint *)((int)handle + 0x44);\n      uVar29 = *(uint *)((int)handle + 0x48);\n      if (((uVar3 & uVar29) == 0xffffffff) ||\n         (bVar5 = *(bfd_vma *)((int)handle + 0x44),\n         uVar18 <= uVar29 && (uint)(uVar3 < (uint)value) <= uVar29 - uVar18)) {\n        bVar5 = value;\n      }\n      in_stack_ffffffb0 = (char **)0x444a2;\n      bVar13 = stab_emit_pending_vars(dhandle,(stab_handle *)((int)handle + 0x50));\n      if ((bVar13 == 0) || (bVar13 = debug_end_function(dhandle,bVar5), bVar13 == 0)) {\n        return 0;\n      }\n      *(undefined4 *)((int)handle + 0x44) = 0xffffffff;\n      *(undefined4 *)((int)handle + 0x48) = 0xffffffff;\n    }\n    if (*(int *)((int)handle + 4) != 0) {\n      *(bfd_vma *)((int)handle + 0x24) = value;\n    }\n    *(undefined4 *)((int)handle + 0x40) = 1;\n    p = strchr(string,0x3a);\n    if (p == (char *)0x0) {\n      return 1;\n    }\nLAB_000447b1:\n    bVar27 = p[1];\nLAB_000447b5:\n    if (bVar27 == 0x3a) goto LAB_00044790;\n    if (*string != '$') goto _L1810;\n    switch(string[1]) {\n    default:\n      pcVar17 = (char *)dcgettext(0,"unknown C++ encoded name",5);\n      warn_stab(string,pcVar17);\n    case 'X':\n    case '_':\n    case 'v':\n_L1810:\n      local_3c = (char *)0x0;\n      if ((string != p) && ((*string != ' ' || (p != string + 1)))) {\n        in_stack_ffffffb0 = (char **)0x447f4;\n        local_3c = savestring(string,(int)p - (int)string);\n      }\n      break;\n    case 'e':\n      local_3c = "eh_throw";\n      break;\n    case 't':\n      local_3c = "this";\n    }\n    p_end = (char *)(value >> 0x20);\n    slotp = (debug_type_conflict **)value;\n    pcVar17 = string + sVar9;\n    ppcVar28 = (char **)((int)p + 1);\n    bVar27 = *(byte *)((int)p + 1);\n    if (((PTR__sch_istable_00071fbc[(uint)bVar27 * 2] & 4) != 0) ||\n       (bVar27 == 0x28 || bVar27 == 0x2d)) {\n_L1827:\n      p = (char *)ppcVar28;\n      pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,in_stack_ffffffb0,slotp,p_end);\n      if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }\n      kind_00 = DEBUG_LOCAL;\n      goto LAB_0004486e;\n    }\n    if (bVar27 == 0) goto LAB_000449d0;\n    ppcVar28 = (char **)((int)p + 2);\n    bVar27 = *(byte *)((int)p + 1);\n    ppcVar20 = (char **)(uint)bVar27;\n    if (0x33 < (byte)((int)ppcVar20 - 0x43U)) goto _L1817;\n    uVar18 = (int)ppcVar20 - 0x43U & 0xff;\n    pp = (char **)((int)&_GLOBAL_OFFSET_TABLE_ + (&switchD_00044abe::switchdataD_00057e08)[uVar18]);\n    switch(uVar18) {\n    case 0:\n      p = (char *)ppcVar28;\n      pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end);\n      if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }\n      bVar13 = debug_record_label(dhandle,local_3c,pdVar12,value);\n      goto joined_r0x00044fe7;\n    default:\n      goto _L1817;\n    case 3:\n    case 0x23:\n      p = (char *)ppcVar28;\n      pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,pp,slotp,p_end);\n      if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }\n      ppcVar28 = extraout_EDX;\n      pdVar12 = (debug_type)\n                debug_record_function(dhandle,local_3c,pdVar12,(uint)(bVar27 == 0x46),value);\n      while( true ) {\n        if (pdVar12 == (debug_type)0x0) {\n          return 0;\n        }\n        if (*p != ';') break;\n        p = p + 1;\n        pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar28,\n                                  (debug_type_conflict **)value,(char *)(value >> 0x20));\n      }\n      return 1;\n    case 4:\n      p = (char *)ppcVar28;\n      pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,pp,slotp,p_end);\n      if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }\n      if (local_3c == (char *)0x0) goto LAB_00044c0d;\n                    /* WARNING: Load size is inaccurate */\n      iVar10 = *(int *)((int)handle + 0xc);\n      piVar21 = *(int **)((int)handle + 8);\n      cVar6 = *(char *)(*(int *)(*handle + 4) + 0x18);\n      if (iVar10 < 1) goto LAB_00044c0d;\n      cVar2 = *local_3c;\n      goto LAB_00044bbc;\n    case 0xd:\n      if (type == 0x24) {\n        p = (char *)ppcVar28;\n        do {\n          if (*p != ';') {\n            return 1;\n          }\n          p = p + 1;\n          pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,in_stack_ffffffb0,\n                                    (debug_type_conflict **)value,(char *)(value >> 0x20));\n        } while (pdVar12 != (debug_type)0x0);\n        return 0;\n      }\n    case 0xf:\n      p = (char *)ppcVar28;\n      pdVar15 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,pp,slotp,p_end);\n      if (pdVar15 == (debug_type)0x0) {\n        return 0;\n      }\n      kind = DEBUG_PARM_REG;\n      break;\n    case 0x10:\n      ppcVar20 = (char **)p;\n      p = (char *)ppcVar28;\n      pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end);\n      if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }\n      kind_00 = DEBUG_STATIC;\n      goto LAB_0004486e;\n    case 0x11:\n      bVar24 = *(char *)((int)p + 2) == 't';\n      if (bVar24) {\n        ppcVar28 = (char **)((int)p + 3);\n      }\n      p = (char *)ppcVar28;\n      uVar18 = (uint)bVar24;\n      pdVar12 = parse_stab_type(&p,(stab_handle *)&slot,pcVar17,(char **)type,slotp,p_end);\n      if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }\n      if (local_3c == (char *)0x0) {\n        return 1;\n      }\n      iVar10 = *(int *)((int)handle + 0xe8);\n      pdVar15 = debug_tag_type(dhandle,local_3c,pdVar12);\n      if (pdVar15 == (debug_type_conflict)0x0) {\n        return 0;\n      }\n      if (slot != (debug_type_conflict *)0x0) {\n        *slot = pdVar15;\n      }\n      if (iVar10 != 0) goto LAB_00044efc;\n      if (*(int **)((int)handle + 0xe4) == (int *)0x0) goto LAB_00044efc;\n      cVar6 = *local_3c;\n      piVar21 = (int *)((int)handle + 0xe4);\n      piVar23 = *(int **)((int)handle + 0xe4);\n      goto LAB_00044ecc;\n    case 0x13:\n      ppcVar20 = (char **)p;\n      p = (char *)ppcVar28;\n      pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end);\n      if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }\n      kind_00 = DEBUG_LOCAL_STATIC;\n      goto LAB_0004486e;\n    case 0x15:\n    case 0x29:\n    case 0x30:\n      goto _L1827;\n    case 0x16:\n      ppcVar28 = (char **)((int)p + 3);\n      if ((*(char *)((int)p + 3) == 'n') &&\n         (ppcVar28 = (char **)((int)p + 4), ppcVar20 = (char **)((int)p + 4), p = (char *)ppcVar28,\n         *(char *)ppcVar20 == '0')) {\n        for (; *p != ';'; p = p + 1) {\n        }\n        return 1;\n      }\n_L1817:\n      p = (char *)ppcVar28;\n      bad_stab(string);\n      return 0;\n    case 0x1e:\n      p = (char *)ppcVar28;\n      pdVar15 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end);\n      if (pdVar15 == (debug_type)0x0) {\n        return 0;\n      }\n      kind = DEBUG_PARM_REF_REG;\n      break;\n    case 0x20:\n      if (*(char *)((int)p + 2) == '=') {\n        ppcVar28 = (char **)((int)p + 4);\n        bVar27 = *(byte *)((int)p + 3);\n        p = (char *)ppcVar28;\n        if (bVar27 == 0x69) {\n          lVar16 = strtol((char *)ppcVar28,(char **)0x0,10);\n          bVar13 = debug_record_int_const(dhandle,local_3c,(longlong)lVar16);\n          goto joined_r0x00044fe7;\n        }\n        if (bVar27 == 0x72) {\n          val = strtod((char *)ppcVar28,(char **)0x0);\n          bVar13 = debug_record_float_const(dhandle,local_3c,val);\n          goto joined_r0x00044fe7;\n        }\n        if (bVar27 == 0x65) {\n          pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,(char **)(uint)bVar27,slotp,p_end)\n          ;\n          if (pdVar12 == (debug_type)0x0) {\n            return 0;\n          }\n          ppcVar28 = (char **)p;\n          if (*p == ',') {\n            lVar16 = strtol(p,(char **)0x0,10);\n            bVar13 = debug_record_typed_const(dhandle,local_3c,pdVar12,(longlong)lVar16);\n            goto joined_r0x00044fe7;\n          }\n        }\n      }\n      goto LAB_000449d0;\n    case 0x2d:\n      if (*(char *)((int)p + 2) == 'F') {\n        p = (char *)((int)p + 3);\n        pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,(char **)p,slotp,p_end);\n        if (pdVar12 == (debug_type)0x0) {\n          return 0;\n        }\n        pdVar15 = debug_make_function_type(pdVar12,type_00,arg_types,(bfd_boolean)dhandle);\n        pdVar15 = debug_make_pointer_type(dhandle,pdVar15);\n      }\n      else {\n        ppcVar20 = (char **)p;\n        p = (char *)ppcVar28;\n        pdVar15 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end);\n      }\n      if (pdVar15 == (debug_type_conflict)0x0) {\n        return 0;\n      }\n      kind = DEBUG_PARM_STACK;\n      break;\n    case 0x2f:\n      ppcVar20 = (char **)p;\n      p = (char *)ppcVar28;\n      pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end);\n      if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }\n      kind_00 = DEBUG_REGISTER;\n      goto LAB_0004486e;\n    case 0x31:\n      ppcVar20 = (char **)p;\n      p = (char *)ppcVar28;\n      pdVar12 = parse_stab_type(&p,(stab_handle *)&slot,pcVar17,ppcVar20,slotp,p_end);\n      if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }\n      if (local_3c == (char *)0x0) {\n        return 1;\n      }\n      pdVar15 = debug_name_type(dhandle,local_3c,pdVar12);\n      if (pdVar15 == (debug_type_conflict)0x0) {\n        return 0;\n      }\n      if (slot == (debug_type_conflict *)0x0) {\n        return 1;\n      }\n      *slot = pdVar15;\n      return 1;\n    case 0x33:\n      ppcVar20 = (char **)p;\n      p = (char *)ppcVar28;\n      pdVar15 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end);\n      if (pdVar15 == (debug_type)0x0) {\n        return 0;\n      }\n      kind = DEBUG_PARM_REFERENCE;\n    }\n    bVar13 = debug_record_parameter(dhandle,local_3c,pdVar15,kind,value);\n    goto joined_r0x00044fe7;\n  }" if (parenthesized_expression "(type < 99)" ( (binary_expression "type < 99" identifier < number_literal) )) (compound_statement "{\n    if (type == 0x24) {\n      if (*string == '\0') {\n        if (*(int *)((int)handle + 0x40) == 0) {\n          return 1;\n        }\n        if (*(int *)((int)handle + 4) != 0) {\n          value = value + *(longlong *)((int)handle + 0x24);\n        }\n        bVar13 = stab_emit_pending_vars(dhandle,(stab_handle *)((int)handle + 0x50));\n        if (bVar13 == 0) {\n          return 0;\n        }\n        bVar13 = debug_end_function(dhandle,value);\n        if (bVar13 == 0) {\n          return 0;\n        }\n        *(undefined4 *)((int)handle + 0x40) = 0;\n        *(undefined4 *)((int)handle + 0x44) = 0xffffffff;\n        *(undefined4 *)((int)handle + 0x48) = 0xffffffff;\n        return 1;\n      }\n      if (*(int *)((int)handle + 0x40) != 0) {\n        uVar3 = *(uint *)((int)handle + 0x48);\n        if (((*(uint *)((int)handle + 0x44) & uVar3) == 0xffffffff) ||\n           (uVar18 < uVar3 || uVar18 - uVar3 < (uint)((uint)value < *(uint *)((int)handle + 0x44))))\n        {\n          *(bfd_vma *)((int)handle + 0x44) = value;\n        }\n      }\n    }\n    else if (type < 0x25) {\n      if (type == 0xc) {\n        return 1;\n      }\n      if ((0xb < type) && (type - 0x1eU < 2)) {\n        return 1;\n      }\n    }\n    else {\n      if (type == 0x38) {\n        return 1;\n      }\n      if (type < 0x39) {\n        if (type == 0x2a) {\n          return 1;\n        }\n      }\n      else {\n        bVar24 = (uint)type < 0x3c;\n        bVar26 = type == 0x3c;\n        if (bVar26) {\n          iVar10 = 0xf;\n          pbVar19 = (byte *)string;\n          pbVar22 = (byte *)"gcc2_compiled.";\n          do {\n            if (iVar10 == 0) break;\n            iVar10 = iVar10 + -1;\n            bVar24 = *pbVar19 < *pbVar22;\n            bVar26 = *pbVar19 == *pbVar22;\n            pbVar19 = pbVar19 + (uint)bVar27 * -2 + 1;\n            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n          } while (bVar26);\n          bVar25 = false;\n          bVar24 = (!bVar24 && !bVar26) == bVar24;\n          if (bVar24) {\n            *(undefined4 *)((int)handle + 0x2c) = 2;\n            return 1;\n          }\n          iVar10 = 0xe;\n          pbVar19 = (byte *)"gcc_compiled.";\n          do {\n            if (iVar10 == 0) break;\n            iVar10 = iVar10 + -1;\n            bVar25 = (byte)*string < *pbVar19;\n            bVar24 = *string == *pbVar19;\n            string = (char *)((byte *)string + (uint)bVar27 * -2 + 1);\n            pbVar19 = pbVar19 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          if ((!bVar25 && !bVar24) != bVar25) {\n            *(undefined4 *)((int)handle + 0x30) = 1;\n            return 1;\n          }\n          *(undefined4 *)((int)handle + 0x2c) = 1;\n          return 1;\n        }\n        if (type == 0x44) {\n          if (*(int *)((int)handle + 0x40) != 0) {\n            value = value + *(longlong *)((int)handle + 0x24);\n          }\n          iVar10 = debug_record_line(dhandle,desc,value);\n          goto LAB_0004426d;\n        }\n      }\n    }\nLAB_00044431:\n    p = strchr(string,0x3a);\n    uVar18 = (uint)(value >> 0x20);\n    if (p == (char *)0x0) {\n      return 1;\n    }\n    bVar27 = p[1];\n    if ((bVar27 & 0xdf) != 0x46) goto LAB_000447b5;\n    if (*(int *)((int)handle + 0x40) != 0) {\n      uVar3 = *(uint *)((int)handle + 0x44);\n      uVar29 = *(uint *)((int)handle + 0x48);\n      if (((uVar3 & uVar29) == 0xffffffff) ||\n         (bVar5 = *(bfd_vma *)((int)handle + 0x44),\n         uVar18 <= uVar29 && (uint)(uVar3 < (uint)value) <= uVar29 - uVar18)) {\n        bVar5 = value;\n      }\n      in_stack_ffffffb0 = (char **)0x444a2;\n      bVar13 = stab_emit_pending_vars(dhandle,(stab_handle *)((int)handle + 0x50));\n      if ((bVar13 == 0) || (bVar13 = debug_end_function(dhandle,bVar5), bVar13 == 0)) {\n        return 0;\n      }\n      *(undefined4 *)((int)handle + 0x44) = 0xffffffff;\n      *(undefined4 *)((int)handle + 0x48) = 0xffffffff;\n    }\n    if (*(int *)((int)handle + 4) != 0) {\n      *(bfd_vma *)((int)handle + 0x24) = value;\n    }\n    *(undefined4 *)((int)handle + 0x40) = 1;\n    p = strchr(string,0x3a);\n    if (p == (char *)0x0) {\n      return 1;\n    }\nLAB_000447b1:\n    bVar27 = p[1];\nLAB_000447b5:\n    if (bVar27 == 0x3a) goto LAB_00044790;\n    if (*string != '$') goto _L1810;\n    switch(string[1]) {\n    default:\n      pcVar17 = (char *)dcgettext(0,"unknown C++ encoded name",5);\n      warn_stab(string,pcVar17);\n    case 'X':\n    case '_':\n    case 'v':\n_L1810:\n      local_3c = (char *)0x0;\n      if ((string != p) && ((*string != ' ' || (p != string + 1)))) {\n        in_stack_ffffffb0 = (char **)0x447f4;\n        local_3c = savestring(string,(int)p - (int)string);\n      }\n      break;\n    case 'e':\n      local_3c = "eh_throw";\n      break;\n    case 't':\n      local_3c = "this";\n    }\n    p_end = (char *)(value >> 0x20);\n    slotp = (debug_type_conflict **)value;\n    pcVar17 = string + sVar9;\n    ppcVar28 = (char **)((int)p + 1);\n    bVar27 = *(byte *)((int)p + 1);\n    if (((PTR__sch_istable_00071fbc[(uint)bVar27 * 2] & 4) != 0) ||\n       (bVar27 == 0x28 || bVar27 == 0x2d)) {\n_L1827:\n      p = (char *)ppcVar28;\n      pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,in_stack_ffffffb0,slotp,p_end);\n      if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }\n      kind_00 = DEBUG_LOCAL;\n      goto LAB_0004486e;\n    }\n    if (bVar27 == 0) goto LAB_000449d0;\n    ppcVar28 = (char **)((int)p + 2);\n    bVar27 = *(byte *)((int)p + 1);\n    ppcVar20 = (char **)(uint)bVar27;\n    if (0x33 < (byte)((int)ppcVar20 - 0x43U)) goto _L1817;\n    uVar18 = (int)ppcVar20 - 0x43U & 0xff;\n    pp = (char **)((int)&_GLOBAL_OFFSET_TABLE_ + (&switchD_00044abe::switchdataD_00057e08)[uVar18]);\n    switch(uVar18) {\n    case 0:\n      p = (char *)ppcVar28;\n      pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end);\n      if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }\n      bVar13 = debug_record_label(dhandle,local_3c,pdVar12,value);\n      goto joined_r0x00044fe7;\n    default:\n      goto _L1817;\n    case 3:\n    case 0x23:\n      p = (char *)ppcVar28;\n      pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,pp,slotp,p_end);\n      if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }\n      ppcVar28 = extraout_EDX;\n      pdVar12 = (debug_type)\n                debug_record_function(dhandle,local_3c,pdVar12,(uint)(bVar27 == 0x46),value);\n      while( true ) {\n        if (pdVar12 == (debug_type)0x0) {\n          return 0;\n        }\n        if (*p != ';') break;\n        p = p + 1;\n        pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar28,\n                                  (debug_type_conflict **)value,(char *)(value >> 0x20));\n      }\n      return 1;\n    case 4:\n      p = (char *)ppcVar28;\n      pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,pp,slotp,p_end);\n      if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }\n      if (local_3c == (char *)0x0) goto LAB_00044c0d;\n                    /* WARNING: Load size is inaccurate */\n      iVar10 = *(int *)((int)handle + 0xc);\n      piVar21 = *(int **)((int)handle + 8);\n      cVar6 = *(char *)(*(int *)(*handle + 4) + 0x18);\n      if (iVar10 < 1) goto LAB_00044c0d;\n      cVar2 = *local_3c;\n      goto LAB_00044bbc;\n    case 0xd:\n      if (type == 0x24) {\n        p = (char *)ppcVar28;\n        do {\n          if (*p != ';') {\n            return 1;\n          }\n          p = p + 1;\n          pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,in_stack_ffffffb0,\n                                    (debug_type_conflict **)value,(char *)(value >> 0x20));\n        } while (pdVar12 != (debug_type)0x0);\n        return 0;\n      }\n    case 0xf:\n      p = (char *)ppcVar28;\n      pdVar15 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,pp,slotp,p_end);\n      if (pdVar15 == (debug_type)0x0) {\n        return 0;\n      }\n      kind = DEBUG_PARM_REG;\n      break;\n    case 0x10:\n      ppcVar20 = (char **)p;\n      p = (char *)ppcVar28;\n      pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end);\n      if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }\n      kind_00 = DEBUG_STATIC;\n      goto LAB_0004486e;\n    case 0x11:\n      bVar24 = *(char *)((int)p + 2) == 't';\n      if (bVar24) {\n        ppcVar28 = (char **)((int)p + 3);\n      }\n      p = (char *)ppcVar28;\n      uVar18 = (uint)bVar24;\n      pdVar12 = parse_stab_type(&p,(stab_handle *)&slot,pcVar17,(char **)type,slotp,p_end);\n      if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }\n      if (local_3c == (char *)0x0) {\n        return 1;\n      }\n      iVar10 = *(int *)((int)handle + 0xe8);\n      pdVar15 = debug_tag_type(dhandle,local_3c,pdVar12);\n      if (pdVar15 == (debug_type_conflict)0x0) {\n        return 0;\n      }\n      if (slot != (debug_type_conflict *)0x0) {\n        *slot = pdVar15;\n      }\n      if (iVar10 != 0) goto LAB_00044efc;\n      if (*(int **)((int)handle + 0xe4) == (int *)0x0) goto LAB_00044efc;\n      cVar6 = *local_3c;\n      piVar21 = (int *)((int)handle + 0xe4);\n      piVar23 = *(int **)((int)handle + 0xe4);\n      goto LAB_00044ecc;\n    case 0x13:\n      ppcVar20 = (char **)p;\n      p = (char *)ppcVar28;\n      pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end);\n      if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }\n      kind_00 = DEBUG_LOCAL_STATIC;\n      goto LAB_0004486e;\n    case 0x15:\n    case 0x29:\n    case 0x30:\n      goto _L1827;\n    case 0x16:\n      ppcVar28 = (char **)((int)p + 3);\n      if ((*(char *)((int)p + 3) == 'n') &&\n         (ppcVar28 = (char **)((int)p + 4), ppcVar20 = (char **)((int)p + 4), p = (char *)ppcVar28,\n         *(char *)ppcVar20 == '0')) {\n        for (; *p != ';'; p = p + 1) {\n        }\n        return 1;\n      }\n_L1817:\n      p = (char *)ppcVar28;\n      bad_stab(string);\n      return 0;\n    case 0x1e:\n      p = (char *)ppcVar28;\n      pdVar15 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end);\n      if (pdVar15 == (debug_type)0x0) {\n        return 0;\n      }\n      kind = DEBUG_PARM_REF_REG;\n      break;\n    case 0x20:\n      if (*(char *)((int)p + 2) == '=') {\n        ppcVar28 = (char **)((int)p + 4);\n        bVar27 = *(byte *)((int)p + 3);\n        p = (char *)ppcVar28;\n        if (bVar27 == 0x69) {\n          lVar16 = strtol((char *)ppcVar28,(char **)0x0,10);\n          bVar13 = debug_record_int_const(dhandle,local_3c,(longlong)lVar16);\n          goto joined_r0x00044fe7;\n        }\n        if (bVar27 == 0x72) {\n          val = strtod((char *)ppcVar28,(char **)0x0);\n          bVar13 = debug_record_float_const(dhandle,local_3c,val);\n          goto joined_r0x00044fe7;\n        }\n        if (bVar27 == 0x65) {\n          pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,(char **)(uint)bVar27,slotp,p_end)\n          ;\n          if (pdVar12 == (debug_type)0x0) {\n            return 0;\n          }\n          ppcVar28 = (char **)p;\n          if (*p == ',') {\n            lVar16 = strtol(p,(char **)0x0,10);\n            bVar13 = debug_record_typed_const(dhandle,local_3c,pdVar12,(longlong)lVar16);\n            goto joined_r0x00044fe7;\n          }\n        }\n      }\n      goto LAB_000449d0;\n    case 0x2d:\n      if (*(char *)((int)p + 2) == 'F') {\n        p = (char *)((int)p + 3);\n        pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,(char **)p,slotp,p_end);\n        if (pdVar12 == (debug_type)0x0) {\n          return 0;\n        }\n        pdVar15 = debug_make_function_type(pdVar12,type_00,arg_types,(bfd_boolean)dhandle);\n        pdVar15 = debug_make_pointer_type(dhandle,pdVar15);\n      }\n      else {\n        ppcVar20 = (char **)p;\n        p = (char *)ppcVar28;\n        pdVar15 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end);\n      }\n      if (pdVar15 == (debug_type_conflict)0x0) {\n        return 0;\n      }\n      kind = DEBUG_PARM_STACK;\n      break;\n    case 0x2f:\n      ppcVar20 = (char **)p;\n      p = (char *)ppcVar28;\n      pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end);\n      if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }\n      kind_00 = DEBUG_REGISTER;\n      goto LAB_0004486e;\n    case 0x31:\n      ppcVar20 = (char **)p;\n      p = (char *)ppcVar28;\n      pdVar12 = parse_stab_type(&p,(stab_handle *)&slot,pcVar17,ppcVar20,slotp,p_end);\n      if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }\n      if (local_3c == (char *)0x0) {\n        return 1;\n      }\n      pdVar15 = debug_name_type(dhandle,local_3c,pdVar12);\n      if (pdVar15 == (debug_type_conflict)0x0) {\n        return 0;\n      }\n      if (slot == (debug_type_conflict *)0x0) {\n        return 1;\n      }\n      *slot = pdVar15;\n      return 1;\n    case 0x33:\n      ppcVar20 = (char **)p;\n      p = (char *)ppcVar28;\n      pdVar15 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end);\n      if (pdVar15 == (debug_type)0x0) {\n        return 0;\n      }\n      kind = DEBUG_PARM_REFERENCE;\n    }\n    bVar13 = debug_record_parameter(dhandle,local_3c,pdVar15,kind,value);\n    goto joined_r0x00044fe7;\n  }" { (if_statement "if (type == 0x24) {\n      if (*string == '\0') {\n        if (*(int *)((int)handle + 0x40) == 0) {\n          return 1;\n        }\n        if (*(int *)((int)handle + 4) != 0) {\n          value = value + *(longlong *)((int)handle + 0x24);\n        }\n        bVar13 = stab_emit_pending_vars(dhandle,(stab_handle *)((int)handle + 0x50));\n        if (bVar13 == 0) {\n          return 0;\n        }\n        bVar13 = debug_end_function(dhandle,value);\n        if (bVar13 == 0) {\n          return 0;\n        }\n        *(undefined4 *)((int)handle + 0x40) = 0;\n        *(undefined4 *)((int)handle + 0x44) = 0xffffffff;\n        *(undefined4 *)((int)handle + 0x48) = 0xffffffff;\n        return 1;\n      }\n      if (*(int *)((int)handle + 0x40) != 0) {\n        uVar3 = *(uint *)((int)handle + 0x48);\n        if (((*(uint *)((int)handle + 0x44) & uVar3) == 0xffffffff) ||\n           (uVar18 < uVar3 || uVar18 - uVar3 < (uint)((uint)value < *(uint *)((int)handle + 0x44))))\n        {\n          *(bfd_vma *)((int)handle + 0x44) = value;\n        }\n      }\n    }\n    else if (type < 0x25) {\n      if (type == 0xc) {\n        return 1;\n      }\n      if ((0xb < type) && (type - 0x1eU < 2)) {\n        return 1;\n      }\n    }\n    else {\n      if (type == 0x38) {\n        return 1;\n      }\n      if (type < 0x39) {\n        if (type == 0x2a) {\n          return 1;\n        }\n      }\n      else {\n        bVar24 = (uint)type < 0x3c;\n        bVar26 = type == 0x3c;\n        if (bVar26) {\n          iVar10 = 0xf;\n          pbVar19 = (byte *)string;\n          pbVar22 = (byte *)"gcc2_compiled.";\n          do {\n            if (iVar10 == 0) break;\n            iVar10 = iVar10 + -1;\n            bVar24 = *pbVar19 < *pbVar22;\n            bVar26 = *pbVar19 == *pbVar22;\n            pbVar19 = pbVar19 + (uint)bVar27 * -2 + 1;\n            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n          } while (bVar26);\n          bVar25 = false;\n          bVar24 = (!bVar24 && !bVar26) == bVar24;\n          if (bVar24) {\n            *(undefined4 *)((int)handle + 0x2c) = 2;\n            return 1;\n          }\n          iVar10 = 0xe;\n          pbVar19 = (byte *)"gcc_compiled.";\n          do {\n            if (iVar10 == 0) break;\n            iVar10 = iVar10 + -1;\n            bVar25 = (byte)*string < *pbVar19;\n            bVar24 = *string == *pbVar19;\n            string = (char *)((byte *)string + (uint)bVar27 * -2 + 1);\n            pbVar19 = pbVar19 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          if ((!bVar25 && !bVar24) != bVar25) {\n            *(undefined4 *)((int)handle + 0x30) = 1;\n            return 1;\n          }\n          *(undefined4 *)((int)handle + 0x2c) = 1;\n          return 1;\n        }\n        if (type == 0x44) {\n          if (*(int *)((int)handle + 0x40) != 0) {\n            value = value + *(longlong *)((int)handle + 0x24);\n          }\n          iVar10 = debug_record_line(dhandle,desc,value);\n          goto LAB_0004426d;\n        }\n      }\n    }" if (parenthesized_expression "(type == 0x24)" ( (binary_expression "type == 0x24" identifier == number_literal) )) (compound_statement "{\n      if (*string == '\0') {\n        if (*(int *)((int)handle + 0x40) == 0) {\n          return 1;\n        }\n        if (*(int *)((int)handle + 4) != 0) {\n          value = value + *(longlong *)((int)handle + 0x24);\n        }\n        bVar13 = stab_emit_pending_vars(dhandle,(stab_handle *)((int)handle + 0x50));\n        if (bVar13 == 0) {\n          return 0;\n        }\n        bVar13 = debug_end_function(dhandle,value);\n        if (bVar13 == 0) {\n          return 0;\n        }\n        *(undefined4 *)((int)handle + 0x40) = 0;\n        *(undefined4 *)((int)handle + 0x44) = 0xffffffff;\n        *(undefined4 *)((int)handle + 0x48) = 0xffffffff;\n        return 1;\n      }\n      if (*(int *)((int)handle + 0x40) != 0) {\n        uVar3 = *(uint *)((int)handle + 0x48);\n        if (((*(uint *)((int)handle + 0x44) & uVar3) == 0xffffffff) ||\n           (uVar18 < uVar3 || uVar18 - uVar3 < (uint)((uint)value < *(uint *)((int)handle + 0x44))))\n        {\n          *(bfd_vma *)((int)handle + 0x44) = value;\n        }\n      }\n    }" { (if_statement "if (*string == '\0') {\n        if (*(int *)((int)handle + 0x40) == 0) {\n          return 1;\n        }\n        if (*(int *)((int)handle + 4) != 0) {\n          value = value + *(longlong *)((int)handle + 0x24);\n        }\n        bVar13 = stab_emit_pending_vars(dhandle,(stab_handle *)((int)handle + 0x50));\n        if (bVar13 == 0) {\n          return 0;\n        }\n        bVar13 = debug_end_function(dhandle,value);\n        if (bVar13 == 0) {\n          return 0;\n        }\n        *(undefined4 *)((int)handle + 0x40) = 0;\n        *(undefined4 *)((int)handle + 0x44) = 0xffffffff;\n        *(undefined4 *)((int)handle + 0x48) = 0xffffffff;\n        return 1;\n      }" if (parenthesized_expression "(*string == '\0')" ( (binary_expression "*string == '\0'" (pointer_expression "*string" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        if (*(int *)((int)handle + 0x40) == 0) {\n          return 1;\n        }\n        if (*(int *)((int)handle + 4) != 0) {\n          value = value + *(longlong *)((int)handle + 0x24);\n        }\n        bVar13 = stab_emit_pending_vars(dhandle,(stab_handle *)((int)handle + 0x50));\n        if (bVar13 == 0) {\n          return 0;\n        }\n        bVar13 = debug_end_function(dhandle,value);\n        if (bVar13 == 0) {\n          return 0;\n        }\n        *(undefined4 *)((int)handle + 0x40) = 0;\n        *(undefined4 *)((int)handle + 0x44) = 0xffffffff;\n        *(undefined4 *)((int)handle + 0x48) = 0xffffffff;\n        return 1;\n      }" { (if_statement "if (*(int *)((int)handle + 0x40) == 0) {\n          return 1;\n        }" if (parenthesized_expression "(*(int *)((int)handle + 0x40) == 0)" ( (binary_expression "*(int *)((int)handle + 0x40) == 0" (pointer_expression "*(int *)((int)handle + 0x40)" * (cast_expression "(int *)((int)handle + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x40)" ( (binary_expression "(int)handle + 0x40" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == number_literal) )) (compound_statement "{\n          return 1;\n        }" { (return_statement "return 1;" return number_literal ;) })) (if_statement "if (*(int *)((int)handle + 4) != 0) {\n          value = value + *(longlong *)((int)handle + 0x24);\n        }" if (parenthesized_expression "(*(int *)((int)handle + 4) != 0)" ( (binary_expression "*(int *)((int)handle + 4) != 0" (pointer_expression "*(int *)((int)handle + 4)" * (cast_expression "(int *)((int)handle + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 4)" ( (binary_expression "(int)handle + 4" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != number_literal) )) (compound_statement "{\n          value = value + *(longlong *)((int)handle + 0x24);\n        }" { (expression_statement "value = value + *(longlong *)((int)handle + 0x24);" (assignment_expression "value = value + *(longlong *)((int)handle + 0x24)" identifier = (binary_expression "value + *(longlong *)((int)handle + 0x24)" identifier + (pointer_expression "*(longlong *)((int)handle + 0x24)" * (cast_expression "(longlong *)((int)handle + 0x24)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x24)" ( (binary_expression "(int)handle + 0x24" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))))) ;) })) (expression_statement "bVar13 = stab_emit_pending_vars(dhandle,(stab_handle *)((int)handle + 0x50));" (assignment_expression "bVar13 = stab_emit_pending_vars(dhandle,(stab_handle *)((int)handle + 0x50))" identifier = (call_expression "stab_emit_pending_vars(dhandle,(stab_handle *)((int)handle + 0x50))" identifier (argument_list "(dhandle,(stab_handle *)((int)handle + 0x50))" ( identifier , (cast_expression "(stab_handle *)((int)handle + 0x50)" ( (type_descriptor "stab_handle *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x50)" ( (binary_expression "(int)handle + 0x50" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) )))) ;) (if_statement "if (bVar13 == 0) {\n          return 0;\n        }" if (parenthesized_expression "(bVar13 == 0)" ( (binary_expression "bVar13 == 0" identifier == number_literal) )) (compound_statement "{\n          return 0;\n        }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "bVar13 = debug_end_function(dhandle,value);" (assignment_expression "bVar13 = debug_end_function(dhandle,value)" identifier = (call_expression "debug_end_function(dhandle,value)" identifier (argument_list "(dhandle,value)" ( identifier , identifier )))) ;) (if_statement "if (bVar13 == 0) {\n          return 0;\n        }" if (parenthesized_expression "(bVar13 == 0)" ( (binary_expression "bVar13 == 0" identifier == number_literal) )) (compound_statement "{\n          return 0;\n        }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "*(undefined4 *)((int)handle + 0x40) = 0;" (assignment_expression "*(undefined4 *)((int)handle + 0x40) = 0" (pointer_expression "*(undefined4 *)((int)handle + 0x40)" * (cast_expression "(undefined4 *)((int)handle + 0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x40)" ( (binary_expression "(int)handle + 0x40" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)handle + 0x44) = 0xffffffff;" (assignment_expression "*(undefined4 *)((int)handle + 0x44) = 0xffffffff" (pointer_expression "*(undefined4 *)((int)handle + 0x44)" * (cast_expression "(undefined4 *)((int)handle + 0x44)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x44)" ( (binary_expression "(int)handle + 0x44" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)handle + 0x48) = 0xffffffff;" (assignment_expression "*(undefined4 *)((int)handle + 0x48) = 0xffffffff" (pointer_expression "*(undefined4 *)((int)handle + 0x48)" * (cast_expression "(undefined4 *)((int)handle + 0x48)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x48)" ( (binary_expression "(int)handle + 0x48" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (return_statement "return 1;" return number_literal ;) })) (if_statement "if (*(int *)((int)handle + 0x40) != 0) {\n        uVar3 = *(uint *)((int)handle + 0x48);\n        if (((*(uint *)((int)handle + 0x44) & uVar3) == 0xffffffff) ||\n           (uVar18 < uVar3 || uVar18 - uVar3 < (uint)((uint)value < *(uint *)((int)handle + 0x44))))\n        {\n          *(bfd_vma *)((int)handle + 0x44) = value;\n        }\n      }" if (parenthesized_expression "(*(int *)((int)handle + 0x40) != 0)" ( (binary_expression "*(int *)((int)handle + 0x40) != 0" (pointer_expression "*(int *)((int)handle + 0x40)" * (cast_expression "(int *)((int)handle + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x40)" ( (binary_expression "(int)handle + 0x40" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != number_literal) )) (compound_statement "{\n        uVar3 = *(uint *)((int)handle + 0x48);\n        if (((*(uint *)((int)handle + 0x44) & uVar3) == 0xffffffff) ||\n           (uVar18 < uVar3 || uVar18 - uVar3 < (uint)((uint)value < *(uint *)((int)handle + 0x44))))\n        {\n          *(bfd_vma *)((int)handle + 0x44) = value;\n        }\n      }" { (expression_statement "uVar3 = *(uint *)((int)handle + 0x48);" (assignment_expression "uVar3 = *(uint *)((int)handle + 0x48)" identifier = (pointer_expression "*(uint *)((int)handle + 0x48)" * (cast_expression "(uint *)((int)handle + 0x48)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x48)" ( (binary_expression "(int)handle + 0x48" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if (((*(uint *)((int)handle + 0x44) & uVar3) == 0xffffffff) ||\n           (uVar18 < uVar3 || uVar18 - uVar3 < (uint)((uint)value < *(uint *)((int)handle + 0x44))))\n        {\n          *(bfd_vma *)((int)handle + 0x44) = value;\n        }" if (parenthesized_expression "(((*(uint *)((int)handle + 0x44) & uVar3) == 0xffffffff) ||\n           (uVar18 < uVar3 || uVar18 - uVar3 < (uint)((uint)value < *(uint *)((int)handle + 0x44))))" ( (binary_expression "((*(uint *)((int)handle + 0x44) & uVar3) == 0xffffffff) ||\n           (uVar18 < uVar3 || uVar18 - uVar3 < (uint)((uint)value < *(uint *)((int)handle + 0x44)))" (parenthesized_expression "((*(uint *)((int)handle + 0x44) & uVar3) == 0xffffffff)" ( (binary_expression "(*(uint *)((int)handle + 0x44) & uVar3) == 0xffffffff" (parenthesized_expression "(*(uint *)((int)handle + 0x44) & uVar3)" ( (binary_expression "*(uint *)((int)handle + 0x44) & uVar3" (pointer_expression "*(uint *)((int)handle + 0x44)" * (cast_expression "(uint *)((int)handle + 0x44)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x44)" ( (binary_expression "(int)handle + 0x44" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & identifier) )) == number_literal) )) || (parenthesized_expression "(uVar18 < uVar3 || uVar18 - uVar3 < (uint)((uint)value < *(uint *)((int)handle + 0x44)))" ( (binary_expression "uVar18 < uVar3 || uVar18 - uVar3 < (uint)((uint)value < *(uint *)((int)handle + 0x44))" (binary_expression "uVar18 < uVar3" identifier < identifier) || (binary_expression "uVar18 - uVar3 < (uint)((uint)value < *(uint *)((int)handle + 0x44))" (binary_expression "uVar18 - uVar3" identifier - identifier) < (call_expression "(uint)((uint)value < *(uint *)((int)handle + 0x44))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)value < *(uint *)((int)handle + 0x44))" ( (binary_expression "(uint)value < *(uint *)((int)handle + 0x44)" (cast_expression "(uint)value" ( (type_descriptor "uint" type_identifier) ) identifier) < (pointer_expression "*(uint *)((int)handle + 0x44)" * (cast_expression "(uint *)((int)handle + 0x44)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x44)" ( (binary_expression "(int)handle + 0x44" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ))))) ))) )) (compound_statement "{\n          *(bfd_vma *)((int)handle + 0x44) = value;\n        }" { (expression_statement "*(bfd_vma *)((int)handle + 0x44) = value;" (assignment_expression "*(bfd_vma *)((int)handle + 0x44) = value" (pointer_expression "*(bfd_vma *)((int)handle + 0x44)" * (cast_expression "(bfd_vma *)((int)handle + 0x44)" ( (type_descriptor "bfd_vma *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x44)" ( (binary_expression "(int)handle + 0x44" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) })) })) }) (else_clause "else if (type < 0x25) {\n      if (type == 0xc) {\n        return 1;\n      }\n      if ((0xb < type) && (type - 0x1eU < 2)) {\n        return 1;\n      }\n    }\n    else {\n      if (type == 0x38) {\n        return 1;\n      }\n      if (type < 0x39) {\n        if (type == 0x2a) {\n          return 1;\n        }\n      }\n      else {\n        bVar24 = (uint)type < 0x3c;\n        bVar26 = type == 0x3c;\n        if (bVar26) {\n          iVar10 = 0xf;\n          pbVar19 = (byte *)string;\n          pbVar22 = (byte *)"gcc2_compiled.";\n          do {\n            if (iVar10 == 0) break;\n            iVar10 = iVar10 + -1;\n            bVar24 = *pbVar19 < *pbVar22;\n            bVar26 = *pbVar19 == *pbVar22;\n            pbVar19 = pbVar19 + (uint)bVar27 * -2 + 1;\n            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n          } while (bVar26);\n          bVar25 = false;\n          bVar24 = (!bVar24 && !bVar26) == bVar24;\n          if (bVar24) {\n            *(undefined4 *)((int)handle + 0x2c) = 2;\n            return 1;\n          }\n          iVar10 = 0xe;\n          pbVar19 = (byte *)"gcc_compiled.";\n          do {\n            if (iVar10 == 0) break;\n            iVar10 = iVar10 + -1;\n            bVar25 = (byte)*string < *pbVar19;\n            bVar24 = *string == *pbVar19;\n            string = (char *)((byte *)string + (uint)bVar27 * -2 + 1);\n            pbVar19 = pbVar19 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          if ((!bVar25 && !bVar24) != bVar25) {\n            *(undefined4 *)((int)handle + 0x30) = 1;\n            return 1;\n          }\n          *(undefined4 *)((int)handle + 0x2c) = 1;\n          return 1;\n        }\n        if (type == 0x44) {\n          if (*(int *)((int)handle + 0x40) != 0) {\n            value = value + *(longlong *)((int)handle + 0x24);\n          }\n          iVar10 = debug_record_line(dhandle,desc,value);\n          goto LAB_0004426d;\n        }\n      }\n    }" else (if_statement "if (type < 0x25) {\n      if (type == 0xc) {\n        return 1;\n      }\n      if ((0xb < type) && (type - 0x1eU < 2)) {\n        return 1;\n      }\n    }\n    else {\n      if (type == 0x38) {\n        return 1;\n      }\n      if (type < 0x39) {\n        if (type == 0x2a) {\n          return 1;\n        }\n      }\n      else {\n        bVar24 = (uint)type < 0x3c;\n        bVar26 = type == 0x3c;\n        if (bVar26) {\n          iVar10 = 0xf;\n          pbVar19 = (byte *)string;\n          pbVar22 = (byte *)"gcc2_compiled.";\n          do {\n            if (iVar10 == 0) break;\n            iVar10 = iVar10 + -1;\n            bVar24 = *pbVar19 < *pbVar22;\n            bVar26 = *pbVar19 == *pbVar22;\n            pbVar19 = pbVar19 + (uint)bVar27 * -2 + 1;\n            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n          } while (bVar26);\n          bVar25 = false;\n          bVar24 = (!bVar24 && !bVar26) == bVar24;\n          if (bVar24) {\n            *(undefined4 *)((int)handle + 0x2c) = 2;\n            return 1;\n          }\n          iVar10 = 0xe;\n          pbVar19 = (byte *)"gcc_compiled.";\n          do {\n            if (iVar10 == 0) break;\n            iVar10 = iVar10 + -1;\n            bVar25 = (byte)*string < *pbVar19;\n            bVar24 = *string == *pbVar19;\n            string = (char *)((byte *)string + (uint)bVar27 * -2 + 1);\n            pbVar19 = pbVar19 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          if ((!bVar25 && !bVar24) != bVar25) {\n            *(undefined4 *)((int)handle + 0x30) = 1;\n            return 1;\n          }\n          *(undefined4 *)((int)handle + 0x2c) = 1;\n          return 1;\n        }\n        if (type == 0x44) {\n          if (*(int *)((int)handle + 0x40) != 0) {\n            value = value + *(longlong *)((int)handle + 0x24);\n          }\n          iVar10 = debug_record_line(dhandle,desc,value);\n          goto LAB_0004426d;\n        }\n      }\n    }" if (parenthesized_expression "(type < 0x25)" ( (binary_expression "type < 0x25" identifier < number_literal) )) (compound_statement "{\n      if (type == 0xc) {\n        return 1;\n      }\n      if ((0xb < type) && (type - 0x1eU < 2)) {\n        return 1;\n      }\n    }" { (if_statement "if (type == 0xc) {\n        return 1;\n      }" if (parenthesized_expression "(type == 0xc)" ( (binary_expression "type == 0xc" identifier == number_literal) )) (compound_statement "{\n        return 1;\n      }" { (return_statement "return 1;" return number_literal ;) })) (if_statement "if ((0xb < type) && (type - 0x1eU < 2)) {\n        return 1;\n      }" if (parenthesized_expression "((0xb < type) && (type - 0x1eU < 2))" ( (binary_expression "(0xb < type) && (type - 0x1eU < 2)" (parenthesized_expression "(0xb < type)" ( (binary_expression "0xb < type" number_literal < identifier) )) && (parenthesized_expression "(type - 0x1eU < 2)" ( (binary_expression "type - 0x1eU < 2" (binary_expression "type - 0x1eU" identifier - number_literal) < number_literal) ))) )) (compound_statement "{\n        return 1;\n      }" { (return_statement "return 1;" return number_literal ;) })) }) (else_clause "else {\n      if (type == 0x38) {\n        return 1;\n      }\n      if (type < 0x39) {\n        if (type == 0x2a) {\n          return 1;\n        }\n      }\n      else {\n        bVar24 = (uint)type < 0x3c;\n        bVar26 = type == 0x3c;\n        if (bVar26) {\n          iVar10 = 0xf;\n          pbVar19 = (byte *)string;\n          pbVar22 = (byte *)"gcc2_compiled.";\n          do {\n            if (iVar10 == 0) break;\n            iVar10 = iVar10 + -1;\n            bVar24 = *pbVar19 < *pbVar22;\n            bVar26 = *pbVar19 == *pbVar22;\n            pbVar19 = pbVar19 + (uint)bVar27 * -2 + 1;\n            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n          } while (bVar26);\n          bVar25 = false;\n          bVar24 = (!bVar24 && !bVar26) == bVar24;\n          if (bVar24) {\n            *(undefined4 *)((int)handle + 0x2c) = 2;\n            return 1;\n          }\n          iVar10 = 0xe;\n          pbVar19 = (byte *)"gcc_compiled.";\n          do {\n            if (iVar10 == 0) break;\n            iVar10 = iVar10 + -1;\n            bVar25 = (byte)*string < *pbVar19;\n            bVar24 = *string == *pbVar19;\n            string = (char *)((byte *)string + (uint)bVar27 * -2 + 1);\n            pbVar19 = pbVar19 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          if ((!bVar25 && !bVar24) != bVar25) {\n            *(undefined4 *)((int)handle + 0x30) = 1;\n            return 1;\n          }\n          *(undefined4 *)((int)handle + 0x2c) = 1;\n          return 1;\n        }\n        if (type == 0x44) {\n          if (*(int *)((int)handle + 0x40) != 0) {\n            value = value + *(longlong *)((int)handle + 0x24);\n          }\n          iVar10 = debug_record_line(dhandle,desc,value);\n          goto LAB_0004426d;\n        }\n      }\n    }" else (compound_statement "{\n      if (type == 0x38) {\n        return 1;\n      }\n      if (type < 0x39) {\n        if (type == 0x2a) {\n          return 1;\n        }\n      }\n      else {\n        bVar24 = (uint)type < 0x3c;\n        bVar26 = type == 0x3c;\n        if (bVar26) {\n          iVar10 = 0xf;\n          pbVar19 = (byte *)string;\n          pbVar22 = (byte *)"gcc2_compiled.";\n          do {\n            if (iVar10 == 0) break;\n            iVar10 = iVar10 + -1;\n            bVar24 = *pbVar19 < *pbVar22;\n            bVar26 = *pbVar19 == *pbVar22;\n            pbVar19 = pbVar19 + (uint)bVar27 * -2 + 1;\n            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n          } while (bVar26);\n          bVar25 = false;\n          bVar24 = (!bVar24 && !bVar26) == bVar24;\n          if (bVar24) {\n            *(undefined4 *)((int)handle + 0x2c) = 2;\n            return 1;\n          }\n          iVar10 = 0xe;\n          pbVar19 = (byte *)"gcc_compiled.";\n          do {\n            if (iVar10 == 0) break;\n            iVar10 = iVar10 + -1;\n            bVar25 = (byte)*string < *pbVar19;\n            bVar24 = *string == *pbVar19;\n            string = (char *)((byte *)string + (uint)bVar27 * -2 + 1);\n            pbVar19 = pbVar19 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          if ((!bVar25 && !bVar24) != bVar25) {\n            *(undefined4 *)((int)handle + 0x30) = 1;\n            return 1;\n          }\n          *(undefined4 *)((int)handle + 0x2c) = 1;\n          return 1;\n        }\n        if (type == 0x44) {\n          if (*(int *)((int)handle + 0x40) != 0) {\n            value = value + *(longlong *)((int)handle + 0x24);\n          }\n          iVar10 = debug_record_line(dhandle,desc,value);\n          goto LAB_0004426d;\n        }\n      }\n    }" { (if_statement "if (type == 0x38) {\n        return 1;\n      }" if (parenthesized_expression "(type == 0x38)" ( (binary_expression "type == 0x38" identifier == number_literal) )) (compound_statement "{\n        return 1;\n      }" { (return_statement "return 1;" return number_literal ;) })) (if_statement "if (type < 0x39) {\n        if (type == 0x2a) {\n          return 1;\n        }\n      }\n      else {\n        bVar24 = (uint)type < 0x3c;\n        bVar26 = type == 0x3c;\n        if (bVar26) {\n          iVar10 = 0xf;\n          pbVar19 = (byte *)string;\n          pbVar22 = (byte *)"gcc2_compiled.";\n          do {\n            if (iVar10 == 0) break;\n            iVar10 = iVar10 + -1;\n            bVar24 = *pbVar19 < *pbVar22;\n            bVar26 = *pbVar19 == *pbVar22;\n            pbVar19 = pbVar19 + (uint)bVar27 * -2 + 1;\n            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n          } while (bVar26);\n          bVar25 = false;\n          bVar24 = (!bVar24 && !bVar26) == bVar24;\n          if (bVar24) {\n            *(undefined4 *)((int)handle + 0x2c) = 2;\n            return 1;\n          }\n          iVar10 = 0xe;\n          pbVar19 = (byte *)"gcc_compiled.";\n          do {\n            if (iVar10 == 0) break;\n            iVar10 = iVar10 + -1;\n            bVar25 = (byte)*string < *pbVar19;\n            bVar24 = *string == *pbVar19;\n            string = (char *)((byte *)string + (uint)bVar27 * -2 + 1);\n            pbVar19 = pbVar19 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          if ((!bVar25 && !bVar24) != bVar25) {\n            *(undefined4 *)((int)handle + 0x30) = 1;\n            return 1;\n          }\n          *(undefined4 *)((int)handle + 0x2c) = 1;\n          return 1;\n        }\n        if (type == 0x44) {\n          if (*(int *)((int)handle + 0x40) != 0) {\n            value = value + *(longlong *)((int)handle + 0x24);\n          }\n          iVar10 = debug_record_line(dhandle,desc,value);\n          goto LAB_0004426d;\n        }\n      }" if (parenthesized_expression "(type < 0x39)" ( (binary_expression "type < 0x39" identifier < number_literal) )) (compound_statement "{\n        if (type == 0x2a) {\n          return 1;\n        }\n      }" { (if_statement "if (type == 0x2a) {\n          return 1;\n        }" if (parenthesized_expression "(type == 0x2a)" ( (binary_expression "type == 0x2a" identifier == number_literal) )) (compound_statement "{\n          return 1;\n        }" { (return_statement "return 1;" return number_literal ;) })) }) (else_clause "else {\n        bVar24 = (uint)type < 0x3c;\n        bVar26 = type == 0x3c;\n        if (bVar26) {\n          iVar10 = 0xf;\n          pbVar19 = (byte *)string;\n          pbVar22 = (byte *)"gcc2_compiled.";\n          do {\n            if (iVar10 == 0) break;\n            iVar10 = iVar10 + -1;\n            bVar24 = *pbVar19 < *pbVar22;\n            bVar26 = *pbVar19 == *pbVar22;\n            pbVar19 = pbVar19 + (uint)bVar27 * -2 + 1;\n            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n          } while (bVar26);\n          bVar25 = false;\n          bVar24 = (!bVar24 && !bVar26) == bVar24;\n          if (bVar24) {\n            *(undefined4 *)((int)handle + 0x2c) = 2;\n            return 1;\n          }\n          iVar10 = 0xe;\n          pbVar19 = (byte *)"gcc_compiled.";\n          do {\n            if (iVar10 == 0) break;\n            iVar10 = iVar10 + -1;\n            bVar25 = (byte)*string < *pbVar19;\n            bVar24 = *string == *pbVar19;\n            string = (char *)((byte *)string + (uint)bVar27 * -2 + 1);\n            pbVar19 = pbVar19 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          if ((!bVar25 && !bVar24) != bVar25) {\n            *(undefined4 *)((int)handle + 0x30) = 1;\n            return 1;\n          }\n          *(undefined4 *)((int)handle + 0x2c) = 1;\n          return 1;\n        }\n        if (type == 0x44) {\n          if (*(int *)((int)handle + 0x40) != 0) {\n            value = value + *(longlong *)((int)handle + 0x24);\n          }\n          iVar10 = debug_record_line(dhandle,desc,value);\n          goto LAB_0004426d;\n        }\n      }" else (compound_statement "{\n        bVar24 = (uint)type < 0x3c;\n        bVar26 = type == 0x3c;\n        if (bVar26) {\n          iVar10 = 0xf;\n          pbVar19 = (byte *)string;\n          pbVar22 = (byte *)"gcc2_compiled.";\n          do {\n            if (iVar10 == 0) break;\n            iVar10 = iVar10 + -1;\n            bVar24 = *pbVar19 < *pbVar22;\n            bVar26 = *pbVar19 == *pbVar22;\n            pbVar19 = pbVar19 + (uint)bVar27 * -2 + 1;\n            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n          } while (bVar26);\n          bVar25 = false;\n          bVar24 = (!bVar24 && !bVar26) == bVar24;\n          if (bVar24) {\n            *(undefined4 *)((int)handle + 0x2c) = 2;\n            return 1;\n          }\n          iVar10 = 0xe;\n          pbVar19 = (byte *)"gcc_compiled.";\n          do {\n            if (iVar10 == 0) break;\n            iVar10 = iVar10 + -1;\n            bVar25 = (byte)*string < *pbVar19;\n            bVar24 = *string == *pbVar19;\n            string = (char *)((byte *)string + (uint)bVar27 * -2 + 1);\n            pbVar19 = pbVar19 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          if ((!bVar25 && !bVar24) != bVar25) {\n            *(undefined4 *)((int)handle + 0x30) = 1;\n            return 1;\n          }\n          *(undefined4 *)((int)handle + 0x2c) = 1;\n          return 1;\n        }\n        if (type == 0x44) {\n          if (*(int *)((int)handle + 0x40) != 0) {\n            value = value + *(longlong *)((int)handle + 0x24);\n          }\n          iVar10 = debug_record_line(dhandle,desc,value);\n          goto LAB_0004426d;\n        }\n      }" { (expression_statement "bVar24 = (uint)type < 0x3c;" (assignment_expression "bVar24 = (uint)type < 0x3c" identifier = (binary_expression "(uint)type < 0x3c" (cast_expression "(uint)type" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal)) ;) (expression_statement "bVar26 = type == 0x3c;" (assignment_expression "bVar26 = type == 0x3c" identifier = (binary_expression "type == 0x3c" identifier == number_literal)) ;) (if_statement "if (bVar26) {\n          iVar10 = 0xf;\n          pbVar19 = (byte *)string;\n          pbVar22 = (byte *)"gcc2_compiled.";\n          do {\n            if (iVar10 == 0) break;\n            iVar10 = iVar10 + -1;\n            bVar24 = *pbVar19 < *pbVar22;\n            bVar26 = *pbVar19 == *pbVar22;\n            pbVar19 = pbVar19 + (uint)bVar27 * -2 + 1;\n            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n          } while (bVar26);\n          bVar25 = false;\n          bVar24 = (!bVar24 && !bVar26) == bVar24;\n          if (bVar24) {\n            *(undefined4 *)((int)handle + 0x2c) = 2;\n            return 1;\n          }\n          iVar10 = 0xe;\n          pbVar19 = (byte *)"gcc_compiled.";\n          do {\n            if (iVar10 == 0) break;\n            iVar10 = iVar10 + -1;\n            bVar25 = (byte)*string < *pbVar19;\n            bVar24 = *string == *pbVar19;\n            string = (char *)((byte *)string + (uint)bVar27 * -2 + 1);\n            pbVar19 = pbVar19 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          if ((!bVar25 && !bVar24) != bVar25) {\n            *(undefined4 *)((int)handle + 0x30) = 1;\n            return 1;\n          }\n          *(undefined4 *)((int)handle + 0x2c) = 1;\n          return 1;\n        }" if (parenthesized_expression "(bVar26)" ( identifier )) (compound_statement "{\n          iVar10 = 0xf;\n          pbVar19 = (byte *)string;\n          pbVar22 = (byte *)"gcc2_compiled.";\n          do {\n            if (iVar10 == 0) break;\n            iVar10 = iVar10 + -1;\n            bVar24 = *pbVar19 < *pbVar22;\n            bVar26 = *pbVar19 == *pbVar22;\n            pbVar19 = pbVar19 + (uint)bVar27 * -2 + 1;\n            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n          } while (bVar26);\n          bVar25 = false;\n          bVar24 = (!bVar24 && !bVar26) == bVar24;\n          if (bVar24) {\n            *(undefined4 *)((int)handle + 0x2c) = 2;\n            return 1;\n          }\n          iVar10 = 0xe;\n          pbVar19 = (byte *)"gcc_compiled.";\n          do {\n            if (iVar10 == 0) break;\n            iVar10 = iVar10 + -1;\n            bVar25 = (byte)*string < *pbVar19;\n            bVar24 = *string == *pbVar19;\n            string = (char *)((byte *)string + (uint)bVar27 * -2 + 1);\n            pbVar19 = pbVar19 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          if ((!bVar25 && !bVar24) != bVar25) {\n            *(undefined4 *)((int)handle + 0x30) = 1;\n            return 1;\n          }\n          *(undefined4 *)((int)handle + 0x2c) = 1;\n          return 1;\n        }" { (expression_statement "iVar10 = 0xf;" (assignment_expression "iVar10 = 0xf" identifier = number_literal) ;) (expression_statement "pbVar19 = (byte *)string;" (assignment_expression "pbVar19 = (byte *)string" identifier = (cast_expression "(byte *)string" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pbVar22 = (byte *)"gcc2_compiled.";" (assignment_expression "pbVar22 = (byte *)"gcc2_compiled."" identifier = (cast_expression "(byte *)"gcc2_compiled."" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""gcc2_compiled."" " string_content "))) ;) (do_statement "do {\n            if (iVar10 == 0) break;\n            iVar10 = iVar10 + -1;\n            bVar24 = *pbVar19 < *pbVar22;\n            bVar26 = *pbVar19 == *pbVar22;\n            pbVar19 = pbVar19 + (uint)bVar27 * -2 + 1;\n            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n          } while (bVar26);" do (compound_statement "{\n            if (iVar10 == 0) break;\n            iVar10 = iVar10 + -1;\n            bVar24 = *pbVar19 < *pbVar22;\n            bVar26 = *pbVar19 == *pbVar22;\n            pbVar19 = pbVar19 + (uint)bVar27 * -2 + 1;\n            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n          }" { (if_statement "if (iVar10 == 0) break;" if (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar10 = iVar10 + -1;" (assignment_expression "iVar10 = iVar10 + -1" identifier = (binary_expression "iVar10 + -1" identifier + number_literal)) ;) (expression_statement "bVar24 = *pbVar19 < *pbVar22;" (assignment_expression "bVar24 = *pbVar19 < *pbVar22" identifier = (binary_expression "*pbVar19 < *pbVar22" (pointer_expression "*pbVar19" * identifier) < (pointer_expression "*pbVar22" * identifier))) ;) (expression_statement "bVar26 = *pbVar19 == *pbVar22;" (assignment_expression "bVar26 = *pbVar19 == *pbVar22" identifier = (binary_expression "*pbVar19 == *pbVar22" (pointer_expression "*pbVar19" * identifier) == (pointer_expression "*pbVar22" * identifier))) ;) (expression_statement "pbVar19 = pbVar19 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar19 = pbVar19 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar19 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar19 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar22 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar22 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar26)" ( identifier )) ;) (expression_statement "bVar25 = false;" (assignment_expression "bVar25 = false" identifier = false) ;) (expression_statement "bVar24 = (!bVar24 && !bVar26) == bVar24;" (assignment_expression "bVar24 = (!bVar24 && !bVar26) == bVar24" identifier = (binary_expression "(!bVar24 && !bVar26) == bVar24" (parenthesized_expression "(!bVar24 && !bVar26)" ( (binary_expression "!bVar24 && !bVar26" (unary_expression "!bVar24" ! identifier) && (unary_expression "!bVar26" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar24) {\n            *(undefined4 *)((int)handle + 0x2c) = 2;\n            return 1;\n          }" if (parenthesized_expression "(bVar24)" ( identifier )) (compound_statement "{\n            *(undefined4 *)((int)handle + 0x2c) = 2;\n            return 1;\n          }" { (expression_statement "*(undefined4 *)((int)handle + 0x2c) = 2;" (assignment_expression "*(undefined4 *)((int)handle + 0x2c) = 2" (pointer_expression "*(undefined4 *)((int)handle + 0x2c)" * (cast_expression "(undefined4 *)((int)handle + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x2c)" ( (binary_expression "(int)handle + 0x2c" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar10 = 0xe;" (assignment_expression "iVar10 = 0xe" identifier = number_literal) ;) (expression_statement "pbVar19 = (byte *)"gcc_compiled.";" (assignment_expression "pbVar19 = (byte *)"gcc_compiled."" identifier = (cast_expression "(byte *)"gcc_compiled."" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""gcc_compiled."" " string_content "))) ;) (do_statement "do {\n            if (iVar10 == 0) break;\n            iVar10 = iVar10 + -1;\n            bVar25 = (byte)*string < *pbVar19;\n            bVar24 = *string == *pbVar19;\n            string = (char *)((byte *)string + (uint)bVar27 * -2 + 1);\n            pbVar19 = pbVar19 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);" do (compound_statement "{\n            if (iVar10 == 0) break;\n            iVar10 = iVar10 + -1;\n            bVar25 = (byte)*string < *pbVar19;\n            bVar24 = *string == *pbVar19;\n            string = (char *)((byte *)string + (uint)bVar27 * -2 + 1);\n            pbVar19 = pbVar19 + (uint)bVar27 * -2 + 1;\n          }" { (if_statement "if (iVar10 == 0) break;" if (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar10 = iVar10 + -1;" (assignment_expression "iVar10 = iVar10 + -1" identifier = (binary_expression "iVar10 + -1" identifier + number_literal)) ;) (expression_statement "bVar25 = (byte)*string < *pbVar19;" (assignment_expression "bVar25 = (byte)*string < *pbVar19" identifier = (binary_expression "(byte)*string < *pbVar19" (binary_expression "(byte)*string" (parenthesized_expression "(byte)" ( identifier )) * identifier) < (pointer_expression "*pbVar19" * identifier))) ;) (expression_statement "bVar24 = *string == *pbVar19;" (assignment_expression "bVar24 = *string == *pbVar19" identifier = (binary_expression "*string == *pbVar19" (pointer_expression "*string" * identifier) == (pointer_expression "*pbVar19" * identifier))) ;) (expression_statement "string = (char *)((byte *)string + (uint)bVar27 * -2 + 1);" (assignment_expression "string = (char *)((byte *)string + (uint)bVar27 * -2 + 1)" identifier = (cast_expression "(char *)((byte *)string + (uint)bVar27 * -2 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((byte *)string + (uint)bVar27 * -2 + 1)" ( (binary_expression "(byte *)string + (uint)bVar27 * -2 + 1" (binary_expression "(byte *)string + (uint)bVar27 * -2" (cast_expression "(byte *)string" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) (expression_statement "pbVar19 = pbVar19 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar19 = pbVar19 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar19 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar19 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar24)" ( identifier )) ;) (if_statement "if ((!bVar25 && !bVar24) != bVar25) {\n            *(undefined4 *)((int)handle + 0x30) = 1;\n            return 1;\n          }" if (parenthesized_expression "((!bVar25 && !bVar24) != bVar25)" ( (binary_expression "(!bVar25 && !bVar24) != bVar25" (parenthesized_expression "(!bVar25 && !bVar24)" ( (binary_expression "!bVar25 && !bVar24" (unary_expression "!bVar25" ! identifier) && (unary_expression "!bVar24" ! identifier)) )) != identifier) )) (compound_statement "{\n            *(undefined4 *)((int)handle + 0x30) = 1;\n            return 1;\n          }" { (expression_statement "*(undefined4 *)((int)handle + 0x30) = 1;" (assignment_expression "*(undefined4 *)((int)handle + 0x30) = 1" (pointer_expression "*(undefined4 *)((int)handle + 0x30)" * (cast_expression "(undefined4 *)((int)handle + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x30)" ( (binary_expression "(int)handle + 0x30" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "*(undefined4 *)((int)handle + 0x2c) = 1;" (assignment_expression "*(undefined4 *)((int)handle + 0x2c) = 1" (pointer_expression "*(undefined4 *)((int)handle + 0x2c)" * (cast_expression "(undefined4 *)((int)handle + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x2c)" ( (binary_expression "(int)handle + 0x2c" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (return_statement "return 1;" return number_literal ;) })) (if_statement "if (type == 0x44) {\n          if (*(int *)((int)handle + 0x40) != 0) {\n            value = value + *(longlong *)((int)handle + 0x24);\n          }\n          iVar10 = debug_record_line(dhandle,desc,value);\n          goto LAB_0004426d;\n        }" if (parenthesized_expression "(type == 0x44)" ( (binary_expression "type == 0x44" identifier == number_literal) )) (compound_statement "{\n          if (*(int *)((int)handle + 0x40) != 0) {\n            value = value + *(longlong *)((int)handle + 0x24);\n          }\n          iVar10 = debug_record_line(dhandle,desc,value);\n          goto LAB_0004426d;\n        }" { (if_statement "if (*(int *)((int)handle + 0x40) != 0) {\n            value = value + *(longlong *)((int)handle + 0x24);\n          }" if (parenthesized_expression "(*(int *)((int)handle + 0x40) != 0)" ( (binary_expression "*(int *)((int)handle + 0x40) != 0" (pointer_expression "*(int *)((int)handle + 0x40)" * (cast_expression "(int *)((int)handle + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x40)" ( (binary_expression "(int)handle + 0x40" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != number_literal) )) (compound_statement "{\n            value = value + *(longlong *)((int)handle + 0x24);\n          }" { (expression_statement "value = value + *(longlong *)((int)handle + 0x24);" (assignment_expression "value = value + *(longlong *)((int)handle + 0x24)" identifier = (binary_expression "value + *(longlong *)((int)handle + 0x24)" identifier + (pointer_expression "*(longlong *)((int)handle + 0x24)" * (cast_expression "(longlong *)((int)handle + 0x24)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x24)" ( (binary_expression "(int)handle + 0x24" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))))) ;) })) (expression_statement "iVar10 = debug_record_line(dhandle,desc,value);" (assignment_expression "iVar10 = debug_record_line(dhandle,desc,value)" identifier = (call_expression "debug_record_line(dhandle,desc,value)" identifier (argument_list "(dhandle,desc,value)" ( identifier , identifier , identifier )))) ;) (goto_statement "goto LAB_0004426d;" goto statement_identifier ;) })) }))) }))))) (labeled_statement "LAB_00044431:\n    p = strchr(string,0x3a);" statement_identifier : (expression_statement "p = strchr(string,0x3a);" (assignment_expression "p = strchr(string,0x3a)" identifier = (call_expression "strchr(string,0x3a)" identifier (argument_list "(string,0x3a)" ( identifier , number_literal )))) ;)) (expression_statement "uVar18 = (uint)(value >> 0x20);" (assignment_expression "uVar18 = (uint)(value >> 0x20)" identifier = (call_expression "(uint)(value >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(value >> 0x20)" ( (binary_expression "value >> 0x20" identifier >> number_literal) )))) ;) (if_statement "if (p == (char *)0x0) {\n      return 1;\n    }" if (parenthesized_expression "(p == (char *)0x0)" ( (binary_expression "p == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      return 1;\n    }" { (return_statement "return 1;" return number_literal ;) })) (expression_statement "bVar27 = p[1];" (assignment_expression "bVar27 = p[1]" identifier = (subscript_expression "p[1]" identifier [ number_literal ])) ;) (if_statement "if ((bVar27 & 0xdf) != 0x46) goto LAB_000447b5;" if (parenthesized_expression "((bVar27 & 0xdf) != 0x46)" ( (binary_expression "(bVar27 & 0xdf) != 0x46" (parenthesized_expression "(bVar27 & 0xdf)" ( (binary_expression "bVar27 & 0xdf" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_000447b5;" goto statement_identifier ;)) (if_statement "if (*(int *)((int)handle + 0x40) != 0) {\n      uVar3 = *(uint *)((int)handle + 0x44);\n      uVar29 = *(uint *)((int)handle + 0x48);\n      if (((uVar3 & uVar29) == 0xffffffff) ||\n         (bVar5 = *(bfd_vma *)((int)handle + 0x44),\n         uVar18 <= uVar29 && (uint)(uVar3 < (uint)value) <= uVar29 - uVar18)) {\n        bVar5 = value;\n      }\n      in_stack_ffffffb0 = (char **)0x444a2;\n      bVar13 = stab_emit_pending_vars(dhandle,(stab_handle *)((int)handle + 0x50));\n      if ((bVar13 == 0) || (bVar13 = debug_end_function(dhandle,bVar5), bVar13 == 0)) {\n        return 0;\n      }\n      *(undefined4 *)((int)handle + 0x44) = 0xffffffff;\n      *(undefined4 *)((int)handle + 0x48) = 0xffffffff;\n    }" if (parenthesized_expression "(*(int *)((int)handle + 0x40) != 0)" ( (binary_expression "*(int *)((int)handle + 0x40) != 0" (pointer_expression "*(int *)((int)handle + 0x40)" * (cast_expression "(int *)((int)handle + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x40)" ( (binary_expression "(int)handle + 0x40" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != number_literal) )) (compound_statement "{\n      uVar3 = *(uint *)((int)handle + 0x44);\n      uVar29 = *(uint *)((int)handle + 0x48);\n      if (((uVar3 & uVar29) == 0xffffffff) ||\n         (bVar5 = *(bfd_vma *)((int)handle + 0x44),\n         uVar18 <= uVar29 && (uint)(uVar3 < (uint)value) <= uVar29 - uVar18)) {\n        bVar5 = value;\n      }\n      in_stack_ffffffb0 = (char **)0x444a2;\n      bVar13 = stab_emit_pending_vars(dhandle,(stab_handle *)((int)handle + 0x50));\n      if ((bVar13 == 0) || (bVar13 = debug_end_function(dhandle,bVar5), bVar13 == 0)) {\n        return 0;\n      }\n      *(undefined4 *)((int)handle + 0x44) = 0xffffffff;\n      *(undefined4 *)((int)handle + 0x48) = 0xffffffff;\n    }" { (expression_statement "uVar3 = *(uint *)((int)handle + 0x44);" (assignment_expression "uVar3 = *(uint *)((int)handle + 0x44)" identifier = (pointer_expression "*(uint *)((int)handle + 0x44)" * (cast_expression "(uint *)((int)handle + 0x44)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x44)" ( (binary_expression "(int)handle + 0x44" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "uVar29 = *(uint *)((int)handle + 0x48);" (assignment_expression "uVar29 = *(uint *)((int)handle + 0x48)" identifier = (pointer_expression "*(uint *)((int)handle + 0x48)" * (cast_expression "(uint *)((int)handle + 0x48)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x48)" ( (binary_expression "(int)handle + 0x48" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if (((uVar3 & uVar29) == 0xffffffff) ||\n         (bVar5 = *(bfd_vma *)((int)handle + 0x44),\n         uVar18 <= uVar29 && (uint)(uVar3 < (uint)value) <= uVar29 - uVar18)) {\n        bVar5 = value;\n      }" if (parenthesized_expression "(((uVar3 & uVar29) == 0xffffffff) ||\n         (bVar5 = *(bfd_vma *)((int)handle + 0x44),\n         uVar18 <= uVar29 && (uint)(uVar3 < (uint)value) <= uVar29 - uVar18))" ( (binary_expression "((uVar3 & uVar29) == 0xffffffff) ||\n         (bVar5 = *(bfd_vma *)((int)handle + 0x44),\n         uVar18 <= uVar29 && (uint)(uVar3 < (uint)value) <= uVar29 - uVar18)" (parenthesized_expression "((uVar3 & uVar29) == 0xffffffff)" ( (binary_expression "(uVar3 & uVar29) == 0xffffffff" (parenthesized_expression "(uVar3 & uVar29)" ( (binary_expression "uVar3 & uVar29" identifier & identifier) )) == number_literal) )) || (parenthesized_expression "(bVar5 = *(bfd_vma *)((int)handle + 0x44),\n         uVar18 <= uVar29 && (uint)(uVar3 < (uint)value) <= uVar29 - uVar18)" ( (comma_expression "bVar5 = *(bfd_vma *)((int)handle + 0x44),\n         uVar18 <= uVar29 && (uint)(uVar3 < (uint)value) <= uVar29 - uVar18" (assignment_expression "bVar5 = *(bfd_vma *)((int)handle + 0x44)" identifier = (pointer_expression "*(bfd_vma *)((int)handle + 0x44)" * (cast_expression "(bfd_vma *)((int)handle + 0x44)" ( (type_descriptor "bfd_vma *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x44)" ( (binary_expression "(int)handle + 0x44" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) , (binary_expression "uVar18 <= uVar29 && (uint)(uVar3 < (uint)value) <= uVar29 - uVar18" (binary_expression "uVar18 <= uVar29" identifier <= identifier) && (binary_expression "(uint)(uVar3 < (uint)value) <= uVar29 - uVar18" (call_expression "(uint)(uVar3 < (uint)value)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar3 < (uint)value)" ( (binary_expression "uVar3 < (uint)value" identifier < (cast_expression "(uint)value" ( (type_descriptor "uint" type_identifier) ) identifier)) ))) <= (binary_expression "uVar29 - uVar18" identifier - identifier)))) ))) )) (compound_statement "{\n        bVar5 = value;\n      }" { (expression_statement "bVar5 = value;" (assignment_expression "bVar5 = value" identifier = identifier) ;) })) (expression_statement "in_stack_ffffffb0 = (char **)0x444a2;" (assignment_expression "in_stack_ffffffb0 = (char **)0x444a2" identifier = (cast_expression "(char **)0x444a2" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "bVar13 = stab_emit_pending_vars(dhandle,(stab_handle *)((int)handle + 0x50));" (assignment_expression "bVar13 = stab_emit_pending_vars(dhandle,(stab_handle *)((int)handle + 0x50))" identifier = (call_expression "stab_emit_pending_vars(dhandle,(stab_handle *)((int)handle + 0x50))" identifier (argument_list "(dhandle,(stab_handle *)((int)handle + 0x50))" ( identifier , (cast_expression "(stab_handle *)((int)handle + 0x50)" ( (type_descriptor "stab_handle *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x50)" ( (binary_expression "(int)handle + 0x50" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) )))) ;) (if_statement "if ((bVar13 == 0) || (bVar13 = debug_end_function(dhandle,bVar5), bVar13 == 0)) {\n        return 0;\n      }" if (parenthesized_expression "((bVar13 == 0) || (bVar13 = debug_end_function(dhandle,bVar5), bVar13 == 0))" ( (binary_expression "(bVar13 == 0) || (bVar13 = debug_end_function(dhandle,bVar5), bVar13 == 0)" (parenthesized_expression "(bVar13 == 0)" ( (binary_expression "bVar13 == 0" identifier == number_literal) )) || (parenthesized_expression "(bVar13 = debug_end_function(dhandle,bVar5), bVar13 == 0)" ( (comma_expression "bVar13 = debug_end_function(dhandle,bVar5), bVar13 == 0" (assignment_expression "bVar13 = debug_end_function(dhandle,bVar5)" identifier = (call_expression "debug_end_function(dhandle,bVar5)" identifier (argument_list "(dhandle,bVar5)" ( identifier , identifier )))) , (binary_expression "bVar13 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n        return 0;\n      }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "*(undefined4 *)((int)handle + 0x44) = 0xffffffff;" (assignment_expression "*(undefined4 *)((int)handle + 0x44) = 0xffffffff" (pointer_expression "*(undefined4 *)((int)handle + 0x44)" * (cast_expression "(undefined4 *)((int)handle + 0x44)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x44)" ( (binary_expression "(int)handle + 0x44" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)handle + 0x48) = 0xffffffff;" (assignment_expression "*(undefined4 *)((int)handle + 0x48) = 0xffffffff" (pointer_expression "*(undefined4 *)((int)handle + 0x48)" * (cast_expression "(undefined4 *)((int)handle + 0x48)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x48)" ( (binary_expression "(int)handle + 0x48" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) })) (if_statement "if (*(int *)((int)handle + 4) != 0) {\n      *(bfd_vma *)((int)handle + 0x24) = value;\n    }" if (parenthesized_expression "(*(int *)((int)handle + 4) != 0)" ( (binary_expression "*(int *)((int)handle + 4) != 0" (pointer_expression "*(int *)((int)handle + 4)" * (cast_expression "(int *)((int)handle + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 4)" ( (binary_expression "(int)handle + 4" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != number_literal) )) (compound_statement "{\n      *(bfd_vma *)((int)handle + 0x24) = value;\n    }" { (expression_statement "*(bfd_vma *)((int)handle + 0x24) = value;" (assignment_expression "*(bfd_vma *)((int)handle + 0x24) = value" (pointer_expression "*(bfd_vma *)((int)handle + 0x24)" * (cast_expression "(bfd_vma *)((int)handle + 0x24)" ( (type_descriptor "bfd_vma *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x24)" ( (binary_expression "(int)handle + 0x24" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) })) (expression_statement "*(undefined4 *)((int)handle + 0x40) = 1;" (assignment_expression "*(undefined4 *)((int)handle + 0x40) = 1" (pointer_expression "*(undefined4 *)((int)handle + 0x40)" * (cast_expression "(undefined4 *)((int)handle + 0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x40)" ( (binary_expression "(int)handle + 0x40" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "p = strchr(string,0x3a);" (assignment_expression "p = strchr(string,0x3a)" identifier = (call_expression "strchr(string,0x3a)" identifier (argument_list "(string,0x3a)" ( identifier , number_literal )))) ;) (if_statement "if (p == (char *)0x0) {\n      return 1;\n    }" if (parenthesized_expression "(p == (char *)0x0)" ( (binary_expression "p == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      return 1;\n    }" { (return_statement "return 1;" return number_literal ;) })) (labeled_statement "LAB_000447b1:\n    bVar27 = p[1];" statement_identifier : (expression_statement "bVar27 = p[1];" (assignment_expression "bVar27 = p[1]" identifier = (subscript_expression "p[1]" identifier [ number_literal ])) ;)) (labeled_statement "LAB_000447b5:\n    if (bVar27 == 0x3a) goto LAB_00044790;" statement_identifier : (if_statement "if (bVar27 == 0x3a) goto LAB_00044790;" if (parenthesized_expression "(bVar27 == 0x3a)" ( (binary_expression "bVar27 == 0x3a" identifier == number_literal) )) (goto_statement "goto LAB_00044790;" goto statement_identifier ;))) (if_statement "if (*string != '$') goto _L1810;" if (parenthesized_expression "(*string != '$')" ( (binary_expression "*string != '$'" (pointer_expression "*string" * identifier) != (char_literal "'$'" ' character ')) )) (goto_statement "goto _L1810;" goto statement_identifier ;)) (switch_statement "switch(string[1]) {\n    default:\n      pcVar17 = (char *)dcgettext(0,"unknown C++ encoded name",5);\n      warn_stab(string,pcVar17);\n    case 'X':\n    case '_':\n    case 'v':\n_L1810:\n      local_3c = (char *)0x0;\n      if ((string != p) && ((*string != ' ' || (p != string + 1)))) {\n        in_stack_ffffffb0 = (char **)0x447f4;\n        local_3c = savestring(string,(int)p - (int)string);\n      }\n      break;\n    case 'e':\n      local_3c = "eh_throw";\n      break;\n    case 't':\n      local_3c = "this";\n    }" switch (parenthesized_expression "(string[1])" ( (subscript_expression "string[1]" identifier [ number_literal ]) )) (compound_statement "{\n    default:\n      pcVar17 = (char *)dcgettext(0,"unknown C++ encoded name",5);\n      warn_stab(string,pcVar17);\n    case 'X':\n    case '_':\n    case 'v':\n_L1810:\n      local_3c = (char *)0x0;\n      if ((string != p) && ((*string != ' ' || (p != string + 1)))) {\n        in_stack_ffffffb0 = (char **)0x447f4;\n        local_3c = savestring(string,(int)p - (int)string);\n      }\n      break;\n    case 'e':\n      local_3c = "eh_throw";\n      break;\n    case 't':\n      local_3c = "this";\n    }" { (case_statement "default:\n      pcVar17 = (char *)dcgettext(0,"unknown C++ encoded name",5);\n      warn_stab(string,pcVar17);" default : (expression_statement "pcVar17 = (char *)dcgettext(0,"unknown C++ encoded name",5);" (assignment_expression "pcVar17 = (char *)dcgettext(0,"unknown C++ encoded name",5)" identifier = (cast_expression "(char *)dcgettext(0,"unknown C++ encoded name",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"unknown C++ encoded name",5)" identifier (argument_list "(0,"unknown C++ encoded name",5)" ( number_literal , (string_literal ""unknown C++ encoded name"" " string_content ") , number_literal ))))) ;) (expression_statement "warn_stab(string,pcVar17);" (call_expression "warn_stab(string,pcVar17)" identifier (argument_list "(string,pcVar17)" ( identifier , identifier ))) ;)) (case_statement "case 'X':" case (char_literal "'X'" ' character ') :) (case_statement "case '_':" case (char_literal "'_'" ' character ') :) (case_statement "case 'v':\n_L1810:\n      local_3c = (char *)0x0;\n      if ((string != p) && ((*string != ' ' || (p != string + 1)))) {\n        in_stack_ffffffb0 = (char **)0x447f4;\n        local_3c = savestring(string,(int)p - (int)string);\n      }\n      break;" case (char_literal "'v'" ' character ') : (labeled_statement "_L1810:\n      local_3c = (char *)0x0;" statement_identifier : (expression_statement "local_3c = (char *)0x0;" (assignment_expression "local_3c = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (if_statement "if ((string != p) && ((*string != ' ' || (p != string + 1)))) {\n        in_stack_ffffffb0 = (char **)0x447f4;\n        local_3c = savestring(string,(int)p - (int)string);\n      }" if (parenthesized_expression "((string != p) && ((*string != ' ' || (p != string + 1))))" ( (binary_expression "(string != p) && ((*string != ' ' || (p != string + 1)))" (parenthesized_expression "(string != p)" ( (binary_expression "string != p" identifier != identifier) )) && (parenthesized_expression "((*string != ' ' || (p != string + 1)))" ( (parenthesized_expression "(*string != ' ' || (p != string + 1))" ( (binary_expression "*string != ' ' || (p != string + 1)" (binary_expression "*string != ' '" (pointer_expression "*string" * identifier) != (char_literal "' '" ' character ')) || (parenthesized_expression "(p != string + 1)" ( (binary_expression "p != string + 1" identifier != (binary_expression "string + 1" identifier + number_literal)) ))) )) ))) )) (compound_statement "{\n        in_stack_ffffffb0 = (char **)0x447f4;\n        local_3c = savestring(string,(int)p - (int)string);\n      }" { (expression_statement "in_stack_ffffffb0 = (char **)0x447f4;" (assignment_expression "in_stack_ffffffb0 = (char **)0x447f4" identifier = (cast_expression "(char **)0x447f4" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "local_3c = savestring(string,(int)p - (int)string);" (assignment_expression "local_3c = savestring(string,(int)p - (int)string)" identifier = (call_expression "savestring(string,(int)p - (int)string)" identifier (argument_list "(string,(int)p - (int)string)" ( identifier , (binary_expression "(int)p - (int)string" (cast_expression "(int)p" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)string" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) })) (break_statement "break;" break ;)) (case_statement "case 'e':\n      local_3c = "eh_throw";\n      break;" case (char_literal "'e'" ' character ') : (expression_statement "local_3c = "eh_throw";" (assignment_expression "local_3c = "eh_throw"" identifier = (string_literal ""eh_throw"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case 't':\n      local_3c = "this";" case (char_literal "'t'" ' character ') : (expression_statement "local_3c = "this";" (assignment_expression "local_3c = "this"" identifier = (string_literal ""this"" " string_content ")) ;)) })) (expression_statement "p_end = (char *)(value >> 0x20);" (assignment_expression "p_end = (char *)(value >> 0x20)" identifier = (cast_expression "(char *)(value >> 0x20)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(value >> 0x20)" ( (binary_expression "value >> 0x20" identifier >> number_literal) )))) ;) (expression_statement "slotp = (debug_type_conflict **)value;" (assignment_expression "slotp = (debug_type_conflict **)value" identifier = (cast_expression "(debug_type_conflict **)value" ( (type_descriptor "debug_type_conflict **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "pcVar17 = string + sVar9;" (assignment_expression "pcVar17 = string + sVar9" identifier = (binary_expression "string + sVar9" identifier + identifier)) ;) (expression_statement "ppcVar28 = (char **)((int)p + 1);" (assignment_expression "ppcVar28 = (char **)((int)p + 1)" identifier = (cast_expression "(char **)((int)p + 1)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)p + 1)" ( (binary_expression "(int)p + 1" (cast_expression "(int)p" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "bVar27 = *(byte *)((int)p + 1);" (assignment_expression "bVar27 = *(byte *)((int)p + 1)" identifier = (pointer_expression "*(byte *)((int)p + 1)" * (cast_expression "(byte *)((int)p + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)p + 1)" ( (binary_expression "(int)p + 1" (cast_expression "(int)p" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if (((PTR__sch_istable_00071fbc[(uint)bVar27 * 2] & 4) != 0) ||\n       (bVar27 == 0x28 || bVar27 == 0x2d)) {\n_L1827:\n      p = (char *)ppcVar28;\n      pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,in_stack_ffffffb0,slotp,p_end);\n      if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }\n      kind_00 = DEBUG_LOCAL;\n      goto LAB_0004486e;\n    }" if (parenthesized_expression "(((PTR__sch_istable_00071fbc[(uint)bVar27 * 2] & 4) != 0) ||\n       (bVar27 == 0x28 || bVar27 == 0x2d))" ( (binary_expression "((PTR__sch_istable_00071fbc[(uint)bVar27 * 2] & 4) != 0) ||\n       (bVar27 == 0x28 || bVar27 == 0x2d)" (parenthesized_expression "((PTR__sch_istable_00071fbc[(uint)bVar27 * 2] & 4) != 0)" ( (binary_expression "(PTR__sch_istable_00071fbc[(uint)bVar27 * 2] & 4) != 0" (parenthesized_expression "(PTR__sch_istable_00071fbc[(uint)bVar27 * 2] & 4)" ( (binary_expression "PTR__sch_istable_00071fbc[(uint)bVar27 * 2] & 4" (subscript_expression "PTR__sch_istable_00071fbc[(uint)bVar27 * 2]" identifier [ (binary_expression "(uint)bVar27 * 2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal) ]) & number_literal) )) != number_literal) )) || (parenthesized_expression "(bVar27 == 0x28 || bVar27 == 0x2d)" ( (binary_expression "bVar27 == 0x28 || bVar27 == 0x2d" (binary_expression "bVar27 == 0x28" identifier == number_literal) || (binary_expression "bVar27 == 0x2d" identifier == number_literal)) ))) )) (compound_statement "{\n_L1827:\n      p = (char *)ppcVar28;\n      pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,in_stack_ffffffb0,slotp,p_end);\n      if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }\n      kind_00 = DEBUG_LOCAL;\n      goto LAB_0004486e;\n    }" { (labeled_statement "_L1827:\n      p = (char *)ppcVar28;" statement_identifier : (expression_statement "p = (char *)ppcVar28;" (assignment_expression "p = (char *)ppcVar28" identifier = (cast_expression "(char *)ppcVar28" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (expression_statement "pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,in_stack_ffffffb0,slotp,p_end);" (assignment_expression "pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,in_stack_ffffffb0,slotp,p_end)" identifier = (call_expression "parse_stab_type(&p,(stab_handle *)0x0,pcVar17,in_stack_ffffffb0,slotp,p_end)" identifier (argument_list "(&p,(stab_handle *)0x0,pcVar17,in_stack_ffffffb0,slotp,p_end)" ( (pointer_expression "&p" & identifier) , (cast_expression "(stab_handle *)0x0" ( (type_descriptor "stab_handle *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , identifier , identifier , identifier , identifier )))) ;) (if_statement "if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }" if (parenthesized_expression "(pdVar12 == (debug_type)0x0)" ( (binary_expression "pdVar12 == (debug_type)0x0" identifier == (cast_expression "(debug_type)0x0" ( (type_descriptor "debug_type" type_identifier) ) number_literal)) )) (compound_statement "{\n        return 0;\n      }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "kind_00 = DEBUG_LOCAL;" (assignment_expression "kind_00 = DEBUG_LOCAL" identifier = identifier) ;) (goto_statement "goto LAB_0004486e;" goto statement_identifier ;) })) (if_statement "if (bVar27 == 0) goto LAB_000449d0;" if (parenthesized_expression "(bVar27 == 0)" ( (binary_expression "bVar27 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000449d0;" goto statement_identifier ;)) (expression_statement "ppcVar28 = (char **)((int)p + 2);" (assignment_expression "ppcVar28 = (char **)((int)p + 2)" identifier = (cast_expression "(char **)((int)p + 2)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)p + 2)" ( (binary_expression "(int)p + 2" (cast_expression "(int)p" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "bVar27 = *(byte *)((int)p + 1);" (assignment_expression "bVar27 = *(byte *)((int)p + 1)" identifier = (pointer_expression "*(byte *)((int)p + 1)" * (cast_expression "(byte *)((int)p + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)p + 1)" ( (binary_expression "(int)p + 1" (cast_expression "(int)p" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "ppcVar20 = (char **)(uint)bVar27;" (assignment_expression "ppcVar20 = (char **)(uint)bVar27" identifier = (cast_expression "(char **)(uint)bVar27" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (if_statement "if (0x33 < (byte)((int)ppcVar20 - 0x43U)) goto _L1817;" if (parenthesized_expression "(0x33 < (byte)((int)ppcVar20 - 0x43U))" ( (binary_expression "0x33 < (byte)((int)ppcVar20 - 0x43U)" number_literal < (call_expression "(byte)((int)ppcVar20 - 0x43U)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((int)ppcVar20 - 0x43U)" ( (binary_expression "(int)ppcVar20 - 0x43U" (cast_expression "(int)ppcVar20" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal) )))) )) (goto_statement "goto _L1817;" goto statement_identifier ;)) (expression_statement "uVar18 = (int)ppcVar20 - 0x43U & 0xff;" (assignment_expression "uVar18 = (int)ppcVar20 - 0x43U & 0xff" identifier = (binary_expression "(int)ppcVar20 - 0x43U & 0xff" (binary_expression "(int)ppcVar20 - 0x43U" (cast_expression "(int)ppcVar20" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal) & number_literal)) ;) (expression_statement "pp = (char **)((int)&_GLOBAL_OFFSET_TABLE_ + (&switchD_00044abe::switchdataD_00057e08)[uVar18]);" (assignment_expression "pp = (char **)((int)&_GLOBAL_OFFSET_TABLE_ + (&switchD_00044abe::switchdataD_00057e08)[uVar18])" identifier = (cast_expression "(char **)((int)&_GLOBAL_OFFSET_TABLE_ + (&switchD_00044abe::switchdataD_00057e08)[uVar18])" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)&_GLOBAL_OFFSET_TABLE_ + (&switchD_00044abe::switchdataD_00057e08)[uVar18])" ( (binary_expression "(int)&_GLOBAL_OFFSET_TABLE_ + (&switchD_00044abe::switchdataD_00057e08)[uVar18]" (cast_expression "(int)&_GLOBAL_OFFSET_TABLE_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&_GLOBAL_OFFSET_TABLE_" & identifier)) + (subscript_expression "(&switchD_00044abe::switchdataD_00057e08)[uVar18]" (parenthesized_expression "(&switchD_00044abe::switchdataD_00057e08)" ( (ERROR "&switchD_00044abe::" (pointer_expression "&switchD_00044abe" & identifier) : :) identifier )) [ identifier ])) )))) ;) (switch_statement "switch(uVar18) {\n    case 0:\n      p = (char *)ppcVar28;\n      pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end);\n      if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }\n      bVar13 = debug_record_label(dhandle,local_3c,pdVar12,value);\n      goto joined_r0x00044fe7;\n    default:\n      goto _L1817;\n    case 3:\n    case 0x23:\n      p = (char *)ppcVar28;\n      pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,pp,slotp,p_end);\n      if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }\n      ppcVar28 = extraout_EDX;\n      pdVar12 = (debug_type)\n                debug_record_function(dhandle,local_3c,pdVar12,(uint)(bVar27 == 0x46),value);\n      while( true ) {\n        if (pdVar12 == (debug_type)0x0) {\n          return 0;\n        }\n        if (*p != ';') break;\n        p = p + 1;\n        pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar28,\n                                  (debug_type_conflict **)value,(char *)(value >> 0x20));\n      }\n      return 1;\n    case 4:\n      p = (char *)ppcVar28;\n      pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,pp,slotp,p_end);\n      if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }\n      if (local_3c == (char *)0x0) goto LAB_00044c0d;\n                    /* WARNING: Load size is inaccurate */\n      iVar10 = *(int *)((int)handle + 0xc);\n      piVar21 = *(int **)((int)handle + 8);\n      cVar6 = *(char *)(*(int *)(*handle + 4) + 0x18);\n      if (iVar10 < 1) goto LAB_00044c0d;\n      cVar2 = *local_3c;\n      goto LAB_00044bbc;\n    case 0xd:\n      if (type == 0x24) {\n        p = (char *)ppcVar28;\n        do {\n          if (*p != ';') {\n            return 1;\n          }\n          p = p + 1;\n          pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,in_stack_ffffffb0,\n                                    (debug_type_conflict **)value,(char *)(value >> 0x20));\n        } while (pdVar12 != (debug_type)0x0);\n        return 0;\n      }\n    case 0xf:\n      p = (char *)ppcVar28;\n      pdVar15 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,pp,slotp,p_end);\n      if (pdVar15 == (debug_type)0x0) {\n        return 0;\n      }\n      kind = DEBUG_PARM_REG;\n      break;\n    case 0x10:\n      ppcVar20 = (char **)p;\n      p = (char *)ppcVar28;\n      pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end);\n      if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }\n      kind_00 = DEBUG_STATIC;\n      goto LAB_0004486e;\n    case 0x11:\n      bVar24 = *(char *)((int)p + 2) == 't';\n      if (bVar24) {\n        ppcVar28 = (char **)((int)p + 3);\n      }\n      p = (char *)ppcVar28;\n      uVar18 = (uint)bVar24;\n      pdVar12 = parse_stab_type(&p,(stab_handle *)&slot,pcVar17,(char **)type,slotp,p_end);\n      if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }\n      if (local_3c == (char *)0x0) {\n        return 1;\n      }\n      iVar10 = *(int *)((int)handle + 0xe8);\n      pdVar15 = debug_tag_type(dhandle,local_3c,pdVar12);\n      if (pdVar15 == (debug_type_conflict)0x0) {\n        return 0;\n      }\n      if (slot != (debug_type_conflict *)0x0) {\n        *slot = pdVar15;\n      }\n      if (iVar10 != 0) goto LAB_00044efc;\n      if (*(int **)((int)handle + 0xe4) == (int *)0x0) goto LAB_00044efc;\n      cVar6 = *local_3c;\n      piVar21 = (int *)((int)handle + 0xe4);\n      piVar23 = *(int **)((int)handle + 0xe4);\n      goto LAB_00044ecc;\n    case 0x13:\n      ppcVar20 = (char **)p;\n      p = (char *)ppcVar28;\n      pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end);\n      if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }\n      kind_00 = DEBUG_LOCAL_STATIC;\n      goto LAB_0004486e;\n    case 0x15:\n    case 0x29:\n    case 0x30:\n      goto _L1827;\n    case 0x16:\n      ppcVar28 = (char **)((int)p + 3);\n      if ((*(char *)((int)p + 3) == 'n') &&\n         (ppcVar28 = (char **)((int)p + 4), ppcVar20 = (char **)((int)p + 4), p = (char *)ppcVar28,\n         *(char *)ppcVar20 == '0')) {\n        for (; *p != ';'; p = p + 1) {\n        }\n        return 1;\n      }\n_L1817:\n      p = (char *)ppcVar28;\n      bad_stab(string);\n      return 0;\n    case 0x1e:\n      p = (char *)ppcVar28;\n      pdVar15 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end);\n      if (pdVar15 == (debug_type)0x0) {\n        return 0;\n      }\n      kind = DEBUG_PARM_REF_REG;\n      break;\n    case 0x20:\n      if (*(char *)((int)p + 2) == '=') {\n        ppcVar28 = (char **)((int)p + 4);\n        bVar27 = *(byte *)((int)p + 3);\n        p = (char *)ppcVar28;\n        if (bVar27 == 0x69) {\n          lVar16 = strtol((char *)ppcVar28,(char **)0x0,10);\n          bVar13 = debug_record_int_const(dhandle,local_3c,(longlong)lVar16);\n          goto joined_r0x00044fe7;\n        }\n        if (bVar27 == 0x72) {\n          val = strtod((char *)ppcVar28,(char **)0x0);\n          bVar13 = debug_record_float_const(dhandle,local_3c,val);\n          goto joined_r0x00044fe7;\n        }\n        if (bVar27 == 0x65) {\n          pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,(char **)(uint)bVar27,slotp,p_end)\n          ;\n          if (pdVar12 == (debug_type)0x0) {\n            return 0;\n          }\n          ppcVar28 = (char **)p;\n          if (*p == ',') {\n            lVar16 = strtol(p,(char **)0x0,10);\n            bVar13 = debug_record_typed_const(dhandle,local_3c,pdVar12,(longlong)lVar16);\n            goto joined_r0x00044fe7;\n          }\n        }\n      }\n      goto LAB_000449d0;\n    case 0x2d:\n      if (*(char *)((int)p + 2) == 'F') {\n        p = (char *)((int)p + 3);\n        pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,(char **)p,slotp,p_end);\n        if (pdVar12 == (debug_type)0x0) {\n          return 0;\n        }\n        pdVar15 = debug_make_function_type(pdVar12,type_00,arg_types,(bfd_boolean)dhandle);\n        pdVar15 = debug_make_pointer_type(dhandle,pdVar15);\n      }\n      else {\n        ppcVar20 = (char **)p;\n        p = (char *)ppcVar28;\n        pdVar15 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end);\n      }\n      if (pdVar15 == (debug_type_conflict)0x0) {\n        return 0;\n      }\n      kind = DEBUG_PARM_STACK;\n      break;\n    case 0x2f:\n      ppcVar20 = (char **)p;\n      p = (char *)ppcVar28;\n      pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end);\n      if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }\n      kind_00 = DEBUG_REGISTER;\n      goto LAB_0004486e;\n    case 0x31:\n      ppcVar20 = (char **)p;\n      p = (char *)ppcVar28;\n      pdVar12 = parse_stab_type(&p,(stab_handle *)&slot,pcVar17,ppcVar20,slotp,p_end);\n      if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }\n      if (local_3c == (char *)0x0) {\n        return 1;\n      }\n      pdVar15 = debug_name_type(dhandle,local_3c,pdVar12);\n      if (pdVar15 == (debug_type_conflict)0x0) {\n        return 0;\n      }\n      if (slot == (debug_type_conflict *)0x0) {\n        return 1;\n      }\n      *slot = pdVar15;\n      return 1;\n    case 0x33:\n      ppcVar20 = (char **)p;\n      p = (char *)ppcVar28;\n      pdVar15 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end);\n      if (pdVar15 == (debug_type)0x0) {\n        return 0;\n      }\n      kind = DEBUG_PARM_REFERENCE;\n    }" switch (parenthesized_expression "(uVar18)" ( identifier )) (compound_statement "{\n    case 0:\n      p = (char *)ppcVar28;\n      pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end);\n      if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }\n      bVar13 = debug_record_label(dhandle,local_3c,pdVar12,value);\n      goto joined_r0x00044fe7;\n    default:\n      goto _L1817;\n    case 3:\n    case 0x23:\n      p = (char *)ppcVar28;\n      pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,pp,slotp,p_end);\n      if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }\n      ppcVar28 = extraout_EDX;\n      pdVar12 = (debug_type)\n                debug_record_function(dhandle,local_3c,pdVar12,(uint)(bVar27 == 0x46),value);\n      while( true ) {\n        if (pdVar12 == (debug_type)0x0) {\n          return 0;\n        }\n        if (*p != ';') break;\n        p = p + 1;\n        pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar28,\n                                  (debug_type_conflict **)value,(char *)(value >> 0x20));\n      }\n      return 1;\n    case 4:\n      p = (char *)ppcVar28;\n      pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,pp,slotp,p_end);\n      if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }\n      if (local_3c == (char *)0x0) goto LAB_00044c0d;\n                    /* WARNING: Load size is inaccurate */\n      iVar10 = *(int *)((int)handle + 0xc);\n      piVar21 = *(int **)((int)handle + 8);\n      cVar6 = *(char *)(*(int *)(*handle + 4) + 0x18);\n      if (iVar10 < 1) goto LAB_00044c0d;\n      cVar2 = *local_3c;\n      goto LAB_00044bbc;\n    case 0xd:\n      if (type == 0x24) {\n        p = (char *)ppcVar28;\n        do {\n          if (*p != ';') {\n            return 1;\n          }\n          p = p + 1;\n          pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,in_stack_ffffffb0,\n                                    (debug_type_conflict **)value,(char *)(value >> 0x20));\n        } while (pdVar12 != (debug_type)0x0);\n        return 0;\n      }\n    case 0xf:\n      p = (char *)ppcVar28;\n      pdVar15 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,pp,slotp,p_end);\n      if (pdVar15 == (debug_type)0x0) {\n        return 0;\n      }\n      kind = DEBUG_PARM_REG;\n      break;\n    case 0x10:\n      ppcVar20 = (char **)p;\n      p = (char *)ppcVar28;\n      pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end);\n      if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }\n      kind_00 = DEBUG_STATIC;\n      goto LAB_0004486e;\n    case 0x11:\n      bVar24 = *(char *)((int)p + 2) == 't';\n      if (bVar24) {\n        ppcVar28 = (char **)((int)p + 3);\n      }\n      p = (char *)ppcVar28;\n      uVar18 = (uint)bVar24;\n      pdVar12 = parse_stab_type(&p,(stab_handle *)&slot,pcVar17,(char **)type,slotp,p_end);\n      if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }\n      if (local_3c == (char *)0x0) {\n        return 1;\n      }\n      iVar10 = *(int *)((int)handle + 0xe8);\n      pdVar15 = debug_tag_type(dhandle,local_3c,pdVar12);\n      if (pdVar15 == (debug_type_conflict)0x0) {\n        return 0;\n      }\n      if (slot != (debug_type_conflict *)0x0) {\n        *slot = pdVar15;\n      }\n      if (iVar10 != 0) goto LAB_00044efc;\n      if (*(int **)((int)handle + 0xe4) == (int *)0x0) goto LAB_00044efc;\n      cVar6 = *local_3c;\n      piVar21 = (int *)((int)handle + 0xe4);\n      piVar23 = *(int **)((int)handle + 0xe4);\n      goto LAB_00044ecc;\n    case 0x13:\n      ppcVar20 = (char **)p;\n      p = (char *)ppcVar28;\n      pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end);\n      if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }\n      kind_00 = DEBUG_LOCAL_STATIC;\n      goto LAB_0004486e;\n    case 0x15:\n    case 0x29:\n    case 0x30:\n      goto _L1827;\n    case 0x16:\n      ppcVar28 = (char **)((int)p + 3);\n      if ((*(char *)((int)p + 3) == 'n') &&\n         (ppcVar28 = (char **)((int)p + 4), ppcVar20 = (char **)((int)p + 4), p = (char *)ppcVar28,\n         *(char *)ppcVar20 == '0')) {\n        for (; *p != ';'; p = p + 1) {\n        }\n        return 1;\n      }\n_L1817:\n      p = (char *)ppcVar28;\n      bad_stab(string);\n      return 0;\n    case 0x1e:\n      p = (char *)ppcVar28;\n      pdVar15 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end);\n      if (pdVar15 == (debug_type)0x0) {\n        return 0;\n      }\n      kind = DEBUG_PARM_REF_REG;\n      break;\n    case 0x20:\n      if (*(char *)((int)p + 2) == '=') {\n        ppcVar28 = (char **)((int)p + 4);\n        bVar27 = *(byte *)((int)p + 3);\n        p = (char *)ppcVar28;\n        if (bVar27 == 0x69) {\n          lVar16 = strtol((char *)ppcVar28,(char **)0x0,10);\n          bVar13 = debug_record_int_const(dhandle,local_3c,(longlong)lVar16);\n          goto joined_r0x00044fe7;\n        }\n        if (bVar27 == 0x72) {\n          val = strtod((char *)ppcVar28,(char **)0x0);\n          bVar13 = debug_record_float_const(dhandle,local_3c,val);\n          goto joined_r0x00044fe7;\n        }\n        if (bVar27 == 0x65) {\n          pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,(char **)(uint)bVar27,slotp,p_end)\n          ;\n          if (pdVar12 == (debug_type)0x0) {\n            return 0;\n          }\n          ppcVar28 = (char **)p;\n          if (*p == ',') {\n            lVar16 = strtol(p,(char **)0x0,10);\n            bVar13 = debug_record_typed_const(dhandle,local_3c,pdVar12,(longlong)lVar16);\n            goto joined_r0x00044fe7;\n          }\n        }\n      }\n      goto LAB_000449d0;\n    case 0x2d:\n      if (*(char *)((int)p + 2) == 'F') {\n        p = (char *)((int)p + 3);\n        pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,(char **)p,slotp,p_end);\n        if (pdVar12 == (debug_type)0x0) {\n          return 0;\n        }\n        pdVar15 = debug_make_function_type(pdVar12,type_00,arg_types,(bfd_boolean)dhandle);\n        pdVar15 = debug_make_pointer_type(dhandle,pdVar15);\n      }\n      else {\n        ppcVar20 = (char **)p;\n        p = (char *)ppcVar28;\n        pdVar15 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end);\n      }\n      if (pdVar15 == (debug_type_conflict)0x0) {\n        return 0;\n      }\n      kind = DEBUG_PARM_STACK;\n      break;\n    case 0x2f:\n      ppcVar20 = (char **)p;\n      p = (char *)ppcVar28;\n      pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end);\n      if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }\n      kind_00 = DEBUG_REGISTER;\n      goto LAB_0004486e;\n    case 0x31:\n      ppcVar20 = (char **)p;\n      p = (char *)ppcVar28;\n      pdVar12 = parse_stab_type(&p,(stab_handle *)&slot,pcVar17,ppcVar20,slotp,p_end);\n      if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }\n      if (local_3c == (char *)0x0) {\n        return 1;\n      }\n      pdVar15 = debug_name_type(dhandle,local_3c,pdVar12);\n      if (pdVar15 == (debug_type_conflict)0x0) {\n        return 0;\n      }\n      if (slot == (debug_type_conflict *)0x0) {\n        return 1;\n      }\n      *slot = pdVar15;\n      return 1;\n    case 0x33:\n      ppcVar20 = (char **)p;\n      p = (char *)ppcVar28;\n      pdVar15 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end);\n      if (pdVar15 == (debug_type)0x0) {\n        return 0;\n      }\n      kind = DEBUG_PARM_REFERENCE;\n    }" { (case_statement "case 0:\n      p = (char *)ppcVar28;\n      pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end);\n      if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }\n      bVar13 = debug_record_label(dhandle,local_3c,pdVar12,value);\n      goto joined_r0x00044fe7;" case number_literal : (expression_statement "p = (char *)ppcVar28;" (assignment_expression "p = (char *)ppcVar28" identifier = (cast_expression "(char *)ppcVar28" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end);" (assignment_expression "pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end)" identifier = (call_expression "parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end)" identifier (argument_list "(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end)" ( (pointer_expression "&p" & identifier) , (cast_expression "(stab_handle *)0x0" ( (type_descriptor "stab_handle *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , identifier , identifier , identifier , identifier )))) ;) (if_statement "if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }" if (parenthesized_expression "(pdVar12 == (debug_type)0x0)" ( (binary_expression "pdVar12 == (debug_type)0x0" identifier == (cast_expression "(debug_type)0x0" ( (type_descriptor "debug_type" type_identifier) ) number_literal)) )) (compound_statement "{\n        return 0;\n      }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "bVar13 = debug_record_label(dhandle,local_3c,pdVar12,value);" (assignment_expression "bVar13 = debug_record_label(dhandle,local_3c,pdVar12,value)" identifier = (call_expression "debug_record_label(dhandle,local_3c,pdVar12,value)" identifier (argument_list "(dhandle,local_3c,pdVar12,value)" ( identifier , identifier , identifier , identifier )))) ;) (goto_statement "goto joined_r0x00044fe7;" goto statement_identifier ;)) (case_statement "default:\n      goto _L1817;" default : (goto_statement "goto _L1817;" goto statement_identifier ;)) (case_statement "case 3:" case number_literal :) (case_statement "case 0x23:\n      p = (char *)ppcVar28;\n      pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,pp,slotp,p_end);\n      if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }\n      ppcVar28 = extraout_EDX;\n      pdVar12 = (debug_type)\n                debug_record_function(dhandle,local_3c,pdVar12,(uint)(bVar27 == 0x46),value);\n      while( true ) {\n        if (pdVar12 == (debug_type)0x0) {\n          return 0;\n        }\n        if (*p != ';') break;\n        p = p + 1;\n        pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar28,\n                                  (debug_type_conflict **)value,(char *)(value >> 0x20));\n      }\n      return 1;" case number_literal : (expression_statement "p = (char *)ppcVar28;" (assignment_expression "p = (char *)ppcVar28" identifier = (cast_expression "(char *)ppcVar28" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,pp,slotp,p_end);" (assignment_expression "pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,pp,slotp,p_end)" identifier = (call_expression "parse_stab_type(&p,(stab_handle *)0x0,pcVar17,pp,slotp,p_end)" identifier (argument_list "(&p,(stab_handle *)0x0,pcVar17,pp,slotp,p_end)" ( (pointer_expression "&p" & identifier) , (cast_expression "(stab_handle *)0x0" ( (type_descriptor "stab_handle *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , identifier , identifier , identifier , identifier )))) ;) (if_statement "if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }" if (parenthesized_expression "(pdVar12 == (debug_type)0x0)" ( (binary_expression "pdVar12 == (debug_type)0x0" identifier == (cast_expression "(debug_type)0x0" ( (type_descriptor "debug_type" type_identifier) ) number_literal)) )) (compound_statement "{\n        return 0;\n      }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "ppcVar28 = extraout_EDX;" (assignment_expression "ppcVar28 = extraout_EDX" identifier = identifier) ;) (expression_statement "pdVar12 = (debug_type)\n                debug_record_function(dhandle,local_3c,pdVar12,(uint)(bVar27 == 0x46),value);" (assignment_expression "pdVar12 = (debug_type)\n                debug_record_function(dhandle,local_3c,pdVar12,(uint)(bVar27 == 0x46),value)" identifier = (cast_expression "(debug_type)\n                debug_record_function(dhandle,local_3c,pdVar12,(uint)(bVar27 == 0x46),value)" ( (type_descriptor "debug_type" type_identifier) ) (call_expression "debug_record_function(dhandle,local_3c,pdVar12,(uint)(bVar27 == 0x46),value)" identifier (argument_list "(dhandle,local_3c,pdVar12,(uint)(bVar27 == 0x46),value)" ( identifier , identifier , identifier , (call_expression "(uint)(bVar27 == 0x46)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(bVar27 == 0x46)" ( (binary_expression "bVar27 == 0x46" identifier == number_literal) ))) , identifier ))))) ;) (while_statement "while( true ) {\n        if (pdVar12 == (debug_type)0x0) {\n          return 0;\n        }\n        if (*p != ';') break;\n        p = p + 1;\n        pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar28,\n                                  (debug_type_conflict **)value,(char *)(value >> 0x20));\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        if (pdVar12 == (debug_type)0x0) {\n          return 0;\n        }\n        if (*p != ';') break;\n        p = p + 1;\n        pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar28,\n                                  (debug_type_conflict **)value,(char *)(value >> 0x20));\n      }" { (if_statement "if (pdVar12 == (debug_type)0x0) {\n          return 0;\n        }" if (parenthesized_expression "(pdVar12 == (debug_type)0x0)" ( (binary_expression "pdVar12 == (debug_type)0x0" identifier == (cast_expression "(debug_type)0x0" ( (type_descriptor "debug_type" type_identifier) ) number_literal)) )) (compound_statement "{\n          return 0;\n        }" { (return_statement "return 0;" return number_literal ;) })) (if_statement "if (*p != ';') break;" if (parenthesized_expression "(*p != ';')" ( (binary_expression "*p != ';'" (pointer_expression "*p" * identifier) != (char_literal "';'" ' character ')) )) (break_statement "break;" break ;)) (expression_statement "p = p + 1;" (assignment_expression "p = p + 1" identifier = (binary_expression "p + 1" identifier + number_literal)) ;) (expression_statement "pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar28,\n                                  (debug_type_conflict **)value,(char *)(value >> 0x20));" (assignment_expression "pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar28,\n                                  (debug_type_conflict **)value,(char *)(value >> 0x20))" identifier = (call_expression "parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar28,\n                                  (debug_type_conflict **)value,(char *)(value >> 0x20))" identifier (argument_list "(&p,(stab_handle *)0x0,pcVar17,ppcVar28,\n                                  (debug_type_conflict **)value,(char *)(value >> 0x20))" ( (pointer_expression "&p" & identifier) , (cast_expression "(stab_handle *)0x0" ( (type_descriptor "stab_handle *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , identifier , identifier , (cast_expression "(debug_type_conflict **)value" ( (type_descriptor "debug_type_conflict **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) , (cast_expression "(char *)(value >> 0x20)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(value >> 0x20)" ( (binary_expression "value >> 0x20" identifier >> number_literal) ))) )))) ;) })) (return_statement "return 1;" return number_literal ;)) (case_statement "case 4:\n      p = (char *)ppcVar28;\n      pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,pp,slotp,p_end);\n      if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }\n      if (local_3c == (char *)0x0) goto LAB_00044c0d;\n                    /* WARNING: Load size is inaccurate */\n      iVar10 = *(int *)((int)handle + 0xc);\n      piVar21 = *(int **)((int)handle + 8);\n      cVar6 = *(char *)(*(int *)(*handle + 4) + 0x18);\n      if (iVar10 < 1) goto LAB_00044c0d;\n      cVar2 = *local_3c;\n      goto LAB_00044bbc;" case number_literal : (expression_statement "p = (char *)ppcVar28;" (assignment_expression "p = (char *)ppcVar28" identifier = (cast_expression "(char *)ppcVar28" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,pp,slotp,p_end);" (assignment_expression "pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,pp,slotp,p_end)" identifier = (call_expression "parse_stab_type(&p,(stab_handle *)0x0,pcVar17,pp,slotp,p_end)" identifier (argument_list "(&p,(stab_handle *)0x0,pcVar17,pp,slotp,p_end)" ( (pointer_expression "&p" & identifier) , (cast_expression "(stab_handle *)0x0" ( (type_descriptor "stab_handle *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , identifier , identifier , identifier , identifier )))) ;) (if_statement "if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }" if (parenthesized_expression "(pdVar12 == (debug_type)0x0)" ( (binary_expression "pdVar12 == (debug_type)0x0" identifier == (cast_expression "(debug_type)0x0" ( (type_descriptor "debug_type" type_identifier) ) number_literal)) )) (compound_statement "{\n        return 0;\n      }" { (return_statement "return 0;" return number_literal ;) })) (if_statement "if (local_3c == (char *)0x0) goto LAB_00044c0d;" if (parenthesized_expression "(local_3c == (char *)0x0)" ( (binary_expression "local_3c == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00044c0d;" goto statement_identifier ;)) comment (expression_statement "iVar10 = *(int *)((int)handle + 0xc);" (assignment_expression "iVar10 = *(int *)((int)handle + 0xc)" identifier = (pointer_expression "*(int *)((int)handle + 0xc)" * (cast_expression "(int *)((int)handle + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0xc)" ( (binary_expression "(int)handle + 0xc" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "piVar21 = *(int **)((int)handle + 8);" (assignment_expression "piVar21 = *(int **)((int)handle + 8)" identifier = (pointer_expression "*(int **)((int)handle + 8)" * (cast_expression "(int **)((int)handle + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)handle + 8)" ( (binary_expression "(int)handle + 8" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "cVar6 = *(char *)(*(int *)(*handle + 4) + 0x18);" (assignment_expression "cVar6 = *(char *)(*(int *)(*handle + 4) + 0x18)" identifier = (pointer_expression "*(char *)(*(int *)(*handle + 4) + 0x18)" * (cast_expression "(char *)(*(int *)(*handle + 4) + 0x18)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*handle + 4) + 0x18)" ( (binary_expression "*(int *)(*handle + 4) + 0x18" (pointer_expression "*(int *)(*handle + 4)" * (cast_expression "(int *)(*handle + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*handle + 4)" ( (binary_expression "*handle + 4" (pointer_expression "*handle" * identifier) + number_literal) )))) + number_literal) ))))) ;) (if_statement "if (iVar10 < 1) goto LAB_00044c0d;" if (parenthesized_expression "(iVar10 < 1)" ( (binary_expression "iVar10 < 1" identifier < number_literal) )) (goto_statement "goto LAB_00044c0d;" goto statement_identifier ;)) (expression_statement "cVar2 = *local_3c;" (assignment_expression "cVar2 = *local_3c" identifier = (pointer_expression "*local_3c" * identifier)) ;) (goto_statement "goto LAB_00044bbc;" goto statement_identifier ;)) (case_statement "case 0xd:\n      if (type == 0x24) {\n        p = (char *)ppcVar28;\n        do {\n          if (*p != ';') {\n            return 1;\n          }\n          p = p + 1;\n          pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,in_stack_ffffffb0,\n                                    (debug_type_conflict **)value,(char *)(value >> 0x20));\n        } while (pdVar12 != (debug_type)0x0);\n        return 0;\n      }" case number_literal : (if_statement "if (type == 0x24) {\n        p = (char *)ppcVar28;\n        do {\n          if (*p != ';') {\n            return 1;\n          }\n          p = p + 1;\n          pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,in_stack_ffffffb0,\n                                    (debug_type_conflict **)value,(char *)(value >> 0x20));\n        } while (pdVar12 != (debug_type)0x0);\n        return 0;\n      }" if (parenthesized_expression "(type == 0x24)" ( (binary_expression "type == 0x24" identifier == number_literal) )) (compound_statement "{\n        p = (char *)ppcVar28;\n        do {\n          if (*p != ';') {\n            return 1;\n          }\n          p = p + 1;\n          pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,in_stack_ffffffb0,\n                                    (debug_type_conflict **)value,(char *)(value >> 0x20));\n        } while (pdVar12 != (debug_type)0x0);\n        return 0;\n      }" { (expression_statement "p = (char *)ppcVar28;" (assignment_expression "p = (char *)ppcVar28" identifier = (cast_expression "(char *)ppcVar28" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (do_statement "do {\n          if (*p != ';') {\n            return 1;\n          }\n          p = p + 1;\n          pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,in_stack_ffffffb0,\n                                    (debug_type_conflict **)value,(char *)(value >> 0x20));\n        } while (pdVar12 != (debug_type)0x0);" do (compound_statement "{\n          if (*p != ';') {\n            return 1;\n          }\n          p = p + 1;\n          pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,in_stack_ffffffb0,\n                                    (debug_type_conflict **)value,(char *)(value >> 0x20));\n        }" { (if_statement "if (*p != ';') {\n            return 1;\n          }" if (parenthesized_expression "(*p != ';')" ( (binary_expression "*p != ';'" (pointer_expression "*p" * identifier) != (char_literal "';'" ' character ')) )) (compound_statement "{\n            return 1;\n          }" { (return_statement "return 1;" return number_literal ;) })) (expression_statement "p = p + 1;" (assignment_expression "p = p + 1" identifier = (binary_expression "p + 1" identifier + number_literal)) ;) (expression_statement "pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,in_stack_ffffffb0,\n                                    (debug_type_conflict **)value,(char *)(value >> 0x20));" (assignment_expression "pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,in_stack_ffffffb0,\n                                    (debug_type_conflict **)value,(char *)(value >> 0x20))" identifier = (call_expression "parse_stab_type(&p,(stab_handle *)0x0,pcVar17,in_stack_ffffffb0,\n                                    (debug_type_conflict **)value,(char *)(value >> 0x20))" identifier (argument_list "(&p,(stab_handle *)0x0,pcVar17,in_stack_ffffffb0,\n                                    (debug_type_conflict **)value,(char *)(value >> 0x20))" ( (pointer_expression "&p" & identifier) , (cast_expression "(stab_handle *)0x0" ( (type_descriptor "stab_handle *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , identifier , identifier , (cast_expression "(debug_type_conflict **)value" ( (type_descriptor "debug_type_conflict **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) , (cast_expression "(char *)(value >> 0x20)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(value >> 0x20)" ( (binary_expression "value >> 0x20" identifier >> number_literal) ))) )))) ;) }) while (parenthesized_expression "(pdVar12 != (debug_type)0x0)" ( (binary_expression "pdVar12 != (debug_type)0x0" identifier != (cast_expression "(debug_type)0x0" ( (type_descriptor "debug_type" type_identifier) ) number_literal)) )) ;) (return_statement "return 0;" return number_literal ;) }))) (case_statement "case 0xf:\n      p = (char *)ppcVar28;\n      pdVar15 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,pp,slotp,p_end);\n      if (pdVar15 == (debug_type)0x0) {\n        return 0;\n      }\n      kind = DEBUG_PARM_REG;\n      break;" case number_literal : (expression_statement "p = (char *)ppcVar28;" (assignment_expression "p = (char *)ppcVar28" identifier = (cast_expression "(char *)ppcVar28" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pdVar15 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,pp,slotp,p_end);" (assignment_expression "pdVar15 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,pp,slotp,p_end)" identifier = (call_expression "parse_stab_type(&p,(stab_handle *)0x0,pcVar17,pp,slotp,p_end)" identifier (argument_list "(&p,(stab_handle *)0x0,pcVar17,pp,slotp,p_end)" ( (pointer_expression "&p" & identifier) , (cast_expression "(stab_handle *)0x0" ( (type_descriptor "stab_handle *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , identifier , identifier , identifier , identifier )))) ;) (if_statement "if (pdVar15 == (debug_type)0x0) {\n        return 0;\n      }" if (parenthesized_expression "(pdVar15 == (debug_type)0x0)" ( (binary_expression "pdVar15 == (debug_type)0x0" identifier == (cast_expression "(debug_type)0x0" ( (type_descriptor "debug_type" type_identifier) ) number_literal)) )) (compound_statement "{\n        return 0;\n      }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "kind = DEBUG_PARM_REG;" (assignment_expression "kind = DEBUG_PARM_REG" identifier = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 0x10:\n      ppcVar20 = (char **)p;\n      p = (char *)ppcVar28;\n      pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end);\n      if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }\n      kind_00 = DEBUG_STATIC;\n      goto LAB_0004486e;" case number_literal : (expression_statement "ppcVar20 = (char **)p;" (assignment_expression "ppcVar20 = (char **)p" identifier = (cast_expression "(char **)p" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "p = (char *)ppcVar28;" (assignment_expression "p = (char *)ppcVar28" identifier = (cast_expression "(char *)ppcVar28" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end);" (assignment_expression "pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end)" identifier = (call_expression "parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end)" identifier (argument_list "(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end)" ( (pointer_expression "&p" & identifier) , (cast_expression "(stab_handle *)0x0" ( (type_descriptor "stab_handle *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , identifier , identifier , identifier , identifier )))) ;) (if_statement "if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }" if (parenthesized_expression "(pdVar12 == (debug_type)0x0)" ( (binary_expression "pdVar12 == (debug_type)0x0" identifier == (cast_expression "(debug_type)0x0" ( (type_descriptor "debug_type" type_identifier) ) number_literal)) )) (compound_statement "{\n        return 0;\n      }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "kind_00 = DEBUG_STATIC;" (assignment_expression "kind_00 = DEBUG_STATIC" identifier = identifier) ;) (goto_statement "goto LAB_0004486e;" goto statement_identifier ;)) (case_statement "case 0x11:\n      bVar24 = *(char *)((int)p + 2) == 't';\n      if (bVar24) {\n        ppcVar28 = (char **)((int)p + 3);\n      }\n      p = (char *)ppcVar28;\n      uVar18 = (uint)bVar24;\n      pdVar12 = parse_stab_type(&p,(stab_handle *)&slot,pcVar17,(char **)type,slotp,p_end);\n      if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }\n      if (local_3c == (char *)0x0) {\n        return 1;\n      }\n      iVar10 = *(int *)((int)handle + 0xe8);\n      pdVar15 = debug_tag_type(dhandle,local_3c,pdVar12);\n      if (pdVar15 == (debug_type_conflict)0x0) {\n        return 0;\n      }\n      if (slot != (debug_type_conflict *)0x0) {\n        *slot = pdVar15;\n      }\n      if (iVar10 != 0) goto LAB_00044efc;\n      if (*(int **)((int)handle + 0xe4) == (int *)0x0) goto LAB_00044efc;\n      cVar6 = *local_3c;\n      piVar21 = (int *)((int)handle + 0xe4);\n      piVar23 = *(int **)((int)handle + 0xe4);\n      goto LAB_00044ecc;" case number_literal : (expression_statement "bVar24 = *(char *)((int)p + 2) == 't';" (assignment_expression "bVar24 = *(char *)((int)p + 2) == 't'" identifier = (binary_expression "*(char *)((int)p + 2) == 't'" (pointer_expression "*(char *)((int)p + 2)" * (cast_expression "(char *)((int)p + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)p + 2)" ( (binary_expression "(int)p + 2" (cast_expression "(int)p" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'t'" ' character '))) ;) (if_statement "if (bVar24) {\n        ppcVar28 = (char **)((int)p + 3);\n      }" if (parenthesized_expression "(bVar24)" ( identifier )) (compound_statement "{\n        ppcVar28 = (char **)((int)p + 3);\n      }" { (expression_statement "ppcVar28 = (char **)((int)p + 3);" (assignment_expression "ppcVar28 = (char **)((int)p + 3)" identifier = (cast_expression "(char **)((int)p + 3)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)p + 3)" ( (binary_expression "(int)p + 3" (cast_expression "(int)p" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) (expression_statement "p = (char *)ppcVar28;" (assignment_expression "p = (char *)ppcVar28" identifier = (cast_expression "(char *)ppcVar28" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "uVar18 = (uint)bVar24;" (assignment_expression "uVar18 = (uint)bVar24" identifier = (cast_expression "(uint)bVar24" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "pdVar12 = parse_stab_type(&p,(stab_handle *)&slot,pcVar17,(char **)type,slotp,p_end);" (assignment_expression "pdVar12 = parse_stab_type(&p,(stab_handle *)&slot,pcVar17,(char **)type,slotp,p_end)" identifier = (call_expression "parse_stab_type(&p,(stab_handle *)&slot,pcVar17,(char **)type,slotp,p_end)" identifier (argument_list "(&p,(stab_handle *)&slot,pcVar17,(char **)type,slotp,p_end)" ( (pointer_expression "&p" & identifier) , (cast_expression "(stab_handle *)&slot" ( (type_descriptor "stab_handle *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&slot" & identifier)) , identifier , (cast_expression "(char **)type" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) , identifier , identifier )))) ;) (if_statement "if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }" if (parenthesized_expression "(pdVar12 == (debug_type)0x0)" ( (binary_expression "pdVar12 == (debug_type)0x0" identifier == (cast_expression "(debug_type)0x0" ( (type_descriptor "debug_type" type_identifier) ) number_literal)) )) (compound_statement "{\n        return 0;\n      }" { (return_statement "return 0;" return number_literal ;) })) (if_statement "if (local_3c == (char *)0x0) {\n        return 1;\n      }" if (parenthesized_expression "(local_3c == (char *)0x0)" ( (binary_expression "local_3c == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        return 1;\n      }" { (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar10 = *(int *)((int)handle + 0xe8);" (assignment_expression "iVar10 = *(int *)((int)handle + 0xe8)" identifier = (pointer_expression "*(int *)((int)handle + 0xe8)" * (cast_expression "(int *)((int)handle + 0xe8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0xe8)" ( (binary_expression "(int)handle + 0xe8" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "pdVar15 = debug_tag_type(dhandle,local_3c,pdVar12);" (assignment_expression "pdVar15 = debug_tag_type(dhandle,local_3c,pdVar12)" identifier = (call_expression "debug_tag_type(dhandle,local_3c,pdVar12)" identifier (argument_list "(dhandle,local_3c,pdVar12)" ( identifier , identifier , identifier )))) ;) (if_statement "if (pdVar15 == (debug_type_conflict)0x0) {\n        return 0;\n      }" if (parenthesized_expression "(pdVar15 == (debug_type_conflict)0x0)" ( (binary_expression "pdVar15 == (debug_type_conflict)0x0" identifier == (cast_expression "(debug_type_conflict)0x0" ( (type_descriptor "debug_type_conflict" type_identifier) ) number_literal)) )) (compound_statement "{\n        return 0;\n      }" { (return_statement "return 0;" return number_literal ;) })) (if_statement "if (slot != (debug_type_conflict *)0x0) {\n        *slot = pdVar15;\n      }" if (parenthesized_expression "(slot != (debug_type_conflict *)0x0)" ( (binary_expression "slot != (debug_type_conflict *)0x0" identifier != (cast_expression "(debug_type_conflict *)0x0" ( (type_descriptor "debug_type_conflict *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        *slot = pdVar15;\n      }" { (expression_statement "*slot = pdVar15;" (assignment_expression "*slot = pdVar15" (pointer_expression "*slot" * identifier) = identifier) ;) })) (if_statement "if (iVar10 != 0) goto LAB_00044efc;" if (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00044efc;" goto statement_identifier ;)) (if_statement "if (*(int **)((int)handle + 0xe4) == (int *)0x0) goto LAB_00044efc;" if (parenthesized_expression "(*(int **)((int)handle + 0xe4) == (int *)0x0)" ( (binary_expression "*(int **)((int)handle + 0xe4) == (int *)0x0" (pointer_expression "*(int **)((int)handle + 0xe4)" * (cast_expression "(int **)((int)handle + 0xe4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)handle + 0xe4)" ( (binary_expression "(int)handle + 0xe4" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00044efc;" goto statement_identifier ;)) (expression_statement "cVar6 = *local_3c;" (assignment_expression "cVar6 = *local_3c" identifier = (pointer_expression "*local_3c" * identifier)) ;) (expression_statement "piVar21 = (int *)((int)handle + 0xe4);" (assignment_expression "piVar21 = (int *)((int)handle + 0xe4)" identifier = (cast_expression "(int *)((int)handle + 0xe4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0xe4)" ( (binary_expression "(int)handle + 0xe4" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "piVar23 = *(int **)((int)handle + 0xe4);" (assignment_expression "piVar23 = *(int **)((int)handle + 0xe4)" identifier = (pointer_expression "*(int **)((int)handle + 0xe4)" * (cast_expression "(int **)((int)handle + 0xe4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)handle + 0xe4)" ( (binary_expression "(int)handle + 0xe4" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (goto_statement "goto LAB_00044ecc;" goto statement_identifier ;)) (case_statement "case 0x13:\n      ppcVar20 = (char **)p;\n      p = (char *)ppcVar28;\n      pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end);\n      if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }\n      kind_00 = DEBUG_LOCAL_STATIC;\n      goto LAB_0004486e;" case number_literal : (expression_statement "ppcVar20 = (char **)p;" (assignment_expression "ppcVar20 = (char **)p" identifier = (cast_expression "(char **)p" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "p = (char *)ppcVar28;" (assignment_expression "p = (char *)ppcVar28" identifier = (cast_expression "(char *)ppcVar28" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end);" (assignment_expression "pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end)" identifier = (call_expression "parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end)" identifier (argument_list "(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end)" ( (pointer_expression "&p" & identifier) , (cast_expression "(stab_handle *)0x0" ( (type_descriptor "stab_handle *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , identifier , identifier , identifier , identifier )))) ;) (if_statement "if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }" if (parenthesized_expression "(pdVar12 == (debug_type)0x0)" ( (binary_expression "pdVar12 == (debug_type)0x0" identifier == (cast_expression "(debug_type)0x0" ( (type_descriptor "debug_type" type_identifier) ) number_literal)) )) (compound_statement "{\n        return 0;\n      }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "kind_00 = DEBUG_LOCAL_STATIC;" (assignment_expression "kind_00 = DEBUG_LOCAL_STATIC" identifier = identifier) ;) (goto_statement "goto LAB_0004486e;" goto statement_identifier ;)) (case_statement "case 0x15:" case number_literal :) (case_statement "case 0x29:" case number_literal :) (case_statement "case 0x30:\n      goto _L1827;" case number_literal : (goto_statement "goto _L1827;" goto statement_identifier ;)) (case_statement "case 0x16:\n      ppcVar28 = (char **)((int)p + 3);\n      if ((*(char *)((int)p + 3) == 'n') &&\n         (ppcVar28 = (char **)((int)p + 4), ppcVar20 = (char **)((int)p + 4), p = (char *)ppcVar28,\n         *(char *)ppcVar20 == '0')) {\n        for (; *p != ';'; p = p + 1) {\n        }\n        return 1;\n      }\n_L1817:\n      p = (char *)ppcVar28;\n      bad_stab(string);\n      return 0;" case number_literal : (expression_statement "ppcVar28 = (char **)((int)p + 3);" (assignment_expression "ppcVar28 = (char **)((int)p + 3)" identifier = (cast_expression "(char **)((int)p + 3)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)p + 3)" ( (binary_expression "(int)p + 3" (cast_expression "(int)p" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if ((*(char *)((int)p + 3) == 'n') &&\n         (ppcVar28 = (char **)((int)p + 4), ppcVar20 = (char **)((int)p + 4), p = (char *)ppcVar28,\n         *(char *)ppcVar20 == '0')) {\n        for (; *p != ';'; p = p + 1) {\n        }\n        return 1;\n      }" if (parenthesized_expression "((*(char *)((int)p + 3) == 'n') &&\n         (ppcVar28 = (char **)((int)p + 4), ppcVar20 = (char **)((int)p + 4), p = (char *)ppcVar28,\n         *(char *)ppcVar20 == '0'))" ( (binary_expression "(*(char *)((int)p + 3) == 'n') &&\n         (ppcVar28 = (char **)((int)p + 4), ppcVar20 = (char **)((int)p + 4), p = (char *)ppcVar28,\n         *(char *)ppcVar20 == '0')" (parenthesized_expression "(*(char *)((int)p + 3) == 'n')" ( (binary_expression "*(char *)((int)p + 3) == 'n'" (pointer_expression "*(char *)((int)p + 3)" * (cast_expression "(char *)((int)p + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)p + 3)" ( (binary_expression "(int)p + 3" (cast_expression "(int)p" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'n'" ' character ')) )) && (parenthesized_expression "(ppcVar28 = (char **)((int)p + 4), ppcVar20 = (char **)((int)p + 4), p = (char *)ppcVar28,\n         *(char *)ppcVar20 == '0')" ( (comma_expression "ppcVar28 = (char **)((int)p + 4), ppcVar20 = (char **)((int)p + 4), p = (char *)ppcVar28,\n         *(char *)ppcVar20 == '0'" (assignment_expression "ppcVar28 = (char **)((int)p + 4)" identifier = (cast_expression "(char **)((int)p + 4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)p + 4)" ( (binary_expression "(int)p + 4" (cast_expression "(int)p" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (comma_expression "ppcVar20 = (char **)((int)p + 4), p = (char *)ppcVar28,\n         *(char *)ppcVar20 == '0'" (assignment_expression "ppcVar20 = (char **)((int)p + 4)" identifier = (cast_expression "(char **)((int)p + 4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)p + 4)" ( (binary_expression "(int)p + 4" (cast_expression "(int)p" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (comma_expression "p = (char *)ppcVar28,\n         *(char *)ppcVar20 == '0'" (assignment_expression "p = (char *)ppcVar28" identifier = (cast_expression "(char *)ppcVar28" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) , (binary_expression "*(char *)ppcVar20 == '0'" (pointer_expression "*(char *)ppcVar20" * (cast_expression "(char *)ppcVar20" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == (char_literal "'0'" ' character '))))) ))) )) (compound_statement "{\n        for (; *p != ';'; p = p + 1) {\n        }\n        return 1;\n      }" { (for_statement "for (; *p != ';'; p = p + 1) {\n        }" for ( ; (binary_expression "*p != ';'" (pointer_expression "*p" * identifier) != (char_literal "';'" ' character ')) ; (assignment_expression "p = p + 1" identifier = (binary_expression "p + 1" identifier + number_literal)) ) (compound_statement "{\n        }" { })) (return_statement "return 1;" return number_literal ;) })) (labeled_statement "_L1817:\n      p = (char *)ppcVar28;" statement_identifier : (expression_statement "p = (char *)ppcVar28;" (assignment_expression "p = (char *)ppcVar28" identifier = (cast_expression "(char *)ppcVar28" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (expression_statement "bad_stab(string);" (call_expression "bad_stab(string)" identifier (argument_list "(string)" ( identifier ))) ;) (return_statement "return 0;" return number_literal ;)) (case_statement "case 0x1e:\n      p = (char *)ppcVar28;\n      pdVar15 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end);\n      if (pdVar15 == (debug_type)0x0) {\n        return 0;\n      }\n      kind = DEBUG_PARM_REF_REG;\n      break;" case number_literal : (expression_statement "p = (char *)ppcVar28;" (assignment_expression "p = (char *)ppcVar28" identifier = (cast_expression "(char *)ppcVar28" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pdVar15 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end);" (assignment_expression "pdVar15 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end)" identifier = (call_expression "parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end)" identifier (argument_list "(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end)" ( (pointer_expression "&p" & identifier) , (cast_expression "(stab_handle *)0x0" ( (type_descriptor "stab_handle *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , identifier , identifier , identifier , identifier )))) ;) (if_statement "if (pdVar15 == (debug_type)0x0) {\n        return 0;\n      }" if (parenthesized_expression "(pdVar15 == (debug_type)0x0)" ( (binary_expression "pdVar15 == (debug_type)0x0" identifier == (cast_expression "(debug_type)0x0" ( (type_descriptor "debug_type" type_identifier) ) number_literal)) )) (compound_statement "{\n        return 0;\n      }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "kind = DEBUG_PARM_REF_REG;" (assignment_expression "kind = DEBUG_PARM_REF_REG" identifier = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 0x20:\n      if (*(char *)((int)p + 2) == '=') {\n        ppcVar28 = (char **)((int)p + 4);\n        bVar27 = *(byte *)((int)p + 3);\n        p = (char *)ppcVar28;\n        if (bVar27 == 0x69) {\n          lVar16 = strtol((char *)ppcVar28,(char **)0x0,10);\n          bVar13 = debug_record_int_const(dhandle,local_3c,(longlong)lVar16);\n          goto joined_r0x00044fe7;\n        }\n        if (bVar27 == 0x72) {\n          val = strtod((char *)ppcVar28,(char **)0x0);\n          bVar13 = debug_record_float_const(dhandle,local_3c,val);\n          goto joined_r0x00044fe7;\n        }\n        if (bVar27 == 0x65) {\n          pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,(char **)(uint)bVar27,slotp,p_end)\n          ;\n          if (pdVar12 == (debug_type)0x0) {\n            return 0;\n          }\n          ppcVar28 = (char **)p;\n          if (*p == ',') {\n            lVar16 = strtol(p,(char **)0x0,10);\n            bVar13 = debug_record_typed_const(dhandle,local_3c,pdVar12,(longlong)lVar16);\n            goto joined_r0x00044fe7;\n          }\n        }\n      }\n      goto LAB_000449d0;" case number_literal : (if_statement "if (*(char *)((int)p + 2) == '=') {\n        ppcVar28 = (char **)((int)p + 4);\n        bVar27 = *(byte *)((int)p + 3);\n        p = (char *)ppcVar28;\n        if (bVar27 == 0x69) {\n          lVar16 = strtol((char *)ppcVar28,(char **)0x0,10);\n          bVar13 = debug_record_int_const(dhandle,local_3c,(longlong)lVar16);\n          goto joined_r0x00044fe7;\n        }\n        if (bVar27 == 0x72) {\n          val = strtod((char *)ppcVar28,(char **)0x0);\n          bVar13 = debug_record_float_const(dhandle,local_3c,val);\n          goto joined_r0x00044fe7;\n        }\n        if (bVar27 == 0x65) {\n          pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,(char **)(uint)bVar27,slotp,p_end)\n          ;\n          if (pdVar12 == (debug_type)0x0) {\n            return 0;\n          }\n          ppcVar28 = (char **)p;\n          if (*p == ',') {\n            lVar16 = strtol(p,(char **)0x0,10);\n            bVar13 = debug_record_typed_const(dhandle,local_3c,pdVar12,(longlong)lVar16);\n            goto joined_r0x00044fe7;\n          }\n        }\n      }" if (parenthesized_expression "(*(char *)((int)p + 2) == '=')" ( (binary_expression "*(char *)((int)p + 2) == '='" (pointer_expression "*(char *)((int)p + 2)" * (cast_expression "(char *)((int)p + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)p + 2)" ( (binary_expression "(int)p + 2" (cast_expression "(int)p" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'='" ' character ')) )) (compound_statement "{\n        ppcVar28 = (char **)((int)p + 4);\n        bVar27 = *(byte *)((int)p + 3);\n        p = (char *)ppcVar28;\n        if (bVar27 == 0x69) {\n          lVar16 = strtol((char *)ppcVar28,(char **)0x0,10);\n          bVar13 = debug_record_int_const(dhandle,local_3c,(longlong)lVar16);\n          goto joined_r0x00044fe7;\n        }\n        if (bVar27 == 0x72) {\n          val = strtod((char *)ppcVar28,(char **)0x0);\n          bVar13 = debug_record_float_const(dhandle,local_3c,val);\n          goto joined_r0x00044fe7;\n        }\n        if (bVar27 == 0x65) {\n          pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,(char **)(uint)bVar27,slotp,p_end)\n          ;\n          if (pdVar12 == (debug_type)0x0) {\n            return 0;\n          }\n          ppcVar28 = (char **)p;\n          if (*p == ',') {\n            lVar16 = strtol(p,(char **)0x0,10);\n            bVar13 = debug_record_typed_const(dhandle,local_3c,pdVar12,(longlong)lVar16);\n            goto joined_r0x00044fe7;\n          }\n        }\n      }" { (expression_statement "ppcVar28 = (char **)((int)p + 4);" (assignment_expression "ppcVar28 = (char **)((int)p + 4)" identifier = (cast_expression "(char **)((int)p + 4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)p + 4)" ( (binary_expression "(int)p + 4" (cast_expression "(int)p" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "bVar27 = *(byte *)((int)p + 3);" (assignment_expression "bVar27 = *(byte *)((int)p + 3)" identifier = (pointer_expression "*(byte *)((int)p + 3)" * (cast_expression "(byte *)((int)p + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)p + 3)" ( (binary_expression "(int)p + 3" (cast_expression "(int)p" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "p = (char *)ppcVar28;" (assignment_expression "p = (char *)ppcVar28" identifier = (cast_expression "(char *)ppcVar28" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (bVar27 == 0x69) {\n          lVar16 = strtol((char *)ppcVar28,(char **)0x0,10);\n          bVar13 = debug_record_int_const(dhandle,local_3c,(longlong)lVar16);\n          goto joined_r0x00044fe7;\n        }" if (parenthesized_expression "(bVar27 == 0x69)" ( (binary_expression "bVar27 == 0x69" identifier == number_literal) )) (compound_statement "{\n          lVar16 = strtol((char *)ppcVar28,(char **)0x0,10);\n          bVar13 = debug_record_int_const(dhandle,local_3c,(longlong)lVar16);\n          goto joined_r0x00044fe7;\n        }" { (expression_statement "lVar16 = strtol((char *)ppcVar28,(char **)0x0,10);" (assignment_expression "lVar16 = strtol((char *)ppcVar28,(char **)0x0,10)" identifier = (call_expression "strtol((char *)ppcVar28,(char **)0x0,10)" identifier (argument_list "((char *)ppcVar28,(char **)0x0,10)" ( (cast_expression "(char *)ppcVar28" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) , number_literal )))) ;) (expression_statement "bVar13 = debug_record_int_const(dhandle,local_3c,(longlong)lVar16);" (assignment_expression "bVar13 = debug_record_int_const(dhandle,local_3c,(longlong)lVar16)" identifier = (call_expression "debug_record_int_const(dhandle,local_3c,(longlong)lVar16)" identifier (argument_list "(dhandle,local_3c,(longlong)lVar16)" ( identifier , identifier , (cast_expression "(longlong)lVar16" ( (type_descriptor "longlong" type_identifier) ) identifier) )))) ;) (goto_statement "goto joined_r0x00044fe7;" goto statement_identifier ;) })) (if_statement "if (bVar27 == 0x72) {\n          val = strtod((char *)ppcVar28,(char **)0x0);\n          bVar13 = debug_record_float_const(dhandle,local_3c,val);\n          goto joined_r0x00044fe7;\n        }" if (parenthesized_expression "(bVar27 == 0x72)" ( (binary_expression "bVar27 == 0x72" identifier == number_literal) )) (compound_statement "{\n          val = strtod((char *)ppcVar28,(char **)0x0);\n          bVar13 = debug_record_float_const(dhandle,local_3c,val);\n          goto joined_r0x00044fe7;\n        }" { (expression_statement "val = strtod((char *)ppcVar28,(char **)0x0);" (assignment_expression "val = strtod((char *)ppcVar28,(char **)0x0)" identifier = (call_expression "strtod((char *)ppcVar28,(char **)0x0)" identifier (argument_list "((char *)ppcVar28,(char **)0x0)" ( (cast_expression "(char *)ppcVar28" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) )))) ;) (expression_statement "bVar13 = debug_record_float_const(dhandle,local_3c,val);" (assignment_expression "bVar13 = debug_record_float_const(dhandle,local_3c,val)" identifier = (call_expression "debug_record_float_const(dhandle,local_3c,val)" identifier (argument_list "(dhandle,local_3c,val)" ( identifier , identifier , identifier )))) ;) (goto_statement "goto joined_r0x00044fe7;" goto statement_identifier ;) })) (if_statement "if (bVar27 == 0x65) {\n          pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,(char **)(uint)bVar27,slotp,p_end)\n          ;\n          if (pdVar12 == (debug_type)0x0) {\n            return 0;\n          }\n          ppcVar28 = (char **)p;\n          if (*p == ',') {\n            lVar16 = strtol(p,(char **)0x0,10);\n            bVar13 = debug_record_typed_const(dhandle,local_3c,pdVar12,(longlong)lVar16);\n            goto joined_r0x00044fe7;\n          }\n        }" if (parenthesized_expression "(bVar27 == 0x65)" ( (binary_expression "bVar27 == 0x65" identifier == number_literal) )) (compound_statement "{\n          pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,(char **)(uint)bVar27,slotp,p_end)\n          ;\n          if (pdVar12 == (debug_type)0x0) {\n            return 0;\n          }\n          ppcVar28 = (char **)p;\n          if (*p == ',') {\n            lVar16 = strtol(p,(char **)0x0,10);\n            bVar13 = debug_record_typed_const(dhandle,local_3c,pdVar12,(longlong)lVar16);\n            goto joined_r0x00044fe7;\n          }\n        }" { (expression_statement "pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,(char **)(uint)bVar27,slotp,p_end)\n          ;" (assignment_expression "pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,(char **)(uint)bVar27,slotp,p_end)" identifier = (call_expression "parse_stab_type(&p,(stab_handle *)0x0,pcVar17,(char **)(uint)bVar27,slotp,p_end)" identifier (argument_list "(&p,(stab_handle *)0x0,pcVar17,(char **)(uint)bVar27,slotp,p_end)" ( (pointer_expression "&p" & identifier) , (cast_expression "(stab_handle *)0x0" ( (type_descriptor "stab_handle *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , identifier , (cast_expression "(char **)(uint)bVar27" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier)) , identifier , identifier )))) ;) (if_statement "if (pdVar12 == (debug_type)0x0) {\n            return 0;\n          }" if (parenthesized_expression "(pdVar12 == (debug_type)0x0)" ( (binary_expression "pdVar12 == (debug_type)0x0" identifier == (cast_expression "(debug_type)0x0" ( (type_descriptor "debug_type" type_identifier) ) number_literal)) )) (compound_statement "{\n            return 0;\n          }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "ppcVar28 = (char **)p;" (assignment_expression "ppcVar28 = (char **)p" identifier = (cast_expression "(char **)p" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (if_statement "if (*p == ',') {\n            lVar16 = strtol(p,(char **)0x0,10);\n            bVar13 = debug_record_typed_const(dhandle,local_3c,pdVar12,(longlong)lVar16);\n            goto joined_r0x00044fe7;\n          }" if (parenthesized_expression "(*p == ',')" ( (binary_expression "*p == ','" (pointer_expression "*p" * identifier) == (char_literal "','" ' character ')) )) (compound_statement "{\n            lVar16 = strtol(p,(char **)0x0,10);\n            bVar13 = debug_record_typed_const(dhandle,local_3c,pdVar12,(longlong)lVar16);\n            goto joined_r0x00044fe7;\n          }" { (expression_statement "lVar16 = strtol(p,(char **)0x0,10);" (assignment_expression "lVar16 = strtol(p,(char **)0x0,10)" identifier = (call_expression "strtol(p,(char **)0x0,10)" identifier (argument_list "(p,(char **)0x0,10)" ( identifier , (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) , number_literal )))) ;) (expression_statement "bVar13 = debug_record_typed_const(dhandle,local_3c,pdVar12,(longlong)lVar16);" (assignment_expression "bVar13 = debug_record_typed_const(dhandle,local_3c,pdVar12,(longlong)lVar16)" identifier = (call_expression "debug_record_typed_const(dhandle,local_3c,pdVar12,(longlong)lVar16)" identifier (argument_list "(dhandle,local_3c,pdVar12,(longlong)lVar16)" ( identifier , identifier , identifier , (cast_expression "(longlong)lVar16" ( (type_descriptor "longlong" type_identifier) ) identifier) )))) ;) (goto_statement "goto joined_r0x00044fe7;" goto statement_identifier ;) })) })) })) (goto_statement "goto LAB_000449d0;" goto statement_identifier ;)) (case_statement "case 0x2d:\n      if (*(char *)((int)p + 2) == 'F') {\n        p = (char *)((int)p + 3);\n        pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,(char **)p,slotp,p_end);\n        if (pdVar12 == (debug_type)0x0) {\n          return 0;\n        }\n        pdVar15 = debug_make_function_type(pdVar12,type_00,arg_types,(bfd_boolean)dhandle);\n        pdVar15 = debug_make_pointer_type(dhandle,pdVar15);\n      }\n      else {\n        ppcVar20 = (char **)p;\n        p = (char *)ppcVar28;\n        pdVar15 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end);\n      }\n      if (pdVar15 == (debug_type_conflict)0x0) {\n        return 0;\n      }\n      kind = DEBUG_PARM_STACK;\n      break;" case number_literal : (if_statement "if (*(char *)((int)p + 2) == 'F') {\n        p = (char *)((int)p + 3);\n        pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,(char **)p,slotp,p_end);\n        if (pdVar12 == (debug_type)0x0) {\n          return 0;\n        }\n        pdVar15 = debug_make_function_type(pdVar12,type_00,arg_types,(bfd_boolean)dhandle);\n        pdVar15 = debug_make_pointer_type(dhandle,pdVar15);\n      }\n      else {\n        ppcVar20 = (char **)p;\n        p = (char *)ppcVar28;\n        pdVar15 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end);\n      }" if (parenthesized_expression "(*(char *)((int)p + 2) == 'F')" ( (binary_expression "*(char *)((int)p + 2) == 'F'" (pointer_expression "*(char *)((int)p + 2)" * (cast_expression "(char *)((int)p + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)p + 2)" ( (binary_expression "(int)p + 2" (cast_expression "(int)p" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'F'" ' character ')) )) (compound_statement "{\n        p = (char *)((int)p + 3);\n        pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,(char **)p,slotp,p_end);\n        if (pdVar12 == (debug_type)0x0) {\n          return 0;\n        }\n        pdVar15 = debug_make_function_type(pdVar12,type_00,arg_types,(bfd_boolean)dhandle);\n        pdVar15 = debug_make_pointer_type(dhandle,pdVar15);\n      }" { (expression_statement "p = (char *)((int)p + 3);" (assignment_expression "p = (char *)((int)p + 3)" identifier = (cast_expression "(char *)((int)p + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)p + 3)" ( (binary_expression "(int)p + 3" (cast_expression "(int)p" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,(char **)p,slotp,p_end);" (assignment_expression "pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,(char **)p,slotp,p_end)" identifier = (call_expression "parse_stab_type(&p,(stab_handle *)0x0,pcVar17,(char **)p,slotp,p_end)" identifier (argument_list "(&p,(stab_handle *)0x0,pcVar17,(char **)p,slotp,p_end)" ( (pointer_expression "&p" & identifier) , (cast_expression "(stab_handle *)0x0" ( (type_descriptor "stab_handle *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , identifier , (cast_expression "(char **)p" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) , identifier , identifier )))) ;) (if_statement "if (pdVar12 == (debug_type)0x0) {\n          return 0;\n        }" if (parenthesized_expression "(pdVar12 == (debug_type)0x0)" ( (binary_expression "pdVar12 == (debug_type)0x0" identifier == (cast_expression "(debug_type)0x0" ( (type_descriptor "debug_type" type_identifier) ) number_literal)) )) (compound_statement "{\n          return 0;\n        }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "pdVar15 = debug_make_function_type(pdVar12,type_00,arg_types,(bfd_boolean)dhandle);" (assignment_expression "pdVar15 = debug_make_function_type(pdVar12,type_00,arg_types,(bfd_boolean)dhandle)" identifier = (call_expression "debug_make_function_type(pdVar12,type_00,arg_types,(bfd_boolean)dhandle)" identifier (argument_list "(pdVar12,type_00,arg_types,(bfd_boolean)dhandle)" ( identifier , identifier , identifier , (cast_expression "(bfd_boolean)dhandle" ( (type_descriptor "bfd_boolean" type_identifier) ) identifier) )))) ;) (expression_statement "pdVar15 = debug_make_pointer_type(dhandle,pdVar15);" (assignment_expression "pdVar15 = debug_make_pointer_type(dhandle,pdVar15)" identifier = (call_expression "debug_make_pointer_type(dhandle,pdVar15)" identifier (argument_list "(dhandle,pdVar15)" ( identifier , identifier )))) ;) }) (else_clause "else {\n        ppcVar20 = (char **)p;\n        p = (char *)ppcVar28;\n        pdVar15 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end);\n      }" else (compound_statement "{\n        ppcVar20 = (char **)p;\n        p = (char *)ppcVar28;\n        pdVar15 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end);\n      }" { (expression_statement "ppcVar20 = (char **)p;" (assignment_expression "ppcVar20 = (char **)p" identifier = (cast_expression "(char **)p" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "p = (char *)ppcVar28;" (assignment_expression "p = (char *)ppcVar28" identifier = (cast_expression "(char *)ppcVar28" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pdVar15 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end);" (assignment_expression "pdVar15 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end)" identifier = (call_expression "parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end)" identifier (argument_list "(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end)" ( (pointer_expression "&p" & identifier) , (cast_expression "(stab_handle *)0x0" ( (type_descriptor "stab_handle *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , identifier , identifier , identifier , identifier )))) ;) }))) (if_statement "if (pdVar15 == (debug_type_conflict)0x0) {\n        return 0;\n      }" if (parenthesized_expression "(pdVar15 == (debug_type_conflict)0x0)" ( (binary_expression "pdVar15 == (debug_type_conflict)0x0" identifier == (cast_expression "(debug_type_conflict)0x0" ( (type_descriptor "debug_type_conflict" type_identifier) ) number_literal)) )) (compound_statement "{\n        return 0;\n      }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "kind = DEBUG_PARM_STACK;" (assignment_expression "kind = DEBUG_PARM_STACK" identifier = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 0x2f:\n      ppcVar20 = (char **)p;\n      p = (char *)ppcVar28;\n      pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end);\n      if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }\n      kind_00 = DEBUG_REGISTER;\n      goto LAB_0004486e;" case number_literal : (expression_statement "ppcVar20 = (char **)p;" (assignment_expression "ppcVar20 = (char **)p" identifier = (cast_expression "(char **)p" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "p = (char *)ppcVar28;" (assignment_expression "p = (char *)ppcVar28" identifier = (cast_expression "(char *)ppcVar28" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end);" (assignment_expression "pdVar12 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end)" identifier = (call_expression "parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end)" identifier (argument_list "(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end)" ( (pointer_expression "&p" & identifier) , (cast_expression "(stab_handle *)0x0" ( (type_descriptor "stab_handle *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , identifier , identifier , identifier , identifier )))) ;) (if_statement "if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }" if (parenthesized_expression "(pdVar12 == (debug_type)0x0)" ( (binary_expression "pdVar12 == (debug_type)0x0" identifier == (cast_expression "(debug_type)0x0" ( (type_descriptor "debug_type" type_identifier) ) number_literal)) )) (compound_statement "{\n        return 0;\n      }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "kind_00 = DEBUG_REGISTER;" (assignment_expression "kind_00 = DEBUG_REGISTER" identifier = identifier) ;) (goto_statement "goto LAB_0004486e;" goto statement_identifier ;)) (case_statement "case 0x31:\n      ppcVar20 = (char **)p;\n      p = (char *)ppcVar28;\n      pdVar12 = parse_stab_type(&p,(stab_handle *)&slot,pcVar17,ppcVar20,slotp,p_end);\n      if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }\n      if (local_3c == (char *)0x0) {\n        return 1;\n      }\n      pdVar15 = debug_name_type(dhandle,local_3c,pdVar12);\n      if (pdVar15 == (debug_type_conflict)0x0) {\n        return 0;\n      }\n      if (slot == (debug_type_conflict *)0x0) {\n        return 1;\n      }\n      *slot = pdVar15;\n      return 1;" case number_literal : (expression_statement "ppcVar20 = (char **)p;" (assignment_expression "ppcVar20 = (char **)p" identifier = (cast_expression "(char **)p" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "p = (char *)ppcVar28;" (assignment_expression "p = (char *)ppcVar28" identifier = (cast_expression "(char *)ppcVar28" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pdVar12 = parse_stab_type(&p,(stab_handle *)&slot,pcVar17,ppcVar20,slotp,p_end);" (assignment_expression "pdVar12 = parse_stab_type(&p,(stab_handle *)&slot,pcVar17,ppcVar20,slotp,p_end)" identifier = (call_expression "parse_stab_type(&p,(stab_handle *)&slot,pcVar17,ppcVar20,slotp,p_end)" identifier (argument_list "(&p,(stab_handle *)&slot,pcVar17,ppcVar20,slotp,p_end)" ( (pointer_expression "&p" & identifier) , (cast_expression "(stab_handle *)&slot" ( (type_descriptor "stab_handle *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&slot" & identifier)) , identifier , identifier , identifier , identifier )))) ;) (if_statement "if (pdVar12 == (debug_type)0x0) {\n        return 0;\n      }" if (parenthesized_expression "(pdVar12 == (debug_type)0x0)" ( (binary_expression "pdVar12 == (debug_type)0x0" identifier == (cast_expression "(debug_type)0x0" ( (type_descriptor "debug_type" type_identifier) ) number_literal)) )) (compound_statement "{\n        return 0;\n      }" { (return_statement "return 0;" return number_literal ;) })) (if_statement "if (local_3c == (char *)0x0) {\n        return 1;\n      }" if (parenthesized_expression "(local_3c == (char *)0x0)" ( (binary_expression "local_3c == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        return 1;\n      }" { (return_statement "return 1;" return number_literal ;) })) (expression_statement "pdVar15 = debug_name_type(dhandle,local_3c,pdVar12);" (assignment_expression "pdVar15 = debug_name_type(dhandle,local_3c,pdVar12)" identifier = (call_expression "debug_name_type(dhandle,local_3c,pdVar12)" identifier (argument_list "(dhandle,local_3c,pdVar12)" ( identifier , identifier , identifier )))) ;) (if_statement "if (pdVar15 == (debug_type_conflict)0x0) {\n        return 0;\n      }" if (parenthesized_expression "(pdVar15 == (debug_type_conflict)0x0)" ( (binary_expression "pdVar15 == (debug_type_conflict)0x0" identifier == (cast_expression "(debug_type_conflict)0x0" ( (type_descriptor "debug_type_conflict" type_identifier) ) number_literal)) )) (compound_statement "{\n        return 0;\n      }" { (return_statement "return 0;" return number_literal ;) })) (if_statement "if (slot == (debug_type_conflict *)0x0) {\n        return 1;\n      }" if (parenthesized_expression "(slot == (debug_type_conflict *)0x0)" ( (binary_expression "slot == (debug_type_conflict *)0x0" identifier == (cast_expression "(debug_type_conflict *)0x0" ( (type_descriptor "debug_type_conflict *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        return 1;\n      }" { (return_statement "return 1;" return number_literal ;) })) (expression_statement "*slot = pdVar15;" (assignment_expression "*slot = pdVar15" (pointer_expression "*slot" * identifier) = identifier) ;) (return_statement "return 1;" return number_literal ;)) (case_statement "case 0x33:\n      ppcVar20 = (char **)p;\n      p = (char *)ppcVar28;\n      pdVar15 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end);\n      if (pdVar15 == (debug_type)0x0) {\n        return 0;\n      }\n      kind = DEBUG_PARM_REFERENCE;" case number_literal : (expression_statement "ppcVar20 = (char **)p;" (assignment_expression "ppcVar20 = (char **)p" identifier = (cast_expression "(char **)p" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "p = (char *)ppcVar28;" (assignment_expression "p = (char *)ppcVar28" identifier = (cast_expression "(char *)ppcVar28" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pdVar15 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end);" (assignment_expression "pdVar15 = parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end)" identifier = (call_expression "parse_stab_type(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end)" identifier (argument_list "(&p,(stab_handle *)0x0,pcVar17,ppcVar20,slotp,p_end)" ( (pointer_expression "&p" & identifier) , (cast_expression "(stab_handle *)0x0" ( (type_descriptor "stab_handle *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , identifier , identifier , identifier , identifier )))) ;) (if_statement "if (pdVar15 == (debug_type)0x0) {\n        return 0;\n      }" if (parenthesized_expression "(pdVar15 == (debug_type)0x0)" ( (binary_expression "pdVar15 == (debug_type)0x0" identifier == (cast_expression "(debug_type)0x0" ( (type_descriptor "debug_type" type_identifier) ) number_literal)) )) (compound_statement "{\n        return 0;\n      }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "kind = DEBUG_PARM_REFERENCE;" (assignment_expression "kind = DEBUG_PARM_REFERENCE" identifier = identifier) ;)) })) (expression_statement "bVar13 = debug_record_parameter(dhandle,local_3c,pdVar15,kind,value);" (assignment_expression "bVar13 = debug_record_parameter(dhandle,local_3c,pdVar15,kind,value)" identifier = (call_expression "debug_record_parameter(dhandle,local_3c,pdVar15,kind,value)" identifier (argument_list "(dhandle,local_3c,pdVar15,kind,value)" ( identifier , identifier , identifier , identifier , identifier )))) ;) (goto_statement "goto joined_r0x00044fe7;" goto statement_identifier ;) })) (if_statement "if (type == 0xc0) {\n    if ((*(int *)((int)handle + 0x30) != 0) && (desc == 1)) {\n      return 1;\n    }\n    if (*(int *)((int)handle + 0x40) == 0) {\n      pcVar17 = (char *)dcgettext(0,"N_LBRAC not within function\n",5);\n      fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar17);\n      return 0;\n    }\n    bVar13 = debug_start_block(dhandle,value + CONCAT44(*(int *)((int)handle + 0x28) +\n                                                        *(int *)((int)handle + 0x20) +\n                                                        (uint)CARRY4(*(uint *)((int)handle + 0x24),\n                                                                     *(uint *)((int)handle + 0x1c)),\n                                                        *(uint *)((int)handle + 0x24) +\n                                                        *(uint *)((int)handle + 0x1c)));\n    if (bVar13 == 0) {\n      return 0;\n    }\n    bVar13 = stab_emit_pending_vars(dhandle,(stab_handle *)((int)handle + 0x50));\n    if (bVar13 == 0) {\n      return 0;\n    }\n    *(int *)((int)handle + 0x4c) = *(int *)((int)handle + 0x4c) + 1;\n    return 1;\n  }" if (parenthesized_expression "(type == 0xc0)" ( (binary_expression "type == 0xc0" identifier == number_literal) )) (compound_statement "{\n    if ((*(int *)((int)handle + 0x30) != 0) && (desc == 1)) {\n      return 1;\n    }\n    if (*(int *)((int)handle + 0x40) == 0) {\n      pcVar17 = (char *)dcgettext(0,"N_LBRAC not within function\n",5);\n      fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar17);\n      return 0;\n    }\n    bVar13 = debug_start_block(dhandle,value + CONCAT44(*(int *)((int)handle + 0x28) +\n                                                        *(int *)((int)handle + 0x20) +\n                                                        (uint)CARRY4(*(uint *)((int)handle + 0x24),\n                                                                     *(uint *)((int)handle + 0x1c)),\n                                                        *(uint *)((int)handle + 0x24) +\n                                                        *(uint *)((int)handle + 0x1c)));\n    if (bVar13 == 0) {\n      return 0;\n    }\n    bVar13 = stab_emit_pending_vars(dhandle,(stab_handle *)((int)handle + 0x50));\n    if (bVar13 == 0) {\n      return 0;\n    }\n    *(int *)((int)handle + 0x4c) = *(int *)((int)handle + 0x4c) + 1;\n    return 1;\n  }" { (if_statement "if ((*(int *)((int)handle + 0x30) != 0) && (desc == 1)) {\n      return 1;\n    }" if (parenthesized_expression "((*(int *)((int)handle + 0x30) != 0) && (desc == 1))" ( (binary_expression "(*(int *)((int)handle + 0x30) != 0) && (desc == 1)" (parenthesized_expression "(*(int *)((int)handle + 0x30) != 0)" ( (binary_expression "*(int *)((int)handle + 0x30) != 0" (pointer_expression "*(int *)((int)handle + 0x30)" * (cast_expression "(int *)((int)handle + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x30)" ( (binary_expression "(int)handle + 0x30" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != number_literal) )) && (parenthesized_expression "(desc == 1)" ( (binary_expression "desc == 1" identifier == number_literal) ))) )) (compound_statement "{\n      return 1;\n    }" { (return_statement "return 1;" return number_literal ;) })) (if_statement "if (*(int *)((int)handle + 0x40) == 0) {\n      pcVar17 = (char *)dcgettext(0,"N_LBRAC not within function\n",5);\n      fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar17);\n      return 0;\n    }" if (parenthesized_expression "(*(int *)((int)handle + 0x40) == 0)" ( (binary_expression "*(int *)((int)handle + 0x40) == 0" (pointer_expression "*(int *)((int)handle + 0x40)" * (cast_expression "(int *)((int)handle + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x40)" ( (binary_expression "(int)handle + 0x40" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == number_literal) )) (compound_statement "{\n      pcVar17 = (char *)dcgettext(0,"N_LBRAC not within function\n",5);\n      fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar17);\n      return 0;\n    }" { (expression_statement "pcVar17 = (char *)dcgettext(0,"N_LBRAC not within function\n",5);" (assignment_expression "pcVar17 = (char *)dcgettext(0,"N_LBRAC not within function\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"N_LBRAC not within function\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"N_LBRAC not within function\n",5)" identifier (argument_list "(0,"N_LBRAC not within function\n",5)" ( number_literal , (string_literal ""N_LBRAC not within function\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar17);" (call_expression "fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar17)" identifier (argument_list "(*(FILE **)PTR_stderr_00071fb4,pcVar17)" ( (pointer_expression "*(FILE **)PTR_stderr_00071fb4" * (cast_expression "(FILE **)PTR_stderr_00071fb4" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "bVar13 = debug_start_block(dhandle,value + CONCAT44(*(int *)((int)handle + 0x28) +\n                                                        *(int *)((int)handle + 0x20) +\n                                                        (uint)CARRY4(*(uint *)((int)handle + 0x24),\n                                                                     *(uint *)((int)handle + 0x1c)),\n                                                        *(uint *)((int)handle + 0x24) +\n                                                        *(uint *)((int)handle + 0x1c)));" (assignment_expression "bVar13 = debug_start_block(dhandle,value + CONCAT44(*(int *)((int)handle + 0x28) +\n                                                        *(int *)((int)handle + 0x20) +\n                                                        (uint)CARRY4(*(uint *)((int)handle + 0x24),\n                                                                     *(uint *)((int)handle + 0x1c)),\n                                                        *(uint *)((int)handle + 0x24) +\n                                                        *(uint *)((int)handle + 0x1c)))" identifier = (call_expression "debug_start_block(dhandle,value + CONCAT44(*(int *)((int)handle + 0x28) +\n                                                        *(int *)((int)handle + 0x20) +\n                                                        (uint)CARRY4(*(uint *)((int)handle + 0x24),\n                                                                     *(uint *)((int)handle + 0x1c)),\n                                                        *(uint *)((int)handle + 0x24) +\n                                                        *(uint *)((int)handle + 0x1c)))" identifier (argument_list "(dhandle,value + CONCAT44(*(int *)((int)handle + 0x28) +\n                                                        *(int *)((int)handle + 0x20) +\n                                                        (uint)CARRY4(*(uint *)((int)handle + 0x24),\n                                                                     *(uint *)((int)handle + 0x1c)),\n                                                        *(uint *)((int)handle + 0x24) +\n                                                        *(uint *)((int)handle + 0x1c)))" ( identifier , (binary_expression "value + CONCAT44(*(int *)((int)handle + 0x28) +\n                                                        *(int *)((int)handle + 0x20) +\n                                                        (uint)CARRY4(*(uint *)((int)handle + 0x24),\n                                                                     *(uint *)((int)handle + 0x1c)),\n                                                        *(uint *)((int)handle + 0x24) +\n                                                        *(uint *)((int)handle + 0x1c))" identifier + (call_expression "CONCAT44(*(int *)((int)handle + 0x28) +\n                                                        *(int *)((int)handle + 0x20) +\n                                                        (uint)CARRY4(*(uint *)((int)handle + 0x24),\n                                                                     *(uint *)((int)handle + 0x1c)),\n                                                        *(uint *)((int)handle + 0x24) +\n                                                        *(uint *)((int)handle + 0x1c))" identifier (argument_list "(*(int *)((int)handle + 0x28) +\n                                                        *(int *)((int)handle + 0x20) +\n                                                        (uint)CARRY4(*(uint *)((int)handle + 0x24),\n                                                                     *(uint *)((int)handle + 0x1c)),\n                                                        *(uint *)((int)handle + 0x24) +\n                                                        *(uint *)((int)handle + 0x1c))" ( (binary_expression "*(int *)((int)handle + 0x28) +\n                                                        *(int *)((int)handle + 0x20) +\n                                                        (uint)CARRY4(*(uint *)((int)handle + 0x24),\n                                                                     *(uint *)((int)handle + 0x1c))" (binary_expression "*(int *)((int)handle + 0x28) +\n                                                        *(int *)((int)handle + 0x20)" (pointer_expression "*(int *)((int)handle + 0x28)" * (cast_expression "(int *)((int)handle + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x28)" ( (binary_expression "(int)handle + 0x28" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + (pointer_expression "*(int *)((int)handle + 0x20)" * (cast_expression "(int *)((int)handle + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x20)" ( (binary_expression "(int)handle + 0x20" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) + (cast_expression "(uint)CARRY4(*(uint *)((int)handle + 0x24),\n                                                                     *(uint *)((int)handle + 0x1c))" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(*(uint *)((int)handle + 0x24),\n                                                                     *(uint *)((int)handle + 0x1c))" identifier (argument_list "(*(uint *)((int)handle + 0x24),\n                                                                     *(uint *)((int)handle + 0x1c))" ( (pointer_expression "*(uint *)((int)handle + 0x24)" * (cast_expression "(uint *)((int)handle + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x24)" ( (binary_expression "(int)handle + 0x24" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(uint *)((int)handle + 0x1c)" * (cast_expression "(uint *)((int)handle + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x1c)" ( (binary_expression "(int)handle + 0x1c" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))))) , (binary_expression "*(uint *)((int)handle + 0x24) +\n                                                        *(uint *)((int)handle + 0x1c)" (pointer_expression "*(uint *)((int)handle + 0x24)" * (cast_expression "(uint *)((int)handle + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x24)" ( (binary_expression "(int)handle + 0x24" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + (pointer_expression "*(uint *)((int)handle + 0x1c)" * (cast_expression "(uint *)((int)handle + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x1c)" ( (binary_expression "(int)handle + 0x1c" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) )))) )))) ;) (if_statement "if (bVar13 == 0) {\n      return 0;\n    }" if (parenthesized_expression "(bVar13 == 0)" ( (binary_expression "bVar13 == 0" identifier == number_literal) )) (compound_statement "{\n      return 0;\n    }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "bVar13 = stab_emit_pending_vars(dhandle,(stab_handle *)((int)handle + 0x50));" (assignment_expression "bVar13 = stab_emit_pending_vars(dhandle,(stab_handle *)((int)handle + 0x50))" identifier = (call_expression "stab_emit_pending_vars(dhandle,(stab_handle *)((int)handle + 0x50))" identifier (argument_list "(dhandle,(stab_handle *)((int)handle + 0x50))" ( identifier , (cast_expression "(stab_handle *)((int)handle + 0x50)" ( (type_descriptor "stab_handle *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x50)" ( (binary_expression "(int)handle + 0x50" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) )))) ;) (if_statement "if (bVar13 == 0) {\n      return 0;\n    }" if (parenthesized_expression "(bVar13 == 0)" ( (binary_expression "bVar13 == 0" identifier == number_literal) )) (compound_statement "{\n      return 0;\n    }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "*(int *)((int)handle + 0x4c) = *(int *)((int)handle + 0x4c) + 1;" (assignment_expression "*(int *)((int)handle + 0x4c) = *(int *)((int)handle + 0x4c) + 1" (pointer_expression "*(int *)((int)handle + 0x4c)" * (cast_expression "(int *)((int)handle + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x4c)" ( (binary_expression "(int)handle + 0x4c" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(int *)((int)handle + 0x4c) + 1" (pointer_expression "*(int *)((int)handle + 0x4c)" * (cast_expression "(int *)((int)handle + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x4c)" ( (binary_expression "(int)handle + 0x4c" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (if_statement "if (0xc0 < type) {\n    if (type == 0xe0) {\n      if ((*(int *)((int)handle + 0x30) != 0) && (desc == 1)) {\n        return 1;\n      }\n      bVar13 = stab_emit_pending_vars(dhandle,(stab_handle *)((int)handle + 0x50));\n      if (bVar13 == 0) {\n        return 0;\n      }\n      bVar13 = debug_end_block(dhandle,value + CONCAT44(*(int *)((int)handle + 0x28) +\n                                                        *(int *)((int)handle + 0x20) +\n                                                        (uint)CARRY4(*(uint *)((int)handle + 0x24),\n                                                                     *(uint *)((int)handle + 0x1c)),\n                                                        *(uint *)((int)handle + 0x24) +\n                                                        *(uint *)((int)handle + 0x1c)));\n      if (bVar13 == 0) {\n        return 0;\n      }\n      piVar21 = (int *)((int)handle + 0x4c);\n      *piVar21 = *piVar21 + -1;\n      if (*piVar21 < 0) {\n        pcVar17 = (char *)dcgettext(0,"Too many N_RBRACs\n",5);\n        fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar17);\n        return 0;\n      }\n      return 1;\n    }\n    if (type < 0xe1) {\n      if (type == 0xc2) {\n        iVar10 = *(int *)((int)handle + 0x54) + 1;\n        *(int *)((int)handle + 0x54) = iVar10;\n        iVar10 = xrealloc(*(undefined4 *)((int)handle + 0x58),iVar10 * 4);\n        puVar8 = *(undefined4 **)((int)handle + 0x3c);\n        *(int *)((int)handle + 0x58) = iVar10;\n        while( true ) {\n          if (puVar8 == (undefined4 *)0x0) {\n            pcVar17 = (char *)dcgettext(0,"Undefined N_EXCL",5);\n            warn_stab(string,pcVar17);\n            *(undefined4 *)(*(int *)((int)handle + 0x58) + -4 + *(int *)((int)handle + 0x54) * 4) =\n                 0;\n            return 1;\n          }\n          if ((value == *(bfd_vma *)(puVar8 + 3)) &&\n             (iVar11 = strcmp((char *)puVar8[2],string), iVar11 == 0)) break;\n          puVar8 = (undefined4 *)*puVar8;\n        }\n        *(undefined4 *)(iVar10 + -4 + *(int *)((int)handle + 0x54) * 4) = puVar8[6];\n        return 1;\n      }\n      goto LAB_00044431;\n    }\n    if (type == 0xe2) {\n      iVar10 = debug_start_common_block(dhandle,string);\n    }\n    else {\n      if (type != 0xe4) goto LAB_00044431;\n      iVar10 = debug_end_common_block(dhandle,string);\n    }\n    goto LAB_0004426d;\n  }" if (parenthesized_expression "(0xc0 < type)" ( (binary_expression "0xc0 < type" number_literal < identifier) )) (compound_statement "{\n    if (type == 0xe0) {\n      if ((*(int *)((int)handle + 0x30) != 0) && (desc == 1)) {\n        return 1;\n      }\n      bVar13 = stab_emit_pending_vars(dhandle,(stab_handle *)((int)handle + 0x50));\n      if (bVar13 == 0) {\n        return 0;\n      }\n      bVar13 = debug_end_block(dhandle,value + CONCAT44(*(int *)((int)handle + 0x28) +\n                                                        *(int *)((int)handle + 0x20) +\n                                                        (uint)CARRY4(*(uint *)((int)handle + 0x24),\n                                                                     *(uint *)((int)handle + 0x1c)),\n                                                        *(uint *)((int)handle + 0x24) +\n                                                        *(uint *)((int)handle + 0x1c)));\n      if (bVar13 == 0) {\n        return 0;\n      }\n      piVar21 = (int *)((int)handle + 0x4c);\n      *piVar21 = *piVar21 + -1;\n      if (*piVar21 < 0) {\n        pcVar17 = (char *)dcgettext(0,"Too many N_RBRACs\n",5);\n        fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar17);\n        return 0;\n      }\n      return 1;\n    }\n    if (type < 0xe1) {\n      if (type == 0xc2) {\n        iVar10 = *(int *)((int)handle + 0x54) + 1;\n        *(int *)((int)handle + 0x54) = iVar10;\n        iVar10 = xrealloc(*(undefined4 *)((int)handle + 0x58),iVar10 * 4);\n        puVar8 = *(undefined4 **)((int)handle + 0x3c);\n        *(int *)((int)handle + 0x58) = iVar10;\n        while( true ) {\n          if (puVar8 == (undefined4 *)0x0) {\n            pcVar17 = (char *)dcgettext(0,"Undefined N_EXCL",5);\n            warn_stab(string,pcVar17);\n            *(undefined4 *)(*(int *)((int)handle + 0x58) + -4 + *(int *)((int)handle + 0x54) * 4) =\n                 0;\n            return 1;\n          }\n          if ((value == *(bfd_vma *)(puVar8 + 3)) &&\n             (iVar11 = strcmp((char *)puVar8[2],string), iVar11 == 0)) break;\n          puVar8 = (undefined4 *)*puVar8;\n        }\n        *(undefined4 *)(iVar10 + -4 + *(int *)((int)handle + 0x54) * 4) = puVar8[6];\n        return 1;\n      }\n      goto LAB_00044431;\n    }\n    if (type == 0xe2) {\n      iVar10 = debug_start_common_block(dhandle,string);\n    }\n    else {\n      if (type != 0xe4) goto LAB_00044431;\n      iVar10 = debug_end_common_block(dhandle,string);\n    }\n    goto LAB_0004426d;\n  }" { (if_statement "if (type == 0xe0) {\n      if ((*(int *)((int)handle + 0x30) != 0) && (desc == 1)) {\n        return 1;\n      }\n      bVar13 = stab_emit_pending_vars(dhandle,(stab_handle *)((int)handle + 0x50));\n      if (bVar13 == 0) {\n        return 0;\n      }\n      bVar13 = debug_end_block(dhandle,value + CONCAT44(*(int *)((int)handle + 0x28) +\n                                                        *(int *)((int)handle + 0x20) +\n                                                        (uint)CARRY4(*(uint *)((int)handle + 0x24),\n                                                                     *(uint *)((int)handle + 0x1c)),\n                                                        *(uint *)((int)handle + 0x24) +\n                                                        *(uint *)((int)handle + 0x1c)));\n      if (bVar13 == 0) {\n        return 0;\n      }\n      piVar21 = (int *)((int)handle + 0x4c);\n      *piVar21 = *piVar21 + -1;\n      if (*piVar21 < 0) {\n        pcVar17 = (char *)dcgettext(0,"Too many N_RBRACs\n",5);\n        fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar17);\n        return 0;\n      }\n      return 1;\n    }" if (parenthesized_expression "(type == 0xe0)" ( (binary_expression "type == 0xe0" identifier == number_literal) )) (compound_statement "{\n      if ((*(int *)((int)handle + 0x30) != 0) && (desc == 1)) {\n        return 1;\n      }\n      bVar13 = stab_emit_pending_vars(dhandle,(stab_handle *)((int)handle + 0x50));\n      if (bVar13 == 0) {\n        return 0;\n      }\n      bVar13 = debug_end_block(dhandle,value + CONCAT44(*(int *)((int)handle + 0x28) +\n                                                        *(int *)((int)handle + 0x20) +\n                                                        (uint)CARRY4(*(uint *)((int)handle + 0x24),\n                                                                     *(uint *)((int)handle + 0x1c)),\n                                                        *(uint *)((int)handle + 0x24) +\n                                                        *(uint *)((int)handle + 0x1c)));\n      if (bVar13 == 0) {\n        return 0;\n      }\n      piVar21 = (int *)((int)handle + 0x4c);\n      *piVar21 = *piVar21 + -1;\n      if (*piVar21 < 0) {\n        pcVar17 = (char *)dcgettext(0,"Too many N_RBRACs\n",5);\n        fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar17);\n        return 0;\n      }\n      return 1;\n    }" { (if_statement "if ((*(int *)((int)handle + 0x30) != 0) && (desc == 1)) {\n        return 1;\n      }" if (parenthesized_expression "((*(int *)((int)handle + 0x30) != 0) && (desc == 1))" ( (binary_expression "(*(int *)((int)handle + 0x30) != 0) && (desc == 1)" (parenthesized_expression "(*(int *)((int)handle + 0x30) != 0)" ( (binary_expression "*(int *)((int)handle + 0x30) != 0" (pointer_expression "*(int *)((int)handle + 0x30)" * (cast_expression "(int *)((int)handle + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x30)" ( (binary_expression "(int)handle + 0x30" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != number_literal) )) && (parenthesized_expression "(desc == 1)" ( (binary_expression "desc == 1" identifier == number_literal) ))) )) (compound_statement "{\n        return 1;\n      }" { (return_statement "return 1;" return number_literal ;) })) (expression_statement "bVar13 = stab_emit_pending_vars(dhandle,(stab_handle *)((int)handle + 0x50));" (assignment_expression "bVar13 = stab_emit_pending_vars(dhandle,(stab_handle *)((int)handle + 0x50))" identifier = (call_expression "stab_emit_pending_vars(dhandle,(stab_handle *)((int)handle + 0x50))" identifier (argument_list "(dhandle,(stab_handle *)((int)handle + 0x50))" ( identifier , (cast_expression "(stab_handle *)((int)handle + 0x50)" ( (type_descriptor "stab_handle *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x50)" ( (binary_expression "(int)handle + 0x50" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) )))) ;) (if_statement "if (bVar13 == 0) {\n        return 0;\n      }" if (parenthesized_expression "(bVar13 == 0)" ( (binary_expression "bVar13 == 0" identifier == number_literal) )) (compound_statement "{\n        return 0;\n      }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "bVar13 = debug_end_block(dhandle,value + CONCAT44(*(int *)((int)handle + 0x28) +\n                                                        *(int *)((int)handle + 0x20) +\n                                                        (uint)CARRY4(*(uint *)((int)handle + 0x24),\n                                                                     *(uint *)((int)handle + 0x1c)),\n                                                        *(uint *)((int)handle + 0x24) +\n                                                        *(uint *)((int)handle + 0x1c)));" (assignment_expression "bVar13 = debug_end_block(dhandle,value + CONCAT44(*(int *)((int)handle + 0x28) +\n                                                        *(int *)((int)handle + 0x20) +\n                                                        (uint)CARRY4(*(uint *)((int)handle + 0x24),\n                                                                     *(uint *)((int)handle + 0x1c)),\n                                                        *(uint *)((int)handle + 0x24) +\n                                                        *(uint *)((int)handle + 0x1c)))" identifier = (call_expression "debug_end_block(dhandle,value + CONCAT44(*(int *)((int)handle + 0x28) +\n                                                        *(int *)((int)handle + 0x20) +\n                                                        (uint)CARRY4(*(uint *)((int)handle + 0x24),\n                                                                     *(uint *)((int)handle + 0x1c)),\n                                                        *(uint *)((int)handle + 0x24) +\n                                                        *(uint *)((int)handle + 0x1c)))" identifier (argument_list "(dhandle,value + CONCAT44(*(int *)((int)handle + 0x28) +\n                                                        *(int *)((int)handle + 0x20) +\n                                                        (uint)CARRY4(*(uint *)((int)handle + 0x24),\n                                                                     *(uint *)((int)handle + 0x1c)),\n                                                        *(uint *)((int)handle + 0x24) +\n                                                        *(uint *)((int)handle + 0x1c)))" ( identifier , (binary_expression "value + CONCAT44(*(int *)((int)handle + 0x28) +\n                                                        *(int *)((int)handle + 0x20) +\n                                                        (uint)CARRY4(*(uint *)((int)handle + 0x24),\n                                                                     *(uint *)((int)handle + 0x1c)),\n                                                        *(uint *)((int)handle + 0x24) +\n                                                        *(uint *)((int)handle + 0x1c))" identifier + (call_expression "CONCAT44(*(int *)((int)handle + 0x28) +\n                                                        *(int *)((int)handle + 0x20) +\n                                                        (uint)CARRY4(*(uint *)((int)handle + 0x24),\n                                                                     *(uint *)((int)handle + 0x1c)),\n                                                        *(uint *)((int)handle + 0x24) +\n                                                        *(uint *)((int)handle + 0x1c))" identifier (argument_list "(*(int *)((int)handle + 0x28) +\n                                                        *(int *)((int)handle + 0x20) +\n                                                        (uint)CARRY4(*(uint *)((int)handle + 0x24),\n                                                                     *(uint *)((int)handle + 0x1c)),\n                                                        *(uint *)((int)handle + 0x24) +\n                                                        *(uint *)((int)handle + 0x1c))" ( (binary_expression "*(int *)((int)handle + 0x28) +\n                                                        *(int *)((int)handle + 0x20) +\n                                                        (uint)CARRY4(*(uint *)((int)handle + 0x24),\n                                                                     *(uint *)((int)handle + 0x1c))" (binary_expression "*(int *)((int)handle + 0x28) +\n                                                        *(int *)((int)handle + 0x20)" (pointer_expression "*(int *)((int)handle + 0x28)" * (cast_expression "(int *)((int)handle + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x28)" ( (binary_expression "(int)handle + 0x28" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + (pointer_expression "*(int *)((int)handle + 0x20)" * (cast_expression "(int *)((int)handle + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x20)" ( (binary_expression "(int)handle + 0x20" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) + (cast_expression "(uint)CARRY4(*(uint *)((int)handle + 0x24),\n                                                                     *(uint *)((int)handle + 0x1c))" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(*(uint *)((int)handle + 0x24),\n                                                                     *(uint *)((int)handle + 0x1c))" identifier (argument_list "(*(uint *)((int)handle + 0x24),\n                                                                     *(uint *)((int)handle + 0x1c))" ( (pointer_expression "*(uint *)((int)handle + 0x24)" * (cast_expression "(uint *)((int)handle + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x24)" ( (binary_expression "(int)handle + 0x24" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(uint *)((int)handle + 0x1c)" * (cast_expression "(uint *)((int)handle + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x1c)" ( (binary_expression "(int)handle + 0x1c" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))))) , (binary_expression "*(uint *)((int)handle + 0x24) +\n                                                        *(uint *)((int)handle + 0x1c)" (pointer_expression "*(uint *)((int)handle + 0x24)" * (cast_expression "(uint *)((int)handle + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x24)" ( (binary_expression "(int)handle + 0x24" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + (pointer_expression "*(uint *)((int)handle + 0x1c)" * (cast_expression "(uint *)((int)handle + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x1c)" ( (binary_expression "(int)handle + 0x1c" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) )))) )))) ;) (if_statement "if (bVar13 == 0) {\n        return 0;\n      }" if (parenthesized_expression "(bVar13 == 0)" ( (binary_expression "bVar13 == 0" identifier == number_literal) )) (compound_statement "{\n        return 0;\n      }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "piVar21 = (int *)((int)handle + 0x4c);" (assignment_expression "piVar21 = (int *)((int)handle + 0x4c)" identifier = (cast_expression "(int *)((int)handle + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x4c)" ( (binary_expression "(int)handle + 0x4c" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*piVar21 = *piVar21 + -1;" (assignment_expression "*piVar21 = *piVar21 + -1" (pointer_expression "*piVar21" * identifier) = (binary_expression "*piVar21 + -1" (pointer_expression "*piVar21" * identifier) + number_literal)) ;) (if_statement "if (*piVar21 < 0) {\n        pcVar17 = (char *)dcgettext(0,"Too many N_RBRACs\n",5);\n        fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar17);\n        return 0;\n      }" if (parenthesized_expression "(*piVar21 < 0)" ( (binary_expression "*piVar21 < 0" (pointer_expression "*piVar21" * identifier) < number_literal) )) (compound_statement "{\n        pcVar17 = (char *)dcgettext(0,"Too many N_RBRACs\n",5);\n        fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar17);\n        return 0;\n      }" { (expression_statement "pcVar17 = (char *)dcgettext(0,"Too many N_RBRACs\n",5);" (assignment_expression "pcVar17 = (char *)dcgettext(0,"Too many N_RBRACs\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"Too many N_RBRACs\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Too many N_RBRACs\n",5)" identifier (argument_list "(0,"Too many N_RBRACs\n",5)" ( number_literal , (string_literal ""Too many N_RBRACs\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar17);" (call_expression "fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar17)" identifier (argument_list "(*(FILE **)PTR_stderr_00071fb4,pcVar17)" ( (pointer_expression "*(FILE **)PTR_stderr_00071fb4" * (cast_expression "(FILE **)PTR_stderr_00071fb4" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (return_statement "return 1;" return number_literal ;) })) (if_statement "if (type < 0xe1) {\n      if (type == 0xc2) {\n        iVar10 = *(int *)((int)handle + 0x54) + 1;\n        *(int *)((int)handle + 0x54) = iVar10;\n        iVar10 = xrealloc(*(undefined4 *)((int)handle + 0x58),iVar10 * 4);\n        puVar8 = *(undefined4 **)((int)handle + 0x3c);\n        *(int *)((int)handle + 0x58) = iVar10;\n        while( true ) {\n          if (puVar8 == (undefined4 *)0x0) {\n            pcVar17 = (char *)dcgettext(0,"Undefined N_EXCL",5);\n            warn_stab(string,pcVar17);\n            *(undefined4 *)(*(int *)((int)handle + 0x58) + -4 + *(int *)((int)handle + 0x54) * 4) =\n                 0;\n            return 1;\n          }\n          if ((value == *(bfd_vma *)(puVar8 + 3)) &&\n             (iVar11 = strcmp((char *)puVar8[2],string), iVar11 == 0)) break;\n          puVar8 = (undefined4 *)*puVar8;\n        }\n        *(undefined4 *)(iVar10 + -4 + *(int *)((int)handle + 0x54) * 4) = puVar8[6];\n        return 1;\n      }\n      goto LAB_00044431;\n    }" if (parenthesized_expression "(type < 0xe1)" ( (binary_expression "type < 0xe1" identifier < number_literal) )) (compound_statement "{\n      if (type == 0xc2) {\n        iVar10 = *(int *)((int)handle + 0x54) + 1;\n        *(int *)((int)handle + 0x54) = iVar10;\n        iVar10 = xrealloc(*(undefined4 *)((int)handle + 0x58),iVar10 * 4);\n        puVar8 = *(undefined4 **)((int)handle + 0x3c);\n        *(int *)((int)handle + 0x58) = iVar10;\n        while( true ) {\n          if (puVar8 == (undefined4 *)0x0) {\n            pcVar17 = (char *)dcgettext(0,"Undefined N_EXCL",5);\n            warn_stab(string,pcVar17);\n            *(undefined4 *)(*(int *)((int)handle + 0x58) + -4 + *(int *)((int)handle + 0x54) * 4) =\n                 0;\n            return 1;\n          }\n          if ((value == *(bfd_vma *)(puVar8 + 3)) &&\n             (iVar11 = strcmp((char *)puVar8[2],string), iVar11 == 0)) break;\n          puVar8 = (undefined4 *)*puVar8;\n        }\n        *(undefined4 *)(iVar10 + -4 + *(int *)((int)handle + 0x54) * 4) = puVar8[6];\n        return 1;\n      }\n      goto LAB_00044431;\n    }" { (if_statement "if (type == 0xc2) {\n        iVar10 = *(int *)((int)handle + 0x54) + 1;\n        *(int *)((int)handle + 0x54) = iVar10;\n        iVar10 = xrealloc(*(undefined4 *)((int)handle + 0x58),iVar10 * 4);\n        puVar8 = *(undefined4 **)((int)handle + 0x3c);\n        *(int *)((int)handle + 0x58) = iVar10;\n        while( true ) {\n          if (puVar8 == (undefined4 *)0x0) {\n            pcVar17 = (char *)dcgettext(0,"Undefined N_EXCL",5);\n            warn_stab(string,pcVar17);\n            *(undefined4 *)(*(int *)((int)handle + 0x58) + -4 + *(int *)((int)handle + 0x54) * 4) =\n                 0;\n            return 1;\n          }\n          if ((value == *(bfd_vma *)(puVar8 + 3)) &&\n             (iVar11 = strcmp((char *)puVar8[2],string), iVar11 == 0)) break;\n          puVar8 = (undefined4 *)*puVar8;\n        }\n        *(undefined4 *)(iVar10 + -4 + *(int *)((int)handle + 0x54) * 4) = puVar8[6];\n        return 1;\n      }" if (parenthesized_expression "(type == 0xc2)" ( (binary_expression "type == 0xc2" identifier == number_literal) )) (compound_statement "{\n        iVar10 = *(int *)((int)handle + 0x54) + 1;\n        *(int *)((int)handle + 0x54) = iVar10;\n        iVar10 = xrealloc(*(undefined4 *)((int)handle + 0x58),iVar10 * 4);\n        puVar8 = *(undefined4 **)((int)handle + 0x3c);\n        *(int *)((int)handle + 0x58) = iVar10;\n        while( true ) {\n          if (puVar8 == (undefined4 *)0x0) {\n            pcVar17 = (char *)dcgettext(0,"Undefined N_EXCL",5);\n            warn_stab(string,pcVar17);\n            *(undefined4 *)(*(int *)((int)handle + 0x58) + -4 + *(int *)((int)handle + 0x54) * 4) =\n                 0;\n            return 1;\n          }\n          if ((value == *(bfd_vma *)(puVar8 + 3)) &&\n             (iVar11 = strcmp((char *)puVar8[2],string), iVar11 == 0)) break;\n          puVar8 = (undefined4 *)*puVar8;\n        }\n        *(undefined4 *)(iVar10 + -4 + *(int *)((int)handle + 0x54) * 4) = puVar8[6];\n        return 1;\n      }" { (expression_statement "iVar10 = *(int *)((int)handle + 0x54) + 1;" (assignment_expression "iVar10 = *(int *)((int)handle + 0x54) + 1" identifier = (binary_expression "*(int *)((int)handle + 0x54) + 1" (pointer_expression "*(int *)((int)handle + 0x54)" * (cast_expression "(int *)((int)handle + 0x54)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x54)" ( (binary_expression "(int)handle + 0x54" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)((int)handle + 0x54) = iVar10;" (assignment_expression "*(int *)((int)handle + 0x54) = iVar10" (pointer_expression "*(int *)((int)handle + 0x54)" * (cast_expression "(int *)((int)handle + 0x54)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x54)" ( (binary_expression "(int)handle + 0x54" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "iVar10 = xrealloc(*(undefined4 *)((int)handle + 0x58),iVar10 * 4);" (assignment_expression "iVar10 = xrealloc(*(undefined4 *)((int)handle + 0x58),iVar10 * 4)" identifier = (call_expression "xrealloc(*(undefined4 *)((int)handle + 0x58),iVar10 * 4)" identifier (argument_list "(*(undefined4 *)((int)handle + 0x58),iVar10 * 4)" ( (pointer_expression "*(undefined4 *)((int)handle + 0x58)" * (cast_expression "(undefined4 *)((int)handle + 0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x58)" ( (binary_expression "(int)handle + 0x58" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (binary_expression "iVar10 * 4" identifier * number_literal) )))) ;) (expression_statement "puVar8 = *(undefined4 **)((int)handle + 0x3c);" (assignment_expression "puVar8 = *(undefined4 **)((int)handle + 0x3c)" identifier = (pointer_expression "*(undefined4 **)((int)handle + 0x3c)" * (cast_expression "(undefined4 **)((int)handle + 0x3c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)handle + 0x3c)" ( (binary_expression "(int)handle + 0x3c" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(int *)((int)handle + 0x58) = iVar10;" (assignment_expression "*(int *)((int)handle + 0x58) = iVar10" (pointer_expression "*(int *)((int)handle + 0x58)" * (cast_expression "(int *)((int)handle + 0x58)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x58)" ( (binary_expression "(int)handle + 0x58" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (while_statement "while( true ) {\n          if (puVar8 == (undefined4 *)0x0) {\n            pcVar17 = (char *)dcgettext(0,"Undefined N_EXCL",5);\n            warn_stab(string,pcVar17);\n            *(undefined4 *)(*(int *)((int)handle + 0x58) + -4 + *(int *)((int)handle + 0x54) * 4) =\n                 0;\n            return 1;\n          }\n          if ((value == *(bfd_vma *)(puVar8 + 3)) &&\n             (iVar11 = strcmp((char *)puVar8[2],string), iVar11 == 0)) break;\n          puVar8 = (undefined4 *)*puVar8;\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          if (puVar8 == (undefined4 *)0x0) {\n            pcVar17 = (char *)dcgettext(0,"Undefined N_EXCL",5);\n            warn_stab(string,pcVar17);\n            *(undefined4 *)(*(int *)((int)handle + 0x58) + -4 + *(int *)((int)handle + 0x54) * 4) =\n                 0;\n            return 1;\n          }\n          if ((value == *(bfd_vma *)(puVar8 + 3)) &&\n             (iVar11 = strcmp((char *)puVar8[2],string), iVar11 == 0)) break;\n          puVar8 = (undefined4 *)*puVar8;\n        }" { (if_statement "if (puVar8 == (undefined4 *)0x0) {\n            pcVar17 = (char *)dcgettext(0,"Undefined N_EXCL",5);\n            warn_stab(string,pcVar17);\n            *(undefined4 *)(*(int *)((int)handle + 0x58) + -4 + *(int *)((int)handle + 0x54) * 4) =\n                 0;\n            return 1;\n          }" if (parenthesized_expression "(puVar8 == (undefined4 *)0x0)" ( (binary_expression "puVar8 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            pcVar17 = (char *)dcgettext(0,"Undefined N_EXCL",5);\n            warn_stab(string,pcVar17);\n            *(undefined4 *)(*(int *)((int)handle + 0x58) + -4 + *(int *)((int)handle + 0x54) * 4) =\n                 0;\n            return 1;\n          }" { (expression_statement "pcVar17 = (char *)dcgettext(0,"Undefined N_EXCL",5);" (assignment_expression "pcVar17 = (char *)dcgettext(0,"Undefined N_EXCL",5)" identifier = (cast_expression "(char *)dcgettext(0,"Undefined N_EXCL",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Undefined N_EXCL",5)" identifier (argument_list "(0,"Undefined N_EXCL",5)" ( number_literal , (string_literal ""Undefined N_EXCL"" " string_content ") , number_literal ))))) ;) (expression_statement "warn_stab(string,pcVar17);" (call_expression "warn_stab(string,pcVar17)" identifier (argument_list "(string,pcVar17)" ( identifier , identifier ))) ;) (expression_statement "*(undefined4 *)(*(int *)((int)handle + 0x58) + -4 + *(int *)((int)handle + 0x54) * 4) =\n                 0;" (assignment_expression "*(undefined4 *)(*(int *)((int)handle + 0x58) + -4 + *(int *)((int)handle + 0x54) * 4) =\n                 0" (pointer_expression "*(undefined4 *)(*(int *)((int)handle + 0x58) + -4 + *(int *)((int)handle + 0x54) * 4)" * (cast_expression "(undefined4 *)(*(int *)((int)handle + 0x58) + -4 + *(int *)((int)handle + 0x54) * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)handle + 0x58) + -4 + *(int *)((int)handle + 0x54) * 4)" ( (binary_expression "*(int *)((int)handle + 0x58) + -4 + *(int *)((int)handle + 0x54) * 4" (binary_expression "*(int *)((int)handle + 0x58) + -4" (pointer_expression "*(int *)((int)handle + 0x58)" * (cast_expression "(int *)((int)handle + 0x58)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x58)" ( (binary_expression "(int)handle + 0x58" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal) + (binary_expression "*(int *)((int)handle + 0x54) * 4" (pointer_expression "*(int *)((int)handle + 0x54)" * (cast_expression "(int *)((int)handle + 0x54)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x54)" ( (binary_expression "(int)handle + 0x54" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal)) )))) = number_literal) ;) (return_statement "return 1;" return number_literal ;) })) (if_statement "if ((value == *(bfd_vma *)(puVar8 + 3)) &&\n             (iVar11 = strcmp((char *)puVar8[2],string), iVar11 == 0)) break;" if (parenthesized_expression "((value == *(bfd_vma *)(puVar8 + 3)) &&\n             (iVar11 = strcmp((char *)puVar8[2],string), iVar11 == 0))" ( (binary_expression "(value == *(bfd_vma *)(puVar8 + 3)) &&\n             (iVar11 = strcmp((char *)puVar8[2],string), iVar11 == 0)" (parenthesized_expression "(value == *(bfd_vma *)(puVar8 + 3))" ( (binary_expression "value == *(bfd_vma *)(puVar8 + 3)" identifier == (pointer_expression "*(bfd_vma *)(puVar8 + 3)" * (cast_expression "(bfd_vma *)(puVar8 + 3)" ( (type_descriptor "bfd_vma *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 3)" ( (binary_expression "puVar8 + 3" identifier + number_literal) ))))) )) && (parenthesized_expression "(iVar11 = strcmp((char *)puVar8[2],string), iVar11 == 0)" ( (comma_expression "iVar11 = strcmp((char *)puVar8[2],string), iVar11 == 0" (assignment_expression "iVar11 = strcmp((char *)puVar8[2],string)" identifier = (call_expression "strcmp((char *)puVar8[2],string)" identifier (argument_list "((char *)puVar8[2],string)" ( (cast_expression "(char *)puVar8[2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar8[2]" identifier [ number_literal ])) , identifier )))) , (binary_expression "iVar11 == 0" identifier == number_literal)) ))) )) (break_statement "break;" break ;)) (expression_statement "puVar8 = (undefined4 *)*puVar8;" (assignment_expression "puVar8 = (undefined4 *)*puVar8" identifier = (cast_expression "(undefined4 *)*puVar8" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar8" * identifier))) ;) })) (expression_statement "*(undefined4 *)(iVar10 + -4 + *(int *)((int)handle + 0x54) * 4) = puVar8[6];" (assignment_expression "*(undefined4 *)(iVar10 + -4 + *(int *)((int)handle + 0x54) * 4) = puVar8[6]" (pointer_expression "*(undefined4 *)(iVar10 + -4 + *(int *)((int)handle + 0x54) * 4)" * (cast_expression "(undefined4 *)(iVar10 + -4 + *(int *)((int)handle + 0x54) * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + -4 + *(int *)((int)handle + 0x54) * 4)" ( (binary_expression "iVar10 + -4 + *(int *)((int)handle + 0x54) * 4" (binary_expression "iVar10 + -4" identifier + number_literal) + (binary_expression "*(int *)((int)handle + 0x54) * 4" (pointer_expression "*(int *)((int)handle + 0x54)" * (cast_expression "(int *)((int)handle + 0x54)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x54)" ( (binary_expression "(int)handle + 0x54" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal)) )))) = (subscript_expression "puVar8[6]" identifier [ number_literal ])) ;) (return_statement "return 1;" return number_literal ;) })) (goto_statement "goto LAB_00044431;" goto statement_identifier ;) })) (if_statement "if (type == 0xe2) {\n      iVar10 = debug_start_common_block(dhandle,string);\n    }\n    else {\n      if (type != 0xe4) goto LAB_00044431;\n      iVar10 = debug_end_common_block(dhandle,string);\n    }" if (parenthesized_expression "(type == 0xe2)" ( (binary_expression "type == 0xe2" identifier == number_literal) )) (compound_statement "{\n      iVar10 = debug_start_common_block(dhandle,string);\n    }" { (expression_statement "iVar10 = debug_start_common_block(dhandle,string);" (assignment_expression "iVar10 = debug_start_common_block(dhandle,string)" identifier = (call_expression "debug_start_common_block(dhandle,string)" identifier (argument_list "(dhandle,string)" ( identifier , identifier )))) ;) }) (else_clause "else {\n      if (type != 0xe4) goto LAB_00044431;\n      iVar10 = debug_end_common_block(dhandle,string);\n    }" else (compound_statement "{\n      if (type != 0xe4) goto LAB_00044431;\n      iVar10 = debug_end_common_block(dhandle,string);\n    }" { (if_statement "if (type != 0xe4) goto LAB_00044431;" if (parenthesized_expression "(type != 0xe4)" ( (binary_expression "type != 0xe4" identifier != number_literal) )) (goto_statement "goto LAB_00044431;" goto statement_identifier ;)) (expression_statement "iVar10 = debug_end_common_block(dhandle,string);" (assignment_expression "iVar10 = debug_end_common_block(dhandle,string)" identifier = (call_expression "debug_end_common_block(dhandle,string)" identifier (argument_list "(dhandle,string)" ( identifier , identifier )))) ;) }))) (goto_statement "goto LAB_0004426d;" goto statement_identifier ;) })) (if_statement "if (type == 0x82) {\n    puVar8 = (undefined4 *)xmalloc(0x1c);\n    uVar7 = *(undefined4 *)((int)handle + 0x3c);\n    puVar8[4] = (int)(value >> 0x20);\n    *puVar8 = uVar7;\n    uVar7 = *(undefined4 *)((int)handle + 0x38);\n    puVar8[6] = 0;\n    puVar8[1] = uVar7;\n    *(undefined4 **)((int)handle + 0x3c) = puVar8;\n    puVar8[2] = string;\n    *(undefined4 **)((int)handle + 0x38) = puVar8;\n    puVar8[3] = (int)value;\n    iVar10 = *(int *)((int)handle + 0x54);\n    puVar8[5] = iVar10;\n    iVar10 = iVar10 + 1;\n    *(int *)((int)handle + 0x54) = iVar10;\n    iVar11 = xrealloc(*(undefined4 *)((int)handle + 0x58),iVar10 * 4);\n    iVar10 = puVar8[5];\n    *(int *)((int)handle + 0x58) = iVar11;\n    *(undefined4 *)(iVar11 + iVar10 * 4) = 0;\n  }\n  else {\n    if (type < 0x83) {\n      if (type != 100) goto LAB_00044431;\n      cVar6 = *string;\n      if (*(int *)((int)handle + 0x40) != 0) {\n        if (cVar6 != '\0') goto LAB_000448f8;\n        goto LAB_00044916;\n      }\n      goto LAB_00044966;\n    }\n    if (type != 0x84) {\n      if (type != 0xa2) goto LAB_00044431;\n      iVar10 = *(int *)((int)handle + 0x38);\n      if (iVar10 != 0) {\n        iVar11 = *(int *)(iVar10 + 4);\n        uVar18 = *(uint *)(iVar10 + 0x14);\n        *(int *)((int)handle + 0x38) = iVar11;\n        if ((uVar18 < *(uint *)((int)handle + 0x54)) &&\n           (*(undefined4 *)(iVar10 + 0x18) =\n                 *(undefined4 *)(*(int *)((int)handle + 0x58) + uVar18 * 4), iVar11 != 0)) {\n          string = *(char **)(iVar11 + 8);\n          goto LAB_000445bf;\n        }\n      }\n      string = *(char **)((int)handle + 0x34);\n    }\n  }" if (parenthesized_expression "(type == 0x82)" ( (binary_expression "type == 0x82" identifier == number_literal) )) (compound_statement "{\n    puVar8 = (undefined4 *)xmalloc(0x1c);\n    uVar7 = *(undefined4 *)((int)handle + 0x3c);\n    puVar8[4] = (int)(value >> 0x20);\n    *puVar8 = uVar7;\n    uVar7 = *(undefined4 *)((int)handle + 0x38);\n    puVar8[6] = 0;\n    puVar8[1] = uVar7;\n    *(undefined4 **)((int)handle + 0x3c) = puVar8;\n    puVar8[2] = string;\n    *(undefined4 **)((int)handle + 0x38) = puVar8;\n    puVar8[3] = (int)value;\n    iVar10 = *(int *)((int)handle + 0x54);\n    puVar8[5] = iVar10;\n    iVar10 = iVar10 + 1;\n    *(int *)((int)handle + 0x54) = iVar10;\n    iVar11 = xrealloc(*(undefined4 *)((int)handle + 0x58),iVar10 * 4);\n    iVar10 = puVar8[5];\n    *(int *)((int)handle + 0x58) = iVar11;\n    *(undefined4 *)(iVar11 + iVar10 * 4) = 0;\n  }" { (expression_statement "puVar8 = (undefined4 *)xmalloc(0x1c);" (assignment_expression "puVar8 = (undefined4 *)xmalloc(0x1c)" identifier = (cast_expression "(undefined4 *)xmalloc(0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(0x1c)" identifier (argument_list "(0x1c)" ( number_literal ))))) ;) (expression_statement "uVar7 = *(undefined4 *)((int)handle + 0x3c);" (assignment_expression "uVar7 = *(undefined4 *)((int)handle + 0x3c)" identifier = (pointer_expression "*(undefined4 *)((int)handle + 0x3c)" * (cast_expression "(undefined4 *)((int)handle + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x3c)" ( (binary_expression "(int)handle + 0x3c" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "puVar8[4] = (int)(value >> 0x20);" (assignment_expression "puVar8[4] = (int)(value >> 0x20)" (subscript_expression "puVar8[4]" identifier [ number_literal ]) = (cast_expression "(int)(value >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(value >> 0x20)" ( (binary_expression "value >> 0x20" identifier >> number_literal) )))) ;) (expression_statement "*puVar8 = uVar7;" (assignment_expression "*puVar8 = uVar7" (pointer_expression "*puVar8" * identifier) = identifier) ;) (expression_statement "uVar7 = *(undefined4 *)((int)handle + 0x38);" (assignment_expression "uVar7 = *(undefined4 *)((int)handle + 0x38)" identifier = (pointer_expression "*(undefined4 *)((int)handle + 0x38)" * (cast_expression "(undefined4 *)((int)handle + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x38)" ( (binary_expression "(int)handle + 0x38" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "puVar8[6] = 0;" (assignment_expression "puVar8[6] = 0" (subscript_expression "puVar8[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar8[1] = uVar7;" (assignment_expression "puVar8[1] = uVar7" (subscript_expression "puVar8[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(undefined4 **)((int)handle + 0x3c) = puVar8;" (assignment_expression "*(undefined4 **)((int)handle + 0x3c) = puVar8" (pointer_expression "*(undefined4 **)((int)handle + 0x3c)" * (cast_expression "(undefined4 **)((int)handle + 0x3c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)handle + 0x3c)" ( (binary_expression "(int)handle + 0x3c" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "puVar8[2] = string;" (assignment_expression "puVar8[2] = string" (subscript_expression "puVar8[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(undefined4 **)((int)handle + 0x38) = puVar8;" (assignment_expression "*(undefined4 **)((int)handle + 0x38) = puVar8" (pointer_expression "*(undefined4 **)((int)handle + 0x38)" * (cast_expression "(undefined4 **)((int)handle + 0x38)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)handle + 0x38)" ( (binary_expression "(int)handle + 0x38" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "puVar8[3] = (int)value;" (assignment_expression "puVar8[3] = (int)value" (subscript_expression "puVar8[3]" identifier [ number_literal ]) = (cast_expression "(int)value" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "iVar10 = *(int *)((int)handle + 0x54);" (assignment_expression "iVar10 = *(int *)((int)handle + 0x54)" identifier = (pointer_expression "*(int *)((int)handle + 0x54)" * (cast_expression "(int *)((int)handle + 0x54)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x54)" ( (binary_expression "(int)handle + 0x54" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "puVar8[5] = iVar10;" (assignment_expression "puVar8[5] = iVar10" (subscript_expression "puVar8[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar10 = iVar10 + 1;" (assignment_expression "iVar10 = iVar10 + 1" identifier = (binary_expression "iVar10 + 1" identifier + number_literal)) ;) (expression_statement "*(int *)((int)handle + 0x54) = iVar10;" (assignment_expression "*(int *)((int)handle + 0x54) = iVar10" (pointer_expression "*(int *)((int)handle + 0x54)" * (cast_expression "(int *)((int)handle + 0x54)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x54)" ( (binary_expression "(int)handle + 0x54" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "iVar11 = xrealloc(*(undefined4 *)((int)handle + 0x58),iVar10 * 4);" (assignment_expression "iVar11 = xrealloc(*(undefined4 *)((int)handle + 0x58),iVar10 * 4)" identifier = (call_expression "xrealloc(*(undefined4 *)((int)handle + 0x58),iVar10 * 4)" identifier (argument_list "(*(undefined4 *)((int)handle + 0x58),iVar10 * 4)" ( (pointer_expression "*(undefined4 *)((int)handle + 0x58)" * (cast_expression "(undefined4 *)((int)handle + 0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x58)" ( (binary_expression "(int)handle + 0x58" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (binary_expression "iVar10 * 4" identifier * number_literal) )))) ;) (expression_statement "iVar10 = puVar8[5];" (assignment_expression "iVar10 = puVar8[5]" identifier = (subscript_expression "puVar8[5]" identifier [ number_literal ])) ;) (expression_statement "*(int *)((int)handle + 0x58) = iVar11;" (assignment_expression "*(int *)((int)handle + 0x58) = iVar11" (pointer_expression "*(int *)((int)handle + 0x58)" * (cast_expression "(int *)((int)handle + 0x58)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x58)" ( (binary_expression "(int)handle + 0x58" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(iVar11 + iVar10 * 4) = 0;" (assignment_expression "*(undefined4 *)(iVar11 + iVar10 * 4) = 0" (pointer_expression "*(undefined4 *)(iVar11 + iVar10 * 4)" * (cast_expression "(undefined4 *)(iVar11 + iVar10 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + iVar10 * 4)" ( (binary_expression "iVar11 + iVar10 * 4" identifier + (binary_expression "iVar10 * 4" identifier * number_literal)) )))) = number_literal) ;) }) (else_clause "else {\n    if (type < 0x83) {\n      if (type != 100) goto LAB_00044431;\n      cVar6 = *string;\n      if (*(int *)((int)handle + 0x40) != 0) {\n        if (cVar6 != '\0') goto LAB_000448f8;\n        goto LAB_00044916;\n      }\n      goto LAB_00044966;\n    }\n    if (type != 0x84) {\n      if (type != 0xa2) goto LAB_00044431;\n      iVar10 = *(int *)((int)handle + 0x38);\n      if (iVar10 != 0) {\n        iVar11 = *(int *)(iVar10 + 4);\n        uVar18 = *(uint *)(iVar10 + 0x14);\n        *(int *)((int)handle + 0x38) = iVar11;\n        if ((uVar18 < *(uint *)((int)handle + 0x54)) &&\n           (*(undefined4 *)(iVar10 + 0x18) =\n                 *(undefined4 *)(*(int *)((int)handle + 0x58) + uVar18 * 4), iVar11 != 0)) {\n          string = *(char **)(iVar11 + 8);\n          goto LAB_000445bf;\n        }\n      }\n      string = *(char **)((int)handle + 0x34);\n    }\n  }" else (compound_statement "{\n    if (type < 0x83) {\n      if (type != 100) goto LAB_00044431;\n      cVar6 = *string;\n      if (*(int *)((int)handle + 0x40) != 0) {\n        if (cVar6 != '\0') goto LAB_000448f8;\n        goto LAB_00044916;\n      }\n      goto LAB_00044966;\n    }\n    if (type != 0x84) {\n      if (type != 0xa2) goto LAB_00044431;\n      iVar10 = *(int *)((int)handle + 0x38);\n      if (iVar10 != 0) {\n        iVar11 = *(int *)(iVar10 + 4);\n        uVar18 = *(uint *)(iVar10 + 0x14);\n        *(int *)((int)handle + 0x38) = iVar11;\n        if ((uVar18 < *(uint *)((int)handle + 0x54)) &&\n           (*(undefined4 *)(iVar10 + 0x18) =\n                 *(undefined4 *)(*(int *)((int)handle + 0x58) + uVar18 * 4), iVar11 != 0)) {\n          string = *(char **)(iVar11 + 8);\n          goto LAB_000445bf;\n        }\n      }\n      string = *(char **)((int)handle + 0x34);\n    }\n  }" { (if_statement "if (type < 0x83) {\n      if (type != 100) goto LAB_00044431;\n      cVar6 = *string;\n      if (*(int *)((int)handle + 0x40) != 0) {\n        if (cVar6 != '\0') goto LAB_000448f8;\n        goto LAB_00044916;\n      }\n      goto LAB_00044966;\n    }" if (parenthesized_expression "(type < 0x83)" ( (binary_expression "type < 0x83" identifier < number_literal) )) (compound_statement "{\n      if (type != 100) goto LAB_00044431;\n      cVar6 = *string;\n      if (*(int *)((int)handle + 0x40) != 0) {\n        if (cVar6 != '\0') goto LAB_000448f8;\n        goto LAB_00044916;\n      }\n      goto LAB_00044966;\n    }" { (if_statement "if (type != 100) goto LAB_00044431;" if (parenthesized_expression "(type != 100)" ( (binary_expression "type != 100" identifier != number_literal) )) (goto_statement "goto LAB_00044431;" goto statement_identifier ;)) (expression_statement "cVar6 = *string;" (assignment_expression "cVar6 = *string" identifier = (pointer_expression "*string" * identifier)) ;) (if_statement "if (*(int *)((int)handle + 0x40) != 0) {\n        if (cVar6 != '\0') goto LAB_000448f8;\n        goto LAB_00044916;\n      }" if (parenthesized_expression "(*(int *)((int)handle + 0x40) != 0)" ( (binary_expression "*(int *)((int)handle + 0x40) != 0" (pointer_expression "*(int *)((int)handle + 0x40)" * (cast_expression "(int *)((int)handle + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x40)" ( (binary_expression "(int)handle + 0x40" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != number_literal) )) (compound_statement "{\n        if (cVar6 != '\0') goto LAB_000448f8;\n        goto LAB_00044916;\n      }" { (if_statement "if (cVar6 != '\0') goto LAB_000448f8;" if (parenthesized_expression "(cVar6 != '\0')" ( (binary_expression "cVar6 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000448f8;" goto statement_identifier ;)) (goto_statement "goto LAB_00044916;" goto statement_identifier ;) })) (goto_statement "goto LAB_00044966;" goto statement_identifier ;) })) (if_statement "if (type != 0x84) {\n      if (type != 0xa2) goto LAB_00044431;\n      iVar10 = *(int *)((int)handle + 0x38);\n      if (iVar10 != 0) {\n        iVar11 = *(int *)(iVar10 + 4);\n        uVar18 = *(uint *)(iVar10 + 0x14);\n        *(int *)((int)handle + 0x38) = iVar11;\n        if ((uVar18 < *(uint *)((int)handle + 0x54)) &&\n           (*(undefined4 *)(iVar10 + 0x18) =\n                 *(undefined4 *)(*(int *)((int)handle + 0x58) + uVar18 * 4), iVar11 != 0)) {\n          string = *(char **)(iVar11 + 8);\n          goto LAB_000445bf;\n        }\n      }\n      string = *(char **)((int)handle + 0x34);\n    }" if (parenthesized_expression "(type != 0x84)" ( (binary_expression "type != 0x84" identifier != number_literal) )) (compound_statement "{\n      if (type != 0xa2) goto LAB_00044431;\n      iVar10 = *(int *)((int)handle + 0x38);\n      if (iVar10 != 0) {\n        iVar11 = *(int *)(iVar10 + 4);\n        uVar18 = *(uint *)(iVar10 + 0x14);\n        *(int *)((int)handle + 0x38) = iVar11;\n        if ((uVar18 < *(uint *)((int)handle + 0x54)) &&\n           (*(undefined4 *)(iVar10 + 0x18) =\n                 *(undefined4 *)(*(int *)((int)handle + 0x58) + uVar18 * 4), iVar11 != 0)) {\n          string = *(char **)(iVar11 + 8);\n          goto LAB_000445bf;\n        }\n      }\n      string = *(char **)((int)handle + 0x34);\n    }" { (if_statement "if (type != 0xa2) goto LAB_00044431;" if (parenthesized_expression "(type != 0xa2)" ( (binary_expression "type != 0xa2" identifier != number_literal) )) (goto_statement "goto LAB_00044431;" goto statement_identifier ;)) (expression_statement "iVar10 = *(int *)((int)handle + 0x38);" (assignment_expression "iVar10 = *(int *)((int)handle + 0x38)" identifier = (pointer_expression "*(int *)((int)handle + 0x38)" * (cast_expression "(int *)((int)handle + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x38)" ( (binary_expression "(int)handle + 0x38" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if (iVar10 != 0) {\n        iVar11 = *(int *)(iVar10 + 4);\n        uVar18 = *(uint *)(iVar10 + 0x14);\n        *(int *)((int)handle + 0x38) = iVar11;\n        if ((uVar18 < *(uint *)((int)handle + 0x54)) &&\n           (*(undefined4 *)(iVar10 + 0x18) =\n                 *(undefined4 *)(*(int *)((int)handle + 0x58) + uVar18 * 4), iVar11 != 0)) {\n          string = *(char **)(iVar11 + 8);\n          goto LAB_000445bf;\n        }\n      }" if (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar11 = *(int *)(iVar10 + 4);\n        uVar18 = *(uint *)(iVar10 + 0x14);\n        *(int *)((int)handle + 0x38) = iVar11;\n        if ((uVar18 < *(uint *)((int)handle + 0x54)) &&\n           (*(undefined4 *)(iVar10 + 0x18) =\n                 *(undefined4 *)(*(int *)((int)handle + 0x58) + uVar18 * 4), iVar11 != 0)) {\n          string = *(char **)(iVar11 + 8);\n          goto LAB_000445bf;\n        }\n      }" { (expression_statement "iVar11 = *(int *)(iVar10 + 4);" (assignment_expression "iVar11 = *(int *)(iVar10 + 4)" identifier = (pointer_expression "*(int *)(iVar10 + 4)" * (cast_expression "(int *)(iVar10 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 4)" ( (binary_expression "iVar10 + 4" identifier + number_literal) ))))) ;) (expression_statement "uVar18 = *(uint *)(iVar10 + 0x14);" (assignment_expression "uVar18 = *(uint *)(iVar10 + 0x14)" identifier = (pointer_expression "*(uint *)(iVar10 + 0x14)" * (cast_expression "(uint *)(iVar10 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x14)" ( (binary_expression "iVar10 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "*(int *)((int)handle + 0x38) = iVar11;" (assignment_expression "*(int *)((int)handle + 0x38) = iVar11" (pointer_expression "*(int *)((int)handle + 0x38)" * (cast_expression "(int *)((int)handle + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x38)" ( (binary_expression "(int)handle + 0x38" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (if_statement "if ((uVar18 < *(uint *)((int)handle + 0x54)) &&\n           (*(undefined4 *)(iVar10 + 0x18) =\n                 *(undefined4 *)(*(int *)((int)handle + 0x58) + uVar18 * 4), iVar11 != 0)) {\n          string = *(char **)(iVar11 + 8);\n          goto LAB_000445bf;\n        }" if (parenthesized_expression "((uVar18 < *(uint *)((int)handle + 0x54)) &&\n           (*(undefined4 *)(iVar10 + 0x18) =\n                 *(undefined4 *)(*(int *)((int)handle + 0x58) + uVar18 * 4), iVar11 != 0))" ( (binary_expression "(uVar18 < *(uint *)((int)handle + 0x54)) &&\n           (*(undefined4 *)(iVar10 + 0x18) =\n                 *(undefined4 *)(*(int *)((int)handle + 0x58) + uVar18 * 4), iVar11 != 0)" (parenthesized_expression "(uVar18 < *(uint *)((int)handle + 0x54))" ( (binary_expression "uVar18 < *(uint *)((int)handle + 0x54)" identifier < (pointer_expression "*(uint *)((int)handle + 0x54)" * (cast_expression "(uint *)((int)handle + 0x54)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x54)" ( (binary_expression "(int)handle + 0x54" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) )) && (parenthesized_expression "(*(undefined4 *)(iVar10 + 0x18) =\n                 *(undefined4 *)(*(int *)((int)handle + 0x58) + uVar18 * 4), iVar11 != 0)" ( (comma_expression "*(undefined4 *)(iVar10 + 0x18) =\n                 *(undefined4 *)(*(int *)((int)handle + 0x58) + uVar18 * 4), iVar11 != 0" (assignment_expression "*(undefined4 *)(iVar10 + 0x18) =\n                 *(undefined4 *)(*(int *)((int)handle + 0x58) + uVar18 * 4)" (pointer_expression "*(undefined4 *)(iVar10 + 0x18)" * (cast_expression "(undefined4 *)(iVar10 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x18)" ( (binary_expression "iVar10 + 0x18" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(*(int *)((int)handle + 0x58) + uVar18 * 4)" * (cast_expression "(undefined4 *)(*(int *)((int)handle + 0x58) + uVar18 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)handle + 0x58) + uVar18 * 4)" ( (binary_expression "*(int *)((int)handle + 0x58) + uVar18 * 4" (pointer_expression "*(int *)((int)handle + 0x58)" * (cast_expression "(int *)((int)handle + 0x58)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x58)" ( (binary_expression "(int)handle + 0x58" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + (binary_expression "uVar18 * 4" identifier * number_literal)) ))))) , (binary_expression "iVar11 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n          string = *(char **)(iVar11 + 8);\n          goto LAB_000445bf;\n        }" { (expression_statement "string = *(char **)(iVar11 + 8);" (assignment_expression "string = *(char **)(iVar11 + 8)" identifier = (pointer_expression "*(char **)(iVar11 + 8)" * (cast_expression "(char **)(iVar11 + 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar11 + 8)" ( (binary_expression "iVar11 + 8" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_000445bf;" goto statement_identifier ;) })) })) (expression_statement "string = *(char **)((int)handle + 0x34);" (assignment_expression "string = *(char **)((int)handle + 0x34)" identifier = (pointer_expression "*(char **)((int)handle + 0x34)" * (cast_expression "(char **)((int)handle + 0x34)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)handle + 0x34)" ( (binary_expression "(int)handle + 0x34" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) })) }))) (labeled_statement "LAB_000445bf:\n  iVar10 = debug_start_source(dhandle,string);" statement_identifier : (expression_statement "iVar10 = debug_start_source(dhandle,string);" (assignment_expression "iVar10 = debug_start_source(dhandle,string)" identifier = (call_expression "debug_start_source(dhandle,string)" identifier (argument_list "(dhandle,string)" ( identifier , identifier )))) ;)) (labeled_statement "LAB_0004426d:\n  return (uint)(iVar10 != 0);" statement_identifier : (return_statement "return (uint)(iVar10 != 0);" return (call_expression "(uint)(iVar10 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) ))) ;)) (labeled_statement "LAB_00044790:\n  p = p + 2;" statement_identifier : (expression_statement "p = p + 2;" (assignment_expression "p = p + 2" identifier = (binary_expression "p + 2" identifier + number_literal)) ;)) (expression_statement "p = strchr(p,0x3a);" (assignment_expression "p = strchr(p,0x3a)" identifier = (call_expression "strchr(p,0x3a)" identifier (argument_list "(p,0x3a)" ( identifier , number_literal )))) ;) (expression_statement "ppcVar28 = (char **)p;" (assignment_expression "ppcVar28 = (char **)p" identifier = (cast_expression "(char **)p" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (if_statement "if (p == (char *)0x0) {\nLAB_000449d0:\n    p = (char *)ppcVar28;\n    bad_stab(string);\n    return 0;\n  }" if (parenthesized_expression "(p == (char *)0x0)" ( (binary_expression "p == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_000449d0:\n    p = (char *)ppcVar28;\n    bad_stab(string);\n    return 0;\n  }" { (labeled_statement "LAB_000449d0:\n    p = (char *)ppcVar28;" statement_identifier : (expression_statement "p = (char *)ppcVar28;" (assignment_expression "p = (char *)ppcVar28" identifier = (cast_expression "(char *)ppcVar28" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (expression_statement "bad_stab(string);" (call_expression "bad_stab(string)" identifier (argument_list "(string)" ( identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (goto_statement "goto LAB_000447b1;" goto statement_identifier ;) (labeled_statement "LAB_00044ecc:\n  if ((*(char *)piVar23[1] == cVar6) && (iVar10 = strcmp((char *)piVar23[1],local_3c), iVar10 == 0))\n  {\n    piVar23[3] = (int)pdVar15;\n    *piVar21 = *piVar23;\n    goto LAB_00044efc;\n  }" statement_identifier : (if_statement "if ((*(char *)piVar23[1] == cVar6) && (iVar10 = strcmp((char *)piVar23[1],local_3c), iVar10 == 0))\n  {\n    piVar23[3] = (int)pdVar15;\n    *piVar21 = *piVar23;\n    goto LAB_00044efc;\n  }" if (parenthesized_expression "((*(char *)piVar23[1] == cVar6) && (iVar10 = strcmp((char *)piVar23[1],local_3c), iVar10 == 0))" ( (binary_expression "(*(char *)piVar23[1] == cVar6) && (iVar10 = strcmp((char *)piVar23[1],local_3c), iVar10 == 0)" (parenthesized_expression "(*(char *)piVar23[1] == cVar6)" ( (binary_expression "*(char *)piVar23[1] == cVar6" (pointer_expression "*(char *)piVar23[1]" * (cast_expression "(char *)piVar23[1]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar23[1]" identifier [ number_literal ]))) == identifier) )) && (parenthesized_expression "(iVar10 = strcmp((char *)piVar23[1],local_3c), iVar10 == 0)" ( (comma_expression "iVar10 = strcmp((char *)piVar23[1],local_3c), iVar10 == 0" (assignment_expression "iVar10 = strcmp((char *)piVar23[1],local_3c)" identifier = (call_expression "strcmp((char *)piVar23[1],local_3c)" identifier (argument_list "((char *)piVar23[1],local_3c)" ( (cast_expression "(char *)piVar23[1]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar23[1]" identifier [ number_literal ])) , identifier )))) , (binary_expression "iVar10 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n    piVar23[3] = (int)pdVar15;\n    *piVar21 = *piVar23;\n    goto LAB_00044efc;\n  }" { (expression_statement "piVar23[3] = (int)pdVar15;" (assignment_expression "piVar23[3] = (int)pdVar15" (subscript_expression "piVar23[3]" identifier [ number_literal ]) = (cast_expression "(int)pdVar15" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*piVar21 = *piVar23;" (assignment_expression "*piVar21 = *piVar23" (pointer_expression "*piVar21" * identifier) = (pointer_expression "*piVar23" * identifier)) ;) (goto_statement "goto LAB_00044efc;" goto statement_identifier ;) }))) (expression_statement "piVar4 = (int *)*piVar23;" (assignment_expression "piVar4 = (int *)*piVar23" identifier = (cast_expression "(int *)*piVar23" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar23" * identifier))) ;) (expression_statement "piVar21 = piVar23;" (assignment_expression "piVar21 = piVar23" identifier = identifier) ;) (expression_statement "piVar23 = piVar4;" (assignment_expression "piVar23 = piVar4" identifier = identifier) ;) (if_statement "if (piVar4 == (int *)0x0) {\nLAB_00044efc:\n    if (uVar18 == 0) {\n      return 1;\n    }\n    pdVar15 = debug_name_type(dhandle,local_3c,pdVar15);\n    if (pdVar15 != (debug_type_conflict)0x0) {\n      if (slot == (debug_type_conflict *)0x0) {\n        return 1;\n      }\n      *slot = pdVar15;\n      return uVar18;\n    }\n    return 0;\n  }" if (parenthesized_expression "(piVar4 == (int *)0x0)" ( (binary_expression "piVar4 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00044efc:\n    if (uVar18 == 0) {\n      return 1;\n    }\n    pdVar15 = debug_name_type(dhandle,local_3c,pdVar15);\n    if (pdVar15 != (debug_type_conflict)0x0) {\n      if (slot == (debug_type_conflict *)0x0) {\n        return 1;\n      }\n      *slot = pdVar15;\n      return uVar18;\n    }\n    return 0;\n  }" { (labeled_statement "LAB_00044efc:\n    if (uVar18 == 0) {\n      return 1;\n    }" statement_identifier : (if_statement "if (uVar18 == 0) {\n      return 1;\n    }" if (parenthesized_expression "(uVar18 == 0)" ( (binary_expression "uVar18 == 0" identifier == number_literal) )) (compound_statement "{\n      return 1;\n    }" { (return_statement "return 1;" return number_literal ;) }))) (expression_statement "pdVar15 = debug_name_type(dhandle,local_3c,pdVar15);" (assignment_expression "pdVar15 = debug_name_type(dhandle,local_3c,pdVar15)" identifier = (call_expression "debug_name_type(dhandle,local_3c,pdVar15)" identifier (argument_list "(dhandle,local_3c,pdVar15)" ( identifier , identifier , identifier )))) ;) (if_statement "if (pdVar15 != (debug_type_conflict)0x0) {\n      if (slot == (debug_type_conflict *)0x0) {\n        return 1;\n      }\n      *slot = pdVar15;\n      return uVar18;\n    }" if (parenthesized_expression "(pdVar15 != (debug_type_conflict)0x0)" ( (binary_expression "pdVar15 != (debug_type_conflict)0x0" identifier != (cast_expression "(debug_type_conflict)0x0" ( (type_descriptor "debug_type_conflict" type_identifier) ) number_literal)) )) (compound_statement "{\n      if (slot == (debug_type_conflict *)0x0) {\n        return 1;\n      }\n      *slot = pdVar15;\n      return uVar18;\n    }" { (if_statement "if (slot == (debug_type_conflict *)0x0) {\n        return 1;\n      }" if (parenthesized_expression "(slot == (debug_type_conflict *)0x0)" ( (binary_expression "slot == (debug_type_conflict *)0x0" identifier == (cast_expression "(debug_type_conflict *)0x0" ( (type_descriptor "debug_type_conflict *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        return 1;\n      }" { (return_statement "return 1;" return number_literal ;) })) (expression_statement "*slot = pdVar15;" (assignment_expression "*slot = pdVar15" (pointer_expression "*slot" * identifier) = identifier) ;) (return_statement "return uVar18;" return identifier ;) })) (return_statement "return 0;" return number_literal ;) })) (goto_statement "goto LAB_00044ecc;" goto statement_identifier ;) (labeled_statement "LAB_00044bbc:\n  iVar11 = *piVar21;" statement_identifier : (expression_statement "iVar11 = *piVar21;" (assignment_expression "iVar11 = *piVar21" identifier = (pointer_expression "*piVar21" * identifier)) ;)) (expression_statement "pcVar17 = *(char **)(iVar11 + 4);" (assignment_expression "pcVar17 = *(char **)(iVar11 + 4)" identifier = (pointer_expression "*(char **)(iVar11 + 4)" * (cast_expression "(char **)(iVar11 + 4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar11 + 4)" ( (binary_expression "iVar11 + 4" identifier + number_literal) ))))) ;) (if_statement "if (cVar6 != '\0') {\n    pcVar17 = pcVar17 + (cVar6 == *pcVar17);\n  }" if (parenthesized_expression "(cVar6 != '\0')" ( (binary_expression "cVar6 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    pcVar17 = pcVar17 + (cVar6 == *pcVar17);\n  }" { (expression_statement "pcVar17 = pcVar17 + (cVar6 == *pcVar17);" (assignment_expression "pcVar17 = pcVar17 + (cVar6 == *pcVar17)" identifier = (binary_expression "pcVar17 + (cVar6 == *pcVar17)" identifier + (parenthesized_expression "(cVar6 == *pcVar17)" ( (binary_expression "cVar6 == *pcVar17" identifier == (pointer_expression "*pcVar17" * identifier)) )))) ;) })) (if_statement "if ((*pcVar17 == cVar2) && (iVar14 = strcmp(pcVar17,local_3c), iVar14 == 0)) {\n    puVar1 = (uint *)(*(int *)(iVar11 + 0x14) + 0x1c);\n    value = CONCAT44(*(int *)(iVar11 + 0xc) + *(int *)(*(int *)(iVar11 + 0x14) + 0x20) +\n                     (uint)CARRY4(*(uint *)(iVar11 + 8),*puVar1),*(uint *)(iVar11 + 8) + *puVar1);\n    goto LAB_00044c0d;\n  }" if (parenthesized_expression "((*pcVar17 == cVar2) && (iVar14 = strcmp(pcVar17,local_3c), iVar14 == 0))" ( (binary_expression "(*pcVar17 == cVar2) && (iVar14 = strcmp(pcVar17,local_3c), iVar14 == 0)" (parenthesized_expression "(*pcVar17 == cVar2)" ( (binary_expression "*pcVar17 == cVar2" (pointer_expression "*pcVar17" * identifier) == identifier) )) && (parenthesized_expression "(iVar14 = strcmp(pcVar17,local_3c), iVar14 == 0)" ( (comma_expression "iVar14 = strcmp(pcVar17,local_3c), iVar14 == 0" (assignment_expression "iVar14 = strcmp(pcVar17,local_3c)" identifier = (call_expression "strcmp(pcVar17,local_3c)" identifier (argument_list "(pcVar17,local_3c)" ( identifier , identifier )))) , (binary_expression "iVar14 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n    puVar1 = (uint *)(*(int *)(iVar11 + 0x14) + 0x1c);\n    value = CONCAT44(*(int *)(iVar11 + 0xc) + *(int *)(*(int *)(iVar11 + 0x14) + 0x20) +\n                     (uint)CARRY4(*(uint *)(iVar11 + 8),*puVar1),*(uint *)(iVar11 + 8) + *puVar1);\n    goto LAB_00044c0d;\n  }" { (expression_statement "puVar1 = (uint *)(*(int *)(iVar11 + 0x14) + 0x1c);" (assignment_expression "puVar1 = (uint *)(*(int *)(iVar11 + 0x14) + 0x1c)" identifier = (cast_expression "(uint *)(*(int *)(iVar11 + 0x14) + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar11 + 0x14) + 0x1c)" ( (binary_expression "*(int *)(iVar11 + 0x14) + 0x1c" (pointer_expression "*(int *)(iVar11 + 0x14)" * (cast_expression "(int *)(iVar11 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x14)" ( (binary_expression "iVar11 + 0x14" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "value = CONCAT44(*(int *)(iVar11 + 0xc) + *(int *)(*(int *)(iVar11 + 0x14) + 0x20) +\n                     (uint)CARRY4(*(uint *)(iVar11 + 8),*puVar1),*(uint *)(iVar11 + 8) + *puVar1);" (assignment_expression "value = CONCAT44(*(int *)(iVar11 + 0xc) + *(int *)(*(int *)(iVar11 + 0x14) + 0x20) +\n                     (uint)CARRY4(*(uint *)(iVar11 + 8),*puVar1),*(uint *)(iVar11 + 8) + *puVar1)" identifier = (call_expression "CONCAT44(*(int *)(iVar11 + 0xc) + *(int *)(*(int *)(iVar11 + 0x14) + 0x20) +\n                     (uint)CARRY4(*(uint *)(iVar11 + 8),*puVar1),*(uint *)(iVar11 + 8) + *puVar1)" identifier (argument_list "(*(int *)(iVar11 + 0xc) + *(int *)(*(int *)(iVar11 + 0x14) + 0x20) +\n                     (uint)CARRY4(*(uint *)(iVar11 + 8),*puVar1),*(uint *)(iVar11 + 8) + *puVar1)" ( (binary_expression "*(int *)(iVar11 + 0xc) + *(int *)(*(int *)(iVar11 + 0x14) + 0x20) +\n                     (uint)CARRY4(*(uint *)(iVar11 + 8),*puVar1)" (binary_expression "*(int *)(iVar11 + 0xc) + *(int *)(*(int *)(iVar11 + 0x14) + 0x20)" (pointer_expression "*(int *)(iVar11 + 0xc)" * (cast_expression "(int *)(iVar11 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0xc)" ( (binary_expression "iVar11 + 0xc" identifier + number_literal) )))) + (pointer_expression "*(int *)(*(int *)(iVar11 + 0x14) + 0x20)" * (cast_expression "(int *)(*(int *)(iVar11 + 0x14) + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar11 + 0x14) + 0x20)" ( (binary_expression "*(int *)(iVar11 + 0x14) + 0x20" (pointer_expression "*(int *)(iVar11 + 0x14)" * (cast_expression "(int *)(iVar11 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x14)" ( (binary_expression "iVar11 + 0x14" identifier + number_literal) )))) + number_literal) ))))) + (cast_expression "(uint)CARRY4(*(uint *)(iVar11 + 8),*puVar1)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(*(uint *)(iVar11 + 8),*puVar1)" identifier (argument_list "(*(uint *)(iVar11 + 8),*puVar1)" ( (pointer_expression "*(uint *)(iVar11 + 8)" * (cast_expression "(uint *)(iVar11 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 8)" ( (binary_expression "iVar11 + 8" identifier + number_literal) )))) , (pointer_expression "*puVar1" * identifier) ))))) , (binary_expression "*(uint *)(iVar11 + 8) + *puVar1" (pointer_expression "*(uint *)(iVar11 + 8)" * (cast_expression "(uint *)(iVar11 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 8)" ( (binary_expression "iVar11 + 8" identifier + number_literal) )))) + (pointer_expression "*puVar1" * identifier)) )))) ;) (goto_statement "goto LAB_00044c0d;" goto statement_identifier ;) })) (expression_statement "piVar21 = piVar21 + 1;" (assignment_expression "piVar21 = piVar21 + 1" identifier = (binary_expression "piVar21 + 1" identifier + number_literal)) ;) (expression_statement "iVar10 = iVar10 + -1;" (assignment_expression "iVar10 = iVar10 + -1" identifier = (binary_expression "iVar10 + -1" identifier + number_literal)) ;) (if_statement "if (iVar10 == 0) {\nLAB_00044c0d:\n    kind_00 = DEBUG_GLOBAL;\nLAB_0004486e:\n    bVar13 = stab_record_variable(dhandle,(stab_handle *)handle,local_3c,pdVar12,kind_00,value);\njoined_r0x00044fe7:\n    if (bVar13 != 0) {\n      return 1;\n    }\n    return 0;\n  }" if (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00044c0d:\n    kind_00 = DEBUG_GLOBAL;\nLAB_0004486e:\n    bVar13 = stab_record_variable(dhandle,(stab_handle *)handle,local_3c,pdVar12,kind_00,value);\njoined_r0x00044fe7:\n    if (bVar13 != 0) {\n      return 1;\n    }\n    return 0;\n  }" { (labeled_statement "LAB_00044c0d:\n    kind_00 = DEBUG_GLOBAL;" statement_identifier : (expression_statement "kind_00 = DEBUG_GLOBAL;" (assignment_expression "kind_00 = DEBUG_GLOBAL" identifier = identifier) ;)) (labeled_statement "LAB_0004486e:\n    bVar13 = stab_record_variable(dhandle,(stab_handle *)handle,local_3c,pdVar12,kind_00,value);" statement_identifier : (expression_statement "bVar13 = stab_record_variable(dhandle,(stab_handle *)handle,local_3c,pdVar12,kind_00,value);" (assignment_expression "bVar13 = stab_record_variable(dhandle,(stab_handle *)handle,local_3c,pdVar12,kind_00,value)" identifier = (call_expression "stab_record_variable(dhandle,(stab_handle *)handle,local_3c,pdVar12,kind_00,value)" identifier (argument_list "(dhandle,(stab_handle *)handle,local_3c,pdVar12,kind_00,value)" ( identifier , (cast_expression "(stab_handle *)handle" ( (type_descriptor "stab_handle *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , identifier , identifier , identifier )))) ;)) (labeled_statement "joined_r0x00044fe7:\n    if (bVar13 != 0) {\n      return 1;\n    }" statement_identifier : (if_statement "if (bVar13 != 0) {\n      return 1;\n    }" if (parenthesized_expression "(bVar13 != 0)" ( (binary_expression "bVar13 != 0" identifier != number_literal) )) (compound_statement "{\n      return 1;\n    }" { (return_statement "return 1;" return number_literal ;) }))) (return_statement "return 0;" return number_literal ;) })) (goto_statement "goto LAB_00044bbc;" goto statement_identifier ;) })))
(translation_unit "uint FUN_000440f0(undefined4 param_1,int *param_2,uint param_3,int param_4,uint param_5,uint param_6\n                 ,byte *param_7)\n\n{\n  uint *puVar1;\n  char cVar2;\n  char cVar3;\n  int iVar4;\n  int *piVar5;\n  byte bVar6;\n  int iVar7;\n  undefined4 *puVar8;\n  size_t sVar9;\n  int iVar10;\n  uint uVar11;\n  char *pcVar12;\n  int *piVar13;\n  int iVar14;\n  long lVar15;\n  undefined4 extraout_ECX;\n  void *__ptr;\n  byte *pbVar16;\n  int *piVar17;\n  byte *pbVar18;\n  uint uVar19;\n  int *piVar20;\n  bool bVar21;\n  bool bVar22;\n  bool bVar23;\n  byte bVar24;\n  longdouble lVar25;\n  undefined8 uVar26;\n  undefined4 uVar27;\n  undefined4 uVar28;\n  char *local_3c;\n  uint local_38;\n  byte *local_24;\n  int *apiStack_20 [3];\n  undefined4 uStack_14;\n  \n  bVar24 = 0;\n  uStack_14 = 0x440f9;\n  __ptr = (void *)param_2[4];\n  if (__ptr != (void *)0x0) {\n    if (((param_3 != 100) || (bVar6 = *param_7, bVar6 == 0)) ||\n       (param_6 != param_2[6] || param_5 != param_2[5])) {\n      iVar7 = FUN_0003c3e0(param_1,__ptr);\n      if (iVar7 == 0) {\n        return 0;\n      }\n      param_2[0xb] = 0;\n      param_2[0xc] = 0;\n      param_2[0xd] = param_2[4];\n      if (param_2[1] == 0) {\n        param_2[7] = param_2[5];\n        param_2[8] = param_2[6];\n      }\n      param_2[0x15] = 1;\n      puVar8 = (undefined4 *)xmalloc(4);\n      param_2[4] = 0;\n      param_2[0x16] = (int)puVar8;\n      *puVar8 = 0;\n      goto LAB_00044203;\n    }\n    if (param_2[0x10] == 0) goto LAB_0004414d;\nLAB_000448f8:\n    uVar11 = param_2[0x11];\n    uVar19 = param_2[0x12];\n    if (((uVar11 & uVar19) == 0xffffffff) ||\n       (param_6 <= uVar19 && (uint)(uVar11 < param_5) <= uVar19 - param_6)) {\nLAB_00044916:\n      uVar19 = param_6;\n      uVar11 = param_5;\n      param_5 = uVar11;\n      param_6 = uVar19;\n    }\n    iVar7 = FUN_0003e2f0();\n    if (iVar7 == 0) {\n      return 0;\n    }\n    iVar7 = FUN_0003c7e0(param_1,uVar11,uVar19);\n    if (iVar7 == 0) {\n      return 0;\n    }\n    param_2[0x10] = 0;\n    param_2[0x11] = -1;\n    param_2[0x12] = -1;\n    bVar6 = *param_7;\nLAB_00044966:\n    if (bVar6 == 0) {\n      return 1;\n    }\n    __ptr = (void *)param_2[4];\nLAB_0004414d:\n    if (__ptr == (void *)0x0) {\n      iVar7 = xstrdup(param_7);\n      param_2[4] = iVar7;\n    }\n    else {\n      if (bVar6 == 0x2f) {\n        iVar7 = xstrdup(param_7);\n        param_2[4] = iVar7;\n      }\n      else {\n        iVar7 = concat(__ptr,param_7,0);\n        param_2[4] = iVar7;\n      }\n      free(__ptr);\n    }\n    param_2[5] = param_5;\n    param_2[6] = param_6;\n    return 1;\n  }\nLAB_00044203:\n  sVar9 = strlen((char *)param_7);\n  if (param_3 == 0x62) {\n    return 1;\n  }\n  if ((int)param_3 < 99) {\n    if (param_3 == 0x24) {\n      if (*param_7 == 0) {\n        if (param_2[0x10] == 0) {\n          return 1;\n        }\n        if (param_2[1] != 0) {\n          bVar21 = CARRY4(param_5,param_2[9]);\n          param_5 = param_5 + param_2[9];\n          param_6 = param_6 + param_2[10] + (uint)bVar21;\n        }\n        iVar7 = FUN_0003e2f0(param_5,param_6);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003c7e0(param_1,param_5,param_6);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        param_2[0x10] = 0;\n        param_2[0x11] = -1;\n        param_2[0x12] = -1;\n        return 1;\n      }\n      if (param_2[0x10] != 0) {\n        uVar11 = param_2[0x12];\n        if (((param_2[0x11] & uVar11) == 0xffffffff) ||\n           (param_6 < uVar11 || param_6 - uVar11 < (uint)(param_5 < (uint)param_2[0x11]))) {\n          param_2[0x11] = param_5;\n          param_2[0x12] = param_6;\n        }\n      }\n    }\n    else if ((int)param_3 < 0x25) {\n      if (param_3 == 0xc) {\n        return 1;\n      }\n      if ((0xb < (int)param_3) && (param_3 - 0x1e < 2)) {\n        return 1;\n      }\n    }\n    else {\n      if (param_3 == 0x38) {\n        return 1;\n      }\n      if ((int)param_3 < 0x39) {\n        if (param_3 == 0x2a) {\n          return 1;\n        }\n      }\n      else {\n        bVar21 = param_3 < 0x3c;\n        bVar23 = param_3 == 0x3c;\n        if (bVar23) {\n          iVar7 = 0xf;\n          pbVar16 = param_7;\n          pbVar18 = (byte *)"gcc2_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar21 = *pbVar16 < *pbVar18;\n            bVar23 = *pbVar16 == *pbVar18;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n          } while (bVar23);\n          bVar22 = false;\n          bVar21 = (!bVar21 && !bVar23) == bVar21;\n          if (bVar21) {\n            param_2[0xb] = 2;\n            return 1;\n          }\n          iVar7 = 0xe;\n          pbVar16 = (byte *)"gcc_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar22 = *param_7 < *pbVar16;\n            bVar21 = *param_7 == *pbVar16;\n            param_7 = param_7 + (uint)bVar24 * -2 + 1;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n          } while (bVar21);\n          if ((!bVar22 && !bVar21) != bVar22) {\n            param_2[0xc] = 1;\n            return 1;\n          }\n          param_2[0xb] = 1;\n          return 1;\n        }\n        if (param_3 == 0x44) {\n          if (param_2[0x10] != 0) {\n            bVar21 = CARRY4(param_5,param_2[9]);\n            param_5 = param_5 + param_2[9];\n            param_6 = param_6 + param_2[10] + (uint)bVar21;\n          }\n          iVar7 = FUN_0003ca10(param_1,param_4,param_5,param_6);\n          goto LAB_0004426d;\n        }\n      }\n    }\nLAB_00044431:\n    local_24 = (byte *)strchr((char *)param_7,0x3a);\n    if (local_24 == (byte *)0x0) {\n      return 1;\n    }\n    bVar24 = local_24[1];\n    if ((bVar24 & 0xdf) != 0x46) goto LAB_000447b5;\n    if (param_2[0x10] != 0) {\n      local_3c = (char *)param_2[0x11];\n      local_38 = param_2[0x12];\n      if ((((uint)local_3c & local_38) == 0xffffffff) ||\n         (param_6 <= local_38 && (uint)(local_3c < param_5) <= local_38 - param_6)) {\n        local_3c = (char *)param_5;\n        local_38 = param_6;\n      }\n      iVar7 = FUN_0003e2f0();\n      if ((iVar7 == 0) || (iVar7 = FUN_0003c7e0(param_1,local_3c,local_38), iVar7 == 0)) {\n        return 0;\n      }\n      param_2[0x11] = -1;\n      param_2[0x12] = -1;\n    }\n    if (param_2[1] != 0) {\n      param_2[9] = param_5;\n      param_2[10] = param_6;\n    }\n    param_2[0x10] = 1;\n    local_24 = (byte *)strchr((char *)param_7,0x3a);\n    if (local_24 == (byte *)0x0) {\n      return 1;\n    }\nLAB_000447b1:\n    bVar24 = local_24[1];\nLAB_000447b5:\n    if (bVar24 == 0x3a) goto LAB_00044790;\n    if (*param_7 != 0x24) goto LAB_000447c7;\n    switch(param_7[1]) {\n    default:\n      dcgettext(0,"unknown C++ encoded name",5);\n      FUN_0003df30();\n    case 0x58:\n    case 0x5f:\n    case 0x76:\nLAB_000447c7:\n      local_3c = (char *)0x0;\n      if ((param_7 != local_24) && ((*param_7 != 0x20 || (local_24 != param_7 + 1)))) {\n        local_3c = (char *)FUN_0003e060();\n      }\n      break;\n    case 0x65:\n      local_3c = "eh_throw";\n      break;\n    case 0x74:\n      local_3c = "this";\n    }\n    param_7 = param_7 + sVar9;\n    pbVar16 = local_24 + 1;\n    bVar24 = local_24[1];\n    if (((PTR__sch_istable_00071fbc[(uint)bVar24 * 2] & 4) != 0) ||\n       (bVar24 == 0x28 || bVar24 == 0x2d)) {\nLAB_0004483d:\n      local_24 = pbVar16;\n      iVar7 = FUN_00040c70(&local_24,0,param_7);\n      if (iVar7 == 0) {\n        return 0;\n      }\n      uVar27 = 4;\n      goto code_r0x0004486e;\n    }\n    if (bVar24 != 0) {\n      pbVar16 = local_24 + 2;\n      bVar24 = local_24[1];\n      if (0x33 < (byte)(bVar24 + 0xbd)) goto LAB_00044e16;\n      iVar7 = (int)&__DT_PLTGOT + *(int *)(&DAT_00057e08 + (uint)(byte)(bVar24 + 0xbd) * 4);\n      switch(bVar24) {\n      case 0x43:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,bVar24);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003ccf0(param_1,local_3c,iVar7,param_5,param_6);\n        goto joined_r0x00044fe7;\n      default:\n        goto LAB_00044e16;\n      case 0x46:\n      case 0x66:\n        local_24 = pbVar16;\n        uVar26 = FUN_00040c70(&local_24,0,param_7,iVar7);\n        uVar27 = (undefined4)((ulonglong)uVar26 >> 0x20);\n        if ((int)uVar26 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003c5a0(param_1,local_3c,(int)uVar26,bVar24 == 0x46,param_5,param_6,uVar27,\n                             uVar27);\n        while( true ) {\n          if (iVar7 == 0) {\n            return 0;\n          }\n          if (*local_24 != 0x3b) break;\n          local_24 = local_24 + 1;\n          iVar7 = FUN_00040c70(&local_24,0,param_7);\n        }\n        return 1;\n      case 0x47:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,iVar7);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) goto code_r0x00044c0d;\n        iVar10 = param_2[3];\n        piVar13 = (int *)param_2[2];\n        cVar3 = *(char *)(*(int *)(*param_2 + 4) + 0x18);\n        if (iVar10 < 1) goto code_r0x00044c0d;\n        cVar2 = *local_3c;\n        goto code_r0x00044bbc;\n      case 0x50:\n        if (param_3 == 0x24) {\n          local_24 = pbVar16;\n          do {\n            if (*local_24 != 0x3b) {\n              return 1;\n            }\n            local_24 = local_24 + 1;\n            iVar7 = FUN_00040c70(&local_24,0,param_7);\n          } while (iVar7 != 0);\n          return 0;\n        }\n      case 0x52:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,iVar7);\njoined_r0x00045010:\n        if (iVar7 == 0) {\n          return 0;\n        }\ncode_r0x00044af0:\n        iVar7 = FUN_0003c6e0(param_1,local_3c,iVar7);\n        goto joined_r0x00044fe7;\n      case 0x53:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 2;\n        goto code_r0x0004486e;\n      case 0x54:\n        pbVar18 = local_24 + 2;\n        if (*pbVar18 == 0x74) {\n          pbVar16 = local_24 + 3;\n        }\n        local_24 = pbVar16;\n        uVar11 = (uint)(*pbVar18 == 0x74);\n        iVar7 = FUN_00040c70(&local_24,apiStack_20,param_7,param_3);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) {\n          return 1;\n        }\n        iVar10 = param_2[0x3a];\n        iVar7 = FUN_0003d680(param_1,local_3c,iVar7,extraout_ECX);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (apiStack_20[0] != (int *)0x0) {\n          *apiStack_20[0] = iVar7;\n        }\n        piVar13 = apiStack_20[0];\n        if (iVar10 != 0) goto code_r0x00044efc;\n        if ((int *)param_2[0x39] == (int *)0x0) goto code_r0x00044efc;\n        cVar3 = *local_3c;\n        piVar17 = param_2 + 0x39;\n        piVar20 = (int *)param_2[0x39];\n        goto code_r0x00044ecc;\n      case 0x56:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 3;\n        goto code_r0x0004486e;\n      case 0x58:\n      case 0x6c:\n      case 0x73:\n        goto LAB_0004483d;\n      case 0x59:\n        pbVar16 = local_24 + 3;\n        if ((local_24[3] == 0x6e) &&\n           (pbVar16 = local_24 + 4, pbVar18 = local_24 + 4, local_24 = pbVar16, *pbVar18 == 0x30)) {\n          for (; *local_24 != 0x3b; local_24 = local_24 + 1) {\n          }\n          return 1;\n        }\nLAB_00044e16:\n        local_24 = pbVar16;\n        FUN_0003dfb0();\n        return 0;\n      case 0x61:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,bVar24);\n        goto joined_r0x00045010;\n      case 99:\n        if (local_24[2] == 0x3d) {\n          pbVar16 = local_24 + 4;\n          bVar24 = local_24[3];\n          local_24 = pbVar16;\n          if (bVar24 == 0x69) {\n            lVar15 = strtol((char *)pbVar16,(char **)0x0,10);\n            iVar7 = FUN_0003cbe0(param_1,local_3c,lVar15,lVar15 >> 0x1f);\n            goto joined_r0x00044fe7;\n          }\n          if (bVar24 == 0x72) {\n            lVar25 = (longdouble)func_0x00013560(pbVar16,0,0x72,0x72);\n            iVar7 = FUN_0003cc30(param_1,local_3c,(double)lVar25);\n            goto joined_r0x00044fe7;\n          }\n          if (bVar24 == 0x65) {\n            iVar7 = FUN_00040c70(&local_24,0,param_7,0x65);\n            if (iVar7 == 0) {\n              return 0;\n            }\n            pbVar16 = local_24;\n            if (*local_24 == 0x2c) {\n              uVar28 = 10;\n              uVar27 = 0;\n              lVar15 = strtol((char *)local_24,(char **)0x0,10);\n              iVar7 = FUN_0003cc70(param_1,local_3c,iVar7,lVar15,lVar15 >> 0x1f,uVar27,uVar28,\n                                   param_3);\n              goto joined_r0x00044fe7;\n            }\n          }\n        }\n        break;\n      case 0x70:\n        if (local_24[2] == 0x46) {\n          local_24 = local_24 + 3;\n          iVar7 = FUN_00040c70(&local_24,0,param_7,local_24);\n          if (iVar7 == 0) {\n            return 0;\n          }\n          uVar27 = FUN_0003d080(param_1,iVar7,0,0);\n          iVar7 = FUN_0003d030(param_1,uVar27);\n        }\n        else {\n          pbVar18 = local_24;\n          local_24 = pbVar16;\n          iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        }\n        goto joined_r0x00044dee;\n      case 0x72:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 5;\n        goto code_r0x0004486e;\n      case 0x74:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,apiStack_20,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) {\n          return 1;\n        }\n        iVar7 = FUN_0003d5a0(param_1,local_3c,iVar7,param_2);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (apiStack_20[0] == (int *)0x0) {\n          return 1;\n        }\n        *apiStack_20[0] = iVar7;\n        return 1;\n      case 0x76:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\njoined_r0x00044dee:\n        if (iVar7 == 0) {\n          return 0;\n        }\n        goto code_r0x00044af0;\n      }\n    }\n    goto LAB_000449d0;\n  }\n  if (param_3 == 0xc0) {\n    if ((param_2[0xc] != 0) && (param_4 == 1)) {\n      return 1;\n    }\n    if (param_2[0x10] == 0) {\n      pcVar12 = (char *)dcgettext(0,"N_LBRAC not within function\n",5);\n      fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar12);\n      return 0;\n    }\n    uVar11 = param_2[9] + param_2[7];\n    iVar7 = FUN_0003c880(param_1,uVar11 + param_5,\n                         param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7]) + param_6 +\n                         (uint)CARRY4(uVar11,param_5));\n    if (iVar7 == 0) {\n      return 0;\n    }\n    iVar7 = FUN_0003e2f0();\n    if (iVar7 == 0) {\n      return 0;\n    }\n    param_2[0x13] = param_2[0x13] + 1;\n    return 1;\n  }\n  if (0xc0 < (int)param_3) {\n    if (param_3 == 0xe0) {\n      if ((param_2[0xc] != 0) && (param_4 == 1)) {\n        return 1;\n      }\n      iVar7 = FUN_0003e2f0();\n      if (iVar7 == 0) {\n        return 0;\n      }\n      uVar11 = param_2[9] + param_2[7];\n      iVar7 = FUN_0003c980(param_1,uVar11 + param_5,\n                           param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7]) + param_6\n                           + (uint)CARRY4(uVar11,param_5));\n      if (iVar7 == 0) {\n        return 0;\n      }\n      param_2 = param_2 + 0x13;\n      *param_2 = *param_2 + -1;\n      if (*param_2 < 0) {\n        pcVar12 = (char *)dcgettext(0,"Too many N_RBRACs\n",5);\n        fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar12);\n        return 0;\n      }\n      return 1;\n    }\n    if ((int)param_3 < 0xe1) {\n      if (param_3 == 0xc2) {\n        iVar7 = param_2[0x15];\n        param_2[0x15] = iVar7 + 1;\n        iVar7 = xrealloc(param_2[0x16],(iVar7 + 1) * 4);\n        puVar8 = (undefined4 *)param_2[0xf];\n        param_2[0x16] = iVar7;\n        while( true ) {\n          if (puVar8 == (undefined4 *)0x0) {\n            dcgettext(0,"Undefined N_EXCL",5);\n            FUN_0003df30();\n            *(undefined4 *)(param_2[0x16] + -4 + param_2[0x15] * 4) = 0;\n            return 1;\n          }\n          if ((puVar8[4] == param_6 && puVar8[3] == param_5) &&\n             (iVar10 = strcmp((char *)puVar8[2],(char *)param_7), iVar10 == 0)) break;\n          puVar8 = (undefined4 *)*puVar8;\n        }\n        *(undefined4 *)(iVar7 + -4 + param_2[0x15] * 4) = puVar8[6];\n        return 1;\n      }\n      goto LAB_00044431;\n    }\n    if (param_3 == 0xe2) {\n      iVar7 = FUN_0003cb60(param_1,param_7);\n    }\n    else {\n      if (param_3 != 0xe4) goto LAB_00044431;\n      iVar7 = FUN_0003cba0(param_1,param_7);\n    }\n    goto LAB_0004426d;\n  }\n  if (param_3 == 0x82) {\n    piVar13 = (int *)xmalloc(0x1c);\n    iVar7 = param_2[0xf];\n    piVar13[4] = param_6;\n    *piVar13 = iVar7;\n    iVar7 = param_2[0xe];\n    piVar13[6] = 0;\n    piVar13[1] = iVar7;\n    param_2[0xf] = (int)piVar13;\n    piVar13[2] = (int)param_7;\n    param_2[0xe] = (int)piVar13;\n    piVar13[3] = param_5;\n    iVar7 = param_2[0x15];\n    piVar13[5] = iVar7;\n    iVar7 = iVar7 + 1;\n    param_2[0x15] = iVar7;\n    iVar10 = xrealloc(param_2[0x16],iVar7 * 4);\n    iVar7 = piVar13[5];\n    param_2[0x16] = iVar10;\n    *(undefined4 *)(iVar10 + iVar7 * 4) = 0;\n  }\n  else {\n    if ((int)param_3 < 0x83) {\n      if (param_3 != 100) goto LAB_00044431;\n      bVar6 = *param_7;\n      if (param_2[0x10] != 0) {\n        if (bVar6 != 0) goto LAB_000448f8;\n        goto LAB_00044916;\n      }\n      goto LAB_00044966;\n    }\n    if (param_3 != 0x84) {\n      if (param_3 != 0xa2) goto LAB_00044431;\n      iVar7 = param_2[0xe];\n      if (iVar7 != 0) {\n        iVar10 = *(int *)(iVar7 + 4);\n        uVar11 = *(uint *)(iVar7 + 0x14);\n        param_2[0xe] = iVar10;\n        if ((uVar11 < (uint)param_2[0x15]) &&\n           (*(undefined4 *)(iVar7 + 0x18) = *(undefined4 *)(param_2[0x16] + uVar11 * 4), iVar10 != 0\n           )) {\n          param_7 = *(byte **)(iVar10 + 8);\n          goto LAB_000445bf;\n        }\n      }\n      param_7 = (byte *)param_2[0xd];\n    }\n  }\nLAB_000445bf:\n  iVar7 = FUN_0003c4a0(param_1,param_7);\nLAB_0004426d:\n  return (uint)(iVar7 != 0);\nLAB_00044790:\n  local_24 = local_24 + 2;\n  local_24 = (byte *)strchr((char *)local_24,0x3a);\n  pbVar16 = local_24;\n  if (local_24 == (byte *)0x0) {\nLAB_000449d0:\n    local_24 = pbVar16;\n    FUN_0003dfb0();\n    return 0;\n  }\n  goto LAB_000447b1;\ncode_r0x00044ecc:\n  piVar13 = (int *)piVar20[1];\n  if (((char)*piVar13 == cVar3) &&\n     (piVar13 = (int *)strcmp((char *)piVar13,local_3c), piVar13 == (int *)0x0)) {\n    piVar13 = (int *)*piVar20;\n    piVar20[3] = iVar7;\n    *piVar17 = (int)piVar13;\n    goto code_r0x00044efc;\n  }\n  piVar5 = (int *)*piVar20;\n  piVar17 = piVar20;\n  piVar20 = piVar5;\n  if (piVar5 == (int *)0x0) {\ncode_r0x00044efc:\n    if (uVar11 == 0) {\n      return 1;\n    }\n    iVar7 = FUN_0003d5a0(param_1,local_3c,iVar7,piVar13);\n    if (iVar7 != 0) {\n      if (apiStack_20[0] == (int *)0x0) {\n        return 1;\n      }\n      *apiStack_20[0] = iVar7;\n      return uVar11;\n    }\n    return 0;\n  }\n  goto code_r0x00044ecc;\ncode_r0x00044bbc:\n  iVar4 = *piVar13;\n  pcVar12 = *(char **)(iVar4 + 4);\n  if (cVar3 != '\0') {\n    pcVar12 = pcVar12 + (cVar3 == *pcVar12);\n  }\n  if ((*pcVar12 == cVar2) && (iVar14 = strcmp(pcVar12,local_3c), iVar14 == 0)) {\n    puVar1 = (uint *)(*(int *)(iVar4 + 0x14) + 0x1c);\n    param_5 = *(uint *)(iVar4 + 8) + *puVar1;\n    param_6 = *(int *)(iVar4 + 0xc) + *(int *)(*(int *)(iVar4 + 0x14) + 0x20) +\n              (uint)CARRY4(*(uint *)(iVar4 + 8),*puVar1);\n    goto code_r0x00044c0d;\n  }\n  piVar13 = piVar13 + 1;\n  iVar10 = iVar10 + -1;\n  if (iVar10 == 0) {\ncode_r0x00044c0d:\n    uVar27 = 1;\ncode_r0x0004486e:\n    iVar7 = FUN_0003e250(iVar7,uVar27,param_5,param_6);\njoined_r0x00044fe7:\n    if (iVar7 != 0) {\n      return 1;\n    }\n    return 0;\n  }\n  goto code_r0x00044bbc;\n}\n\n" (function_definition "uint FUN_000440f0(undefined4 param_1,int *param_2,uint param_3,int param_4,uint param_5,uint param_6\n                 ,byte *param_7)\n\n{\n  uint *puVar1;\n  char cVar2;\n  char cVar3;\n  int iVar4;\n  int *piVar5;\n  byte bVar6;\n  int iVar7;\n  undefined4 *puVar8;\n  size_t sVar9;\n  int iVar10;\n  uint uVar11;\n  char *pcVar12;\n  int *piVar13;\n  int iVar14;\n  long lVar15;\n  undefined4 extraout_ECX;\n  void *__ptr;\n  byte *pbVar16;\n  int *piVar17;\n  byte *pbVar18;\n  uint uVar19;\n  int *piVar20;\n  bool bVar21;\n  bool bVar22;\n  bool bVar23;\n  byte bVar24;\n  longdouble lVar25;\n  undefined8 uVar26;\n  undefined4 uVar27;\n  undefined4 uVar28;\n  char *local_3c;\n  uint local_38;\n  byte *local_24;\n  int *apiStack_20 [3];\n  undefined4 uStack_14;\n  \n  bVar24 = 0;\n  uStack_14 = 0x440f9;\n  __ptr = (void *)param_2[4];\n  if (__ptr != (void *)0x0) {\n    if (((param_3 != 100) || (bVar6 = *param_7, bVar6 == 0)) ||\n       (param_6 != param_2[6] || param_5 != param_2[5])) {\n      iVar7 = FUN_0003c3e0(param_1,__ptr);\n      if (iVar7 == 0) {\n        return 0;\n      }\n      param_2[0xb] = 0;\n      param_2[0xc] = 0;\n      param_2[0xd] = param_2[4];\n      if (param_2[1] == 0) {\n        param_2[7] = param_2[5];\n        param_2[8] = param_2[6];\n      }\n      param_2[0x15] = 1;\n      puVar8 = (undefined4 *)xmalloc(4);\n      param_2[4] = 0;\n      param_2[0x16] = (int)puVar8;\n      *puVar8 = 0;\n      goto LAB_00044203;\n    }\n    if (param_2[0x10] == 0) goto LAB_0004414d;\nLAB_000448f8:\n    uVar11 = param_2[0x11];\n    uVar19 = param_2[0x12];\n    if (((uVar11 & uVar19) == 0xffffffff) ||\n       (param_6 <= uVar19 && (uint)(uVar11 < param_5) <= uVar19 - param_6)) {\nLAB_00044916:\n      uVar19 = param_6;\n      uVar11 = param_5;\n      param_5 = uVar11;\n      param_6 = uVar19;\n    }\n    iVar7 = FUN_0003e2f0();\n    if (iVar7 == 0) {\n      return 0;\n    }\n    iVar7 = FUN_0003c7e0(param_1,uVar11,uVar19);\n    if (iVar7 == 0) {\n      return 0;\n    }\n    param_2[0x10] = 0;\n    param_2[0x11] = -1;\n    param_2[0x12] = -1;\n    bVar6 = *param_7;\nLAB_00044966:\n    if (bVar6 == 0) {\n      return 1;\n    }\n    __ptr = (void *)param_2[4];\nLAB_0004414d:\n    if (__ptr == (void *)0x0) {\n      iVar7 = xstrdup(param_7);\n      param_2[4] = iVar7;\n    }\n    else {\n      if (bVar6 == 0x2f) {\n        iVar7 = xstrdup(param_7);\n        param_2[4] = iVar7;\n      }\n      else {\n        iVar7 = concat(__ptr,param_7,0);\n        param_2[4] = iVar7;\n      }\n      free(__ptr);\n    }\n    param_2[5] = param_5;\n    param_2[6] = param_6;\n    return 1;\n  }\nLAB_00044203:\n  sVar9 = strlen((char *)param_7);\n  if (param_3 == 0x62) {\n    return 1;\n  }\n  if ((int)param_3 < 99) {\n    if (param_3 == 0x24) {\n      if (*param_7 == 0) {\n        if (param_2[0x10] == 0) {\n          return 1;\n        }\n        if (param_2[1] != 0) {\n          bVar21 = CARRY4(param_5,param_2[9]);\n          param_5 = param_5 + param_2[9];\n          param_6 = param_6 + param_2[10] + (uint)bVar21;\n        }\n        iVar7 = FUN_0003e2f0(param_5,param_6);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003c7e0(param_1,param_5,param_6);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        param_2[0x10] = 0;\n        param_2[0x11] = -1;\n        param_2[0x12] = -1;\n        return 1;\n      }\n      if (param_2[0x10] != 0) {\n        uVar11 = param_2[0x12];\n        if (((param_2[0x11] & uVar11) == 0xffffffff) ||\n           (param_6 < uVar11 || param_6 - uVar11 < (uint)(param_5 < (uint)param_2[0x11]))) {\n          param_2[0x11] = param_5;\n          param_2[0x12] = param_6;\n        }\n      }\n    }\n    else if ((int)param_3 < 0x25) {\n      if (param_3 == 0xc) {\n        return 1;\n      }\n      if ((0xb < (int)param_3) && (param_3 - 0x1e < 2)) {\n        return 1;\n      }\n    }\n    else {\n      if (param_3 == 0x38) {\n        return 1;\n      }\n      if ((int)param_3 < 0x39) {\n        if (param_3 == 0x2a) {\n          return 1;\n        }\n      }\n      else {\n        bVar21 = param_3 < 0x3c;\n        bVar23 = param_3 == 0x3c;\n        if (bVar23) {\n          iVar7 = 0xf;\n          pbVar16 = param_7;\n          pbVar18 = (byte *)"gcc2_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar21 = *pbVar16 < *pbVar18;\n            bVar23 = *pbVar16 == *pbVar18;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n          } while (bVar23);\n          bVar22 = false;\n          bVar21 = (!bVar21 && !bVar23) == bVar21;\n          if (bVar21) {\n            param_2[0xb] = 2;\n            return 1;\n          }\n          iVar7 = 0xe;\n          pbVar16 = (byte *)"gcc_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar22 = *param_7 < *pbVar16;\n            bVar21 = *param_7 == *pbVar16;\n            param_7 = param_7 + (uint)bVar24 * -2 + 1;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n          } while (bVar21);\n          if ((!bVar22 && !bVar21) != bVar22) {\n            param_2[0xc] = 1;\n            return 1;\n          }\n          param_2[0xb] = 1;\n          return 1;\n        }\n        if (param_3 == 0x44) {\n          if (param_2[0x10] != 0) {\n            bVar21 = CARRY4(param_5,param_2[9]);\n            param_5 = param_5 + param_2[9];\n            param_6 = param_6 + param_2[10] + (uint)bVar21;\n          }\n          iVar7 = FUN_0003ca10(param_1,param_4,param_5,param_6);\n          goto LAB_0004426d;\n        }\n      }\n    }\nLAB_00044431:\n    local_24 = (byte *)strchr((char *)param_7,0x3a);\n    if (local_24 == (byte *)0x0) {\n      return 1;\n    }\n    bVar24 = local_24[1];\n    if ((bVar24 & 0xdf) != 0x46) goto LAB_000447b5;\n    if (param_2[0x10] != 0) {\n      local_3c = (char *)param_2[0x11];\n      local_38 = param_2[0x12];\n      if ((((uint)local_3c & local_38) == 0xffffffff) ||\n         (param_6 <= local_38 && (uint)(local_3c < param_5) <= local_38 - param_6)) {\n        local_3c = (char *)param_5;\n        local_38 = param_6;\n      }\n      iVar7 = FUN_0003e2f0();\n      if ((iVar7 == 0) || (iVar7 = FUN_0003c7e0(param_1,local_3c,local_38), iVar7 == 0)) {\n        return 0;\n      }\n      param_2[0x11] = -1;\n      param_2[0x12] = -1;\n    }\n    if (param_2[1] != 0) {\n      param_2[9] = param_5;\n      param_2[10] = param_6;\n    }\n    param_2[0x10] = 1;\n    local_24 = (byte *)strchr((char *)param_7,0x3a);\n    if (local_24 == (byte *)0x0) {\n      return 1;\n    }\nLAB_000447b1:\n    bVar24 = local_24[1];\nLAB_000447b5:\n    if (bVar24 == 0x3a) goto LAB_00044790;\n    if (*param_7 != 0x24) goto LAB_000447c7;\n    switch(param_7[1]) {\n    default:\n      dcgettext(0,"unknown C++ encoded name",5);\n      FUN_0003df30();\n    case 0x58:\n    case 0x5f:\n    case 0x76:\nLAB_000447c7:\n      local_3c = (char *)0x0;\n      if ((param_7 != local_24) && ((*param_7 != 0x20 || (local_24 != param_7 + 1)))) {\n        local_3c = (char *)FUN_0003e060();\n      }\n      break;\n    case 0x65:\n      local_3c = "eh_throw";\n      break;\n    case 0x74:\n      local_3c = "this";\n    }\n    param_7 = param_7 + sVar9;\n    pbVar16 = local_24 + 1;\n    bVar24 = local_24[1];\n    if (((PTR__sch_istable_00071fbc[(uint)bVar24 * 2] & 4) != 0) ||\n       (bVar24 == 0x28 || bVar24 == 0x2d)) {\nLAB_0004483d:\n      local_24 = pbVar16;\n      iVar7 = FUN_00040c70(&local_24,0,param_7);\n      if (iVar7 == 0) {\n        return 0;\n      }\n      uVar27 = 4;\n      goto code_r0x0004486e;\n    }\n    if (bVar24 != 0) {\n      pbVar16 = local_24 + 2;\n      bVar24 = local_24[1];\n      if (0x33 < (byte)(bVar24 + 0xbd)) goto LAB_00044e16;\n      iVar7 = (int)&__DT_PLTGOT + *(int *)(&DAT_00057e08 + (uint)(byte)(bVar24 + 0xbd) * 4);\n      switch(bVar24) {\n      case 0x43:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,bVar24);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003ccf0(param_1,local_3c,iVar7,param_5,param_6);\n        goto joined_r0x00044fe7;\n      default:\n        goto LAB_00044e16;\n      case 0x46:\n      case 0x66:\n        local_24 = pbVar16;\n        uVar26 = FUN_00040c70(&local_24,0,param_7,iVar7);\n        uVar27 = (undefined4)((ulonglong)uVar26 >> 0x20);\n        if ((int)uVar26 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003c5a0(param_1,local_3c,(int)uVar26,bVar24 == 0x46,param_5,param_6,uVar27,\n                             uVar27);\n        while( true ) {\n          if (iVar7 == 0) {\n            return 0;\n          }\n          if (*local_24 != 0x3b) break;\n          local_24 = local_24 + 1;\n          iVar7 = FUN_00040c70(&local_24,0,param_7);\n        }\n        return 1;\n      case 0x47:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,iVar7);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) goto code_r0x00044c0d;\n        iVar10 = param_2[3];\n        piVar13 = (int *)param_2[2];\n        cVar3 = *(char *)(*(int *)(*param_2 + 4) + 0x18);\n        if (iVar10 < 1) goto code_r0x00044c0d;\n        cVar2 = *local_3c;\n        goto code_r0x00044bbc;\n      case 0x50:\n        if (param_3 == 0x24) {\n          local_24 = pbVar16;\n          do {\n            if (*local_24 != 0x3b) {\n              return 1;\n            }\n            local_24 = local_24 + 1;\n            iVar7 = FUN_00040c70(&local_24,0,param_7);\n          } while (iVar7 != 0);\n          return 0;\n        }\n      case 0x52:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,iVar7);\njoined_r0x00045010:\n        if (iVar7 == 0) {\n          return 0;\n        }\ncode_r0x00044af0:\n        iVar7 = FUN_0003c6e0(param_1,local_3c,iVar7);\n        goto joined_r0x00044fe7;\n      case 0x53:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 2;\n        goto code_r0x0004486e;\n      case 0x54:\n        pbVar18 = local_24 + 2;\n        if (*pbVar18 == 0x74) {\n          pbVar16 = local_24 + 3;\n        }\n        local_24 = pbVar16;\n        uVar11 = (uint)(*pbVar18 == 0x74);\n        iVar7 = FUN_00040c70(&local_24,apiStack_20,param_7,param_3);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) {\n          return 1;\n        }\n        iVar10 = param_2[0x3a];\n        iVar7 = FUN_0003d680(param_1,local_3c,iVar7,extraout_ECX);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (apiStack_20[0] != (int *)0x0) {\n          *apiStack_20[0] = iVar7;\n        }\n        piVar13 = apiStack_20[0];\n        if (iVar10 != 0) goto code_r0x00044efc;\n        if ((int *)param_2[0x39] == (int *)0x0) goto code_r0x00044efc;\n        cVar3 = *local_3c;\n        piVar17 = param_2 + 0x39;\n        piVar20 = (int *)param_2[0x39];\n        goto code_r0x00044ecc;\n      case 0x56:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 3;\n        goto code_r0x0004486e;\n      case 0x58:\n      case 0x6c:\n      case 0x73:\n        goto LAB_0004483d;\n      case 0x59:\n        pbVar16 = local_24 + 3;\n        if ((local_24[3] == 0x6e) &&\n           (pbVar16 = local_24 + 4, pbVar18 = local_24 + 4, local_24 = pbVar16, *pbVar18 == 0x30)) {\n          for (; *local_24 != 0x3b; local_24 = local_24 + 1) {\n          }\n          return 1;\n        }\nLAB_00044e16:\n        local_24 = pbVar16;\n        FUN_0003dfb0();\n        return 0;\n      case 0x61:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,bVar24);\n        goto joined_r0x00045010;\n      case 99:\n        if (local_24[2] == 0x3d) {\n          pbVar16 = local_24 + 4;\n          bVar24 = local_24[3];\n          local_24 = pbVar16;\n          if (bVar24 == 0x69) {\n            lVar15 = strtol((char *)pbVar16,(char **)0x0,10);\n            iVar7 = FUN_0003cbe0(param_1,local_3c,lVar15,lVar15 >> 0x1f);\n            goto joined_r0x00044fe7;\n          }\n          if (bVar24 == 0x72) {\n            lVar25 = (longdouble)func_0x00013560(pbVar16,0,0x72,0x72);\n            iVar7 = FUN_0003cc30(param_1,local_3c,(double)lVar25);\n            goto joined_r0x00044fe7;\n          }\n          if (bVar24 == 0x65) {\n            iVar7 = FUN_00040c70(&local_24,0,param_7,0x65);\n            if (iVar7 == 0) {\n              return 0;\n            }\n            pbVar16 = local_24;\n            if (*local_24 == 0x2c) {\n              uVar28 = 10;\n              uVar27 = 0;\n              lVar15 = strtol((char *)local_24,(char **)0x0,10);\n              iVar7 = FUN_0003cc70(param_1,local_3c,iVar7,lVar15,lVar15 >> 0x1f,uVar27,uVar28,\n                                   param_3);\n              goto joined_r0x00044fe7;\n            }\n          }\n        }\n        break;\n      case 0x70:\n        if (local_24[2] == 0x46) {\n          local_24 = local_24 + 3;\n          iVar7 = FUN_00040c70(&local_24,0,param_7,local_24);\n          if (iVar7 == 0) {\n            return 0;\n          }\n          uVar27 = FUN_0003d080(param_1,iVar7,0,0);\n          iVar7 = FUN_0003d030(param_1,uVar27);\n        }\n        else {\n          pbVar18 = local_24;\n          local_24 = pbVar16;\n          iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        }\n        goto joined_r0x00044dee;\n      case 0x72:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 5;\n        goto code_r0x0004486e;\n      case 0x74:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,apiStack_20,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) {\n          return 1;\n        }\n        iVar7 = FUN_0003d5a0(param_1,local_3c,iVar7,param_2);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (apiStack_20[0] == (int *)0x0) {\n          return 1;\n        }\n        *apiStack_20[0] = iVar7;\n        return 1;\n      case 0x76:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\njoined_r0x00044dee:\n        if (iVar7 == 0) {\n          return 0;\n        }\n        goto code_r0x00044af0;\n      }\n    }\n    goto LAB_000449d0;\n  }\n  if (param_3 == 0xc0) {\n    if ((param_2[0xc] != 0) && (param_4 == 1)) {\n      return 1;\n    }\n    if (param_2[0x10] == 0) {\n      pcVar12 = (char *)dcgettext(0,"N_LBRAC not within function\n",5);\n      fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar12);\n      return 0;\n    }\n    uVar11 = param_2[9] + param_2[7];\n    iVar7 = FUN_0003c880(param_1,uVar11 + param_5,\n                         param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7]) + param_6 +\n                         (uint)CARRY4(uVar11,param_5));\n    if (iVar7 == 0) {\n      return 0;\n    }\n    iVar7 = FUN_0003e2f0();\n    if (iVar7 == 0) {\n      return 0;\n    }\n    param_2[0x13] = param_2[0x13] + 1;\n    return 1;\n  }\n  if (0xc0 < (int)param_3) {\n    if (param_3 == 0xe0) {\n      if ((param_2[0xc] != 0) && (param_4 == 1)) {\n        return 1;\n      }\n      iVar7 = FUN_0003e2f0();\n      if (iVar7 == 0) {\n        return 0;\n      }\n      uVar11 = param_2[9] + param_2[7];\n      iVar7 = FUN_0003c980(param_1,uVar11 + param_5,\n                           param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7]) + param_6\n                           + (uint)CARRY4(uVar11,param_5));\n      if (iVar7 == 0) {\n        return 0;\n      }\n      param_2 = param_2 + 0x13;\n      *param_2 = *param_2 + -1;\n      if (*param_2 < 0) {\n        pcVar12 = (char *)dcgettext(0,"Too many N_RBRACs\n",5);\n        fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar12);\n        return 0;\n      }\n      return 1;\n    }\n    if ((int)param_3 < 0xe1) {\n      if (param_3 == 0xc2) {\n        iVar7 = param_2[0x15];\n        param_2[0x15] = iVar7 + 1;\n        iVar7 = xrealloc(param_2[0x16],(iVar7 + 1) * 4);\n        puVar8 = (undefined4 *)param_2[0xf];\n        param_2[0x16] = iVar7;\n        while( true ) {\n          if (puVar8 == (undefined4 *)0x0) {\n            dcgettext(0,"Undefined N_EXCL",5);\n            FUN_0003df30();\n            *(undefined4 *)(param_2[0x16] + -4 + param_2[0x15] * 4) = 0;\n            return 1;\n          }\n          if ((puVar8[4] == param_6 && puVar8[3] == param_5) &&\n             (iVar10 = strcmp((char *)puVar8[2],(char *)param_7), iVar10 == 0)) break;\n          puVar8 = (undefined4 *)*puVar8;\n        }\n        *(undefined4 *)(iVar7 + -4 + param_2[0x15] * 4) = puVar8[6];\n        return 1;\n      }\n      goto LAB_00044431;\n    }\n    if (param_3 == 0xe2) {\n      iVar7 = FUN_0003cb60(param_1,param_7);\n    }\n    else {\n      if (param_3 != 0xe4) goto LAB_00044431;\n      iVar7 = FUN_0003cba0(param_1,param_7);\n    }\n    goto LAB_0004426d;\n  }\n  if (param_3 == 0x82) {\n    piVar13 = (int *)xmalloc(0x1c);\n    iVar7 = param_2[0xf];\n    piVar13[4] = param_6;\n    *piVar13 = iVar7;\n    iVar7 = param_2[0xe];\n    piVar13[6] = 0;\n    piVar13[1] = iVar7;\n    param_2[0xf] = (int)piVar13;\n    piVar13[2] = (int)param_7;\n    param_2[0xe] = (int)piVar13;\n    piVar13[3] = param_5;\n    iVar7 = param_2[0x15];\n    piVar13[5] = iVar7;\n    iVar7 = iVar7 + 1;\n    param_2[0x15] = iVar7;\n    iVar10 = xrealloc(param_2[0x16],iVar7 * 4);\n    iVar7 = piVar13[5];\n    param_2[0x16] = iVar10;\n    *(undefined4 *)(iVar10 + iVar7 * 4) = 0;\n  }\n  else {\n    if ((int)param_3 < 0x83) {\n      if (param_3 != 100) goto LAB_00044431;\n      bVar6 = *param_7;\n      if (param_2[0x10] != 0) {\n        if (bVar6 != 0) goto LAB_000448f8;\n        goto LAB_00044916;\n      }\n      goto LAB_00044966;\n    }\n    if (param_3 != 0x84) {\n      if (param_3 != 0xa2) goto LAB_00044431;\n      iVar7 = param_2[0xe];\n      if (iVar7 != 0) {\n        iVar10 = *(int *)(iVar7 + 4);\n        uVar11 = *(uint *)(iVar7 + 0x14);\n        param_2[0xe] = iVar10;\n        if ((uVar11 < (uint)param_2[0x15]) &&\n           (*(undefined4 *)(iVar7 + 0x18) = *(undefined4 *)(param_2[0x16] + uVar11 * 4), iVar10 != 0\n           )) {\n          param_7 = *(byte **)(iVar10 + 8);\n          goto LAB_000445bf;\n        }\n      }\n      param_7 = (byte *)param_2[0xd];\n    }\n  }\nLAB_000445bf:\n  iVar7 = FUN_0003c4a0(param_1,param_7);\nLAB_0004426d:\n  return (uint)(iVar7 != 0);\nLAB_00044790:\n  local_24 = local_24 + 2;\n  local_24 = (byte *)strchr((char *)local_24,0x3a);\n  pbVar16 = local_24;\n  if (local_24 == (byte *)0x0) {\nLAB_000449d0:\n    local_24 = pbVar16;\n    FUN_0003dfb0();\n    return 0;\n  }\n  goto LAB_000447b1;\ncode_r0x00044ecc:\n  piVar13 = (int *)piVar20[1];\n  if (((char)*piVar13 == cVar3) &&\n     (piVar13 = (int *)strcmp((char *)piVar13,local_3c), piVar13 == (int *)0x0)) {\n    piVar13 = (int *)*piVar20;\n    piVar20[3] = iVar7;\n    *piVar17 = (int)piVar13;\n    goto code_r0x00044efc;\n  }\n  piVar5 = (int *)*piVar20;\n  piVar17 = piVar20;\n  piVar20 = piVar5;\n  if (piVar5 == (int *)0x0) {\ncode_r0x00044efc:\n    if (uVar11 == 0) {\n      return 1;\n    }\n    iVar7 = FUN_0003d5a0(param_1,local_3c,iVar7,piVar13);\n    if (iVar7 != 0) {\n      if (apiStack_20[0] == (int *)0x0) {\n        return 1;\n      }\n      *apiStack_20[0] = iVar7;\n      return uVar11;\n    }\n    return 0;\n  }\n  goto code_r0x00044ecc;\ncode_r0x00044bbc:\n  iVar4 = *piVar13;\n  pcVar12 = *(char **)(iVar4 + 4);\n  if (cVar3 != '\0') {\n    pcVar12 = pcVar12 + (cVar3 == *pcVar12);\n  }\n  if ((*pcVar12 == cVar2) && (iVar14 = strcmp(pcVar12,local_3c), iVar14 == 0)) {\n    puVar1 = (uint *)(*(int *)(iVar4 + 0x14) + 0x1c);\n    param_5 = *(uint *)(iVar4 + 8) + *puVar1;\n    param_6 = *(int *)(iVar4 + 0xc) + *(int *)(*(int *)(iVar4 + 0x14) + 0x20) +\n              (uint)CARRY4(*(uint *)(iVar4 + 8),*puVar1);\n    goto code_r0x00044c0d;\n  }\n  piVar13 = piVar13 + 1;\n  iVar10 = iVar10 + -1;\n  if (iVar10 == 0) {\ncode_r0x00044c0d:\n    uVar27 = 1;\ncode_r0x0004486e:\n    iVar7 = FUN_0003e250(iVar7,uVar27,param_5,param_6);\njoined_r0x00044fe7:\n    if (iVar7 != 0) {\n      return 1;\n    }\n    return 0;\n  }\n  goto code_r0x00044bbc;\n}" type_identifier (function_declarator "FUN_000440f0(undefined4 param_1,int *param_2,uint param_3,int param_4,uint param_5,uint param_6\n                 ,byte *param_7)" identifier (parameter_list "(undefined4 param_1,int *param_2,uint param_3,int param_4,uint param_5,uint param_6\n                 ,byte *param_7)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "int *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "uint param_3" type_identifier identifier) , (parameter_declaration "int param_4" primitive_type identifier) , (parameter_declaration "uint param_5" type_identifier identifier) , (parameter_declaration "uint param_6" type_identifier identifier) , (parameter_declaration "byte *param_7" type_identifier (pointer_declarator "*param_7" * identifier)) ))) (compound_statement "{\n  uint *puVar1;\n  char cVar2;\n  char cVar3;\n  int iVar4;\n  int *piVar5;\n  byte bVar6;\n  int iVar7;\n  undefined4 *puVar8;\n  size_t sVar9;\n  int iVar10;\n  uint uVar11;\n  char *pcVar12;\n  int *piVar13;\n  int iVar14;\n  long lVar15;\n  undefined4 extraout_ECX;\n  void *__ptr;\n  byte *pbVar16;\n  int *piVar17;\n  byte *pbVar18;\n  uint uVar19;\n  int *piVar20;\n  bool bVar21;\n  bool bVar22;\n  bool bVar23;\n  byte bVar24;\n  longdouble lVar25;\n  undefined8 uVar26;\n  undefined4 uVar27;\n  undefined4 uVar28;\n  char *local_3c;\n  uint local_38;\n  byte *local_24;\n  int *apiStack_20 [3];\n  undefined4 uStack_14;\n  \n  bVar24 = 0;\n  uStack_14 = 0x440f9;\n  __ptr = (void *)param_2[4];\n  if (__ptr != (void *)0x0) {\n    if (((param_3 != 100) || (bVar6 = *param_7, bVar6 == 0)) ||\n       (param_6 != param_2[6] || param_5 != param_2[5])) {\n      iVar7 = FUN_0003c3e0(param_1,__ptr);\n      if (iVar7 == 0) {\n        return 0;\n      }\n      param_2[0xb] = 0;\n      param_2[0xc] = 0;\n      param_2[0xd] = param_2[4];\n      if (param_2[1] == 0) {\n        param_2[7] = param_2[5];\n        param_2[8] = param_2[6];\n      }\n      param_2[0x15] = 1;\n      puVar8 = (undefined4 *)xmalloc(4);\n      param_2[4] = 0;\n      param_2[0x16] = (int)puVar8;\n      *puVar8 = 0;\n      goto LAB_00044203;\n    }\n    if (param_2[0x10] == 0) goto LAB_0004414d;\nLAB_000448f8:\n    uVar11 = param_2[0x11];\n    uVar19 = param_2[0x12];\n    if (((uVar11 & uVar19) == 0xffffffff) ||\n       (param_6 <= uVar19 && (uint)(uVar11 < param_5) <= uVar19 - param_6)) {\nLAB_00044916:\n      uVar19 = param_6;\n      uVar11 = param_5;\n      param_5 = uVar11;\n      param_6 = uVar19;\n    }\n    iVar7 = FUN_0003e2f0();\n    if (iVar7 == 0) {\n      return 0;\n    }\n    iVar7 = FUN_0003c7e0(param_1,uVar11,uVar19);\n    if (iVar7 == 0) {\n      return 0;\n    }\n    param_2[0x10] = 0;\n    param_2[0x11] = -1;\n    param_2[0x12] = -1;\n    bVar6 = *param_7;\nLAB_00044966:\n    if (bVar6 == 0) {\n      return 1;\n    }\n    __ptr = (void *)param_2[4];\nLAB_0004414d:\n    if (__ptr == (void *)0x0) {\n      iVar7 = xstrdup(param_7);\n      param_2[4] = iVar7;\n    }\n    else {\n      if (bVar6 == 0x2f) {\n        iVar7 = xstrdup(param_7);\n        param_2[4] = iVar7;\n      }\n      else {\n        iVar7 = concat(__ptr,param_7,0);\n        param_2[4] = iVar7;\n      }\n      free(__ptr);\n    }\n    param_2[5] = param_5;\n    param_2[6] = param_6;\n    return 1;\n  }\nLAB_00044203:\n  sVar9 = strlen((char *)param_7);\n  if (param_3 == 0x62) {\n    return 1;\n  }\n  if ((int)param_3 < 99) {\n    if (param_3 == 0x24) {\n      if (*param_7 == 0) {\n        if (param_2[0x10] == 0) {\n          return 1;\n        }\n        if (param_2[1] != 0) {\n          bVar21 = CARRY4(param_5,param_2[9]);\n          param_5 = param_5 + param_2[9];\n          param_6 = param_6 + param_2[10] + (uint)bVar21;\n        }\n        iVar7 = FUN_0003e2f0(param_5,param_6);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003c7e0(param_1,param_5,param_6);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        param_2[0x10] = 0;\n        param_2[0x11] = -1;\n        param_2[0x12] = -1;\n        return 1;\n      }\n      if (param_2[0x10] != 0) {\n        uVar11 = param_2[0x12];\n        if (((param_2[0x11] & uVar11) == 0xffffffff) ||\n           (param_6 < uVar11 || param_6 - uVar11 < (uint)(param_5 < (uint)param_2[0x11]))) {\n          param_2[0x11] = param_5;\n          param_2[0x12] = param_6;\n        }\n      }\n    }\n    else if ((int)param_3 < 0x25) {\n      if (param_3 == 0xc) {\n        return 1;\n      }\n      if ((0xb < (int)param_3) && (param_3 - 0x1e < 2)) {\n        return 1;\n      }\n    }\n    else {\n      if (param_3 == 0x38) {\n        return 1;\n      }\n      if ((int)param_3 < 0x39) {\n        if (param_3 == 0x2a) {\n          return 1;\n        }\n      }\n      else {\n        bVar21 = param_3 < 0x3c;\n        bVar23 = param_3 == 0x3c;\n        if (bVar23) {\n          iVar7 = 0xf;\n          pbVar16 = param_7;\n          pbVar18 = (byte *)"gcc2_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar21 = *pbVar16 < *pbVar18;\n            bVar23 = *pbVar16 == *pbVar18;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n          } while (bVar23);\n          bVar22 = false;\n          bVar21 = (!bVar21 && !bVar23) == bVar21;\n          if (bVar21) {\n            param_2[0xb] = 2;\n            return 1;\n          }\n          iVar7 = 0xe;\n          pbVar16 = (byte *)"gcc_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar22 = *param_7 < *pbVar16;\n            bVar21 = *param_7 == *pbVar16;\n            param_7 = param_7 + (uint)bVar24 * -2 + 1;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n          } while (bVar21);\n          if ((!bVar22 && !bVar21) != bVar22) {\n            param_2[0xc] = 1;\n            return 1;\n          }\n          param_2[0xb] = 1;\n          return 1;\n        }\n        if (param_3 == 0x44) {\n          if (param_2[0x10] != 0) {\n            bVar21 = CARRY4(param_5,param_2[9]);\n            param_5 = param_5 + param_2[9];\n            param_6 = param_6 + param_2[10] + (uint)bVar21;\n          }\n          iVar7 = FUN_0003ca10(param_1,param_4,param_5,param_6);\n          goto LAB_0004426d;\n        }\n      }\n    }\nLAB_00044431:\n    local_24 = (byte *)strchr((char *)param_7,0x3a);\n    if (local_24 == (byte *)0x0) {\n      return 1;\n    }\n    bVar24 = local_24[1];\n    if ((bVar24 & 0xdf) != 0x46) goto LAB_000447b5;\n    if (param_2[0x10] != 0) {\n      local_3c = (char *)param_2[0x11];\n      local_38 = param_2[0x12];\n      if ((((uint)local_3c & local_38) == 0xffffffff) ||\n         (param_6 <= local_38 && (uint)(local_3c < param_5) <= local_38 - param_6)) {\n        local_3c = (char *)param_5;\n        local_38 = param_6;\n      }\n      iVar7 = FUN_0003e2f0();\n      if ((iVar7 == 0) || (iVar7 = FUN_0003c7e0(param_1,local_3c,local_38), iVar7 == 0)) {\n        return 0;\n      }\n      param_2[0x11] = -1;\n      param_2[0x12] = -1;\n    }\n    if (param_2[1] != 0) {\n      param_2[9] = param_5;\n      param_2[10] = param_6;\n    }\n    param_2[0x10] = 1;\n    local_24 = (byte *)strchr((char *)param_7,0x3a);\n    if (local_24 == (byte *)0x0) {\n      return 1;\n    }\nLAB_000447b1:\n    bVar24 = local_24[1];\nLAB_000447b5:\n    if (bVar24 == 0x3a) goto LAB_00044790;\n    if (*param_7 != 0x24) goto LAB_000447c7;\n    switch(param_7[1]) {\n    default:\n      dcgettext(0,"unknown C++ encoded name",5);\n      FUN_0003df30();\n    case 0x58:\n    case 0x5f:\n    case 0x76:\nLAB_000447c7:\n      local_3c = (char *)0x0;\n      if ((param_7 != local_24) && ((*param_7 != 0x20 || (local_24 != param_7 + 1)))) {\n        local_3c = (char *)FUN_0003e060();\n      }\n      break;\n    case 0x65:\n      local_3c = "eh_throw";\n      break;\n    case 0x74:\n      local_3c = "this";\n    }\n    param_7 = param_7 + sVar9;\n    pbVar16 = local_24 + 1;\n    bVar24 = local_24[1];\n    if (((PTR__sch_istable_00071fbc[(uint)bVar24 * 2] & 4) != 0) ||\n       (bVar24 == 0x28 || bVar24 == 0x2d)) {\nLAB_0004483d:\n      local_24 = pbVar16;\n      iVar7 = FUN_00040c70(&local_24,0,param_7);\n      if (iVar7 == 0) {\n        return 0;\n      }\n      uVar27 = 4;\n      goto code_r0x0004486e;\n    }\n    if (bVar24 != 0) {\n      pbVar16 = local_24 + 2;\n      bVar24 = local_24[1];\n      if (0x33 < (byte)(bVar24 + 0xbd)) goto LAB_00044e16;\n      iVar7 = (int)&__DT_PLTGOT + *(int *)(&DAT_00057e08 + (uint)(byte)(bVar24 + 0xbd) * 4);\n      switch(bVar24) {\n      case 0x43:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,bVar24);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003ccf0(param_1,local_3c,iVar7,param_5,param_6);\n        goto joined_r0x00044fe7;\n      default:\n        goto LAB_00044e16;\n      case 0x46:\n      case 0x66:\n        local_24 = pbVar16;\n        uVar26 = FUN_00040c70(&local_24,0,param_7,iVar7);\n        uVar27 = (undefined4)((ulonglong)uVar26 >> 0x20);\n        if ((int)uVar26 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003c5a0(param_1,local_3c,(int)uVar26,bVar24 == 0x46,param_5,param_6,uVar27,\n                             uVar27);\n        while( true ) {\n          if (iVar7 == 0) {\n            return 0;\n          }\n          if (*local_24 != 0x3b) break;\n          local_24 = local_24 + 1;\n          iVar7 = FUN_00040c70(&local_24,0,param_7);\n        }\n        return 1;\n      case 0x47:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,iVar7);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) goto code_r0x00044c0d;\n        iVar10 = param_2[3];\n        piVar13 = (int *)param_2[2];\n        cVar3 = *(char *)(*(int *)(*param_2 + 4) + 0x18);\n        if (iVar10 < 1) goto code_r0x00044c0d;\n        cVar2 = *local_3c;\n        goto code_r0x00044bbc;\n      case 0x50:\n        if (param_3 == 0x24) {\n          local_24 = pbVar16;\n          do {\n            if (*local_24 != 0x3b) {\n              return 1;\n            }\n            local_24 = local_24 + 1;\n            iVar7 = FUN_00040c70(&local_24,0,param_7);\n          } while (iVar7 != 0);\n          return 0;\n        }\n      case 0x52:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,iVar7);\njoined_r0x00045010:\n        if (iVar7 == 0) {\n          return 0;\n        }\ncode_r0x00044af0:\n        iVar7 = FUN_0003c6e0(param_1,local_3c,iVar7);\n        goto joined_r0x00044fe7;\n      case 0x53:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 2;\n        goto code_r0x0004486e;\n      case 0x54:\n        pbVar18 = local_24 + 2;\n        if (*pbVar18 == 0x74) {\n          pbVar16 = local_24 + 3;\n        }\n        local_24 = pbVar16;\n        uVar11 = (uint)(*pbVar18 == 0x74);\n        iVar7 = FUN_00040c70(&local_24,apiStack_20,param_7,param_3);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) {\n          return 1;\n        }\n        iVar10 = param_2[0x3a];\n        iVar7 = FUN_0003d680(param_1,local_3c,iVar7,extraout_ECX);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (apiStack_20[0] != (int *)0x0) {\n          *apiStack_20[0] = iVar7;\n        }\n        piVar13 = apiStack_20[0];\n        if (iVar10 != 0) goto code_r0x00044efc;\n        if ((int *)param_2[0x39] == (int *)0x0) goto code_r0x00044efc;\n        cVar3 = *local_3c;\n        piVar17 = param_2 + 0x39;\n        piVar20 = (int *)param_2[0x39];\n        goto code_r0x00044ecc;\n      case 0x56:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 3;\n        goto code_r0x0004486e;\n      case 0x58:\n      case 0x6c:\n      case 0x73:\n        goto LAB_0004483d;\n      case 0x59:\n        pbVar16 = local_24 + 3;\n        if ((local_24[3] == 0x6e) &&\n           (pbVar16 = local_24 + 4, pbVar18 = local_24 + 4, local_24 = pbVar16, *pbVar18 == 0x30)) {\n          for (; *local_24 != 0x3b; local_24 = local_24 + 1) {\n          }\n          return 1;\n        }\nLAB_00044e16:\n        local_24 = pbVar16;\n        FUN_0003dfb0();\n        return 0;\n      case 0x61:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,bVar24);\n        goto joined_r0x00045010;\n      case 99:\n        if (local_24[2] == 0x3d) {\n          pbVar16 = local_24 + 4;\n          bVar24 = local_24[3];\n          local_24 = pbVar16;\n          if (bVar24 == 0x69) {\n            lVar15 = strtol((char *)pbVar16,(char **)0x0,10);\n            iVar7 = FUN_0003cbe0(param_1,local_3c,lVar15,lVar15 >> 0x1f);\n            goto joined_r0x00044fe7;\n          }\n          if (bVar24 == 0x72) {\n            lVar25 = (longdouble)func_0x00013560(pbVar16,0,0x72,0x72);\n            iVar7 = FUN_0003cc30(param_1,local_3c,(double)lVar25);\n            goto joined_r0x00044fe7;\n          }\n          if (bVar24 == 0x65) {\n            iVar7 = FUN_00040c70(&local_24,0,param_7,0x65);\n            if (iVar7 == 0) {\n              return 0;\n            }\n            pbVar16 = local_24;\n            if (*local_24 == 0x2c) {\n              uVar28 = 10;\n              uVar27 = 0;\n              lVar15 = strtol((char *)local_24,(char **)0x0,10);\n              iVar7 = FUN_0003cc70(param_1,local_3c,iVar7,lVar15,lVar15 >> 0x1f,uVar27,uVar28,\n                                   param_3);\n              goto joined_r0x00044fe7;\n            }\n          }\n        }\n        break;\n      case 0x70:\n        if (local_24[2] == 0x46) {\n          local_24 = local_24 + 3;\n          iVar7 = FUN_00040c70(&local_24,0,param_7,local_24);\n          if (iVar7 == 0) {\n            return 0;\n          }\n          uVar27 = FUN_0003d080(param_1,iVar7,0,0);\n          iVar7 = FUN_0003d030(param_1,uVar27);\n        }\n        else {\n          pbVar18 = local_24;\n          local_24 = pbVar16;\n          iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        }\n        goto joined_r0x00044dee;\n      case 0x72:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 5;\n        goto code_r0x0004486e;\n      case 0x74:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,apiStack_20,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) {\n          return 1;\n        }\n        iVar7 = FUN_0003d5a0(param_1,local_3c,iVar7,param_2);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (apiStack_20[0] == (int *)0x0) {\n          return 1;\n        }\n        *apiStack_20[0] = iVar7;\n        return 1;\n      case 0x76:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\njoined_r0x00044dee:\n        if (iVar7 == 0) {\n          return 0;\n        }\n        goto code_r0x00044af0;\n      }\n    }\n    goto LAB_000449d0;\n  }\n  if (param_3 == 0xc0) {\n    if ((param_2[0xc] != 0) && (param_4 == 1)) {\n      return 1;\n    }\n    if (param_2[0x10] == 0) {\n      pcVar12 = (char *)dcgettext(0,"N_LBRAC not within function\n",5);\n      fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar12);\n      return 0;\n    }\n    uVar11 = param_2[9] + param_2[7];\n    iVar7 = FUN_0003c880(param_1,uVar11 + param_5,\n                         param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7]) + param_6 +\n                         (uint)CARRY4(uVar11,param_5));\n    if (iVar7 == 0) {\n      return 0;\n    }\n    iVar7 = FUN_0003e2f0();\n    if (iVar7 == 0) {\n      return 0;\n    }\n    param_2[0x13] = param_2[0x13] + 1;\n    return 1;\n  }\n  if (0xc0 < (int)param_3) {\n    if (param_3 == 0xe0) {\n      if ((param_2[0xc] != 0) && (param_4 == 1)) {\n        return 1;\n      }\n      iVar7 = FUN_0003e2f0();\n      if (iVar7 == 0) {\n        return 0;\n      }\n      uVar11 = param_2[9] + param_2[7];\n      iVar7 = FUN_0003c980(param_1,uVar11 + param_5,\n                           param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7]) + param_6\n                           + (uint)CARRY4(uVar11,param_5));\n      if (iVar7 == 0) {\n        return 0;\n      }\n      param_2 = param_2 + 0x13;\n      *param_2 = *param_2 + -1;\n      if (*param_2 < 0) {\n        pcVar12 = (char *)dcgettext(0,"Too many N_RBRACs\n",5);\n        fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar12);\n        return 0;\n      }\n      return 1;\n    }\n    if ((int)param_3 < 0xe1) {\n      if (param_3 == 0xc2) {\n        iVar7 = param_2[0x15];\n        param_2[0x15] = iVar7 + 1;\n        iVar7 = xrealloc(param_2[0x16],(iVar7 + 1) * 4);\n        puVar8 = (undefined4 *)param_2[0xf];\n        param_2[0x16] = iVar7;\n        while( true ) {\n          if (puVar8 == (undefined4 *)0x0) {\n            dcgettext(0,"Undefined N_EXCL",5);\n            FUN_0003df30();\n            *(undefined4 *)(param_2[0x16] + -4 + param_2[0x15] * 4) = 0;\n            return 1;\n          }\n          if ((puVar8[4] == param_6 && puVar8[3] == param_5) &&\n             (iVar10 = strcmp((char *)puVar8[2],(char *)param_7), iVar10 == 0)) break;\n          puVar8 = (undefined4 *)*puVar8;\n        }\n        *(undefined4 *)(iVar7 + -4 + param_2[0x15] * 4) = puVar8[6];\n        return 1;\n      }\n      goto LAB_00044431;\n    }\n    if (param_3 == 0xe2) {\n      iVar7 = FUN_0003cb60(param_1,param_7);\n    }\n    else {\n      if (param_3 != 0xe4) goto LAB_00044431;\n      iVar7 = FUN_0003cba0(param_1,param_7);\n    }\n    goto LAB_0004426d;\n  }\n  if (param_3 == 0x82) {\n    piVar13 = (int *)xmalloc(0x1c);\n    iVar7 = param_2[0xf];\n    piVar13[4] = param_6;\n    *piVar13 = iVar7;\n    iVar7 = param_2[0xe];\n    piVar13[6] = 0;\n    piVar13[1] = iVar7;\n    param_2[0xf] = (int)piVar13;\n    piVar13[2] = (int)param_7;\n    param_2[0xe] = (int)piVar13;\n    piVar13[3] = param_5;\n    iVar7 = param_2[0x15];\n    piVar13[5] = iVar7;\n    iVar7 = iVar7 + 1;\n    param_2[0x15] = iVar7;\n    iVar10 = xrealloc(param_2[0x16],iVar7 * 4);\n    iVar7 = piVar13[5];\n    param_2[0x16] = iVar10;\n    *(undefined4 *)(iVar10 + iVar7 * 4) = 0;\n  }\n  else {\n    if ((int)param_3 < 0x83) {\n      if (param_3 != 100) goto LAB_00044431;\n      bVar6 = *param_7;\n      if (param_2[0x10] != 0) {\n        if (bVar6 != 0) goto LAB_000448f8;\n        goto LAB_00044916;\n      }\n      goto LAB_00044966;\n    }\n    if (param_3 != 0x84) {\n      if (param_3 != 0xa2) goto LAB_00044431;\n      iVar7 = param_2[0xe];\n      if (iVar7 != 0) {\n        iVar10 = *(int *)(iVar7 + 4);\n        uVar11 = *(uint *)(iVar7 + 0x14);\n        param_2[0xe] = iVar10;\n        if ((uVar11 < (uint)param_2[0x15]) &&\n           (*(undefined4 *)(iVar7 + 0x18) = *(undefined4 *)(param_2[0x16] + uVar11 * 4), iVar10 != 0\n           )) {\n          param_7 = *(byte **)(iVar10 + 8);\n          goto LAB_000445bf;\n        }\n      }\n      param_7 = (byte *)param_2[0xd];\n    }\n  }\nLAB_000445bf:\n  iVar7 = FUN_0003c4a0(param_1,param_7);\nLAB_0004426d:\n  return (uint)(iVar7 != 0);\nLAB_00044790:\n  local_24 = local_24 + 2;\n  local_24 = (byte *)strchr((char *)local_24,0x3a);\n  pbVar16 = local_24;\n  if (local_24 == (byte *)0x0) {\nLAB_000449d0:\n    local_24 = pbVar16;\n    FUN_0003dfb0();\n    return 0;\n  }\n  goto LAB_000447b1;\ncode_r0x00044ecc:\n  piVar13 = (int *)piVar20[1];\n  if (((char)*piVar13 == cVar3) &&\n     (piVar13 = (int *)strcmp((char *)piVar13,local_3c), piVar13 == (int *)0x0)) {\n    piVar13 = (int *)*piVar20;\n    piVar20[3] = iVar7;\n    *piVar17 = (int)piVar13;\n    goto code_r0x00044efc;\n  }\n  piVar5 = (int *)*piVar20;\n  piVar17 = piVar20;\n  piVar20 = piVar5;\n  if (piVar5 == (int *)0x0) {\ncode_r0x00044efc:\n    if (uVar11 == 0) {\n      return 1;\n    }\n    iVar7 = FUN_0003d5a0(param_1,local_3c,iVar7,piVar13);\n    if (iVar7 != 0) {\n      if (apiStack_20[0] == (int *)0x0) {\n        return 1;\n      }\n      *apiStack_20[0] = iVar7;\n      return uVar11;\n    }\n    return 0;\n  }\n  goto code_r0x00044ecc;\ncode_r0x00044bbc:\n  iVar4 = *piVar13;\n  pcVar12 = *(char **)(iVar4 + 4);\n  if (cVar3 != '\0') {\n    pcVar12 = pcVar12 + (cVar3 == *pcVar12);\n  }\n  if ((*pcVar12 == cVar2) && (iVar14 = strcmp(pcVar12,local_3c), iVar14 == 0)) {\n    puVar1 = (uint *)(*(int *)(iVar4 + 0x14) + 0x1c);\n    param_5 = *(uint *)(iVar4 + 8) + *puVar1;\n    param_6 = *(int *)(iVar4 + 0xc) + *(int *)(*(int *)(iVar4 + 0x14) + 0x20) +\n              (uint)CARRY4(*(uint *)(iVar4 + 8),*puVar1);\n    goto code_r0x00044c0d;\n  }\n  piVar13 = piVar13 + 1;\n  iVar10 = iVar10 + -1;\n  if (iVar10 == 0) {\ncode_r0x00044c0d:\n    uVar27 = 1;\ncode_r0x0004486e:\n    iVar7 = FUN_0003e250(iVar7,uVar27,param_5,param_6);\njoined_r0x00044fe7:\n    if (iVar7 != 0) {\n      return 1;\n    }\n    return 0;\n  }\n  goto code_r0x00044bbc;\n}" { (declaration "uint *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "char cVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "byte bVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "undefined4 *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "size_t sVar9;" primitive_type identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "char *pcVar12;" primitive_type (pointer_declarator "*pcVar12" * identifier) ;) (declaration "int *piVar13;" primitive_type (pointer_declarator "*piVar13" * identifier) ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "long lVar15;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined4 extraout_ECX;" type_identifier identifier ;) (declaration "void *__ptr;" primitive_type (pointer_declarator "*__ptr" * identifier) ;) (declaration "byte *pbVar16;" type_identifier (pointer_declarator "*pbVar16" * identifier) ;) (declaration "int *piVar17;" primitive_type (pointer_declarator "*piVar17" * identifier) ;) (declaration "byte *pbVar18;" type_identifier (pointer_declarator "*pbVar18" * identifier) ;) (declaration "uint uVar19;" type_identifier identifier ;) (declaration "int *piVar20;" primitive_type (pointer_declarator "*piVar20" * identifier) ;) (declaration "bool bVar21;" primitive_type identifier ;) (declaration "bool bVar22;" primitive_type identifier ;) (declaration "bool bVar23;" primitive_type identifier ;) (declaration "byte bVar24;" type_identifier identifier ;) (declaration "longdouble lVar25;" type_identifier identifier ;) (declaration "undefined8 uVar26;" type_identifier identifier ;) (declaration "undefined4 uVar27;" type_identifier identifier ;) (declaration "undefined4 uVar28;" type_identifier identifier ;) (declaration "char *local_3c;" primitive_type (pointer_declarator "*local_3c" * identifier) ;) (declaration "uint local_38;" type_identifier identifier ;) (declaration "byte *local_24;" type_identifier (pointer_declarator "*local_24" * identifier) ;) (declaration "int *apiStack_20 [3];" primitive_type (pointer_declarator "*apiStack_20 [3]" * (array_declarator "apiStack_20 [3]" identifier [ number_literal ])) ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "bVar24 = 0;" (assignment_expression "bVar24 = 0" identifier = number_literal) ;) (expression_statement "uStack_14 = 0x440f9;" (assignment_expression "uStack_14 = 0x440f9" identifier = number_literal) ;) (expression_statement "__ptr = (void *)param_2[4];" (assignment_expression "__ptr = (void *)param_2[4]" identifier = (cast_expression "(void *)param_2[4]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[4]" identifier [ number_literal ]))) ;) (if_statement "if (__ptr != (void *)0x0) {\n    if (((param_3 != 100) || (bVar6 = *param_7, bVar6 == 0)) ||\n       (param_6 != param_2[6] || param_5 != param_2[5])) {\n      iVar7 = FUN_0003c3e0(param_1,__ptr);\n      if (iVar7 == 0) {\n        return 0;\n      }\n      param_2[0xb] = 0;\n      param_2[0xc] = 0;\n      param_2[0xd] = param_2[4];\n      if (param_2[1] == 0) {\n        param_2[7] = param_2[5];\n        param_2[8] = param_2[6];\n      }\n      param_2[0x15] = 1;\n      puVar8 = (undefined4 *)xmalloc(4);\n      param_2[4] = 0;\n      param_2[0x16] = (int)puVar8;\n      *puVar8 = 0;\n      goto LAB_00044203;\n    }\n    if (param_2[0x10] == 0) goto LAB_0004414d;\nLAB_000448f8:\n    uVar11 = param_2[0x11];\n    uVar19 = param_2[0x12];\n    if (((uVar11 & uVar19) == 0xffffffff) ||\n       (param_6 <= uVar19 && (uint)(uVar11 < param_5) <= uVar19 - param_6)) {\nLAB_00044916:\n      uVar19 = param_6;\n      uVar11 = param_5;\n      param_5 = uVar11;\n      param_6 = uVar19;\n    }\n    iVar7 = FUN_0003e2f0();\n    if (iVar7 == 0) {\n      return 0;\n    }\n    iVar7 = FUN_0003c7e0(param_1,uVar11,uVar19);\n    if (iVar7 == 0) {\n      return 0;\n    }\n    param_2[0x10] = 0;\n    param_2[0x11] = -1;\n    param_2[0x12] = -1;\n    bVar6 = *param_7;\nLAB_00044966:\n    if (bVar6 == 0) {\n      return 1;\n    }\n    __ptr = (void *)param_2[4];\nLAB_0004414d:\n    if (__ptr == (void *)0x0) {\n      iVar7 = xstrdup(param_7);\n      param_2[4] = iVar7;\n    }\n    else {\n      if (bVar6 == 0x2f) {\n        iVar7 = xstrdup(param_7);\n        param_2[4] = iVar7;\n      }\n      else {\n        iVar7 = concat(__ptr,param_7,0);\n        param_2[4] = iVar7;\n      }\n      free(__ptr);\n    }\n    param_2[5] = param_5;\n    param_2[6] = param_6;\n    return 1;\n  }" if (parenthesized_expression "(__ptr != (void *)0x0)" ( (binary_expression "__ptr != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (((param_3 != 100) || (bVar6 = *param_7, bVar6 == 0)) ||\n       (param_6 != param_2[6] || param_5 != param_2[5])) {\n      iVar7 = FUN_0003c3e0(param_1,__ptr);\n      if (iVar7 == 0) {\n        return 0;\n      }\n      param_2[0xb] = 0;\n      param_2[0xc] = 0;\n      param_2[0xd] = param_2[4];\n      if (param_2[1] == 0) {\n        param_2[7] = param_2[5];\n        param_2[8] = param_2[6];\n      }\n      param_2[0x15] = 1;\n      puVar8 = (undefined4 *)xmalloc(4);\n      param_2[4] = 0;\n      param_2[0x16] = (int)puVar8;\n      *puVar8 = 0;\n      goto LAB_00044203;\n    }\n    if (param_2[0x10] == 0) goto LAB_0004414d;\nLAB_000448f8:\n    uVar11 = param_2[0x11];\n    uVar19 = param_2[0x12];\n    if (((uVar11 & uVar19) == 0xffffffff) ||\n       (param_6 <= uVar19 && (uint)(uVar11 < param_5) <= uVar19 - param_6)) {\nLAB_00044916:\n      uVar19 = param_6;\n      uVar11 = param_5;\n      param_5 = uVar11;\n      param_6 = uVar19;\n    }\n    iVar7 = FUN_0003e2f0();\n    if (iVar7 == 0) {\n      return 0;\n    }\n    iVar7 = FUN_0003c7e0(param_1,uVar11,uVar19);\n    if (iVar7 == 0) {\n      return 0;\n    }\n    param_2[0x10] = 0;\n    param_2[0x11] = -1;\n    param_2[0x12] = -1;\n    bVar6 = *param_7;\nLAB_00044966:\n    if (bVar6 == 0) {\n      return 1;\n    }\n    __ptr = (void *)param_2[4];\nLAB_0004414d:\n    if (__ptr == (void *)0x0) {\n      iVar7 = xstrdup(param_7);\n      param_2[4] = iVar7;\n    }\n    else {\n      if (bVar6 == 0x2f) {\n        iVar7 = xstrdup(param_7);\n        param_2[4] = iVar7;\n      }\n      else {\n        iVar7 = concat(__ptr,param_7,0);\n        param_2[4] = iVar7;\n      }\n      free(__ptr);\n    }\n    param_2[5] = param_5;\n    param_2[6] = param_6;\n    return 1;\n  }" { (if_statement "if (((param_3 != 100) || (bVar6 = *param_7, bVar6 == 0)) ||\n       (param_6 != param_2[6] || param_5 != param_2[5])) {\n      iVar7 = FUN_0003c3e0(param_1,__ptr);\n      if (iVar7 == 0) {\n        return 0;\n      }\n      param_2[0xb] = 0;\n      param_2[0xc] = 0;\n      param_2[0xd] = param_2[4];\n      if (param_2[1] == 0) {\n        param_2[7] = param_2[5];\n        param_2[8] = param_2[6];\n      }\n      param_2[0x15] = 1;\n      puVar8 = (undefined4 *)xmalloc(4);\n      param_2[4] = 0;\n      param_2[0x16] = (int)puVar8;\n      *puVar8 = 0;\n      goto LAB_00044203;\n    }" if (parenthesized_expression "(((param_3 != 100) || (bVar6 = *param_7, bVar6 == 0)) ||\n       (param_6 != param_2[6] || param_5 != param_2[5]))" ( (binary_expression "((param_3 != 100) || (bVar6 = *param_7, bVar6 == 0)) ||\n       (param_6 != param_2[6] || param_5 != param_2[5])" (parenthesized_expression "((param_3 != 100) || (bVar6 = *param_7, bVar6 == 0))" ( (binary_expression "(param_3 != 100) || (bVar6 = *param_7, bVar6 == 0)" (parenthesized_expression "(param_3 != 100)" ( (binary_expression "param_3 != 100" identifier != number_literal) )) || (parenthesized_expression "(bVar6 = *param_7, bVar6 == 0)" ( (comma_expression "bVar6 = *param_7, bVar6 == 0" (assignment_expression "bVar6 = *param_7" identifier = (pointer_expression "*param_7" * identifier)) , (binary_expression "bVar6 == 0" identifier == number_literal)) ))) )) || (parenthesized_expression "(param_6 != param_2[6] || param_5 != param_2[5])" ( (binary_expression "param_6 != param_2[6] || param_5 != param_2[5]" (binary_expression "param_6 != param_2[6]" identifier != (subscript_expression "param_2[6]" identifier [ number_literal ])) || (binary_expression "param_5 != param_2[5]" identifier != (subscript_expression "param_2[5]" identifier [ number_literal ]))) ))) )) (compound_statement "{\n      iVar7 = FUN_0003c3e0(param_1,__ptr);\n      if (iVar7 == 0) {\n        return 0;\n      }\n      param_2[0xb] = 0;\n      param_2[0xc] = 0;\n      param_2[0xd] = param_2[4];\n      if (param_2[1] == 0) {\n        param_2[7] = param_2[5];\n        param_2[8] = param_2[6];\n      }\n      param_2[0x15] = 1;\n      puVar8 = (undefined4 *)xmalloc(4);\n      param_2[4] = 0;\n      param_2[0x16] = (int)puVar8;\n      *puVar8 = 0;\n      goto LAB_00044203;\n    }" { (expression_statement "iVar7 = FUN_0003c3e0(param_1,__ptr);" (assignment_expression "iVar7 = FUN_0003c3e0(param_1,__ptr)" identifier = (call_expression "FUN_0003c3e0(param_1,__ptr)" identifier (argument_list "(param_1,__ptr)" ( identifier , identifier )))) ;) (if_statement "if (iVar7 == 0) {\n        return 0;\n      }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n        return 0;\n      }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "param_2[0xb] = 0;" (assignment_expression "param_2[0xb] = 0" (subscript_expression "param_2[0xb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_2[0xc] = 0;" (assignment_expression "param_2[0xc] = 0" (subscript_expression "param_2[0xc]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_2[0xd] = param_2[4];" (assignment_expression "param_2[0xd] = param_2[4]" (subscript_expression "param_2[0xd]" identifier [ number_literal ]) = (subscript_expression "param_2[4]" identifier [ number_literal ])) ;) (if_statement "if (param_2[1] == 0) {\n        param_2[7] = param_2[5];\n        param_2[8] = param_2[6];\n      }" if (parenthesized_expression "(param_2[1] == 0)" ( (binary_expression "param_2[1] == 0" (subscript_expression "param_2[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n        param_2[7] = param_2[5];\n        param_2[8] = param_2[6];\n      }" { (expression_statement "param_2[7] = param_2[5];" (assignment_expression "param_2[7] = param_2[5]" (subscript_expression "param_2[7]" identifier [ number_literal ]) = (subscript_expression "param_2[5]" identifier [ number_literal ])) ;) (expression_statement "param_2[8] = param_2[6];" (assignment_expression "param_2[8] = param_2[6]" (subscript_expression "param_2[8]" identifier [ number_literal ]) = (subscript_expression "param_2[6]" identifier [ number_literal ])) ;) })) (expression_statement "param_2[0x15] = 1;" (assignment_expression "param_2[0x15] = 1" (subscript_expression "param_2[0x15]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar8 = (undefined4 *)xmalloc(4);" (assignment_expression "puVar8 = (undefined4 *)xmalloc(4)" identifier = (cast_expression "(undefined4 *)xmalloc(4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(4)" identifier (argument_list "(4)" ( number_literal ))))) ;) (expression_statement "param_2[4] = 0;" (assignment_expression "param_2[4] = 0" (subscript_expression "param_2[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_2[0x16] = (int)puVar8;" (assignment_expression "param_2[0x16] = (int)puVar8" (subscript_expression "param_2[0x16]" identifier [ number_literal ]) = (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*puVar8 = 0;" (assignment_expression "*puVar8 = 0" (pointer_expression "*puVar8" * identifier) = number_literal) ;) (goto_statement "goto LAB_00044203;" goto statement_identifier ;) })) (if_statement "if (param_2[0x10] == 0) goto LAB_0004414d;" if (parenthesized_expression "(param_2[0x10] == 0)" ( (binary_expression "param_2[0x10] == 0" (subscript_expression "param_2[0x10]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_0004414d;" goto statement_identifier ;)) (labeled_statement "LAB_000448f8:\n    uVar11 = param_2[0x11];" statement_identifier : (expression_statement "uVar11 = param_2[0x11];" (assignment_expression "uVar11 = param_2[0x11]" identifier = (subscript_expression "param_2[0x11]" identifier [ number_literal ])) ;)) (expression_statement "uVar19 = param_2[0x12];" (assignment_expression "uVar19 = param_2[0x12]" identifier = (subscript_expression "param_2[0x12]" identifier [ number_literal ])) ;) (if_statement "if (((uVar11 & uVar19) == 0xffffffff) ||\n       (param_6 <= uVar19 && (uint)(uVar11 < param_5) <= uVar19 - param_6)) {\nLAB_00044916:\n      uVar19 = param_6;\n      uVar11 = param_5;\n      param_5 = uVar11;\n      param_6 = uVar19;\n    }" if (parenthesized_expression "(((uVar11 & uVar19) == 0xffffffff) ||\n       (param_6 <= uVar19 && (uint)(uVar11 < param_5) <= uVar19 - param_6))" ( (binary_expression "((uVar11 & uVar19) == 0xffffffff) ||\n       (param_6 <= uVar19 && (uint)(uVar11 < param_5) <= uVar19 - param_6)" (parenthesized_expression "((uVar11 & uVar19) == 0xffffffff)" ( (binary_expression "(uVar11 & uVar19) == 0xffffffff" (parenthesized_expression "(uVar11 & uVar19)" ( (binary_expression "uVar11 & uVar19" identifier & identifier) )) == number_literal) )) || (parenthesized_expression "(param_6 <= uVar19 && (uint)(uVar11 < param_5) <= uVar19 - param_6)" ( (binary_expression "param_6 <= uVar19 && (uint)(uVar11 < param_5) <= uVar19 - param_6" (binary_expression "param_6 <= uVar19" identifier <= identifier) && (binary_expression "(uint)(uVar11 < param_5) <= uVar19 - param_6" (call_expression "(uint)(uVar11 < param_5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar11 < param_5)" ( (binary_expression "uVar11 < param_5" identifier < identifier) ))) <= (binary_expression "uVar19 - param_6" identifier - identifier))) ))) )) (compound_statement "{\nLAB_00044916:\n      uVar19 = param_6;\n      uVar11 = param_5;\n      param_5 = uVar11;\n      param_6 = uVar19;\n    }" { (labeled_statement "LAB_00044916:\n      uVar19 = param_6;" statement_identifier : (expression_statement "uVar19 = param_6;" (assignment_expression "uVar19 = param_6" identifier = identifier) ;)) (expression_statement "uVar11 = param_5;" (assignment_expression "uVar11 = param_5" identifier = identifier) ;) (expression_statement "param_5 = uVar11;" (assignment_expression "param_5 = uVar11" identifier = identifier) ;) (expression_statement "param_6 = uVar19;" (assignment_expression "param_6 = uVar19" identifier = identifier) ;) })) (expression_statement "iVar7 = FUN_0003e2f0();" (assignment_expression "iVar7 = FUN_0003e2f0()" identifier = (call_expression "FUN_0003e2f0()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar7 == 0) {\n      return 0;\n    }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n      return 0;\n    }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "iVar7 = FUN_0003c7e0(param_1,uVar11,uVar19);" (assignment_expression "iVar7 = FUN_0003c7e0(param_1,uVar11,uVar19)" identifier = (call_expression "FUN_0003c7e0(param_1,uVar11,uVar19)" identifier (argument_list "(param_1,uVar11,uVar19)" ( identifier , identifier , identifier )))) ;) (if_statement "if (iVar7 == 0) {\n      return 0;\n    }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n      return 0;\n    }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "param_2[0x10] = 0;" (assignment_expression "param_2[0x10] = 0" (subscript_expression "param_2[0x10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_2[0x11] = -1;" (assignment_expression "param_2[0x11] = -1" (subscript_expression "param_2[0x11]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_2[0x12] = -1;" (assignment_expression "param_2[0x12] = -1" (subscript_expression "param_2[0x12]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "bVar6 = *param_7;" (assignment_expression "bVar6 = *param_7" identifier = (pointer_expression "*param_7" * identifier)) ;) (labeled_statement "LAB_00044966:\n    if (bVar6 == 0) {\n      return 1;\n    }" statement_identifier : (if_statement "if (bVar6 == 0) {\n      return 1;\n    }" if (parenthesized_expression "(bVar6 == 0)" ( (binary_expression "bVar6 == 0" identifier == number_literal) )) (compound_statement "{\n      return 1;\n    }" { (return_statement "return 1;" return number_literal ;) }))) (expression_statement "__ptr = (void *)param_2[4];" (assignment_expression "__ptr = (void *)param_2[4]" identifier = (cast_expression "(void *)param_2[4]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[4]" identifier [ number_literal ]))) ;) (labeled_statement "LAB_0004414d:\n    if (__ptr == (void *)0x0) {\n      iVar7 = xstrdup(param_7);\n      param_2[4] = iVar7;\n    }\n    else {\n      if (bVar6 == 0x2f) {\n        iVar7 = xstrdup(param_7);\n        param_2[4] = iVar7;\n      }\n      else {\n        iVar7 = concat(__ptr,param_7,0);\n        param_2[4] = iVar7;\n      }\n      free(__ptr);\n    }" statement_identifier : (if_statement "if (__ptr == (void *)0x0) {\n      iVar7 = xstrdup(param_7);\n      param_2[4] = iVar7;\n    }\n    else {\n      if (bVar6 == 0x2f) {\n        iVar7 = xstrdup(param_7);\n        param_2[4] = iVar7;\n      }\n      else {\n        iVar7 = concat(__ptr,param_7,0);\n        param_2[4] = iVar7;\n      }\n      free(__ptr);\n    }" if (parenthesized_expression "(__ptr == (void *)0x0)" ( (binary_expression "__ptr == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      iVar7 = xstrdup(param_7);\n      param_2[4] = iVar7;\n    }" { (expression_statement "iVar7 = xstrdup(param_7);" (assignment_expression "iVar7 = xstrdup(param_7)" identifier = (call_expression "xstrdup(param_7)" identifier (argument_list "(param_7)" ( identifier )))) ;) (expression_statement "param_2[4] = iVar7;" (assignment_expression "param_2[4] = iVar7" (subscript_expression "param_2[4]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else {\n      if (bVar6 == 0x2f) {\n        iVar7 = xstrdup(param_7);\n        param_2[4] = iVar7;\n      }\n      else {\n        iVar7 = concat(__ptr,param_7,0);\n        param_2[4] = iVar7;\n      }\n      free(__ptr);\n    }" else (compound_statement "{\n      if (bVar6 == 0x2f) {\n        iVar7 = xstrdup(param_7);\n        param_2[4] = iVar7;\n      }\n      else {\n        iVar7 = concat(__ptr,param_7,0);\n        param_2[4] = iVar7;\n      }\n      free(__ptr);\n    }" { (if_statement "if (bVar6 == 0x2f) {\n        iVar7 = xstrdup(param_7);\n        param_2[4] = iVar7;\n      }\n      else {\n        iVar7 = concat(__ptr,param_7,0);\n        param_2[4] = iVar7;\n      }" if (parenthesized_expression "(bVar6 == 0x2f)" ( (binary_expression "bVar6 == 0x2f" identifier == number_literal) )) (compound_statement "{\n        iVar7 = xstrdup(param_7);\n        param_2[4] = iVar7;\n      }" { (expression_statement "iVar7 = xstrdup(param_7);" (assignment_expression "iVar7 = xstrdup(param_7)" identifier = (call_expression "xstrdup(param_7)" identifier (argument_list "(param_7)" ( identifier )))) ;) (expression_statement "param_2[4] = iVar7;" (assignment_expression "param_2[4] = iVar7" (subscript_expression "param_2[4]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else {\n        iVar7 = concat(__ptr,param_7,0);\n        param_2[4] = iVar7;\n      }" else (compound_statement "{\n        iVar7 = concat(__ptr,param_7,0);\n        param_2[4] = iVar7;\n      }" { (expression_statement "iVar7 = concat(__ptr,param_7,0);" (assignment_expression "iVar7 = concat(__ptr,param_7,0)" identifier = (call_expression "concat(__ptr,param_7,0)" identifier (argument_list "(__ptr,param_7,0)" ( identifier , identifier , number_literal )))) ;) (expression_statement "param_2[4] = iVar7;" (assignment_expression "param_2[4] = iVar7" (subscript_expression "param_2[4]" identifier [ number_literal ]) = identifier) ;) }))) (expression_statement "free(__ptr);" (call_expression "free(__ptr)" identifier (argument_list "(__ptr)" ( identifier ))) ;) })))) (expression_statement "param_2[5] = param_5;" (assignment_expression "param_2[5] = param_5" (subscript_expression "param_2[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_2[6] = param_6;" (assignment_expression "param_2[6] = param_6" (subscript_expression "param_2[6]" identifier [ number_literal ]) = identifier) ;) (return_statement "return 1;" return number_literal ;) })) (labeled_statement "LAB_00044203:\n  sVar9 = strlen((char *)param_7);" statement_identifier : (expression_statement "sVar9 = strlen((char *)param_7);" (assignment_expression "sVar9 = strlen((char *)param_7)" identifier = (call_expression "strlen((char *)param_7)" identifier (argument_list "((char *)param_7)" ( (cast_expression "(char *)param_7" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;)) (if_statement "if (param_3 == 0x62) {\n    return 1;\n  }" if (parenthesized_expression "(param_3 == 0x62)" ( (binary_expression "param_3 == 0x62" identifier == number_literal) )) (compound_statement "{\n    return 1;\n  }" { (return_statement "return 1;" return number_literal ;) })) (if_statement "if ((int)param_3 < 99) {\n    if (param_3 == 0x24) {\n      if (*param_7 == 0) {\n        if (param_2[0x10] == 0) {\n          return 1;\n        }\n        if (param_2[1] != 0) {\n          bVar21 = CARRY4(param_5,param_2[9]);\n          param_5 = param_5 + param_2[9];\n          param_6 = param_6 + param_2[10] + (uint)bVar21;\n        }\n        iVar7 = FUN_0003e2f0(param_5,param_6);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003c7e0(param_1,param_5,param_6);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        param_2[0x10] = 0;\n        param_2[0x11] = -1;\n        param_2[0x12] = -1;\n        return 1;\n      }\n      if (param_2[0x10] != 0) {\n        uVar11 = param_2[0x12];\n        if (((param_2[0x11] & uVar11) == 0xffffffff) ||\n           (param_6 < uVar11 || param_6 - uVar11 < (uint)(param_5 < (uint)param_2[0x11]))) {\n          param_2[0x11] = param_5;\n          param_2[0x12] = param_6;\n        }\n      }\n    }\n    else if ((int)param_3 < 0x25) {\n      if (param_3 == 0xc) {\n        return 1;\n      }\n      if ((0xb < (int)param_3) && (param_3 - 0x1e < 2)) {\n        return 1;\n      }\n    }\n    else {\n      if (param_3 == 0x38) {\n        return 1;\n      }\n      if ((int)param_3 < 0x39) {\n        if (param_3 == 0x2a) {\n          return 1;\n        }\n      }\n      else {\n        bVar21 = param_3 < 0x3c;\n        bVar23 = param_3 == 0x3c;\n        if (bVar23) {\n          iVar7 = 0xf;\n          pbVar16 = param_7;\n          pbVar18 = (byte *)"gcc2_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar21 = *pbVar16 < *pbVar18;\n            bVar23 = *pbVar16 == *pbVar18;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n          } while (bVar23);\n          bVar22 = false;\n          bVar21 = (!bVar21 && !bVar23) == bVar21;\n          if (bVar21) {\n            param_2[0xb] = 2;\n            return 1;\n          }\n          iVar7 = 0xe;\n          pbVar16 = (byte *)"gcc_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar22 = *param_7 < *pbVar16;\n            bVar21 = *param_7 == *pbVar16;\n            param_7 = param_7 + (uint)bVar24 * -2 + 1;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n          } while (bVar21);\n          if ((!bVar22 && !bVar21) != bVar22) {\n            param_2[0xc] = 1;\n            return 1;\n          }\n          param_2[0xb] = 1;\n          return 1;\n        }\n        if (param_3 == 0x44) {\n          if (param_2[0x10] != 0) {\n            bVar21 = CARRY4(param_5,param_2[9]);\n            param_5 = param_5 + param_2[9];\n            param_6 = param_6 + param_2[10] + (uint)bVar21;\n          }\n          iVar7 = FUN_0003ca10(param_1,param_4,param_5,param_6);\n          goto LAB_0004426d;\n        }\n      }\n    }\nLAB_00044431:\n    local_24 = (byte *)strchr((char *)param_7,0x3a);\n    if (local_24 == (byte *)0x0) {\n      return 1;\n    }\n    bVar24 = local_24[1];\n    if ((bVar24 & 0xdf) != 0x46) goto LAB_000447b5;\n    if (param_2[0x10] != 0) {\n      local_3c = (char *)param_2[0x11];\n      local_38 = param_2[0x12];\n      if ((((uint)local_3c & local_38) == 0xffffffff) ||\n         (param_6 <= local_38 && (uint)(local_3c < param_5) <= local_38 - param_6)) {\n        local_3c = (char *)param_5;\n        local_38 = param_6;\n      }\n      iVar7 = FUN_0003e2f0();\n      if ((iVar7 == 0) || (iVar7 = FUN_0003c7e0(param_1,local_3c,local_38), iVar7 == 0)) {\n        return 0;\n      }\n      param_2[0x11] = -1;\n      param_2[0x12] = -1;\n    }\n    if (param_2[1] != 0) {\n      param_2[9] = param_5;\n      param_2[10] = param_6;\n    }\n    param_2[0x10] = 1;\n    local_24 = (byte *)strchr((char *)param_7,0x3a);\n    if (local_24 == (byte *)0x0) {\n      return 1;\n    }\nLAB_000447b1:\n    bVar24 = local_24[1];\nLAB_000447b5:\n    if (bVar24 == 0x3a) goto LAB_00044790;\n    if (*param_7 != 0x24) goto LAB_000447c7;\n    switch(param_7[1]) {\n    default:\n      dcgettext(0,"unknown C++ encoded name",5);\n      FUN_0003df30();\n    case 0x58:\n    case 0x5f:\n    case 0x76:\nLAB_000447c7:\n      local_3c = (char *)0x0;\n      if ((param_7 != local_24) && ((*param_7 != 0x20 || (local_24 != param_7 + 1)))) {\n        local_3c = (char *)FUN_0003e060();\n      }\n      break;\n    case 0x65:\n      local_3c = "eh_throw";\n      break;\n    case 0x74:\n      local_3c = "this";\n    }\n    param_7 = param_7 + sVar9;\n    pbVar16 = local_24 + 1;\n    bVar24 = local_24[1];\n    if (((PTR__sch_istable_00071fbc[(uint)bVar24 * 2] & 4) != 0) ||\n       (bVar24 == 0x28 || bVar24 == 0x2d)) {\nLAB_0004483d:\n      local_24 = pbVar16;\n      iVar7 = FUN_00040c70(&local_24,0,param_7);\n      if (iVar7 == 0) {\n        return 0;\n      }\n      uVar27 = 4;\n      goto code_r0x0004486e;\n    }\n    if (bVar24 != 0) {\n      pbVar16 = local_24 + 2;\n      bVar24 = local_24[1];\n      if (0x33 < (byte)(bVar24 + 0xbd)) goto LAB_00044e16;\n      iVar7 = (int)&__DT_PLTGOT + *(int *)(&DAT_00057e08 + (uint)(byte)(bVar24 + 0xbd) * 4);\n      switch(bVar24) {\n      case 0x43:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,bVar24);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003ccf0(param_1,local_3c,iVar7,param_5,param_6);\n        goto joined_r0x00044fe7;\n      default:\n        goto LAB_00044e16;\n      case 0x46:\n      case 0x66:\n        local_24 = pbVar16;\n        uVar26 = FUN_00040c70(&local_24,0,param_7,iVar7);\n        uVar27 = (undefined4)((ulonglong)uVar26 >> 0x20);\n        if ((int)uVar26 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003c5a0(param_1,local_3c,(int)uVar26,bVar24 == 0x46,param_5,param_6,uVar27,\n                             uVar27);\n        while( true ) {\n          if (iVar7 == 0) {\n            return 0;\n          }\n          if (*local_24 != 0x3b) break;\n          local_24 = local_24 + 1;\n          iVar7 = FUN_00040c70(&local_24,0,param_7);\n        }\n        return 1;\n      case 0x47:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,iVar7);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) goto code_r0x00044c0d;\n        iVar10 = param_2[3];\n        piVar13 = (int *)param_2[2];\n        cVar3 = *(char *)(*(int *)(*param_2 + 4) + 0x18);\n        if (iVar10 < 1) goto code_r0x00044c0d;\n        cVar2 = *local_3c;\n        goto code_r0x00044bbc;\n      case 0x50:\n        if (param_3 == 0x24) {\n          local_24 = pbVar16;\n          do {\n            if (*local_24 != 0x3b) {\n              return 1;\n            }\n            local_24 = local_24 + 1;\n            iVar7 = FUN_00040c70(&local_24,0,param_7);\n          } while (iVar7 != 0);\n          return 0;\n        }\n      case 0x52:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,iVar7);\njoined_r0x00045010:\n        if (iVar7 == 0) {\n          return 0;\n        }\ncode_r0x00044af0:\n        iVar7 = FUN_0003c6e0(param_1,local_3c,iVar7);\n        goto joined_r0x00044fe7;\n      case 0x53:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 2;\n        goto code_r0x0004486e;\n      case 0x54:\n        pbVar18 = local_24 + 2;\n        if (*pbVar18 == 0x74) {\n          pbVar16 = local_24 + 3;\n        }\n        local_24 = pbVar16;\n        uVar11 = (uint)(*pbVar18 == 0x74);\n        iVar7 = FUN_00040c70(&local_24,apiStack_20,param_7,param_3);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) {\n          return 1;\n        }\n        iVar10 = param_2[0x3a];\n        iVar7 = FUN_0003d680(param_1,local_3c,iVar7,extraout_ECX);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (apiStack_20[0] != (int *)0x0) {\n          *apiStack_20[0] = iVar7;\n        }\n        piVar13 = apiStack_20[0];\n        if (iVar10 != 0) goto code_r0x00044efc;\n        if ((int *)param_2[0x39] == (int *)0x0) goto code_r0x00044efc;\n        cVar3 = *local_3c;\n        piVar17 = param_2 + 0x39;\n        piVar20 = (int *)param_2[0x39];\n        goto code_r0x00044ecc;\n      case 0x56:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 3;\n        goto code_r0x0004486e;\n      case 0x58:\n      case 0x6c:\n      case 0x73:\n        goto LAB_0004483d;\n      case 0x59:\n        pbVar16 = local_24 + 3;\n        if ((local_24[3] == 0x6e) &&\n           (pbVar16 = local_24 + 4, pbVar18 = local_24 + 4, local_24 = pbVar16, *pbVar18 == 0x30)) {\n          for (; *local_24 != 0x3b; local_24 = local_24 + 1) {\n          }\n          return 1;\n        }\nLAB_00044e16:\n        local_24 = pbVar16;\n        FUN_0003dfb0();\n        return 0;\n      case 0x61:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,bVar24);\n        goto joined_r0x00045010;\n      case 99:\n        if (local_24[2] == 0x3d) {\n          pbVar16 = local_24 + 4;\n          bVar24 = local_24[3];\n          local_24 = pbVar16;\n          if (bVar24 == 0x69) {\n            lVar15 = strtol((char *)pbVar16,(char **)0x0,10);\n            iVar7 = FUN_0003cbe0(param_1,local_3c,lVar15,lVar15 >> 0x1f);\n            goto joined_r0x00044fe7;\n          }\n          if (bVar24 == 0x72) {\n            lVar25 = (longdouble)func_0x00013560(pbVar16,0,0x72,0x72);\n            iVar7 = FUN_0003cc30(param_1,local_3c,(double)lVar25);\n            goto joined_r0x00044fe7;\n          }\n          if (bVar24 == 0x65) {\n            iVar7 = FUN_00040c70(&local_24,0,param_7,0x65);\n            if (iVar7 == 0) {\n              return 0;\n            }\n            pbVar16 = local_24;\n            if (*local_24 == 0x2c) {\n              uVar28 = 10;\n              uVar27 = 0;\n              lVar15 = strtol((char *)local_24,(char **)0x0,10);\n              iVar7 = FUN_0003cc70(param_1,local_3c,iVar7,lVar15,lVar15 >> 0x1f,uVar27,uVar28,\n                                   param_3);\n              goto joined_r0x00044fe7;\n            }\n          }\n        }\n        break;\n      case 0x70:\n        if (local_24[2] == 0x46) {\n          local_24 = local_24 + 3;\n          iVar7 = FUN_00040c70(&local_24,0,param_7,local_24);\n          if (iVar7 == 0) {\n            return 0;\n          }\n          uVar27 = FUN_0003d080(param_1,iVar7,0,0);\n          iVar7 = FUN_0003d030(param_1,uVar27);\n        }\n        else {\n          pbVar18 = local_24;\n          local_24 = pbVar16;\n          iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        }\n        goto joined_r0x00044dee;\n      case 0x72:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 5;\n        goto code_r0x0004486e;\n      case 0x74:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,apiStack_20,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) {\n          return 1;\n        }\n        iVar7 = FUN_0003d5a0(param_1,local_3c,iVar7,param_2);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (apiStack_20[0] == (int *)0x0) {\n          return 1;\n        }\n        *apiStack_20[0] = iVar7;\n        return 1;\n      case 0x76:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\njoined_r0x00044dee:\n        if (iVar7 == 0) {\n          return 0;\n        }\n        goto code_r0x00044af0;\n      }\n    }\n    goto LAB_000449d0;\n  }" if (parenthesized_expression "((int)param_3 < 99)" ( (binary_expression "(int)param_3 < 99" (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n    if (param_3 == 0x24) {\n      if (*param_7 == 0) {\n        if (param_2[0x10] == 0) {\n          return 1;\n        }\n        if (param_2[1] != 0) {\n          bVar21 = CARRY4(param_5,param_2[9]);\n          param_5 = param_5 + param_2[9];\n          param_6 = param_6 + param_2[10] + (uint)bVar21;\n        }\n        iVar7 = FUN_0003e2f0(param_5,param_6);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003c7e0(param_1,param_5,param_6);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        param_2[0x10] = 0;\n        param_2[0x11] = -1;\n        param_2[0x12] = -1;\n        return 1;\n      }\n      if (param_2[0x10] != 0) {\n        uVar11 = param_2[0x12];\n        if (((param_2[0x11] & uVar11) == 0xffffffff) ||\n           (param_6 < uVar11 || param_6 - uVar11 < (uint)(param_5 < (uint)param_2[0x11]))) {\n          param_2[0x11] = param_5;\n          param_2[0x12] = param_6;\n        }\n      }\n    }\n    else if ((int)param_3 < 0x25) {\n      if (param_3 == 0xc) {\n        return 1;\n      }\n      if ((0xb < (int)param_3) && (param_3 - 0x1e < 2)) {\n        return 1;\n      }\n    }\n    else {\n      if (param_3 == 0x38) {\n        return 1;\n      }\n      if ((int)param_3 < 0x39) {\n        if (param_3 == 0x2a) {\n          return 1;\n        }\n      }\n      else {\n        bVar21 = param_3 < 0x3c;\n        bVar23 = param_3 == 0x3c;\n        if (bVar23) {\n          iVar7 = 0xf;\n          pbVar16 = param_7;\n          pbVar18 = (byte *)"gcc2_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar21 = *pbVar16 < *pbVar18;\n            bVar23 = *pbVar16 == *pbVar18;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n          } while (bVar23);\n          bVar22 = false;\n          bVar21 = (!bVar21 && !bVar23) == bVar21;\n          if (bVar21) {\n            param_2[0xb] = 2;\n            return 1;\n          }\n          iVar7 = 0xe;\n          pbVar16 = (byte *)"gcc_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar22 = *param_7 < *pbVar16;\n            bVar21 = *param_7 == *pbVar16;\n            param_7 = param_7 + (uint)bVar24 * -2 + 1;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n          } while (bVar21);\n          if ((!bVar22 && !bVar21) != bVar22) {\n            param_2[0xc] = 1;\n            return 1;\n          }\n          param_2[0xb] = 1;\n          return 1;\n        }\n        if (param_3 == 0x44) {\n          if (param_2[0x10] != 0) {\n            bVar21 = CARRY4(param_5,param_2[9]);\n            param_5 = param_5 + param_2[9];\n            param_6 = param_6 + param_2[10] + (uint)bVar21;\n          }\n          iVar7 = FUN_0003ca10(param_1,param_4,param_5,param_6);\n          goto LAB_0004426d;\n        }\n      }\n    }\nLAB_00044431:\n    local_24 = (byte *)strchr((char *)param_7,0x3a);\n    if (local_24 == (byte *)0x0) {\n      return 1;\n    }\n    bVar24 = local_24[1];\n    if ((bVar24 & 0xdf) != 0x46) goto LAB_000447b5;\n    if (param_2[0x10] != 0) {\n      local_3c = (char *)param_2[0x11];\n      local_38 = param_2[0x12];\n      if ((((uint)local_3c & local_38) == 0xffffffff) ||\n         (param_6 <= local_38 && (uint)(local_3c < param_5) <= local_38 - param_6)) {\n        local_3c = (char *)param_5;\n        local_38 = param_6;\n      }\n      iVar7 = FUN_0003e2f0();\n      if ((iVar7 == 0) || (iVar7 = FUN_0003c7e0(param_1,local_3c,local_38), iVar7 == 0)) {\n        return 0;\n      }\n      param_2[0x11] = -1;\n      param_2[0x12] = -1;\n    }\n    if (param_2[1] != 0) {\n      param_2[9] = param_5;\n      param_2[10] = param_6;\n    }\n    param_2[0x10] = 1;\n    local_24 = (byte *)strchr((char *)param_7,0x3a);\n    if (local_24 == (byte *)0x0) {\n      return 1;\n    }\nLAB_000447b1:\n    bVar24 = local_24[1];\nLAB_000447b5:\n    if (bVar24 == 0x3a) goto LAB_00044790;\n    if (*param_7 != 0x24) goto LAB_000447c7;\n    switch(param_7[1]) {\n    default:\n      dcgettext(0,"unknown C++ encoded name",5);\n      FUN_0003df30();\n    case 0x58:\n    case 0x5f:\n    case 0x76:\nLAB_000447c7:\n      local_3c = (char *)0x0;\n      if ((param_7 != local_24) && ((*param_7 != 0x20 || (local_24 != param_7 + 1)))) {\n        local_3c = (char *)FUN_0003e060();\n      }\n      break;\n    case 0x65:\n      local_3c = "eh_throw";\n      break;\n    case 0x74:\n      local_3c = "this";\n    }\n    param_7 = param_7 + sVar9;\n    pbVar16 = local_24 + 1;\n    bVar24 = local_24[1];\n    if (((PTR__sch_istable_00071fbc[(uint)bVar24 * 2] & 4) != 0) ||\n       (bVar24 == 0x28 || bVar24 == 0x2d)) {\nLAB_0004483d:\n      local_24 = pbVar16;\n      iVar7 = FUN_00040c70(&local_24,0,param_7);\n      if (iVar7 == 0) {\n        return 0;\n      }\n      uVar27 = 4;\n      goto code_r0x0004486e;\n    }\n    if (bVar24 != 0) {\n      pbVar16 = local_24 + 2;\n      bVar24 = local_24[1];\n      if (0x33 < (byte)(bVar24 + 0xbd)) goto LAB_00044e16;\n      iVar7 = (int)&__DT_PLTGOT + *(int *)(&DAT_00057e08 + (uint)(byte)(bVar24 + 0xbd) * 4);\n      switch(bVar24) {\n      case 0x43:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,bVar24);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003ccf0(param_1,local_3c,iVar7,param_5,param_6);\n        goto joined_r0x00044fe7;\n      default:\n        goto LAB_00044e16;\n      case 0x46:\n      case 0x66:\n        local_24 = pbVar16;\n        uVar26 = FUN_00040c70(&local_24,0,param_7,iVar7);\n        uVar27 = (undefined4)((ulonglong)uVar26 >> 0x20);\n        if ((int)uVar26 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003c5a0(param_1,local_3c,(int)uVar26,bVar24 == 0x46,param_5,param_6,uVar27,\n                             uVar27);\n        while( true ) {\n          if (iVar7 == 0) {\n            return 0;\n          }\n          if (*local_24 != 0x3b) break;\n          local_24 = local_24 + 1;\n          iVar7 = FUN_00040c70(&local_24,0,param_7);\n        }\n        return 1;\n      case 0x47:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,iVar7);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) goto code_r0x00044c0d;\n        iVar10 = param_2[3];\n        piVar13 = (int *)param_2[2];\n        cVar3 = *(char *)(*(int *)(*param_2 + 4) + 0x18);\n        if (iVar10 < 1) goto code_r0x00044c0d;\n        cVar2 = *local_3c;\n        goto code_r0x00044bbc;\n      case 0x50:\n        if (param_3 == 0x24) {\n          local_24 = pbVar16;\n          do {\n            if (*local_24 != 0x3b) {\n              return 1;\n            }\n            local_24 = local_24 + 1;\n            iVar7 = FUN_00040c70(&local_24,0,param_7);\n          } while (iVar7 != 0);\n          return 0;\n        }\n      case 0x52:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,iVar7);\njoined_r0x00045010:\n        if (iVar7 == 0) {\n          return 0;\n        }\ncode_r0x00044af0:\n        iVar7 = FUN_0003c6e0(param_1,local_3c,iVar7);\n        goto joined_r0x00044fe7;\n      case 0x53:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 2;\n        goto code_r0x0004486e;\n      case 0x54:\n        pbVar18 = local_24 + 2;\n        if (*pbVar18 == 0x74) {\n          pbVar16 = local_24 + 3;\n        }\n        local_24 = pbVar16;\n        uVar11 = (uint)(*pbVar18 == 0x74);\n        iVar7 = FUN_00040c70(&local_24,apiStack_20,param_7,param_3);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) {\n          return 1;\n        }\n        iVar10 = param_2[0x3a];\n        iVar7 = FUN_0003d680(param_1,local_3c,iVar7,extraout_ECX);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (apiStack_20[0] != (int *)0x0) {\n          *apiStack_20[0] = iVar7;\n        }\n        piVar13 = apiStack_20[0];\n        if (iVar10 != 0) goto code_r0x00044efc;\n        if ((int *)param_2[0x39] == (int *)0x0) goto code_r0x00044efc;\n        cVar3 = *local_3c;\n        piVar17 = param_2 + 0x39;\n        piVar20 = (int *)param_2[0x39];\n        goto code_r0x00044ecc;\n      case 0x56:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 3;\n        goto code_r0x0004486e;\n      case 0x58:\n      case 0x6c:\n      case 0x73:\n        goto LAB_0004483d;\n      case 0x59:\n        pbVar16 = local_24 + 3;\n        if ((local_24[3] == 0x6e) &&\n           (pbVar16 = local_24 + 4, pbVar18 = local_24 + 4, local_24 = pbVar16, *pbVar18 == 0x30)) {\n          for (; *local_24 != 0x3b; local_24 = local_24 + 1) {\n          }\n          return 1;\n        }\nLAB_00044e16:\n        local_24 = pbVar16;\n        FUN_0003dfb0();\n        return 0;\n      case 0x61:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,bVar24);\n        goto joined_r0x00045010;\n      case 99:\n        if (local_24[2] == 0x3d) {\n          pbVar16 = local_24 + 4;\n          bVar24 = local_24[3];\n          local_24 = pbVar16;\n          if (bVar24 == 0x69) {\n            lVar15 = strtol((char *)pbVar16,(char **)0x0,10);\n            iVar7 = FUN_0003cbe0(param_1,local_3c,lVar15,lVar15 >> 0x1f);\n            goto joined_r0x00044fe7;\n          }\n          if (bVar24 == 0x72) {\n            lVar25 = (longdouble)func_0x00013560(pbVar16,0,0x72,0x72);\n            iVar7 = FUN_0003cc30(param_1,local_3c,(double)lVar25);\n            goto joined_r0x00044fe7;\n          }\n          if (bVar24 == 0x65) {\n            iVar7 = FUN_00040c70(&local_24,0,param_7,0x65);\n            if (iVar7 == 0) {\n              return 0;\n            }\n            pbVar16 = local_24;\n            if (*local_24 == 0x2c) {\n              uVar28 = 10;\n              uVar27 = 0;\n              lVar15 = strtol((char *)local_24,(char **)0x0,10);\n              iVar7 = FUN_0003cc70(param_1,local_3c,iVar7,lVar15,lVar15 >> 0x1f,uVar27,uVar28,\n                                   param_3);\n              goto joined_r0x00044fe7;\n            }\n          }\n        }\n        break;\n      case 0x70:\n        if (local_24[2] == 0x46) {\n          local_24 = local_24 + 3;\n          iVar7 = FUN_00040c70(&local_24,0,param_7,local_24);\n          if (iVar7 == 0) {\n            return 0;\n          }\n          uVar27 = FUN_0003d080(param_1,iVar7,0,0);\n          iVar7 = FUN_0003d030(param_1,uVar27);\n        }\n        else {\n          pbVar18 = local_24;\n          local_24 = pbVar16;\n          iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        }\n        goto joined_r0x00044dee;\n      case 0x72:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 5;\n        goto code_r0x0004486e;\n      case 0x74:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,apiStack_20,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) {\n          return 1;\n        }\n        iVar7 = FUN_0003d5a0(param_1,local_3c,iVar7,param_2);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (apiStack_20[0] == (int *)0x0) {\n          return 1;\n        }\n        *apiStack_20[0] = iVar7;\n        return 1;\n      case 0x76:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\njoined_r0x00044dee:\n        if (iVar7 == 0) {\n          return 0;\n        }\n        goto code_r0x00044af0;\n      }\n    }\n    goto LAB_000449d0;\n  }" { (if_statement "if (param_3 == 0x24) {\n      if (*param_7 == 0) {\n        if (param_2[0x10] == 0) {\n          return 1;\n        }\n        if (param_2[1] != 0) {\n          bVar21 = CARRY4(param_5,param_2[9]);\n          param_5 = param_5 + param_2[9];\n          param_6 = param_6 + param_2[10] + (uint)bVar21;\n        }\n        iVar7 = FUN_0003e2f0(param_5,param_6);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003c7e0(param_1,param_5,param_6);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        param_2[0x10] = 0;\n        param_2[0x11] = -1;\n        param_2[0x12] = -1;\n        return 1;\n      }\n      if (param_2[0x10] != 0) {\n        uVar11 = param_2[0x12];\n        if (((param_2[0x11] & uVar11) == 0xffffffff) ||\n           (param_6 < uVar11 || param_6 - uVar11 < (uint)(param_5 < (uint)param_2[0x11]))) {\n          param_2[0x11] = param_5;\n          param_2[0x12] = param_6;\n        }\n      }\n    }\n    else if ((int)param_3 < 0x25) {\n      if (param_3 == 0xc) {\n        return 1;\n      }\n      if ((0xb < (int)param_3) && (param_3 - 0x1e < 2)) {\n        return 1;\n      }\n    }\n    else {\n      if (param_3 == 0x38) {\n        return 1;\n      }\n      if ((int)param_3 < 0x39) {\n        if (param_3 == 0x2a) {\n          return 1;\n        }\n      }\n      else {\n        bVar21 = param_3 < 0x3c;\n        bVar23 = param_3 == 0x3c;\n        if (bVar23) {\n          iVar7 = 0xf;\n          pbVar16 = param_7;\n          pbVar18 = (byte *)"gcc2_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar21 = *pbVar16 < *pbVar18;\n            bVar23 = *pbVar16 == *pbVar18;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n          } while (bVar23);\n          bVar22 = false;\n          bVar21 = (!bVar21 && !bVar23) == bVar21;\n          if (bVar21) {\n            param_2[0xb] = 2;\n            return 1;\n          }\n          iVar7 = 0xe;\n          pbVar16 = (byte *)"gcc_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar22 = *param_7 < *pbVar16;\n            bVar21 = *param_7 == *pbVar16;\n            param_7 = param_7 + (uint)bVar24 * -2 + 1;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n          } while (bVar21);\n          if ((!bVar22 && !bVar21) != bVar22) {\n            param_2[0xc] = 1;\n            return 1;\n          }\n          param_2[0xb] = 1;\n          return 1;\n        }\n        if (param_3 == 0x44) {\n          if (param_2[0x10] != 0) {\n            bVar21 = CARRY4(param_5,param_2[9]);\n            param_5 = param_5 + param_2[9];\n            param_6 = param_6 + param_2[10] + (uint)bVar21;\n          }\n          iVar7 = FUN_0003ca10(param_1,param_4,param_5,param_6);\n          goto LAB_0004426d;\n        }\n      }\n    }" if (parenthesized_expression "(param_3 == 0x24)" ( (binary_expression "param_3 == 0x24" identifier == number_literal) )) (compound_statement "{\n      if (*param_7 == 0) {\n        if (param_2[0x10] == 0) {\n          return 1;\n        }\n        if (param_2[1] != 0) {\n          bVar21 = CARRY4(param_5,param_2[9]);\n          param_5 = param_5 + param_2[9];\n          param_6 = param_6 + param_2[10] + (uint)bVar21;\n        }\n        iVar7 = FUN_0003e2f0(param_5,param_6);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003c7e0(param_1,param_5,param_6);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        param_2[0x10] = 0;\n        param_2[0x11] = -1;\n        param_2[0x12] = -1;\n        return 1;\n      }\n      if (param_2[0x10] != 0) {\n        uVar11 = param_2[0x12];\n        if (((param_2[0x11] & uVar11) == 0xffffffff) ||\n           (param_6 < uVar11 || param_6 - uVar11 < (uint)(param_5 < (uint)param_2[0x11]))) {\n          param_2[0x11] = param_5;\n          param_2[0x12] = param_6;\n        }\n      }\n    }" { (if_statement "if (*param_7 == 0) {\n        if (param_2[0x10] == 0) {\n          return 1;\n        }\n        if (param_2[1] != 0) {\n          bVar21 = CARRY4(param_5,param_2[9]);\n          param_5 = param_5 + param_2[9];\n          param_6 = param_6 + param_2[10] + (uint)bVar21;\n        }\n        iVar7 = FUN_0003e2f0(param_5,param_6);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003c7e0(param_1,param_5,param_6);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        param_2[0x10] = 0;\n        param_2[0x11] = -1;\n        param_2[0x12] = -1;\n        return 1;\n      }" if (parenthesized_expression "(*param_7 == 0)" ( (binary_expression "*param_7 == 0" (pointer_expression "*param_7" * identifier) == number_literal) )) (compound_statement "{\n        if (param_2[0x10] == 0) {\n          return 1;\n        }\n        if (param_2[1] != 0) {\n          bVar21 = CARRY4(param_5,param_2[9]);\n          param_5 = param_5 + param_2[9];\n          param_6 = param_6 + param_2[10] + (uint)bVar21;\n        }\n        iVar7 = FUN_0003e2f0(param_5,param_6);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003c7e0(param_1,param_5,param_6);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        param_2[0x10] = 0;\n        param_2[0x11] = -1;\n        param_2[0x12] = -1;\n        return 1;\n      }" { (if_statement "if (param_2[0x10] == 0) {\n          return 1;\n        }" if (parenthesized_expression "(param_2[0x10] == 0)" ( (binary_expression "param_2[0x10] == 0" (subscript_expression "param_2[0x10]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n          return 1;\n        }" { (return_statement "return 1;" return number_literal ;) })) (if_statement "if (param_2[1] != 0) {\n          bVar21 = CARRY4(param_5,param_2[9]);\n          param_5 = param_5 + param_2[9];\n          param_6 = param_6 + param_2[10] + (uint)bVar21;\n        }" if (parenthesized_expression "(param_2[1] != 0)" ( (binary_expression "param_2[1] != 0" (subscript_expression "param_2[1]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n          bVar21 = CARRY4(param_5,param_2[9]);\n          param_5 = param_5 + param_2[9];\n          param_6 = param_6 + param_2[10] + (uint)bVar21;\n        }" { (expression_statement "bVar21 = CARRY4(param_5,param_2[9]);" (assignment_expression "bVar21 = CARRY4(param_5,param_2[9])" identifier = (call_expression "CARRY4(param_5,param_2[9])" identifier (argument_list "(param_5,param_2[9])" ( identifier , (subscript_expression "param_2[9]" identifier [ number_literal ]) )))) ;) (expression_statement "param_5 = param_5 + param_2[9];" (assignment_expression "param_5 = param_5 + param_2[9]" identifier = (binary_expression "param_5 + param_2[9]" identifier + (subscript_expression "param_2[9]" identifier [ number_literal ]))) ;) (expression_statement "param_6 = param_6 + param_2[10] + (uint)bVar21;" (assignment_expression "param_6 = param_6 + param_2[10] + (uint)bVar21" identifier = (binary_expression "param_6 + param_2[10] + (uint)bVar21" (binary_expression "param_6 + param_2[10]" identifier + (subscript_expression "param_2[10]" identifier [ number_literal ])) + (cast_expression "(uint)bVar21" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) })) (expression_statement "iVar7 = FUN_0003e2f0(param_5,param_6);" (assignment_expression "iVar7 = FUN_0003e2f0(param_5,param_6)" identifier = (call_expression "FUN_0003e2f0(param_5,param_6)" identifier (argument_list "(param_5,param_6)" ( identifier , identifier )))) ;) (if_statement "if (iVar7 == 0) {\n          return 0;\n        }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n          return 0;\n        }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "iVar7 = FUN_0003c7e0(param_1,param_5,param_6);" (assignment_expression "iVar7 = FUN_0003c7e0(param_1,param_5,param_6)" identifier = (call_expression "FUN_0003c7e0(param_1,param_5,param_6)" identifier (argument_list "(param_1,param_5,param_6)" ( identifier , identifier , identifier )))) ;) (if_statement "if (iVar7 == 0) {\n          return 0;\n        }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n          return 0;\n        }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "param_2[0x10] = 0;" (assignment_expression "param_2[0x10] = 0" (subscript_expression "param_2[0x10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_2[0x11] = -1;" (assignment_expression "param_2[0x11] = -1" (subscript_expression "param_2[0x11]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_2[0x12] = -1;" (assignment_expression "param_2[0x12] = -1" (subscript_expression "param_2[0x12]" identifier [ number_literal ]) = number_literal) ;) (return_statement "return 1;" return number_literal ;) })) (if_statement "if (param_2[0x10] != 0) {\n        uVar11 = param_2[0x12];\n        if (((param_2[0x11] & uVar11) == 0xffffffff) ||\n           (param_6 < uVar11 || param_6 - uVar11 < (uint)(param_5 < (uint)param_2[0x11]))) {\n          param_2[0x11] = param_5;\n          param_2[0x12] = param_6;\n        }\n      }" if (parenthesized_expression "(param_2[0x10] != 0)" ( (binary_expression "param_2[0x10] != 0" (subscript_expression "param_2[0x10]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        uVar11 = param_2[0x12];\n        if (((param_2[0x11] & uVar11) == 0xffffffff) ||\n           (param_6 < uVar11 || param_6 - uVar11 < (uint)(param_5 < (uint)param_2[0x11]))) {\n          param_2[0x11] = param_5;\n          param_2[0x12] = param_6;\n        }\n      }" { (expression_statement "uVar11 = param_2[0x12];" (assignment_expression "uVar11 = param_2[0x12]" identifier = (subscript_expression "param_2[0x12]" identifier [ number_literal ])) ;) (if_statement "if (((param_2[0x11] & uVar11) == 0xffffffff) ||\n           (param_6 < uVar11 || param_6 - uVar11 < (uint)(param_5 < (uint)param_2[0x11]))) {\n          param_2[0x11] = param_5;\n          param_2[0x12] = param_6;\n        }" if (parenthesized_expression "(((param_2[0x11] & uVar11) == 0xffffffff) ||\n           (param_6 < uVar11 || param_6 - uVar11 < (uint)(param_5 < (uint)param_2[0x11])))" ( (binary_expression "((param_2[0x11] & uVar11) == 0xffffffff) ||\n           (param_6 < uVar11 || param_6 - uVar11 < (uint)(param_5 < (uint)param_2[0x11]))" (parenthesized_expression "((param_2[0x11] & uVar11) == 0xffffffff)" ( (binary_expression "(param_2[0x11] & uVar11) == 0xffffffff" (parenthesized_expression "(param_2[0x11] & uVar11)" ( (binary_expression "param_2[0x11] & uVar11" (subscript_expression "param_2[0x11]" identifier [ number_literal ]) & identifier) )) == number_literal) )) || (parenthesized_expression "(param_6 < uVar11 || param_6 - uVar11 < (uint)(param_5 < (uint)param_2[0x11]))" ( (binary_expression "param_6 < uVar11 || param_6 - uVar11 < (uint)(param_5 < (uint)param_2[0x11])" (binary_expression "param_6 < uVar11" identifier < identifier) || (binary_expression "param_6 - uVar11 < (uint)(param_5 < (uint)param_2[0x11])" (binary_expression "param_6 - uVar11" identifier - identifier) < (call_expression "(uint)(param_5 < (uint)param_2[0x11])" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(param_5 < (uint)param_2[0x11])" ( (binary_expression "param_5 < (uint)param_2[0x11]" identifier < (cast_expression "(uint)param_2[0x11]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_2[0x11]" identifier [ number_literal ]))) ))))) ))) )) (compound_statement "{\n          param_2[0x11] = param_5;\n          param_2[0x12] = param_6;\n        }" { (expression_statement "param_2[0x11] = param_5;" (assignment_expression "param_2[0x11] = param_5" (subscript_expression "param_2[0x11]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_2[0x12] = param_6;" (assignment_expression "param_2[0x12] = param_6" (subscript_expression "param_2[0x12]" identifier [ number_literal ]) = identifier) ;) })) })) }) (else_clause "else if ((int)param_3 < 0x25) {\n      if (param_3 == 0xc) {\n        return 1;\n      }\n      if ((0xb < (int)param_3) && (param_3 - 0x1e < 2)) {\n        return 1;\n      }\n    }\n    else {\n      if (param_3 == 0x38) {\n        return 1;\n      }\n      if ((int)param_3 < 0x39) {\n        if (param_3 == 0x2a) {\n          return 1;\n        }\n      }\n      else {\n        bVar21 = param_3 < 0x3c;\n        bVar23 = param_3 == 0x3c;\n        if (bVar23) {\n          iVar7 = 0xf;\n          pbVar16 = param_7;\n          pbVar18 = (byte *)"gcc2_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar21 = *pbVar16 < *pbVar18;\n            bVar23 = *pbVar16 == *pbVar18;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n          } while (bVar23);\n          bVar22 = false;\n          bVar21 = (!bVar21 && !bVar23) == bVar21;\n          if (bVar21) {\n            param_2[0xb] = 2;\n            return 1;\n          }\n          iVar7 = 0xe;\n          pbVar16 = (byte *)"gcc_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar22 = *param_7 < *pbVar16;\n            bVar21 = *param_7 == *pbVar16;\n            param_7 = param_7 + (uint)bVar24 * -2 + 1;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n          } while (bVar21);\n          if ((!bVar22 && !bVar21) != bVar22) {\n            param_2[0xc] = 1;\n            return 1;\n          }\n          param_2[0xb] = 1;\n          return 1;\n        }\n        if (param_3 == 0x44) {\n          if (param_2[0x10] != 0) {\n            bVar21 = CARRY4(param_5,param_2[9]);\n            param_5 = param_5 + param_2[9];\n            param_6 = param_6 + param_2[10] + (uint)bVar21;\n          }\n          iVar7 = FUN_0003ca10(param_1,param_4,param_5,param_6);\n          goto LAB_0004426d;\n        }\n      }\n    }" else (if_statement "if ((int)param_3 < 0x25) {\n      if (param_3 == 0xc) {\n        return 1;\n      }\n      if ((0xb < (int)param_3) && (param_3 - 0x1e < 2)) {\n        return 1;\n      }\n    }\n    else {\n      if (param_3 == 0x38) {\n        return 1;\n      }\n      if ((int)param_3 < 0x39) {\n        if (param_3 == 0x2a) {\n          return 1;\n        }\n      }\n      else {\n        bVar21 = param_3 < 0x3c;\n        bVar23 = param_3 == 0x3c;\n        if (bVar23) {\n          iVar7 = 0xf;\n          pbVar16 = param_7;\n          pbVar18 = (byte *)"gcc2_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar21 = *pbVar16 < *pbVar18;\n            bVar23 = *pbVar16 == *pbVar18;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n          } while (bVar23);\n          bVar22 = false;\n          bVar21 = (!bVar21 && !bVar23) == bVar21;\n          if (bVar21) {\n            param_2[0xb] = 2;\n            return 1;\n          }\n          iVar7 = 0xe;\n          pbVar16 = (byte *)"gcc_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar22 = *param_7 < *pbVar16;\n            bVar21 = *param_7 == *pbVar16;\n            param_7 = param_7 + (uint)bVar24 * -2 + 1;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n          } while (bVar21);\n          if ((!bVar22 && !bVar21) != bVar22) {\n            param_2[0xc] = 1;\n            return 1;\n          }\n          param_2[0xb] = 1;\n          return 1;\n        }\n        if (param_3 == 0x44) {\n          if (param_2[0x10] != 0) {\n            bVar21 = CARRY4(param_5,param_2[9]);\n            param_5 = param_5 + param_2[9];\n            param_6 = param_6 + param_2[10] + (uint)bVar21;\n          }\n          iVar7 = FUN_0003ca10(param_1,param_4,param_5,param_6);\n          goto LAB_0004426d;\n        }\n      }\n    }" if (parenthesized_expression "((int)param_3 < 0x25)" ( (binary_expression "(int)param_3 < 0x25" (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      if (param_3 == 0xc) {\n        return 1;\n      }\n      if ((0xb < (int)param_3) && (param_3 - 0x1e < 2)) {\n        return 1;\n      }\n    }" { (if_statement "if (param_3 == 0xc) {\n        return 1;\n      }" if (parenthesized_expression "(param_3 == 0xc)" ( (binary_expression "param_3 == 0xc" identifier == number_literal) )) (compound_statement "{\n        return 1;\n      }" { (return_statement "return 1;" return number_literal ;) })) (if_statement "if ((0xb < (int)param_3) && (param_3 - 0x1e < 2)) {\n        return 1;\n      }" if (parenthesized_expression "((0xb < (int)param_3) && (param_3 - 0x1e < 2))" ( (binary_expression "(0xb < (int)param_3) && (param_3 - 0x1e < 2)" (parenthesized_expression "(0xb < (int)param_3)" ( (binary_expression "0xb < (int)param_3" number_literal < (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier)) )) && (parenthesized_expression "(param_3 - 0x1e < 2)" ( (binary_expression "param_3 - 0x1e < 2" (binary_expression "param_3 - 0x1e" identifier - number_literal) < number_literal) ))) )) (compound_statement "{\n        return 1;\n      }" { (return_statement "return 1;" return number_literal ;) })) }) (else_clause "else {\n      if (param_3 == 0x38) {\n        return 1;\n      }\n      if ((int)param_3 < 0x39) {\n        if (param_3 == 0x2a) {\n          return 1;\n        }\n      }\n      else {\n        bVar21 = param_3 < 0x3c;\n        bVar23 = param_3 == 0x3c;\n        if (bVar23) {\n          iVar7 = 0xf;\n          pbVar16 = param_7;\n          pbVar18 = (byte *)"gcc2_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar21 = *pbVar16 < *pbVar18;\n            bVar23 = *pbVar16 == *pbVar18;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n          } while (bVar23);\n          bVar22 = false;\n          bVar21 = (!bVar21 && !bVar23) == bVar21;\n          if (bVar21) {\n            param_2[0xb] = 2;\n            return 1;\n          }\n          iVar7 = 0xe;\n          pbVar16 = (byte *)"gcc_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar22 = *param_7 < *pbVar16;\n            bVar21 = *param_7 == *pbVar16;\n            param_7 = param_7 + (uint)bVar24 * -2 + 1;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n          } while (bVar21);\n          if ((!bVar22 && !bVar21) != bVar22) {\n            param_2[0xc] = 1;\n            return 1;\n          }\n          param_2[0xb] = 1;\n          return 1;\n        }\n        if (param_3 == 0x44) {\n          if (param_2[0x10] != 0) {\n            bVar21 = CARRY4(param_5,param_2[9]);\n            param_5 = param_5 + param_2[9];\n            param_6 = param_6 + param_2[10] + (uint)bVar21;\n          }\n          iVar7 = FUN_0003ca10(param_1,param_4,param_5,param_6);\n          goto LAB_0004426d;\n        }\n      }\n    }" else (compound_statement "{\n      if (param_3 == 0x38) {\n        return 1;\n      }\n      if ((int)param_3 < 0x39) {\n        if (param_3 == 0x2a) {\n          return 1;\n        }\n      }\n      else {\n        bVar21 = param_3 < 0x3c;\n        bVar23 = param_3 == 0x3c;\n        if (bVar23) {\n          iVar7 = 0xf;\n          pbVar16 = param_7;\n          pbVar18 = (byte *)"gcc2_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar21 = *pbVar16 < *pbVar18;\n            bVar23 = *pbVar16 == *pbVar18;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n          } while (bVar23);\n          bVar22 = false;\n          bVar21 = (!bVar21 && !bVar23) == bVar21;\n          if (bVar21) {\n            param_2[0xb] = 2;\n            return 1;\n          }\n          iVar7 = 0xe;\n          pbVar16 = (byte *)"gcc_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar22 = *param_7 < *pbVar16;\n            bVar21 = *param_7 == *pbVar16;\n            param_7 = param_7 + (uint)bVar24 * -2 + 1;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n          } while (bVar21);\n          if ((!bVar22 && !bVar21) != bVar22) {\n            param_2[0xc] = 1;\n            return 1;\n          }\n          param_2[0xb] = 1;\n          return 1;\n        }\n        if (param_3 == 0x44) {\n          if (param_2[0x10] != 0) {\n            bVar21 = CARRY4(param_5,param_2[9]);\n            param_5 = param_5 + param_2[9];\n            param_6 = param_6 + param_2[10] + (uint)bVar21;\n          }\n          iVar7 = FUN_0003ca10(param_1,param_4,param_5,param_6);\n          goto LAB_0004426d;\n        }\n      }\n    }" { (if_statement "if (param_3 == 0x38) {\n        return 1;\n      }" if (parenthesized_expression "(param_3 == 0x38)" ( (binary_expression "param_3 == 0x38" identifier == number_literal) )) (compound_statement "{\n        return 1;\n      }" { (return_statement "return 1;" return number_literal ;) })) (if_statement "if ((int)param_3 < 0x39) {\n        if (param_3 == 0x2a) {\n          return 1;\n        }\n      }\n      else {\n        bVar21 = param_3 < 0x3c;\n        bVar23 = param_3 == 0x3c;\n        if (bVar23) {\n          iVar7 = 0xf;\n          pbVar16 = param_7;\n          pbVar18 = (byte *)"gcc2_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar21 = *pbVar16 < *pbVar18;\n            bVar23 = *pbVar16 == *pbVar18;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n          } while (bVar23);\n          bVar22 = false;\n          bVar21 = (!bVar21 && !bVar23) == bVar21;\n          if (bVar21) {\n            param_2[0xb] = 2;\n            return 1;\n          }\n          iVar7 = 0xe;\n          pbVar16 = (byte *)"gcc_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar22 = *param_7 < *pbVar16;\n            bVar21 = *param_7 == *pbVar16;\n            param_7 = param_7 + (uint)bVar24 * -2 + 1;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n          } while (bVar21);\n          if ((!bVar22 && !bVar21) != bVar22) {\n            param_2[0xc] = 1;\n            return 1;\n          }\n          param_2[0xb] = 1;\n          return 1;\n        }\n        if (param_3 == 0x44) {\n          if (param_2[0x10] != 0) {\n            bVar21 = CARRY4(param_5,param_2[9]);\n            param_5 = param_5 + param_2[9];\n            param_6 = param_6 + param_2[10] + (uint)bVar21;\n          }\n          iVar7 = FUN_0003ca10(param_1,param_4,param_5,param_6);\n          goto LAB_0004426d;\n        }\n      }" if (parenthesized_expression "((int)param_3 < 0x39)" ( (binary_expression "(int)param_3 < 0x39" (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n        if (param_3 == 0x2a) {\n          return 1;\n        }\n      }" { (if_statement "if (param_3 == 0x2a) {\n          return 1;\n        }" if (parenthesized_expression "(param_3 == 0x2a)" ( (binary_expression "param_3 == 0x2a" identifier == number_literal) )) (compound_statement "{\n          return 1;\n        }" { (return_statement "return 1;" return number_literal ;) })) }) (else_clause "else {\n        bVar21 = param_3 < 0x3c;\n        bVar23 = param_3 == 0x3c;\n        if (bVar23) {\n          iVar7 = 0xf;\n          pbVar16 = param_7;\n          pbVar18 = (byte *)"gcc2_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar21 = *pbVar16 < *pbVar18;\n            bVar23 = *pbVar16 == *pbVar18;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n          } while (bVar23);\n          bVar22 = false;\n          bVar21 = (!bVar21 && !bVar23) == bVar21;\n          if (bVar21) {\n            param_2[0xb] = 2;\n            return 1;\n          }\n          iVar7 = 0xe;\n          pbVar16 = (byte *)"gcc_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar22 = *param_7 < *pbVar16;\n            bVar21 = *param_7 == *pbVar16;\n            param_7 = param_7 + (uint)bVar24 * -2 + 1;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n          } while (bVar21);\n          if ((!bVar22 && !bVar21) != bVar22) {\n            param_2[0xc] = 1;\n            return 1;\n          }\n          param_2[0xb] = 1;\n          return 1;\n        }\n        if (param_3 == 0x44) {\n          if (param_2[0x10] != 0) {\n            bVar21 = CARRY4(param_5,param_2[9]);\n            param_5 = param_5 + param_2[9];\n            param_6 = param_6 + param_2[10] + (uint)bVar21;\n          }\n          iVar7 = FUN_0003ca10(param_1,param_4,param_5,param_6);\n          goto LAB_0004426d;\n        }\n      }" else (compound_statement "{\n        bVar21 = param_3 < 0x3c;\n        bVar23 = param_3 == 0x3c;\n        if (bVar23) {\n          iVar7 = 0xf;\n          pbVar16 = param_7;\n          pbVar18 = (byte *)"gcc2_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar21 = *pbVar16 < *pbVar18;\n            bVar23 = *pbVar16 == *pbVar18;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n          } while (bVar23);\n          bVar22 = false;\n          bVar21 = (!bVar21 && !bVar23) == bVar21;\n          if (bVar21) {\n            param_2[0xb] = 2;\n            return 1;\n          }\n          iVar7 = 0xe;\n          pbVar16 = (byte *)"gcc_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar22 = *param_7 < *pbVar16;\n            bVar21 = *param_7 == *pbVar16;\n            param_7 = param_7 + (uint)bVar24 * -2 + 1;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n          } while (bVar21);\n          if ((!bVar22 && !bVar21) != bVar22) {\n            param_2[0xc] = 1;\n            return 1;\n          }\n          param_2[0xb] = 1;\n          return 1;\n        }\n        if (param_3 == 0x44) {\n          if (param_2[0x10] != 0) {\n            bVar21 = CARRY4(param_5,param_2[9]);\n            param_5 = param_5 + param_2[9];\n            param_6 = param_6 + param_2[10] + (uint)bVar21;\n          }\n          iVar7 = FUN_0003ca10(param_1,param_4,param_5,param_6);\n          goto LAB_0004426d;\n        }\n      }" { (expression_statement "bVar21 = param_3 < 0x3c;" (assignment_expression "bVar21 = param_3 < 0x3c" identifier = (binary_expression "param_3 < 0x3c" identifier < number_literal)) ;) (expression_statement "bVar23 = param_3 == 0x3c;" (assignment_expression "bVar23 = param_3 == 0x3c" identifier = (binary_expression "param_3 == 0x3c" identifier == number_literal)) ;) (if_statement "if (bVar23) {\n          iVar7 = 0xf;\n          pbVar16 = param_7;\n          pbVar18 = (byte *)"gcc2_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar21 = *pbVar16 < *pbVar18;\n            bVar23 = *pbVar16 == *pbVar18;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n          } while (bVar23);\n          bVar22 = false;\n          bVar21 = (!bVar21 && !bVar23) == bVar21;\n          if (bVar21) {\n            param_2[0xb] = 2;\n            return 1;\n          }\n          iVar7 = 0xe;\n          pbVar16 = (byte *)"gcc_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar22 = *param_7 < *pbVar16;\n            bVar21 = *param_7 == *pbVar16;\n            param_7 = param_7 + (uint)bVar24 * -2 + 1;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n          } while (bVar21);\n          if ((!bVar22 && !bVar21) != bVar22) {\n            param_2[0xc] = 1;\n            return 1;\n          }\n          param_2[0xb] = 1;\n          return 1;\n        }" if (parenthesized_expression "(bVar23)" ( identifier )) (compound_statement "{\n          iVar7 = 0xf;\n          pbVar16 = param_7;\n          pbVar18 = (byte *)"gcc2_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar21 = *pbVar16 < *pbVar18;\n            bVar23 = *pbVar16 == *pbVar18;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n          } while (bVar23);\n          bVar22 = false;\n          bVar21 = (!bVar21 && !bVar23) == bVar21;\n          if (bVar21) {\n            param_2[0xb] = 2;\n            return 1;\n          }\n          iVar7 = 0xe;\n          pbVar16 = (byte *)"gcc_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar22 = *param_7 < *pbVar16;\n            bVar21 = *param_7 == *pbVar16;\n            param_7 = param_7 + (uint)bVar24 * -2 + 1;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n          } while (bVar21);\n          if ((!bVar22 && !bVar21) != bVar22) {\n            param_2[0xc] = 1;\n            return 1;\n          }\n          param_2[0xb] = 1;\n          return 1;\n        }" { (expression_statement "iVar7 = 0xf;" (assignment_expression "iVar7 = 0xf" identifier = number_literal) ;) (expression_statement "pbVar16 = param_7;" (assignment_expression "pbVar16 = param_7" identifier = identifier) ;) (expression_statement "pbVar18 = (byte *)"gcc2_compiled.";" (assignment_expression "pbVar18 = (byte *)"gcc2_compiled."" identifier = (cast_expression "(byte *)"gcc2_compiled."" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""gcc2_compiled."" " string_content "))) ;) (do_statement "do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar21 = *pbVar16 < *pbVar18;\n            bVar23 = *pbVar16 == *pbVar18;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n          } while (bVar23);" do (compound_statement "{\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar21 = *pbVar16 < *pbVar18;\n            bVar23 = *pbVar16 == *pbVar18;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n          }" { (if_statement "if (iVar7 == 0) break;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar7 = iVar7 + -1;" (assignment_expression "iVar7 = iVar7 + -1" identifier = (binary_expression "iVar7 + -1" identifier + number_literal)) ;) (expression_statement "bVar21 = *pbVar16 < *pbVar18;" (assignment_expression "bVar21 = *pbVar16 < *pbVar18" identifier = (binary_expression "*pbVar16 < *pbVar18" (pointer_expression "*pbVar16" * identifier) < (pointer_expression "*pbVar18" * identifier))) ;) (expression_statement "bVar23 = *pbVar16 == *pbVar18;" (assignment_expression "bVar23 = *pbVar16 == *pbVar18" identifier = (binary_expression "*pbVar16 == *pbVar18" (pointer_expression "*pbVar16" * identifier) == (pointer_expression "*pbVar18" * identifier))) ;) (expression_statement "pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;" (assignment_expression "pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1" identifier = (binary_expression "pbVar16 + (uint)bVar24 * -2 + 1" (binary_expression "pbVar16 + (uint)bVar24 * -2" identifier + (binary_expression "(uint)bVar24 * -2" (cast_expression "(uint)bVar24" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1" identifier = (binary_expression "pbVar18 + (uint)bVar24 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar24 * -2" identifier + (binary_expression "(uint)bVar24 * -2" (cast_expression "(uint)bVar24" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar23)" ( identifier )) ;) (expression_statement "bVar22 = false;" (assignment_expression "bVar22 = false" identifier = false) ;) (expression_statement "bVar21 = (!bVar21 && !bVar23) == bVar21;" (assignment_expression "bVar21 = (!bVar21 && !bVar23) == bVar21" identifier = (binary_expression "(!bVar21 && !bVar23) == bVar21" (parenthesized_expression "(!bVar21 && !bVar23)" ( (binary_expression "!bVar21 && !bVar23" (unary_expression "!bVar21" ! identifier) && (unary_expression "!bVar23" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar21) {\n            param_2[0xb] = 2;\n            return 1;\n          }" if (parenthesized_expression "(bVar21)" ( identifier )) (compound_statement "{\n            param_2[0xb] = 2;\n            return 1;\n          }" { (expression_statement "param_2[0xb] = 2;" (assignment_expression "param_2[0xb] = 2" (subscript_expression "param_2[0xb]" identifier [ number_literal ]) = number_literal) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar7 = 0xe;" (assignment_expression "iVar7 = 0xe" identifier = number_literal) ;) (expression_statement "pbVar16 = (byte *)"gcc_compiled.";" (assignment_expression "pbVar16 = (byte *)"gcc_compiled."" identifier = (cast_expression "(byte *)"gcc_compiled."" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""gcc_compiled."" " string_content "))) ;) (do_statement "do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar22 = *param_7 < *pbVar16;\n            bVar21 = *param_7 == *pbVar16;\n            param_7 = param_7 + (uint)bVar24 * -2 + 1;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n          } while (bVar21);" do (compound_statement "{\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar22 = *param_7 < *pbVar16;\n            bVar21 = *param_7 == *pbVar16;\n            param_7 = param_7 + (uint)bVar24 * -2 + 1;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n          }" { (if_statement "if (iVar7 == 0) break;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar7 = iVar7 + -1;" (assignment_expression "iVar7 = iVar7 + -1" identifier = (binary_expression "iVar7 + -1" identifier + number_literal)) ;) (expression_statement "bVar22 = *param_7 < *pbVar16;" (assignment_expression "bVar22 = *param_7 < *pbVar16" identifier = (binary_expression "*param_7 < *pbVar16" (pointer_expression "*param_7" * identifier) < (pointer_expression "*pbVar16" * identifier))) ;) (expression_statement "bVar21 = *param_7 == *pbVar16;" (assignment_expression "bVar21 = *param_7 == *pbVar16" identifier = (binary_expression "*param_7 == *pbVar16" (pointer_expression "*param_7" * identifier) == (pointer_expression "*pbVar16" * identifier))) ;) (expression_statement "param_7 = param_7 + (uint)bVar24 * -2 + 1;" (assignment_expression "param_7 = param_7 + (uint)bVar24 * -2 + 1" identifier = (binary_expression "param_7 + (uint)bVar24 * -2 + 1" (binary_expression "param_7 + (uint)bVar24 * -2" identifier + (binary_expression "(uint)bVar24 * -2" (cast_expression "(uint)bVar24" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;" (assignment_expression "pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1" identifier = (binary_expression "pbVar16 + (uint)bVar24 * -2 + 1" (binary_expression "pbVar16 + (uint)bVar24 * -2" identifier + (binary_expression "(uint)bVar24 * -2" (cast_expression "(uint)bVar24" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar21)" ( identifier )) ;) (if_statement "if ((!bVar22 && !bVar21) != bVar22) {\n            param_2[0xc] = 1;\n            return 1;\n          }" if (parenthesized_expression "((!bVar22 && !bVar21) != bVar22)" ( (binary_expression "(!bVar22 && !bVar21) != bVar22" (parenthesized_expression "(!bVar22 && !bVar21)" ( (binary_expression "!bVar22 && !bVar21" (unary_expression "!bVar22" ! identifier) && (unary_expression "!bVar21" ! identifier)) )) != identifier) )) (compound_statement "{\n            param_2[0xc] = 1;\n            return 1;\n          }" { (expression_statement "param_2[0xc] = 1;" (assignment_expression "param_2[0xc] = 1" (subscript_expression "param_2[0xc]" identifier [ number_literal ]) = number_literal) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "param_2[0xb] = 1;" (assignment_expression "param_2[0xb] = 1" (subscript_expression "param_2[0xb]" identifier [ number_literal ]) = number_literal) ;) (return_statement "return 1;" return number_literal ;) })) (if_statement "if (param_3 == 0x44) {\n          if (param_2[0x10] != 0) {\n            bVar21 = CARRY4(param_5,param_2[9]);\n            param_5 = param_5 + param_2[9];\n            param_6 = param_6 + param_2[10] + (uint)bVar21;\n          }\n          iVar7 = FUN_0003ca10(param_1,param_4,param_5,param_6);\n          goto LAB_0004426d;\n        }" if (parenthesized_expression "(param_3 == 0x44)" ( (binary_expression "param_3 == 0x44" identifier == number_literal) )) (compound_statement "{\n          if (param_2[0x10] != 0) {\n            bVar21 = CARRY4(param_5,param_2[9]);\n            param_5 = param_5 + param_2[9];\n            param_6 = param_6 + param_2[10] + (uint)bVar21;\n          }\n          iVar7 = FUN_0003ca10(param_1,param_4,param_5,param_6);\n          goto LAB_0004426d;\n        }" { (if_statement "if (param_2[0x10] != 0) {\n            bVar21 = CARRY4(param_5,param_2[9]);\n            param_5 = param_5 + param_2[9];\n            param_6 = param_6 + param_2[10] + (uint)bVar21;\n          }" if (parenthesized_expression "(param_2[0x10] != 0)" ( (binary_expression "param_2[0x10] != 0" (subscript_expression "param_2[0x10]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n            bVar21 = CARRY4(param_5,param_2[9]);\n            param_5 = param_5 + param_2[9];\n            param_6 = param_6 + param_2[10] + (uint)bVar21;\n          }" { (expression_statement "bVar21 = CARRY4(param_5,param_2[9]);" (assignment_expression "bVar21 = CARRY4(param_5,param_2[9])" identifier = (call_expression "CARRY4(param_5,param_2[9])" identifier (argument_list "(param_5,param_2[9])" ( identifier , (subscript_expression "param_2[9]" identifier [ number_literal ]) )))) ;) (expression_statement "param_5 = param_5 + param_2[9];" (assignment_expression "param_5 = param_5 + param_2[9]" identifier = (binary_expression "param_5 + param_2[9]" identifier + (subscript_expression "param_2[9]" identifier [ number_literal ]))) ;) (expression_statement "param_6 = param_6 + param_2[10] + (uint)bVar21;" (assignment_expression "param_6 = param_6 + param_2[10] + (uint)bVar21" identifier = (binary_expression "param_6 + param_2[10] + (uint)bVar21" (binary_expression "param_6 + param_2[10]" identifier + (subscript_expression "param_2[10]" identifier [ number_literal ])) + (cast_expression "(uint)bVar21" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) })) (expression_statement "iVar7 = FUN_0003ca10(param_1,param_4,param_5,param_6);" (assignment_expression "iVar7 = FUN_0003ca10(param_1,param_4,param_5,param_6)" identifier = (call_expression "FUN_0003ca10(param_1,param_4,param_5,param_6)" identifier (argument_list "(param_1,param_4,param_5,param_6)" ( identifier , identifier , identifier , identifier )))) ;) (goto_statement "goto LAB_0004426d;" goto statement_identifier ;) })) }))) }))))) (labeled_statement "LAB_00044431:\n    local_24 = (byte *)strchr((char *)param_7,0x3a);" statement_identifier : (expression_statement "local_24 = (byte *)strchr((char *)param_7,0x3a);" (assignment_expression "local_24 = (byte *)strchr((char *)param_7,0x3a)" identifier = (cast_expression "(byte *)strchr((char *)param_7,0x3a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "strchr((char *)param_7,0x3a)" identifier (argument_list "((char *)param_7,0x3a)" ( (cast_expression "(char *)param_7" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , number_literal ))))) ;)) (if_statement "if (local_24 == (byte *)0x0) {\n      return 1;\n    }" if (parenthesized_expression "(local_24 == (byte *)0x0)" ( (binary_expression "local_24 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      return 1;\n    }" { (return_statement "return 1;" return number_literal ;) })) (expression_statement "bVar24 = local_24[1];" (assignment_expression "bVar24 = local_24[1]" identifier = (subscript_expression "local_24[1]" identifier [ number_literal ])) ;) (if_statement "if ((bVar24 & 0xdf) != 0x46) goto LAB_000447b5;" if (parenthesized_expression "((bVar24 & 0xdf) != 0x46)" ( (binary_expression "(bVar24 & 0xdf) != 0x46" (parenthesized_expression "(bVar24 & 0xdf)" ( (binary_expression "bVar24 & 0xdf" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_000447b5;" goto statement_identifier ;)) (if_statement "if (param_2[0x10] != 0) {\n      local_3c = (char *)param_2[0x11];\n      local_38 = param_2[0x12];\n      if ((((uint)local_3c & local_38) == 0xffffffff) ||\n         (param_6 <= local_38 && (uint)(local_3c < param_5) <= local_38 - param_6)) {\n        local_3c = (char *)param_5;\n        local_38 = param_6;\n      }\n      iVar7 = FUN_0003e2f0();\n      if ((iVar7 == 0) || (iVar7 = FUN_0003c7e0(param_1,local_3c,local_38), iVar7 == 0)) {\n        return 0;\n      }\n      param_2[0x11] = -1;\n      param_2[0x12] = -1;\n    }" if (parenthesized_expression "(param_2[0x10] != 0)" ( (binary_expression "param_2[0x10] != 0" (subscript_expression "param_2[0x10]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      local_3c = (char *)param_2[0x11];\n      local_38 = param_2[0x12];\n      if ((((uint)local_3c & local_38) == 0xffffffff) ||\n         (param_6 <= local_38 && (uint)(local_3c < param_5) <= local_38 - param_6)) {\n        local_3c = (char *)param_5;\n        local_38 = param_6;\n      }\n      iVar7 = FUN_0003e2f0();\n      if ((iVar7 == 0) || (iVar7 = FUN_0003c7e0(param_1,local_3c,local_38), iVar7 == 0)) {\n        return 0;\n      }\n      param_2[0x11] = -1;\n      param_2[0x12] = -1;\n    }" { (expression_statement "local_3c = (char *)param_2[0x11];" (assignment_expression "local_3c = (char *)param_2[0x11]" identifier = (cast_expression "(char *)param_2[0x11]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[0x11]" identifier [ number_literal ]))) ;) (expression_statement "local_38 = param_2[0x12];" (assignment_expression "local_38 = param_2[0x12]" identifier = (subscript_expression "param_2[0x12]" identifier [ number_literal ])) ;) (if_statement "if ((((uint)local_3c & local_38) == 0xffffffff) ||\n         (param_6 <= local_38 && (uint)(local_3c < param_5) <= local_38 - param_6)) {\n        local_3c = (char *)param_5;\n        local_38 = param_6;\n      }" if (parenthesized_expression "((((uint)local_3c & local_38) == 0xffffffff) ||\n         (param_6 <= local_38 && (uint)(local_3c < param_5) <= local_38 - param_6))" ( (binary_expression "(((uint)local_3c & local_38) == 0xffffffff) ||\n         (param_6 <= local_38 && (uint)(local_3c < param_5) <= local_38 - param_6)" (parenthesized_expression "(((uint)local_3c & local_38) == 0xffffffff)" ( (binary_expression "((uint)local_3c & local_38) == 0xffffffff" (parenthesized_expression "((uint)local_3c & local_38)" ( (binary_expression "(uint)local_3c & local_38" (cast_expression "(uint)local_3c" ( (type_descriptor "uint" type_identifier) ) identifier) & identifier) )) == number_literal) )) || (parenthesized_expression "(param_6 <= local_38 && (uint)(local_3c < param_5) <= local_38 - param_6)" ( (binary_expression "param_6 <= local_38 && (uint)(local_3c < param_5) <= local_38 - param_6" (binary_expression "param_6 <= local_38" identifier <= identifier) && (binary_expression "(uint)(local_3c < param_5) <= local_38 - param_6" (call_expression "(uint)(local_3c < param_5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_3c < param_5)" ( (binary_expression "local_3c < param_5" identifier < identifier) ))) <= (binary_expression "local_38 - param_6" identifier - identifier))) ))) )) (compound_statement "{\n        local_3c = (char *)param_5;\n        local_38 = param_6;\n      }" { (expression_statement "local_3c = (char *)param_5;" (assignment_expression "local_3c = (char *)param_5" identifier = (cast_expression "(char *)param_5" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "local_38 = param_6;" (assignment_expression "local_38 = param_6" identifier = identifier) ;) })) (expression_statement "iVar7 = FUN_0003e2f0();" (assignment_expression "iVar7 = FUN_0003e2f0()" identifier = (call_expression "FUN_0003e2f0()" identifier (argument_list "()" ( )))) ;) (if_statement "if ((iVar7 == 0) || (iVar7 = FUN_0003c7e0(param_1,local_3c,local_38), iVar7 == 0)) {\n        return 0;\n      }" if (parenthesized_expression "((iVar7 == 0) || (iVar7 = FUN_0003c7e0(param_1,local_3c,local_38), iVar7 == 0))" ( (binary_expression "(iVar7 == 0) || (iVar7 = FUN_0003c7e0(param_1,local_3c,local_38), iVar7 == 0)" (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar7 = FUN_0003c7e0(param_1,local_3c,local_38), iVar7 == 0)" ( (comma_expression "iVar7 = FUN_0003c7e0(param_1,local_3c,local_38), iVar7 == 0" (assignment_expression "iVar7 = FUN_0003c7e0(param_1,local_3c,local_38)" identifier = (call_expression "FUN_0003c7e0(param_1,local_3c,local_38)" identifier (argument_list "(param_1,local_3c,local_38)" ( identifier , identifier , identifier )))) , (binary_expression "iVar7 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n        return 0;\n      }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "param_2[0x11] = -1;" (assignment_expression "param_2[0x11] = -1" (subscript_expression "param_2[0x11]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_2[0x12] = -1;" (assignment_expression "param_2[0x12] = -1" (subscript_expression "param_2[0x12]" identifier [ number_literal ]) = number_literal) ;) })) (if_statement "if (param_2[1] != 0) {\n      param_2[9] = param_5;\n      param_2[10] = param_6;\n    }" if (parenthesized_expression "(param_2[1] != 0)" ( (binary_expression "param_2[1] != 0" (subscript_expression "param_2[1]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      param_2[9] = param_5;\n      param_2[10] = param_6;\n    }" { (expression_statement "param_2[9] = param_5;" (assignment_expression "param_2[9] = param_5" (subscript_expression "param_2[9]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_2[10] = param_6;" (assignment_expression "param_2[10] = param_6" (subscript_expression "param_2[10]" identifier [ number_literal ]) = identifier) ;) })) (expression_statement "param_2[0x10] = 1;" (assignment_expression "param_2[0x10] = 1" (subscript_expression "param_2[0x10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_24 = (byte *)strchr((char *)param_7,0x3a);" (assignment_expression "local_24 = (byte *)strchr((char *)param_7,0x3a)" identifier = (cast_expression "(byte *)strchr((char *)param_7,0x3a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "strchr((char *)param_7,0x3a)" identifier (argument_list "((char *)param_7,0x3a)" ( (cast_expression "(char *)param_7" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , number_literal ))))) ;) (if_statement "if (local_24 == (byte *)0x0) {\n      return 1;\n    }" if (parenthesized_expression "(local_24 == (byte *)0x0)" ( (binary_expression "local_24 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      return 1;\n    }" { (return_statement "return 1;" return number_literal ;) })) (labeled_statement "LAB_000447b1:\n    bVar24 = local_24[1];" statement_identifier : (expression_statement "bVar24 = local_24[1];" (assignment_expression "bVar24 = local_24[1]" identifier = (subscript_expression "local_24[1]" identifier [ number_literal ])) ;)) (labeled_statement "LAB_000447b5:\n    if (bVar24 == 0x3a) goto LAB_00044790;" statement_identifier : (if_statement "if (bVar24 == 0x3a) goto LAB_00044790;" if (parenthesized_expression "(bVar24 == 0x3a)" ( (binary_expression "bVar24 == 0x3a" identifier == number_literal) )) (goto_statement "goto LAB_00044790;" goto statement_identifier ;))) (if_statement "if (*param_7 != 0x24) goto LAB_000447c7;" if (parenthesized_expression "(*param_7 != 0x24)" ( (binary_expression "*param_7 != 0x24" (pointer_expression "*param_7" * identifier) != number_literal) )) (goto_statement "goto LAB_000447c7;" goto statement_identifier ;)) (switch_statement "switch(param_7[1]) {\n    default:\n      dcgettext(0,"unknown C++ encoded name",5);\n      FUN_0003df30();\n    case 0x58:\n    case 0x5f:\n    case 0x76:\nLAB_000447c7:\n      local_3c = (char *)0x0;\n      if ((param_7 != local_24) && ((*param_7 != 0x20 || (local_24 != param_7 + 1)))) {\n        local_3c = (char *)FUN_0003e060();\n      }\n      break;\n    case 0x65:\n      local_3c = "eh_throw";\n      break;\n    case 0x74:\n      local_3c = "this";\n    }" switch (parenthesized_expression "(param_7[1])" ( (subscript_expression "param_7[1]" identifier [ number_literal ]) )) (compound_statement "{\n    default:\n      dcgettext(0,"unknown C++ encoded name",5);\n      FUN_0003df30();\n    case 0x58:\n    case 0x5f:\n    case 0x76:\nLAB_000447c7:\n      local_3c = (char *)0x0;\n      if ((param_7 != local_24) && ((*param_7 != 0x20 || (local_24 != param_7 + 1)))) {\n        local_3c = (char *)FUN_0003e060();\n      }\n      break;\n    case 0x65:\n      local_3c = "eh_throw";\n      break;\n    case 0x74:\n      local_3c = "this";\n    }" { (case_statement "default:\n      dcgettext(0,"unknown C++ encoded name",5);\n      FUN_0003df30();" default : (expression_statement "dcgettext(0,"unknown C++ encoded name",5);" (call_expression "dcgettext(0,"unknown C++ encoded name",5)" identifier (argument_list "(0,"unknown C++ encoded name",5)" ( number_literal , (string_literal ""unknown C++ encoded name"" " string_content ") , number_literal ))) ;) (expression_statement "FUN_0003df30();" (call_expression "FUN_0003df30()" identifier (argument_list "()" ( ))) ;)) (case_statement "case 0x58:" case number_literal :) (case_statement "case 0x5f:" case number_literal :) (case_statement "case 0x76:\nLAB_000447c7:\n      local_3c = (char *)0x0;\n      if ((param_7 != local_24) && ((*param_7 != 0x20 || (local_24 != param_7 + 1)))) {\n        local_3c = (char *)FUN_0003e060();\n      }\n      break;" case number_literal : (labeled_statement "LAB_000447c7:\n      local_3c = (char *)0x0;" statement_identifier : (expression_statement "local_3c = (char *)0x0;" (assignment_expression "local_3c = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (if_statement "if ((param_7 != local_24) && ((*param_7 != 0x20 || (local_24 != param_7 + 1)))) {\n        local_3c = (char *)FUN_0003e060();\n      }" if (parenthesized_expression "((param_7 != local_24) && ((*param_7 != 0x20 || (local_24 != param_7 + 1))))" ( (binary_expression "(param_7 != local_24) && ((*param_7 != 0x20 || (local_24 != param_7 + 1)))" (parenthesized_expression "(param_7 != local_24)" ( (binary_expression "param_7 != local_24" identifier != identifier) )) && (parenthesized_expression "((*param_7 != 0x20 || (local_24 != param_7 + 1)))" ( (parenthesized_expression "(*param_7 != 0x20 || (local_24 != param_7 + 1))" ( (binary_expression "*param_7 != 0x20 || (local_24 != param_7 + 1)" (binary_expression "*param_7 != 0x20" (pointer_expression "*param_7" * identifier) != number_literal) || (parenthesized_expression "(local_24 != param_7 + 1)" ( (binary_expression "local_24 != param_7 + 1" identifier != (binary_expression "param_7 + 1" identifier + number_literal)) ))) )) ))) )) (compound_statement "{\n        local_3c = (char *)FUN_0003e060();\n      }" { (expression_statement "local_3c = (char *)FUN_0003e060();" (assignment_expression "local_3c = (char *)FUN_0003e060()" identifier = (cast_expression "(char *)FUN_0003e060()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0003e060()" identifier (argument_list "()" ( ))))) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x65:\n      local_3c = "eh_throw";\n      break;" case number_literal : (expression_statement "local_3c = "eh_throw";" (assignment_expression "local_3c = "eh_throw"" identifier = (string_literal ""eh_throw"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case 0x74:\n      local_3c = "this";" case number_literal : (expression_statement "local_3c = "this";" (assignment_expression "local_3c = "this"" identifier = (string_literal ""this"" " string_content ")) ;)) })) (expression_statement "param_7 = param_7 + sVar9;" (assignment_expression "param_7 = param_7 + sVar9" identifier = (binary_expression "param_7 + sVar9" identifier + identifier)) ;) (expression_statement "pbVar16 = local_24 + 1;" (assignment_expression "pbVar16 = local_24 + 1" identifier = (binary_expression "local_24 + 1" identifier + number_literal)) ;) (expression_statement "bVar24 = local_24[1];" (assignment_expression "bVar24 = local_24[1]" identifier = (subscript_expression "local_24[1]" identifier [ number_literal ])) ;) (if_statement "if (((PTR__sch_istable_00071fbc[(uint)bVar24 * 2] & 4) != 0) ||\n       (bVar24 == 0x28 || bVar24 == 0x2d)) {\nLAB_0004483d:\n      local_24 = pbVar16;\n      iVar7 = FUN_00040c70(&local_24,0,param_7);\n      if (iVar7 == 0) {\n        return 0;\n      }\n      uVar27 = 4;\n      goto code_r0x0004486e;\n    }" if (parenthesized_expression "(((PTR__sch_istable_00071fbc[(uint)bVar24 * 2] & 4) != 0) ||\n       (bVar24 == 0x28 || bVar24 == 0x2d))" ( (binary_expression "((PTR__sch_istable_00071fbc[(uint)bVar24 * 2] & 4) != 0) ||\n       (bVar24 == 0x28 || bVar24 == 0x2d)" (parenthesized_expression "((PTR__sch_istable_00071fbc[(uint)bVar24 * 2] & 4) != 0)" ( (binary_expression "(PTR__sch_istable_00071fbc[(uint)bVar24 * 2] & 4) != 0" (parenthesized_expression "(PTR__sch_istable_00071fbc[(uint)bVar24 * 2] & 4)" ( (binary_expression "PTR__sch_istable_00071fbc[(uint)bVar24 * 2] & 4" (subscript_expression "PTR__sch_istable_00071fbc[(uint)bVar24 * 2]" identifier [ (binary_expression "(uint)bVar24 * 2" (cast_expression "(uint)bVar24" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal) ]) & number_literal) )) != number_literal) )) || (parenthesized_expression "(bVar24 == 0x28 || bVar24 == 0x2d)" ( (binary_expression "bVar24 == 0x28 || bVar24 == 0x2d" (binary_expression "bVar24 == 0x28" identifier == number_literal) || (binary_expression "bVar24 == 0x2d" identifier == number_literal)) ))) )) (compound_statement "{\nLAB_0004483d:\n      local_24 = pbVar16;\n      iVar7 = FUN_00040c70(&local_24,0,param_7);\n      if (iVar7 == 0) {\n        return 0;\n      }\n      uVar27 = 4;\n      goto code_r0x0004486e;\n    }" { (labeled_statement "LAB_0004483d:\n      local_24 = pbVar16;" statement_identifier : (expression_statement "local_24 = pbVar16;" (assignment_expression "local_24 = pbVar16" identifier = identifier) ;)) (expression_statement "iVar7 = FUN_00040c70(&local_24,0,param_7);" (assignment_expression "iVar7 = FUN_00040c70(&local_24,0,param_7)" identifier = (call_expression "FUN_00040c70(&local_24,0,param_7)" identifier (argument_list "(&local_24,0,param_7)" ( (pointer_expression "&local_24" & identifier) , number_literal , identifier )))) ;) (if_statement "if (iVar7 == 0) {\n        return 0;\n      }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n        return 0;\n      }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "uVar27 = 4;" (assignment_expression "uVar27 = 4" identifier = number_literal) ;) (goto_statement "goto code_r0x0004486e;" goto statement_identifier ;) })) (if_statement "if (bVar24 != 0) {\n      pbVar16 = local_24 + 2;\n      bVar24 = local_24[1];\n      if (0x33 < (byte)(bVar24 + 0xbd)) goto LAB_00044e16;\n      iVar7 = (int)&__DT_PLTGOT + *(int *)(&DAT_00057e08 + (uint)(byte)(bVar24 + 0xbd) * 4);\n      switch(bVar24) {\n      case 0x43:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,bVar24);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003ccf0(param_1,local_3c,iVar7,param_5,param_6);\n        goto joined_r0x00044fe7;\n      default:\n        goto LAB_00044e16;\n      case 0x46:\n      case 0x66:\n        local_24 = pbVar16;\n        uVar26 = FUN_00040c70(&local_24,0,param_7,iVar7);\n        uVar27 = (undefined4)((ulonglong)uVar26 >> 0x20);\n        if ((int)uVar26 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003c5a0(param_1,local_3c,(int)uVar26,bVar24 == 0x46,param_5,param_6,uVar27,\n                             uVar27);\n        while( true ) {\n          if (iVar7 == 0) {\n            return 0;\n          }\n          if (*local_24 != 0x3b) break;\n          local_24 = local_24 + 1;\n          iVar7 = FUN_00040c70(&local_24,0,param_7);\n        }\n        return 1;\n      case 0x47:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,iVar7);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) goto code_r0x00044c0d;\n        iVar10 = param_2[3];\n        piVar13 = (int *)param_2[2];\n        cVar3 = *(char *)(*(int *)(*param_2 + 4) + 0x18);\n        if (iVar10 < 1) goto code_r0x00044c0d;\n        cVar2 = *local_3c;\n        goto code_r0x00044bbc;\n      case 0x50:\n        if (param_3 == 0x24) {\n          local_24 = pbVar16;\n          do {\n            if (*local_24 != 0x3b) {\n              return 1;\n            }\n            local_24 = local_24 + 1;\n            iVar7 = FUN_00040c70(&local_24,0,param_7);\n          } while (iVar7 != 0);\n          return 0;\n        }\n      case 0x52:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,iVar7);\njoined_r0x00045010:\n        if (iVar7 == 0) {\n          return 0;\n        }\ncode_r0x00044af0:\n        iVar7 = FUN_0003c6e0(param_1,local_3c,iVar7);\n        goto joined_r0x00044fe7;\n      case 0x53:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 2;\n        goto code_r0x0004486e;\n      case 0x54:\n        pbVar18 = local_24 + 2;\n        if (*pbVar18 == 0x74) {\n          pbVar16 = local_24 + 3;\n        }\n        local_24 = pbVar16;\n        uVar11 = (uint)(*pbVar18 == 0x74);\n        iVar7 = FUN_00040c70(&local_24,apiStack_20,param_7,param_3);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) {\n          return 1;\n        }\n        iVar10 = param_2[0x3a];\n        iVar7 = FUN_0003d680(param_1,local_3c,iVar7,extraout_ECX);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (apiStack_20[0] != (int *)0x0) {\n          *apiStack_20[0] = iVar7;\n        }\n        piVar13 = apiStack_20[0];\n        if (iVar10 != 0) goto code_r0x00044efc;\n        if ((int *)param_2[0x39] == (int *)0x0) goto code_r0x00044efc;\n        cVar3 = *local_3c;\n        piVar17 = param_2 + 0x39;\n        piVar20 = (int *)param_2[0x39];\n        goto code_r0x00044ecc;\n      case 0x56:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 3;\n        goto code_r0x0004486e;\n      case 0x58:\n      case 0x6c:\n      case 0x73:\n        goto LAB_0004483d;\n      case 0x59:\n        pbVar16 = local_24 + 3;\n        if ((local_24[3] == 0x6e) &&\n           (pbVar16 = local_24 + 4, pbVar18 = local_24 + 4, local_24 = pbVar16, *pbVar18 == 0x30)) {\n          for (; *local_24 != 0x3b; local_24 = local_24 + 1) {\n          }\n          return 1;\n        }\nLAB_00044e16:\n        local_24 = pbVar16;\n        FUN_0003dfb0();\n        return 0;\n      case 0x61:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,bVar24);\n        goto joined_r0x00045010;\n      case 99:\n        if (local_24[2] == 0x3d) {\n          pbVar16 = local_24 + 4;\n          bVar24 = local_24[3];\n          local_24 = pbVar16;\n          if (bVar24 == 0x69) {\n            lVar15 = strtol((char *)pbVar16,(char **)0x0,10);\n            iVar7 = FUN_0003cbe0(param_1,local_3c,lVar15,lVar15 >> 0x1f);\n            goto joined_r0x00044fe7;\n          }\n          if (bVar24 == 0x72) {\n            lVar25 = (longdouble)func_0x00013560(pbVar16,0,0x72,0x72);\n            iVar7 = FUN_0003cc30(param_1,local_3c,(double)lVar25);\n            goto joined_r0x00044fe7;\n          }\n          if (bVar24 == 0x65) {\n            iVar7 = FUN_00040c70(&local_24,0,param_7,0x65);\n            if (iVar7 == 0) {\n              return 0;\n            }\n            pbVar16 = local_24;\n            if (*local_24 == 0x2c) {\n              uVar28 = 10;\n              uVar27 = 0;\n              lVar15 = strtol((char *)local_24,(char **)0x0,10);\n              iVar7 = FUN_0003cc70(param_1,local_3c,iVar7,lVar15,lVar15 >> 0x1f,uVar27,uVar28,\n                                   param_3);\n              goto joined_r0x00044fe7;\n            }\n          }\n        }\n        break;\n      case 0x70:\n        if (local_24[2] == 0x46) {\n          local_24 = local_24 + 3;\n          iVar7 = FUN_00040c70(&local_24,0,param_7,local_24);\n          if (iVar7 == 0) {\n            return 0;\n          }\n          uVar27 = FUN_0003d080(param_1,iVar7,0,0);\n          iVar7 = FUN_0003d030(param_1,uVar27);\n        }\n        else {\n          pbVar18 = local_24;\n          local_24 = pbVar16;\n          iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        }\n        goto joined_r0x00044dee;\n      case 0x72:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 5;\n        goto code_r0x0004486e;\n      case 0x74:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,apiStack_20,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) {\n          return 1;\n        }\n        iVar7 = FUN_0003d5a0(param_1,local_3c,iVar7,param_2);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (apiStack_20[0] == (int *)0x0) {\n          return 1;\n        }\n        *apiStack_20[0] = iVar7;\n        return 1;\n      case 0x76:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\njoined_r0x00044dee:\n        if (iVar7 == 0) {\n          return 0;\n        }\n        goto code_r0x00044af0;\n      }\n    }" if (parenthesized_expression "(bVar24 != 0)" ( (binary_expression "bVar24 != 0" identifier != number_literal) )) (compound_statement "{\n      pbVar16 = local_24 + 2;\n      bVar24 = local_24[1];\n      if (0x33 < (byte)(bVar24 + 0xbd)) goto LAB_00044e16;\n      iVar7 = (int)&__DT_PLTGOT + *(int *)(&DAT_00057e08 + (uint)(byte)(bVar24 + 0xbd) * 4);\n      switch(bVar24) {\n      case 0x43:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,bVar24);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003ccf0(param_1,local_3c,iVar7,param_5,param_6);\n        goto joined_r0x00044fe7;\n      default:\n        goto LAB_00044e16;\n      case 0x46:\n      case 0x66:\n        local_24 = pbVar16;\n        uVar26 = FUN_00040c70(&local_24,0,param_7,iVar7);\n        uVar27 = (undefined4)((ulonglong)uVar26 >> 0x20);\n        if ((int)uVar26 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003c5a0(param_1,local_3c,(int)uVar26,bVar24 == 0x46,param_5,param_6,uVar27,\n                             uVar27);\n        while( true ) {\n          if (iVar7 == 0) {\n            return 0;\n          }\n          if (*local_24 != 0x3b) break;\n          local_24 = local_24 + 1;\n          iVar7 = FUN_00040c70(&local_24,0,param_7);\n        }\n        return 1;\n      case 0x47:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,iVar7);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) goto code_r0x00044c0d;\n        iVar10 = param_2[3];\n        piVar13 = (int *)param_2[2];\n        cVar3 = *(char *)(*(int *)(*param_2 + 4) + 0x18);\n        if (iVar10 < 1) goto code_r0x00044c0d;\n        cVar2 = *local_3c;\n        goto code_r0x00044bbc;\n      case 0x50:\n        if (param_3 == 0x24) {\n          local_24 = pbVar16;\n          do {\n            if (*local_24 != 0x3b) {\n              return 1;\n            }\n            local_24 = local_24 + 1;\n            iVar7 = FUN_00040c70(&local_24,0,param_7);\n          } while (iVar7 != 0);\n          return 0;\n        }\n      case 0x52:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,iVar7);\njoined_r0x00045010:\n        if (iVar7 == 0) {\n          return 0;\n        }\ncode_r0x00044af0:\n        iVar7 = FUN_0003c6e0(param_1,local_3c,iVar7);\n        goto joined_r0x00044fe7;\n      case 0x53:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 2;\n        goto code_r0x0004486e;\n      case 0x54:\n        pbVar18 = local_24 + 2;\n        if (*pbVar18 == 0x74) {\n          pbVar16 = local_24 + 3;\n        }\n        local_24 = pbVar16;\n        uVar11 = (uint)(*pbVar18 == 0x74);\n        iVar7 = FUN_00040c70(&local_24,apiStack_20,param_7,param_3);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) {\n          return 1;\n        }\n        iVar10 = param_2[0x3a];\n        iVar7 = FUN_0003d680(param_1,local_3c,iVar7,extraout_ECX);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (apiStack_20[0] != (int *)0x0) {\n          *apiStack_20[0] = iVar7;\n        }\n        piVar13 = apiStack_20[0];\n        if (iVar10 != 0) goto code_r0x00044efc;\n        if ((int *)param_2[0x39] == (int *)0x0) goto code_r0x00044efc;\n        cVar3 = *local_3c;\n        piVar17 = param_2 + 0x39;\n        piVar20 = (int *)param_2[0x39];\n        goto code_r0x00044ecc;\n      case 0x56:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 3;\n        goto code_r0x0004486e;\n      case 0x58:\n      case 0x6c:\n      case 0x73:\n        goto LAB_0004483d;\n      case 0x59:\n        pbVar16 = local_24 + 3;\n        if ((local_24[3] == 0x6e) &&\n           (pbVar16 = local_24 + 4, pbVar18 = local_24 + 4, local_24 = pbVar16, *pbVar18 == 0x30)) {\n          for (; *local_24 != 0x3b; local_24 = local_24 + 1) {\n          }\n          return 1;\n        }\nLAB_00044e16:\n        local_24 = pbVar16;\n        FUN_0003dfb0();\n        return 0;\n      case 0x61:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,bVar24);\n        goto joined_r0x00045010;\n      case 99:\n        if (local_24[2] == 0x3d) {\n          pbVar16 = local_24 + 4;\n          bVar24 = local_24[3];\n          local_24 = pbVar16;\n          if (bVar24 == 0x69) {\n            lVar15 = strtol((char *)pbVar16,(char **)0x0,10);\n            iVar7 = FUN_0003cbe0(param_1,local_3c,lVar15,lVar15 >> 0x1f);\n            goto joined_r0x00044fe7;\n          }\n          if (bVar24 == 0x72) {\n            lVar25 = (longdouble)func_0x00013560(pbVar16,0,0x72,0x72);\n            iVar7 = FUN_0003cc30(param_1,local_3c,(double)lVar25);\n            goto joined_r0x00044fe7;\n          }\n          if (bVar24 == 0x65) {\n            iVar7 = FUN_00040c70(&local_24,0,param_7,0x65);\n            if (iVar7 == 0) {\n              return 0;\n            }\n            pbVar16 = local_24;\n            if (*local_24 == 0x2c) {\n              uVar28 = 10;\n              uVar27 = 0;\n              lVar15 = strtol((char *)local_24,(char **)0x0,10);\n              iVar7 = FUN_0003cc70(param_1,local_3c,iVar7,lVar15,lVar15 >> 0x1f,uVar27,uVar28,\n                                   param_3);\n              goto joined_r0x00044fe7;\n            }\n          }\n        }\n        break;\n      case 0x70:\n        if (local_24[2] == 0x46) {\n          local_24 = local_24 + 3;\n          iVar7 = FUN_00040c70(&local_24,0,param_7,local_24);\n          if (iVar7 == 0) {\n            return 0;\n          }\n          uVar27 = FUN_0003d080(param_1,iVar7,0,0);\n          iVar7 = FUN_0003d030(param_1,uVar27);\n        }\n        else {\n          pbVar18 = local_24;\n          local_24 = pbVar16;\n          iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        }\n        goto joined_r0x00044dee;\n      case 0x72:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 5;\n        goto code_r0x0004486e;\n      case 0x74:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,apiStack_20,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) {\n          return 1;\n        }\n        iVar7 = FUN_0003d5a0(param_1,local_3c,iVar7,param_2);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (apiStack_20[0] == (int *)0x0) {\n          return 1;\n        }\n        *apiStack_20[0] = iVar7;\n        return 1;\n      case 0x76:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\njoined_r0x00044dee:\n        if (iVar7 == 0) {\n          return 0;\n        }\n        goto code_r0x00044af0;\n      }\n    }" { (expression_statement "pbVar16 = local_24 + 2;" (assignment_expression "pbVar16 = local_24 + 2" identifier = (binary_expression "local_24 + 2" identifier + number_literal)) ;) (expression_statement "bVar24 = local_24[1];" (assignment_expression "bVar24 = local_24[1]" identifier = (subscript_expression "local_24[1]" identifier [ number_literal ])) ;) (if_statement "if (0x33 < (byte)(bVar24 + 0xbd)) goto LAB_00044e16;" if (parenthesized_expression "(0x33 < (byte)(bVar24 + 0xbd))" ( (binary_expression "0x33 < (byte)(bVar24 + 0xbd)" number_literal < (call_expression "(byte)(bVar24 + 0xbd)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar24 + 0xbd)" ( (binary_expression "bVar24 + 0xbd" identifier + number_literal) )))) )) (goto_statement "goto LAB_00044e16;" goto statement_identifier ;)) (expression_statement "iVar7 = (int)&__DT_PLTGOT + *(int *)(&DAT_00057e08 + (uint)(byte)(bVar24 + 0xbd) * 4);" (assignment_expression "iVar7 = (int)&__DT_PLTGOT + *(int *)(&DAT_00057e08 + (uint)(byte)(bVar24 + 0xbd) * 4)" identifier = (binary_expression "(int)&__DT_PLTGOT + *(int *)(&DAT_00057e08 + (uint)(byte)(bVar24 + 0xbd) * 4)" (cast_expression "(int)&__DT_PLTGOT" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&__DT_PLTGOT" & identifier)) + (pointer_expression "*(int *)(&DAT_00057e08 + (uint)(byte)(bVar24 + 0xbd) * 4)" * (cast_expression "(int *)(&DAT_00057e08 + (uint)(byte)(bVar24 + 0xbd) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00057e08 + (uint)(byte)(bVar24 + 0xbd) * 4)" ( (binary_expression "&DAT_00057e08 + (uint)(byte)(bVar24 + 0xbd) * 4" (pointer_expression "&DAT_00057e08" & identifier) + (binary_expression "(uint)(byte)(bVar24 + 0xbd) * 4" (call_expression "(uint)(byte)(bVar24 + 0xbd)" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier ))) (argument_list "(bVar24 + 0xbd)" ( (binary_expression "bVar24 + 0xbd" identifier + number_literal) ))) * number_literal)) )))))) ;) (switch_statement "switch(bVar24) {\n      case 0x43:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,bVar24);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003ccf0(param_1,local_3c,iVar7,param_5,param_6);\n        goto joined_r0x00044fe7;\n      default:\n        goto LAB_00044e16;\n      case 0x46:\n      case 0x66:\n        local_24 = pbVar16;\n        uVar26 = FUN_00040c70(&local_24,0,param_7,iVar7);\n        uVar27 = (undefined4)((ulonglong)uVar26 >> 0x20);\n        if ((int)uVar26 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003c5a0(param_1,local_3c,(int)uVar26,bVar24 == 0x46,param_5,param_6,uVar27,\n                             uVar27);\n        while( true ) {\n          if (iVar7 == 0) {\n            return 0;\n          }\n          if (*local_24 != 0x3b) break;\n          local_24 = local_24 + 1;\n          iVar7 = FUN_00040c70(&local_24,0,param_7);\n        }\n        return 1;\n      case 0x47:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,iVar7);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) goto code_r0x00044c0d;\n        iVar10 = param_2[3];\n        piVar13 = (int *)param_2[2];\n        cVar3 = *(char *)(*(int *)(*param_2 + 4) + 0x18);\n        if (iVar10 < 1) goto code_r0x00044c0d;\n        cVar2 = *local_3c;\n        goto code_r0x00044bbc;\n      case 0x50:\n        if (param_3 == 0x24) {\n          local_24 = pbVar16;\n          do {\n            if (*local_24 != 0x3b) {\n              return 1;\n            }\n            local_24 = local_24 + 1;\n            iVar7 = FUN_00040c70(&local_24,0,param_7);\n          } while (iVar7 != 0);\n          return 0;\n        }\n      case 0x52:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,iVar7);\njoined_r0x00045010:\n        if (iVar7 == 0) {\n          return 0;\n        }\ncode_r0x00044af0:\n        iVar7 = FUN_0003c6e0(param_1,local_3c,iVar7);\n        goto joined_r0x00044fe7;\n      case 0x53:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 2;\n        goto code_r0x0004486e;\n      case 0x54:\n        pbVar18 = local_24 + 2;\n        if (*pbVar18 == 0x74) {\n          pbVar16 = local_24 + 3;\n        }\n        local_24 = pbVar16;\n        uVar11 = (uint)(*pbVar18 == 0x74);\n        iVar7 = FUN_00040c70(&local_24,apiStack_20,param_7,param_3);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) {\n          return 1;\n        }\n        iVar10 = param_2[0x3a];\n        iVar7 = FUN_0003d680(param_1,local_3c,iVar7,extraout_ECX);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (apiStack_20[0] != (int *)0x0) {\n          *apiStack_20[0] = iVar7;\n        }\n        piVar13 = apiStack_20[0];\n        if (iVar10 != 0) goto code_r0x00044efc;\n        if ((int *)param_2[0x39] == (int *)0x0) goto code_r0x00044efc;\n        cVar3 = *local_3c;\n        piVar17 = param_2 + 0x39;\n        piVar20 = (int *)param_2[0x39];\n        goto code_r0x00044ecc;\n      case 0x56:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 3;\n        goto code_r0x0004486e;\n      case 0x58:\n      case 0x6c:\n      case 0x73:\n        goto LAB_0004483d;\n      case 0x59:\n        pbVar16 = local_24 + 3;\n        if ((local_24[3] == 0x6e) &&\n           (pbVar16 = local_24 + 4, pbVar18 = local_24 + 4, local_24 = pbVar16, *pbVar18 == 0x30)) {\n          for (; *local_24 != 0x3b; local_24 = local_24 + 1) {\n          }\n          return 1;\n        }\nLAB_00044e16:\n        local_24 = pbVar16;\n        FUN_0003dfb0();\n        return 0;\n      case 0x61:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,bVar24);\n        goto joined_r0x00045010;\n      case 99:\n        if (local_24[2] == 0x3d) {\n          pbVar16 = local_24 + 4;\n          bVar24 = local_24[3];\n          local_24 = pbVar16;\n          if (bVar24 == 0x69) {\n            lVar15 = strtol((char *)pbVar16,(char **)0x0,10);\n            iVar7 = FUN_0003cbe0(param_1,local_3c,lVar15,lVar15 >> 0x1f);\n            goto joined_r0x00044fe7;\n          }\n          if (bVar24 == 0x72) {\n            lVar25 = (longdouble)func_0x00013560(pbVar16,0,0x72,0x72);\n            iVar7 = FUN_0003cc30(param_1,local_3c,(double)lVar25);\n            goto joined_r0x00044fe7;\n          }\n          if (bVar24 == 0x65) {\n            iVar7 = FUN_00040c70(&local_24,0,param_7,0x65);\n            if (iVar7 == 0) {\n              return 0;\n            }\n            pbVar16 = local_24;\n            if (*local_24 == 0x2c) {\n              uVar28 = 10;\n              uVar27 = 0;\n              lVar15 = strtol((char *)local_24,(char **)0x0,10);\n              iVar7 = FUN_0003cc70(param_1,local_3c,iVar7,lVar15,lVar15 >> 0x1f,uVar27,uVar28,\n                                   param_3);\n              goto joined_r0x00044fe7;\n            }\n          }\n        }\n        break;\n      case 0x70:\n        if (local_24[2] == 0x46) {\n          local_24 = local_24 + 3;\n          iVar7 = FUN_00040c70(&local_24,0,param_7,local_24);\n          if (iVar7 == 0) {\n            return 0;\n          }\n          uVar27 = FUN_0003d080(param_1,iVar7,0,0);\n          iVar7 = FUN_0003d030(param_1,uVar27);\n        }\n        else {\n          pbVar18 = local_24;\n          local_24 = pbVar16;\n          iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        }\n        goto joined_r0x00044dee;\n      case 0x72:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 5;\n        goto code_r0x0004486e;\n      case 0x74:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,apiStack_20,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) {\n          return 1;\n        }\n        iVar7 = FUN_0003d5a0(param_1,local_3c,iVar7,param_2);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (apiStack_20[0] == (int *)0x0) {\n          return 1;\n        }\n        *apiStack_20[0] = iVar7;\n        return 1;\n      case 0x76:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\njoined_r0x00044dee:\n        if (iVar7 == 0) {\n          return 0;\n        }\n        goto code_r0x00044af0;\n      }" switch (parenthesized_expression "(bVar24)" ( identifier )) (compound_statement "{\n      case 0x43:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,bVar24);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003ccf0(param_1,local_3c,iVar7,param_5,param_6);\n        goto joined_r0x00044fe7;\n      default:\n        goto LAB_00044e16;\n      case 0x46:\n      case 0x66:\n        local_24 = pbVar16;\n        uVar26 = FUN_00040c70(&local_24,0,param_7,iVar7);\n        uVar27 = (undefined4)((ulonglong)uVar26 >> 0x20);\n        if ((int)uVar26 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003c5a0(param_1,local_3c,(int)uVar26,bVar24 == 0x46,param_5,param_6,uVar27,\n                             uVar27);\n        while( true ) {\n          if (iVar7 == 0) {\n            return 0;\n          }\n          if (*local_24 != 0x3b) break;\n          local_24 = local_24 + 1;\n          iVar7 = FUN_00040c70(&local_24,0,param_7);\n        }\n        return 1;\n      case 0x47:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,iVar7);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) goto code_r0x00044c0d;\n        iVar10 = param_2[3];\n        piVar13 = (int *)param_2[2];\n        cVar3 = *(char *)(*(int *)(*param_2 + 4) + 0x18);\n        if (iVar10 < 1) goto code_r0x00044c0d;\n        cVar2 = *local_3c;\n        goto code_r0x00044bbc;\n      case 0x50:\n        if (param_3 == 0x24) {\n          local_24 = pbVar16;\n          do {\n            if (*local_24 != 0x3b) {\n              return 1;\n            }\n            local_24 = local_24 + 1;\n            iVar7 = FUN_00040c70(&local_24,0,param_7);\n          } while (iVar7 != 0);\n          return 0;\n        }\n      case 0x52:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,iVar7);\njoined_r0x00045010:\n        if (iVar7 == 0) {\n          return 0;\n        }\ncode_r0x00044af0:\n        iVar7 = FUN_0003c6e0(param_1,local_3c,iVar7);\n        goto joined_r0x00044fe7;\n      case 0x53:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 2;\n        goto code_r0x0004486e;\n      case 0x54:\n        pbVar18 = local_24 + 2;\n        if (*pbVar18 == 0x74) {\n          pbVar16 = local_24 + 3;\n        }\n        local_24 = pbVar16;\n        uVar11 = (uint)(*pbVar18 == 0x74);\n        iVar7 = FUN_00040c70(&local_24,apiStack_20,param_7,param_3);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) {\n          return 1;\n        }\n        iVar10 = param_2[0x3a];\n        iVar7 = FUN_0003d680(param_1,local_3c,iVar7,extraout_ECX);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (apiStack_20[0] != (int *)0x0) {\n          *apiStack_20[0] = iVar7;\n        }\n        piVar13 = apiStack_20[0];\n        if (iVar10 != 0) goto code_r0x00044efc;\n        if ((int *)param_2[0x39] == (int *)0x0) goto code_r0x00044efc;\n        cVar3 = *local_3c;\n        piVar17 = param_2 + 0x39;\n        piVar20 = (int *)param_2[0x39];\n        goto code_r0x00044ecc;\n      case 0x56:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 3;\n        goto code_r0x0004486e;\n      case 0x58:\n      case 0x6c:\n      case 0x73:\n        goto LAB_0004483d;\n      case 0x59:\n        pbVar16 = local_24 + 3;\n        if ((local_24[3] == 0x6e) &&\n           (pbVar16 = local_24 + 4, pbVar18 = local_24 + 4, local_24 = pbVar16, *pbVar18 == 0x30)) {\n          for (; *local_24 != 0x3b; local_24 = local_24 + 1) {\n          }\n          return 1;\n        }\nLAB_00044e16:\n        local_24 = pbVar16;\n        FUN_0003dfb0();\n        return 0;\n      case 0x61:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,bVar24);\n        goto joined_r0x00045010;\n      case 99:\n        if (local_24[2] == 0x3d) {\n          pbVar16 = local_24 + 4;\n          bVar24 = local_24[3];\n          local_24 = pbVar16;\n          if (bVar24 == 0x69) {\n            lVar15 = strtol((char *)pbVar16,(char **)0x0,10);\n            iVar7 = FUN_0003cbe0(param_1,local_3c,lVar15,lVar15 >> 0x1f);\n            goto joined_r0x00044fe7;\n          }\n          if (bVar24 == 0x72) {\n            lVar25 = (longdouble)func_0x00013560(pbVar16,0,0x72,0x72);\n            iVar7 = FUN_0003cc30(param_1,local_3c,(double)lVar25);\n            goto joined_r0x00044fe7;\n          }\n          if (bVar24 == 0x65) {\n            iVar7 = FUN_00040c70(&local_24,0,param_7,0x65);\n            if (iVar7 == 0) {\n              return 0;\n            }\n            pbVar16 = local_24;\n            if (*local_24 == 0x2c) {\n              uVar28 = 10;\n              uVar27 = 0;\n              lVar15 = strtol((char *)local_24,(char **)0x0,10);\n              iVar7 = FUN_0003cc70(param_1,local_3c,iVar7,lVar15,lVar15 >> 0x1f,uVar27,uVar28,\n                                   param_3);\n              goto joined_r0x00044fe7;\n            }\n          }\n        }\n        break;\n      case 0x70:\n        if (local_24[2] == 0x46) {\n          local_24 = local_24 + 3;\n          iVar7 = FUN_00040c70(&local_24,0,param_7,local_24);\n          if (iVar7 == 0) {\n            return 0;\n          }\n          uVar27 = FUN_0003d080(param_1,iVar7,0,0);\n          iVar7 = FUN_0003d030(param_1,uVar27);\n        }\n        else {\n          pbVar18 = local_24;\n          local_24 = pbVar16;\n          iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        }\n        goto joined_r0x00044dee;\n      case 0x72:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 5;\n        goto code_r0x0004486e;\n      case 0x74:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,apiStack_20,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) {\n          return 1;\n        }\n        iVar7 = FUN_0003d5a0(param_1,local_3c,iVar7,param_2);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (apiStack_20[0] == (int *)0x0) {\n          return 1;\n        }\n        *apiStack_20[0] = iVar7;\n        return 1;\n      case 0x76:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\njoined_r0x00044dee:\n        if (iVar7 == 0) {\n          return 0;\n        }\n        goto code_r0x00044af0;\n      }" { (case_statement "case 0x43:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,bVar24);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003ccf0(param_1,local_3c,iVar7,param_5,param_6);\n        goto joined_r0x00044fe7;" case number_literal : (expression_statement "local_24 = pbVar16;" (assignment_expression "local_24 = pbVar16" identifier = identifier) ;) (expression_statement "iVar7 = FUN_00040c70(&local_24,0,param_7,bVar24);" (assignment_expression "iVar7 = FUN_00040c70(&local_24,0,param_7,bVar24)" identifier = (call_expression "FUN_00040c70(&local_24,0,param_7,bVar24)" identifier (argument_list "(&local_24,0,param_7,bVar24)" ( (pointer_expression "&local_24" & identifier) , number_literal , identifier , identifier )))) ;) (if_statement "if (iVar7 == 0) {\n          return 0;\n        }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n          return 0;\n        }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "iVar7 = FUN_0003ccf0(param_1,local_3c,iVar7,param_5,param_6);" (assignment_expression "iVar7 = FUN_0003ccf0(param_1,local_3c,iVar7,param_5,param_6)" identifier = (call_expression "FUN_0003ccf0(param_1,local_3c,iVar7,param_5,param_6)" identifier (argument_list "(param_1,local_3c,iVar7,param_5,param_6)" ( identifier , identifier , identifier , identifier , identifier )))) ;) (goto_statement "goto joined_r0x00044fe7;" goto statement_identifier ;)) (case_statement "default:\n        goto LAB_00044e16;" default : (goto_statement "goto LAB_00044e16;" goto statement_identifier ;)) (case_statement "case 0x46:" case number_literal :) (case_statement "case 0x66:\n        local_24 = pbVar16;\n        uVar26 = FUN_00040c70(&local_24,0,param_7,iVar7);\n        uVar27 = (undefined4)((ulonglong)uVar26 >> 0x20);\n        if ((int)uVar26 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003c5a0(param_1,local_3c,(int)uVar26,bVar24 == 0x46,param_5,param_6,uVar27,\n                             uVar27);\n        while( true ) {\n          if (iVar7 == 0) {\n            return 0;\n          }\n          if (*local_24 != 0x3b) break;\n          local_24 = local_24 + 1;\n          iVar7 = FUN_00040c70(&local_24,0,param_7);\n        }\n        return 1;" case number_literal : (expression_statement "local_24 = pbVar16;" (assignment_expression "local_24 = pbVar16" identifier = identifier) ;) (expression_statement "uVar26 = FUN_00040c70(&local_24,0,param_7,iVar7);" (assignment_expression "uVar26 = FUN_00040c70(&local_24,0,param_7,iVar7)" identifier = (call_expression "FUN_00040c70(&local_24,0,param_7,iVar7)" identifier (argument_list "(&local_24,0,param_7,iVar7)" ( (pointer_expression "&local_24" & identifier) , number_literal , identifier , identifier )))) ;) (expression_statement "uVar27 = (undefined4)((ulonglong)uVar26 >> 0x20);" (assignment_expression "uVar27 = (undefined4)((ulonglong)uVar26 >> 0x20)" identifier = (call_expression "(undefined4)((ulonglong)uVar26 >> 0x20)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "((ulonglong)uVar26 >> 0x20)" ( (binary_expression "(ulonglong)uVar26 >> 0x20" (cast_expression "(ulonglong)uVar26" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (if_statement "if ((int)uVar26 == 0) {\n          return 0;\n        }" if (parenthesized_expression "((int)uVar26 == 0)" ( (binary_expression "(int)uVar26 == 0" (cast_expression "(int)uVar26" ( (type_descriptor "int" primitive_type) ) identifier) == number_literal) )) (compound_statement "{\n          return 0;\n        }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "iVar7 = FUN_0003c5a0(param_1,local_3c,(int)uVar26,bVar24 == 0x46,param_5,param_6,uVar27,\n                             uVar27);" (assignment_expression "iVar7 = FUN_0003c5a0(param_1,local_3c,(int)uVar26,bVar24 == 0x46,param_5,param_6,uVar27,\n                             uVar27)" identifier = (call_expression "FUN_0003c5a0(param_1,local_3c,(int)uVar26,bVar24 == 0x46,param_5,param_6,uVar27,\n                             uVar27)" identifier (argument_list "(param_1,local_3c,(int)uVar26,bVar24 == 0x46,param_5,param_6,uVar27,\n                             uVar27)" ( identifier , identifier , (cast_expression "(int)uVar26" ( (type_descriptor "int" primitive_type) ) identifier) , (binary_expression "bVar24 == 0x46" identifier == number_literal) , identifier , identifier , identifier , identifier )))) ;) (while_statement "while( true ) {\n          if (iVar7 == 0) {\n            return 0;\n          }\n          if (*local_24 != 0x3b) break;\n          local_24 = local_24 + 1;\n          iVar7 = FUN_00040c70(&local_24,0,param_7);\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          if (iVar7 == 0) {\n            return 0;\n          }\n          if (*local_24 != 0x3b) break;\n          local_24 = local_24 + 1;\n          iVar7 = FUN_00040c70(&local_24,0,param_7);\n        }" { (if_statement "if (iVar7 == 0) {\n            return 0;\n          }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n            return 0;\n          }" { (return_statement "return 0;" return number_literal ;) })) (if_statement "if (*local_24 != 0x3b) break;" if (parenthesized_expression "(*local_24 != 0x3b)" ( (binary_expression "*local_24 != 0x3b" (pointer_expression "*local_24" * identifier) != number_literal) )) (break_statement "break;" break ;)) (expression_statement "local_24 = local_24 + 1;" (assignment_expression "local_24 = local_24 + 1" identifier = (binary_expression "local_24 + 1" identifier + number_literal)) ;) (expression_statement "iVar7 = FUN_00040c70(&local_24,0,param_7);" (assignment_expression "iVar7 = FUN_00040c70(&local_24,0,param_7)" identifier = (call_expression "FUN_00040c70(&local_24,0,param_7)" identifier (argument_list "(&local_24,0,param_7)" ( (pointer_expression "&local_24" & identifier) , number_literal , identifier )))) ;) })) (return_statement "return 1;" return number_literal ;)) (case_statement "case 0x47:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,iVar7);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) goto code_r0x00044c0d;\n        iVar10 = param_2[3];\n        piVar13 = (int *)param_2[2];\n        cVar3 = *(char *)(*(int *)(*param_2 + 4) + 0x18);\n        if (iVar10 < 1) goto code_r0x00044c0d;\n        cVar2 = *local_3c;\n        goto code_r0x00044bbc;" case number_literal : (expression_statement "local_24 = pbVar16;" (assignment_expression "local_24 = pbVar16" identifier = identifier) ;) (expression_statement "iVar7 = FUN_00040c70(&local_24,0,param_7,iVar7);" (assignment_expression "iVar7 = FUN_00040c70(&local_24,0,param_7,iVar7)" identifier = (call_expression "FUN_00040c70(&local_24,0,param_7,iVar7)" identifier (argument_list "(&local_24,0,param_7,iVar7)" ( (pointer_expression "&local_24" & identifier) , number_literal , identifier , identifier )))) ;) (if_statement "if (iVar7 == 0) {\n          return 0;\n        }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n          return 0;\n        }" { (return_statement "return 0;" return number_literal ;) })) (if_statement "if (local_3c == (char *)0x0) goto code_r0x00044c0d;" if (parenthesized_expression "(local_3c == (char *)0x0)" ( (binary_expression "local_3c == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto code_r0x00044c0d;" goto statement_identifier ;)) (expression_statement "iVar10 = param_2[3];" (assignment_expression "iVar10 = param_2[3]" identifier = (subscript_expression "param_2[3]" identifier [ number_literal ])) ;) (expression_statement "piVar13 = (int *)param_2[2];" (assignment_expression "piVar13 = (int *)param_2[2]" identifier = (cast_expression "(int *)param_2[2]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[2]" identifier [ number_literal ]))) ;) (expression_statement "cVar3 = *(char *)(*(int *)(*param_2 + 4) + 0x18);" (assignment_expression "cVar3 = *(char *)(*(int *)(*param_2 + 4) + 0x18)" identifier = (pointer_expression "*(char *)(*(int *)(*param_2 + 4) + 0x18)" * (cast_expression "(char *)(*(int *)(*param_2 + 4) + 0x18)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*param_2 + 4) + 0x18)" ( (binary_expression "*(int *)(*param_2 + 4) + 0x18" (pointer_expression "*(int *)(*param_2 + 4)" * (cast_expression "(int *)(*param_2 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_2 + 4)" ( (binary_expression "*param_2 + 4" (pointer_expression "*param_2" * identifier) + number_literal) )))) + number_literal) ))))) ;) (if_statement "if (iVar10 < 1) goto code_r0x00044c0d;" if (parenthesized_expression "(iVar10 < 1)" ( (binary_expression "iVar10 < 1" identifier < number_literal) )) (goto_statement "goto code_r0x00044c0d;" goto statement_identifier ;)) (expression_statement "cVar2 = *local_3c;" (assignment_expression "cVar2 = *local_3c" identifier = (pointer_expression "*local_3c" * identifier)) ;) (goto_statement "goto code_r0x00044bbc;" goto statement_identifier ;)) (case_statement "case 0x50:\n        if (param_3 == 0x24) {\n          local_24 = pbVar16;\n          do {\n            if (*local_24 != 0x3b) {\n              return 1;\n            }\n            local_24 = local_24 + 1;\n            iVar7 = FUN_00040c70(&local_24,0,param_7);\n          } while (iVar7 != 0);\n          return 0;\n        }" case number_literal : (if_statement "if (param_3 == 0x24) {\n          local_24 = pbVar16;\n          do {\n            if (*local_24 != 0x3b) {\n              return 1;\n            }\n            local_24 = local_24 + 1;\n            iVar7 = FUN_00040c70(&local_24,0,param_7);\n          } while (iVar7 != 0);\n          return 0;\n        }" if (parenthesized_expression "(param_3 == 0x24)" ( (binary_expression "param_3 == 0x24" identifier == number_literal) )) (compound_statement "{\n          local_24 = pbVar16;\n          do {\n            if (*local_24 != 0x3b) {\n              return 1;\n            }\n            local_24 = local_24 + 1;\n            iVar7 = FUN_00040c70(&local_24,0,param_7);\n          } while (iVar7 != 0);\n          return 0;\n        }" { (expression_statement "local_24 = pbVar16;" (assignment_expression "local_24 = pbVar16" identifier = identifier) ;) (do_statement "do {\n            if (*local_24 != 0x3b) {\n              return 1;\n            }\n            local_24 = local_24 + 1;\n            iVar7 = FUN_00040c70(&local_24,0,param_7);\n          } while (iVar7 != 0);" do (compound_statement "{\n            if (*local_24 != 0x3b) {\n              return 1;\n            }\n            local_24 = local_24 + 1;\n            iVar7 = FUN_00040c70(&local_24,0,param_7);\n          }" { (if_statement "if (*local_24 != 0x3b) {\n              return 1;\n            }" if (parenthesized_expression "(*local_24 != 0x3b)" ( (binary_expression "*local_24 != 0x3b" (pointer_expression "*local_24" * identifier) != number_literal) )) (compound_statement "{\n              return 1;\n            }" { (return_statement "return 1;" return number_literal ;) })) (expression_statement "local_24 = local_24 + 1;" (assignment_expression "local_24 = local_24 + 1" identifier = (binary_expression "local_24 + 1" identifier + number_literal)) ;) (expression_statement "iVar7 = FUN_00040c70(&local_24,0,param_7);" (assignment_expression "iVar7 = FUN_00040c70(&local_24,0,param_7)" identifier = (call_expression "FUN_00040c70(&local_24,0,param_7)" identifier (argument_list "(&local_24,0,param_7)" ( (pointer_expression "&local_24" & identifier) , number_literal , identifier )))) ;) }) while (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) ;) (return_statement "return 0;" return number_literal ;) }))) (case_statement "case 0x52:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,iVar7);\njoined_r0x00045010:\n        if (iVar7 == 0) {\n          return 0;\n        }\ncode_r0x00044af0:\n        iVar7 = FUN_0003c6e0(param_1,local_3c,iVar7);\n        goto joined_r0x00044fe7;" case number_literal : (expression_statement "local_24 = pbVar16;" (assignment_expression "local_24 = pbVar16" identifier = identifier) ;) (expression_statement "iVar7 = FUN_00040c70(&local_24,0,param_7,iVar7);" (assignment_expression "iVar7 = FUN_00040c70(&local_24,0,param_7,iVar7)" identifier = (call_expression "FUN_00040c70(&local_24,0,param_7,iVar7)" identifier (argument_list "(&local_24,0,param_7,iVar7)" ( (pointer_expression "&local_24" & identifier) , number_literal , identifier , identifier )))) ;) (labeled_statement "joined_r0x00045010:\n        if (iVar7 == 0) {\n          return 0;\n        }" statement_identifier : (if_statement "if (iVar7 == 0) {\n          return 0;\n        }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n          return 0;\n        }" { (return_statement "return 0;" return number_literal ;) }))) (labeled_statement "code_r0x00044af0:\n        iVar7 = FUN_0003c6e0(param_1,local_3c,iVar7);" statement_identifier : (expression_statement "iVar7 = FUN_0003c6e0(param_1,local_3c,iVar7);" (assignment_expression "iVar7 = FUN_0003c6e0(param_1,local_3c,iVar7)" identifier = (call_expression "FUN_0003c6e0(param_1,local_3c,iVar7)" identifier (argument_list "(param_1,local_3c,iVar7)" ( identifier , identifier , identifier )))) ;)) (goto_statement "goto joined_r0x00044fe7;" goto statement_identifier ;)) (case_statement "case 0x53:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 2;\n        goto code_r0x0004486e;" case number_literal : (expression_statement "pbVar18 = local_24;" (assignment_expression "pbVar18 = local_24" identifier = identifier) ;) (expression_statement "local_24 = pbVar16;" (assignment_expression "local_24 = pbVar16" identifier = identifier) ;) (expression_statement "iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);" (assignment_expression "iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18)" identifier = (call_expression "FUN_00040c70(&local_24,0,param_7,pbVar18)" identifier (argument_list "(&local_24,0,param_7,pbVar18)" ( (pointer_expression "&local_24" & identifier) , number_literal , identifier , identifier )))) ;) (if_statement "if (iVar7 == 0) {\n          return 0;\n        }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n          return 0;\n        }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "uVar27 = 2;" (assignment_expression "uVar27 = 2" identifier = number_literal) ;) (goto_statement "goto code_r0x0004486e;" goto statement_identifier ;)) (case_statement "case 0x54:\n        pbVar18 = local_24 + 2;\n        if (*pbVar18 == 0x74) {\n          pbVar16 = local_24 + 3;\n        }\n        local_24 = pbVar16;\n        uVar11 = (uint)(*pbVar18 == 0x74);\n        iVar7 = FUN_00040c70(&local_24,apiStack_20,param_7,param_3);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) {\n          return 1;\n        }\n        iVar10 = param_2[0x3a];\n        iVar7 = FUN_0003d680(param_1,local_3c,iVar7,extraout_ECX);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (apiStack_20[0] != (int *)0x0) {\n          *apiStack_20[0] = iVar7;\n        }\n        piVar13 = apiStack_20[0];\n        if (iVar10 != 0) goto code_r0x00044efc;\n        if ((int *)param_2[0x39] == (int *)0x0) goto code_r0x00044efc;\n        cVar3 = *local_3c;\n        piVar17 = param_2 + 0x39;\n        piVar20 = (int *)param_2[0x39];\n        goto code_r0x00044ecc;" case number_literal : (expression_statement "pbVar18 = local_24 + 2;" (assignment_expression "pbVar18 = local_24 + 2" identifier = (binary_expression "local_24 + 2" identifier + number_literal)) ;) (if_statement "if (*pbVar18 == 0x74) {\n          pbVar16 = local_24 + 3;\n        }" if (parenthesized_expression "(*pbVar18 == 0x74)" ( (binary_expression "*pbVar18 == 0x74" (pointer_expression "*pbVar18" * identifier) == number_literal) )) (compound_statement "{\n          pbVar16 = local_24 + 3;\n        }" { (expression_statement "pbVar16 = local_24 + 3;" (assignment_expression "pbVar16 = local_24 + 3" identifier = (binary_expression "local_24 + 3" identifier + number_literal)) ;) })) (expression_statement "local_24 = pbVar16;" (assignment_expression "local_24 = pbVar16" identifier = identifier) ;) (expression_statement "uVar11 = (uint)(*pbVar18 == 0x74);" (assignment_expression "uVar11 = (uint)(*pbVar18 == 0x74)" identifier = (call_expression "(uint)(*pbVar18 == 0x74)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*pbVar18 == 0x74)" ( (binary_expression "*pbVar18 == 0x74" (pointer_expression "*pbVar18" * identifier) == number_literal) )))) ;) (expression_statement "iVar7 = FUN_00040c70(&local_24,apiStack_20,param_7,param_3);" (assignment_expression "iVar7 = FUN_00040c70(&local_24,apiStack_20,param_7,param_3)" identifier = (call_expression "FUN_00040c70(&local_24,apiStack_20,param_7,param_3)" identifier (argument_list "(&local_24,apiStack_20,param_7,param_3)" ( (pointer_expression "&local_24" & identifier) , identifier , identifier , identifier )))) ;) (if_statement "if (iVar7 == 0) {\n          return 0;\n        }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n          return 0;\n        }" { (return_statement "return 0;" return number_literal ;) })) (if_statement "if (local_3c == (char *)0x0) {\n          return 1;\n        }" if (parenthesized_expression "(local_3c == (char *)0x0)" ( (binary_expression "local_3c == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          return 1;\n        }" { (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar10 = param_2[0x3a];" (assignment_expression "iVar10 = param_2[0x3a]" identifier = (subscript_expression "param_2[0x3a]" identifier [ number_literal ])) ;) (expression_statement "iVar7 = FUN_0003d680(param_1,local_3c,iVar7,extraout_ECX);" (assignment_expression "iVar7 = FUN_0003d680(param_1,local_3c,iVar7,extraout_ECX)" identifier = (call_expression "FUN_0003d680(param_1,local_3c,iVar7,extraout_ECX)" identifier (argument_list "(param_1,local_3c,iVar7,extraout_ECX)" ( identifier , identifier , identifier , identifier )))) ;) (if_statement "if (iVar7 == 0) {\n          return 0;\n        }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n          return 0;\n        }" { (return_statement "return 0;" return number_literal ;) })) (if_statement "if (apiStack_20[0] != (int *)0x0) {\n          *apiStack_20[0] = iVar7;\n        }" if (parenthesized_expression "(apiStack_20[0] != (int *)0x0)" ( (binary_expression "apiStack_20[0] != (int *)0x0" (subscript_expression "apiStack_20[0]" identifier [ number_literal ]) != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          *apiStack_20[0] = iVar7;\n        }" { (expression_statement "*apiStack_20[0] = iVar7;" (assignment_expression "*apiStack_20[0] = iVar7" (pointer_expression "*apiStack_20[0]" * (subscript_expression "apiStack_20[0]" identifier [ number_literal ])) = identifier) ;) })) (expression_statement "piVar13 = apiStack_20[0];" (assignment_expression "piVar13 = apiStack_20[0]" identifier = (subscript_expression "apiStack_20[0]" identifier [ number_literal ])) ;) (if_statement "if (iVar10 != 0) goto code_r0x00044efc;" if (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) )) (goto_statement "goto code_r0x00044efc;" goto statement_identifier ;)) (if_statement "if ((int *)param_2[0x39] == (int *)0x0) goto code_r0x00044efc;" if (parenthesized_expression "((int *)param_2[0x39] == (int *)0x0)" ( (binary_expression "(int *)param_2[0x39] == (int *)0x0" (cast_expression "(int *)param_2[0x39]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[0x39]" identifier [ number_literal ])) == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto code_r0x00044efc;" goto statement_identifier ;)) (expression_statement "cVar3 = *local_3c;" (assignment_expression "cVar3 = *local_3c" identifier = (pointer_expression "*local_3c" * identifier)) ;) (expression_statement "piVar17 = param_2 + 0x39;" (assignment_expression "piVar17 = param_2 + 0x39" identifier = (binary_expression "param_2 + 0x39" identifier + number_literal)) ;) (expression_statement "piVar20 = (int *)param_2[0x39];" (assignment_expression "piVar20 = (int *)param_2[0x39]" identifier = (cast_expression "(int *)param_2[0x39]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[0x39]" identifier [ number_literal ]))) ;) (goto_statement "goto code_r0x00044ecc;" goto statement_identifier ;)) (case_statement "case 0x56:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 3;\n        goto code_r0x0004486e;" case number_literal : (expression_statement "pbVar18 = local_24;" (assignment_expression "pbVar18 = local_24" identifier = identifier) ;) (expression_statement "local_24 = pbVar16;" (assignment_expression "local_24 = pbVar16" identifier = identifier) ;) (expression_statement "iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);" (assignment_expression "iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18)" identifier = (call_expression "FUN_00040c70(&local_24,0,param_7,pbVar18)" identifier (argument_list "(&local_24,0,param_7,pbVar18)" ( (pointer_expression "&local_24" & identifier) , number_literal , identifier , identifier )))) ;) (if_statement "if (iVar7 == 0) {\n          return 0;\n        }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n          return 0;\n        }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "uVar27 = 3;" (assignment_expression "uVar27 = 3" identifier = number_literal) ;) (goto_statement "goto code_r0x0004486e;" goto statement_identifier ;)) (case_statement "case 0x58:" case number_literal :) (case_statement "case 0x6c:" case number_literal :) (case_statement "case 0x73:\n        goto LAB_0004483d;" case number_literal : (goto_statement "goto LAB_0004483d;" goto statement_identifier ;)) (case_statement "case 0x59:\n        pbVar16 = local_24 + 3;\n        if ((local_24[3] == 0x6e) &&\n           (pbVar16 = local_24 + 4, pbVar18 = local_24 + 4, local_24 = pbVar16, *pbVar18 == 0x30)) {\n          for (; *local_24 != 0x3b; local_24 = local_24 + 1) {\n          }\n          return 1;\n        }\nLAB_00044e16:\n        local_24 = pbVar16;\n        FUN_0003dfb0();\n        return 0;" case number_literal : (expression_statement "pbVar16 = local_24 + 3;" (assignment_expression "pbVar16 = local_24 + 3" identifier = (binary_expression "local_24 + 3" identifier + number_literal)) ;) (if_statement "if ((local_24[3] == 0x6e) &&\n           (pbVar16 = local_24 + 4, pbVar18 = local_24 + 4, local_24 = pbVar16, *pbVar18 == 0x30)) {\n          for (; *local_24 != 0x3b; local_24 = local_24 + 1) {\n          }\n          return 1;\n        }" if (parenthesized_expression "((local_24[3] == 0x6e) &&\n           (pbVar16 = local_24 + 4, pbVar18 = local_24 + 4, local_24 = pbVar16, *pbVar18 == 0x30))" ( (binary_expression "(local_24[3] == 0x6e) &&\n           (pbVar16 = local_24 + 4, pbVar18 = local_24 + 4, local_24 = pbVar16, *pbVar18 == 0x30)" (parenthesized_expression "(local_24[3] == 0x6e)" ( (binary_expression "local_24[3] == 0x6e" (subscript_expression "local_24[3]" identifier [ number_literal ]) == number_literal) )) && (parenthesized_expression "(pbVar16 = local_24 + 4, pbVar18 = local_24 + 4, local_24 = pbVar16, *pbVar18 == 0x30)" ( (comma_expression "pbVar16 = local_24 + 4, pbVar18 = local_24 + 4, local_24 = pbVar16, *pbVar18 == 0x30" (assignment_expression "pbVar16 = local_24 + 4" identifier = (binary_expression "local_24 + 4" identifier + number_literal)) , (comma_expression "pbVar18 = local_24 + 4, local_24 = pbVar16, *pbVar18 == 0x30" (assignment_expression "pbVar18 = local_24 + 4" identifier = (binary_expression "local_24 + 4" identifier + number_literal)) , (comma_expression "local_24 = pbVar16, *pbVar18 == 0x30" (assignment_expression "local_24 = pbVar16" identifier = identifier) , (binary_expression "*pbVar18 == 0x30" (pointer_expression "*pbVar18" * identifier) == number_literal)))) ))) )) (compound_statement "{\n          for (; *local_24 != 0x3b; local_24 = local_24 + 1) {\n          }\n          return 1;\n        }" { (for_statement "for (; *local_24 != 0x3b; local_24 = local_24 + 1) {\n          }" for ( ; (binary_expression "*local_24 != 0x3b" (pointer_expression "*local_24" * identifier) != number_literal) ; (assignment_expression "local_24 = local_24 + 1" identifier = (binary_expression "local_24 + 1" identifier + number_literal)) ) (compound_statement "{\n          }" { })) (return_statement "return 1;" return number_literal ;) })) (labeled_statement "LAB_00044e16:\n        local_24 = pbVar16;" statement_identifier : (expression_statement "local_24 = pbVar16;" (assignment_expression "local_24 = pbVar16" identifier = identifier) ;)) (expression_statement "FUN_0003dfb0();" (call_expression "FUN_0003dfb0()" identifier (argument_list "()" ( ))) ;) (return_statement "return 0;" return number_literal ;)) (case_statement "case 0x61:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,bVar24);\n        goto joined_r0x00045010;" case number_literal : (expression_statement "local_24 = pbVar16;" (assignment_expression "local_24 = pbVar16" identifier = identifier) ;) (expression_statement "iVar7 = FUN_00040c70(&local_24,0,param_7,bVar24);" (assignment_expression "iVar7 = FUN_00040c70(&local_24,0,param_7,bVar24)" identifier = (call_expression "FUN_00040c70(&local_24,0,param_7,bVar24)" identifier (argument_list "(&local_24,0,param_7,bVar24)" ( (pointer_expression "&local_24" & identifier) , number_literal , identifier , identifier )))) ;) (goto_statement "goto joined_r0x00045010;" goto statement_identifier ;)) (case_statement "case 99:\n        if (local_24[2] == 0x3d) {\n          pbVar16 = local_24 + 4;\n          bVar24 = local_24[3];\n          local_24 = pbVar16;\n          if (bVar24 == 0x69) {\n            lVar15 = strtol((char *)pbVar16,(char **)0x0,10);\n            iVar7 = FUN_0003cbe0(param_1,local_3c,lVar15,lVar15 >> 0x1f);\n            goto joined_r0x00044fe7;\n          }\n          if (bVar24 == 0x72) {\n            lVar25 = (longdouble)func_0x00013560(pbVar16,0,0x72,0x72);\n            iVar7 = FUN_0003cc30(param_1,local_3c,(double)lVar25);\n            goto joined_r0x00044fe7;\n          }\n          if (bVar24 == 0x65) {\n            iVar7 = FUN_00040c70(&local_24,0,param_7,0x65);\n            if (iVar7 == 0) {\n              return 0;\n            }\n            pbVar16 = local_24;\n            if (*local_24 == 0x2c) {\n              uVar28 = 10;\n              uVar27 = 0;\n              lVar15 = strtol((char *)local_24,(char **)0x0,10);\n              iVar7 = FUN_0003cc70(param_1,local_3c,iVar7,lVar15,lVar15 >> 0x1f,uVar27,uVar28,\n                                   param_3);\n              goto joined_r0x00044fe7;\n            }\n          }\n        }\n        break;" case number_literal : (if_statement "if (local_24[2] == 0x3d) {\n          pbVar16 = local_24 + 4;\n          bVar24 = local_24[3];\n          local_24 = pbVar16;\n          if (bVar24 == 0x69) {\n            lVar15 = strtol((char *)pbVar16,(char **)0x0,10);\n            iVar7 = FUN_0003cbe0(param_1,local_3c,lVar15,lVar15 >> 0x1f);\n            goto joined_r0x00044fe7;\n          }\n          if (bVar24 == 0x72) {\n            lVar25 = (longdouble)func_0x00013560(pbVar16,0,0x72,0x72);\n            iVar7 = FUN_0003cc30(param_1,local_3c,(double)lVar25);\n            goto joined_r0x00044fe7;\n          }\n          if (bVar24 == 0x65) {\n            iVar7 = FUN_00040c70(&local_24,0,param_7,0x65);\n            if (iVar7 == 0) {\n              return 0;\n            }\n            pbVar16 = local_24;\n            if (*local_24 == 0x2c) {\n              uVar28 = 10;\n              uVar27 = 0;\n              lVar15 = strtol((char *)local_24,(char **)0x0,10);\n              iVar7 = FUN_0003cc70(param_1,local_3c,iVar7,lVar15,lVar15 >> 0x1f,uVar27,uVar28,\n                                   param_3);\n              goto joined_r0x00044fe7;\n            }\n          }\n        }" if (parenthesized_expression "(local_24[2] == 0x3d)" ( (binary_expression "local_24[2] == 0x3d" (subscript_expression "local_24[2]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n          pbVar16 = local_24 + 4;\n          bVar24 = local_24[3];\n          local_24 = pbVar16;\n          if (bVar24 == 0x69) {\n            lVar15 = strtol((char *)pbVar16,(char **)0x0,10);\n            iVar7 = FUN_0003cbe0(param_1,local_3c,lVar15,lVar15 >> 0x1f);\n            goto joined_r0x00044fe7;\n          }\n          if (bVar24 == 0x72) {\n            lVar25 = (longdouble)func_0x00013560(pbVar16,0,0x72,0x72);\n            iVar7 = FUN_0003cc30(param_1,local_3c,(double)lVar25);\n            goto joined_r0x00044fe7;\n          }\n          if (bVar24 == 0x65) {\n            iVar7 = FUN_00040c70(&local_24,0,param_7,0x65);\n            if (iVar7 == 0) {\n              return 0;\n            }\n            pbVar16 = local_24;\n            if (*local_24 == 0x2c) {\n              uVar28 = 10;\n              uVar27 = 0;\n              lVar15 = strtol((char *)local_24,(char **)0x0,10);\n              iVar7 = FUN_0003cc70(param_1,local_3c,iVar7,lVar15,lVar15 >> 0x1f,uVar27,uVar28,\n                                   param_3);\n              goto joined_r0x00044fe7;\n            }\n          }\n        }" { (expression_statement "pbVar16 = local_24 + 4;" (assignment_expression "pbVar16 = local_24 + 4" identifier = (binary_expression "local_24 + 4" identifier + number_literal)) ;) (expression_statement "bVar24 = local_24[3];" (assignment_expression "bVar24 = local_24[3]" identifier = (subscript_expression "local_24[3]" identifier [ number_literal ])) ;) (expression_statement "local_24 = pbVar16;" (assignment_expression "local_24 = pbVar16" identifier = identifier) ;) (if_statement "if (bVar24 == 0x69) {\n            lVar15 = strtol((char *)pbVar16,(char **)0x0,10);\n            iVar7 = FUN_0003cbe0(param_1,local_3c,lVar15,lVar15 >> 0x1f);\n            goto joined_r0x00044fe7;\n          }" if (parenthesized_expression "(bVar24 == 0x69)" ( (binary_expression "bVar24 == 0x69" identifier == number_literal) )) (compound_statement "{\n            lVar15 = strtol((char *)pbVar16,(char **)0x0,10);\n            iVar7 = FUN_0003cbe0(param_1,local_3c,lVar15,lVar15 >> 0x1f);\n            goto joined_r0x00044fe7;\n          }" { (expression_statement "lVar15 = strtol((char *)pbVar16,(char **)0x0,10);" (assignment_expression "lVar15 = strtol((char *)pbVar16,(char **)0x0,10)" identifier = (call_expression "strtol((char *)pbVar16,(char **)0x0,10)" identifier (argument_list "((char *)pbVar16,(char **)0x0,10)" ( (cast_expression "(char *)pbVar16" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) , number_literal )))) ;) (expression_statement "iVar7 = FUN_0003cbe0(param_1,local_3c,lVar15,lVar15 >> 0x1f);" (assignment_expression "iVar7 = FUN_0003cbe0(param_1,local_3c,lVar15,lVar15 >> 0x1f)" identifier = (call_expression "FUN_0003cbe0(param_1,local_3c,lVar15,lVar15 >> 0x1f)" identifier (argument_list "(param_1,local_3c,lVar15,lVar15 >> 0x1f)" ( identifier , identifier , identifier , (binary_expression "lVar15 >> 0x1f" identifier >> number_literal) )))) ;) (goto_statement "goto joined_r0x00044fe7;" goto statement_identifier ;) })) (if_statement "if (bVar24 == 0x72) {\n            lVar25 = (longdouble)func_0x00013560(pbVar16,0,0x72,0x72);\n            iVar7 = FUN_0003cc30(param_1,local_3c,(double)lVar25);\n            goto joined_r0x00044fe7;\n          }" if (parenthesized_expression "(bVar24 == 0x72)" ( (binary_expression "bVar24 == 0x72" identifier == number_literal) )) (compound_statement "{\n            lVar25 = (longdouble)func_0x00013560(pbVar16,0,0x72,0x72);\n            iVar7 = FUN_0003cc30(param_1,local_3c,(double)lVar25);\n            goto joined_r0x00044fe7;\n          }" { (expression_statement "lVar25 = (longdouble)func_0x00013560(pbVar16,0,0x72,0x72);" (assignment_expression "lVar25 = (longdouble)func_0x00013560(pbVar16,0,0x72,0x72)" identifier = (cast_expression "(longdouble)func_0x00013560(pbVar16,0,0x72,0x72)" ( (type_descriptor "longdouble" type_identifier) ) (call_expression "func_0x00013560(pbVar16,0,0x72,0x72)" identifier (argument_list "(pbVar16,0,0x72,0x72)" ( identifier , number_literal , number_literal , number_literal ))))) ;) (expression_statement "iVar7 = FUN_0003cc30(param_1,local_3c,(double)lVar25);" (assignment_expression "iVar7 = FUN_0003cc30(param_1,local_3c,(double)lVar25)" identifier = (call_expression "FUN_0003cc30(param_1,local_3c,(double)lVar25)" identifier (argument_list "(param_1,local_3c,(double)lVar25)" ( identifier , identifier , (cast_expression "(double)lVar25" ( (type_descriptor "double" primitive_type) ) identifier) )))) ;) (goto_statement "goto joined_r0x00044fe7;" goto statement_identifier ;) })) (if_statement "if (bVar24 == 0x65) {\n            iVar7 = FUN_00040c70(&local_24,0,param_7,0x65);\n            if (iVar7 == 0) {\n              return 0;\n            }\n            pbVar16 = local_24;\n            if (*local_24 == 0x2c) {\n              uVar28 = 10;\n              uVar27 = 0;\n              lVar15 = strtol((char *)local_24,(char **)0x0,10);\n              iVar7 = FUN_0003cc70(param_1,local_3c,iVar7,lVar15,lVar15 >> 0x1f,uVar27,uVar28,\n                                   param_3);\n              goto joined_r0x00044fe7;\n            }\n          }" if (parenthesized_expression "(bVar24 == 0x65)" ( (binary_expression "bVar24 == 0x65" identifier == number_literal) )) (compound_statement "{\n            iVar7 = FUN_00040c70(&local_24,0,param_7,0x65);\n            if (iVar7 == 0) {\n              return 0;\n            }\n            pbVar16 = local_24;\n            if (*local_24 == 0x2c) {\n              uVar28 = 10;\n              uVar27 = 0;\n              lVar15 = strtol((char *)local_24,(char **)0x0,10);\n              iVar7 = FUN_0003cc70(param_1,local_3c,iVar7,lVar15,lVar15 >> 0x1f,uVar27,uVar28,\n                                   param_3);\n              goto joined_r0x00044fe7;\n            }\n          }" { (expression_statement "iVar7 = FUN_00040c70(&local_24,0,param_7,0x65);" (assignment_expression "iVar7 = FUN_00040c70(&local_24,0,param_7,0x65)" identifier = (call_expression "FUN_00040c70(&local_24,0,param_7,0x65)" identifier (argument_list "(&local_24,0,param_7,0x65)" ( (pointer_expression "&local_24" & identifier) , number_literal , identifier , number_literal )))) ;) (if_statement "if (iVar7 == 0) {\n              return 0;\n            }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n              return 0;\n            }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "pbVar16 = local_24;" (assignment_expression "pbVar16 = local_24" identifier = identifier) ;) (if_statement "if (*local_24 == 0x2c) {\n              uVar28 = 10;\n              uVar27 = 0;\n              lVar15 = strtol((char *)local_24,(char **)0x0,10);\n              iVar7 = FUN_0003cc70(param_1,local_3c,iVar7,lVar15,lVar15 >> 0x1f,uVar27,uVar28,\n                                   param_3);\n              goto joined_r0x00044fe7;\n            }" if (parenthesized_expression "(*local_24 == 0x2c)" ( (binary_expression "*local_24 == 0x2c" (pointer_expression "*local_24" * identifier) == number_literal) )) (compound_statement "{\n              uVar28 = 10;\n              uVar27 = 0;\n              lVar15 = strtol((char *)local_24,(char **)0x0,10);\n              iVar7 = FUN_0003cc70(param_1,local_3c,iVar7,lVar15,lVar15 >> 0x1f,uVar27,uVar28,\n                                   param_3);\n              goto joined_r0x00044fe7;\n            }" { (expression_statement "uVar28 = 10;" (assignment_expression "uVar28 = 10" identifier = number_literal) ;) (expression_statement "uVar27 = 0;" (assignment_expression "uVar27 = 0" identifier = number_literal) ;) (expression_statement "lVar15 = strtol((char *)local_24,(char **)0x0,10);" (assignment_expression "lVar15 = strtol((char *)local_24,(char **)0x0,10)" identifier = (call_expression "strtol((char *)local_24,(char **)0x0,10)" identifier (argument_list "((char *)local_24,(char **)0x0,10)" ( (cast_expression "(char *)local_24" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) , number_literal )))) ;) (expression_statement "iVar7 = FUN_0003cc70(param_1,local_3c,iVar7,lVar15,lVar15 >> 0x1f,uVar27,uVar28,\n                                   param_3);" (assignment_expression "iVar7 = FUN_0003cc70(param_1,local_3c,iVar7,lVar15,lVar15 >> 0x1f,uVar27,uVar28,\n                                   param_3)" identifier = (call_expression "FUN_0003cc70(param_1,local_3c,iVar7,lVar15,lVar15 >> 0x1f,uVar27,uVar28,\n                                   param_3)" identifier (argument_list "(param_1,local_3c,iVar7,lVar15,lVar15 >> 0x1f,uVar27,uVar28,\n                                   param_3)" ( identifier , identifier , identifier , identifier , (binary_expression "lVar15 >> 0x1f" identifier >> number_literal) , identifier , identifier , identifier )))) ;) (goto_statement "goto joined_r0x00044fe7;" goto statement_identifier ;) })) })) })) (break_statement "break;" break ;)) (case_statement "case 0x70:\n        if (local_24[2] == 0x46) {\n          local_24 = local_24 + 3;\n          iVar7 = FUN_00040c70(&local_24,0,param_7,local_24);\n          if (iVar7 == 0) {\n            return 0;\n          }\n          uVar27 = FUN_0003d080(param_1,iVar7,0,0);\n          iVar7 = FUN_0003d030(param_1,uVar27);\n        }\n        else {\n          pbVar18 = local_24;\n          local_24 = pbVar16;\n          iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        }\n        goto joined_r0x00044dee;" case number_literal : (if_statement "if (local_24[2] == 0x46) {\n          local_24 = local_24 + 3;\n          iVar7 = FUN_00040c70(&local_24,0,param_7,local_24);\n          if (iVar7 == 0) {\n            return 0;\n          }\n          uVar27 = FUN_0003d080(param_1,iVar7,0,0);\n          iVar7 = FUN_0003d030(param_1,uVar27);\n        }\n        else {\n          pbVar18 = local_24;\n          local_24 = pbVar16;\n          iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        }" if (parenthesized_expression "(local_24[2] == 0x46)" ( (binary_expression "local_24[2] == 0x46" (subscript_expression "local_24[2]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n          local_24 = local_24 + 3;\n          iVar7 = FUN_00040c70(&local_24,0,param_7,local_24);\n          if (iVar7 == 0) {\n            return 0;\n          }\n          uVar27 = FUN_0003d080(param_1,iVar7,0,0);\n          iVar7 = FUN_0003d030(param_1,uVar27);\n        }" { (expression_statement "local_24 = local_24 + 3;" (assignment_expression "local_24 = local_24 + 3" identifier = (binary_expression "local_24 + 3" identifier + number_literal)) ;) (expression_statement "iVar7 = FUN_00040c70(&local_24,0,param_7,local_24);" (assignment_expression "iVar7 = FUN_00040c70(&local_24,0,param_7,local_24)" identifier = (call_expression "FUN_00040c70(&local_24,0,param_7,local_24)" identifier (argument_list "(&local_24,0,param_7,local_24)" ( (pointer_expression "&local_24" & identifier) , number_literal , identifier , identifier )))) ;) (if_statement "if (iVar7 == 0) {\n            return 0;\n          }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n            return 0;\n          }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "uVar27 = FUN_0003d080(param_1,iVar7,0,0);" (assignment_expression "uVar27 = FUN_0003d080(param_1,iVar7,0,0)" identifier = (call_expression "FUN_0003d080(param_1,iVar7,0,0)" identifier (argument_list "(param_1,iVar7,0,0)" ( identifier , identifier , number_literal , number_literal )))) ;) (expression_statement "iVar7 = FUN_0003d030(param_1,uVar27);" (assignment_expression "iVar7 = FUN_0003d030(param_1,uVar27)" identifier = (call_expression "FUN_0003d030(param_1,uVar27)" identifier (argument_list "(param_1,uVar27)" ( identifier , identifier )))) ;) }) (else_clause "else {\n          pbVar18 = local_24;\n          local_24 = pbVar16;\n          iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        }" else (compound_statement "{\n          pbVar18 = local_24;\n          local_24 = pbVar16;\n          iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        }" { (expression_statement "pbVar18 = local_24;" (assignment_expression "pbVar18 = local_24" identifier = identifier) ;) (expression_statement "local_24 = pbVar16;" (assignment_expression "local_24 = pbVar16" identifier = identifier) ;) (expression_statement "iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);" (assignment_expression "iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18)" identifier = (call_expression "FUN_00040c70(&local_24,0,param_7,pbVar18)" identifier (argument_list "(&local_24,0,param_7,pbVar18)" ( (pointer_expression "&local_24" & identifier) , number_literal , identifier , identifier )))) ;) }))) (goto_statement "goto joined_r0x00044dee;" goto statement_identifier ;)) (case_statement "case 0x72:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 5;\n        goto code_r0x0004486e;" case number_literal : (expression_statement "pbVar18 = local_24;" (assignment_expression "pbVar18 = local_24" identifier = identifier) ;) (expression_statement "local_24 = pbVar16;" (assignment_expression "local_24 = pbVar16" identifier = identifier) ;) (expression_statement "iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);" (assignment_expression "iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18)" identifier = (call_expression "FUN_00040c70(&local_24,0,param_7,pbVar18)" identifier (argument_list "(&local_24,0,param_7,pbVar18)" ( (pointer_expression "&local_24" & identifier) , number_literal , identifier , identifier )))) ;) (if_statement "if (iVar7 == 0) {\n          return 0;\n        }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n          return 0;\n        }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "uVar27 = 5;" (assignment_expression "uVar27 = 5" identifier = number_literal) ;) (goto_statement "goto code_r0x0004486e;" goto statement_identifier ;)) (case_statement "case 0x74:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,apiStack_20,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) {\n          return 1;\n        }\n        iVar7 = FUN_0003d5a0(param_1,local_3c,iVar7,param_2);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (apiStack_20[0] == (int *)0x0) {\n          return 1;\n        }\n        *apiStack_20[0] = iVar7;\n        return 1;" case number_literal : (expression_statement "pbVar18 = local_24;" (assignment_expression "pbVar18 = local_24" identifier = identifier) ;) (expression_statement "local_24 = pbVar16;" (assignment_expression "local_24 = pbVar16" identifier = identifier) ;) (expression_statement "iVar7 = FUN_00040c70(&local_24,apiStack_20,param_7,pbVar18);" (assignment_expression "iVar7 = FUN_00040c70(&local_24,apiStack_20,param_7,pbVar18)" identifier = (call_expression "FUN_00040c70(&local_24,apiStack_20,param_7,pbVar18)" identifier (argument_list "(&local_24,apiStack_20,param_7,pbVar18)" ( (pointer_expression "&local_24" & identifier) , identifier , identifier , identifier )))) ;) (if_statement "if (iVar7 == 0) {\n          return 0;\n        }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n          return 0;\n        }" { (return_statement "return 0;" return number_literal ;) })) (if_statement "if (local_3c == (char *)0x0) {\n          return 1;\n        }" if (parenthesized_expression "(local_3c == (char *)0x0)" ( (binary_expression "local_3c == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          return 1;\n        }" { (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar7 = FUN_0003d5a0(param_1,local_3c,iVar7,param_2);" (assignment_expression "iVar7 = FUN_0003d5a0(param_1,local_3c,iVar7,param_2)" identifier = (call_expression "FUN_0003d5a0(param_1,local_3c,iVar7,param_2)" identifier (argument_list "(param_1,local_3c,iVar7,param_2)" ( identifier , identifier , identifier , identifier )))) ;) (if_statement "if (iVar7 == 0) {\n          return 0;\n        }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n          return 0;\n        }" { (return_statement "return 0;" return number_literal ;) })) (if_statement "if (apiStack_20[0] == (int *)0x0) {\n          return 1;\n        }" if (parenthesized_expression "(apiStack_20[0] == (int *)0x0)" ( (binary_expression "apiStack_20[0] == (int *)0x0" (subscript_expression "apiStack_20[0]" identifier [ number_literal ]) == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          return 1;\n        }" { (return_statement "return 1;" return number_literal ;) })) (expression_statement "*apiStack_20[0] = iVar7;" (assignment_expression "*apiStack_20[0] = iVar7" (pointer_expression "*apiStack_20[0]" * (subscript_expression "apiStack_20[0]" identifier [ number_literal ])) = identifier) ;) (return_statement "return 1;" return number_literal ;)) (case_statement "case 0x76:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\njoined_r0x00044dee:\n        if (iVar7 == 0) {\n          return 0;\n        }\n        goto code_r0x00044af0;" case number_literal : (expression_statement "pbVar18 = local_24;" (assignment_expression "pbVar18 = local_24" identifier = identifier) ;) (expression_statement "local_24 = pbVar16;" (assignment_expression "local_24 = pbVar16" identifier = identifier) ;) (expression_statement "iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);" (assignment_expression "iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18)" identifier = (call_expression "FUN_00040c70(&local_24,0,param_7,pbVar18)" identifier (argument_list "(&local_24,0,param_7,pbVar18)" ( (pointer_expression "&local_24" & identifier) , number_literal , identifier , identifier )))) ;) (labeled_statement "joined_r0x00044dee:\n        if (iVar7 == 0) {\n          return 0;\n        }" statement_identifier : (if_statement "if (iVar7 == 0) {\n          return 0;\n        }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n          return 0;\n        }" { (return_statement "return 0;" return number_literal ;) }))) (goto_statement "goto code_r0x00044af0;" goto statement_identifier ;)) })) })) (goto_statement "goto LAB_000449d0;" goto statement_identifier ;) })) (if_statement "if (param_3 == 0xc0) {\n    if ((param_2[0xc] != 0) && (param_4 == 1)) {\n      return 1;\n    }\n    if (param_2[0x10] == 0) {\n      pcVar12 = (char *)dcgettext(0,"N_LBRAC not within function\n",5);\n      fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar12);\n      return 0;\n    }\n    uVar11 = param_2[9] + param_2[7];\n    iVar7 = FUN_0003c880(param_1,uVar11 + param_5,\n                         param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7]) + param_6 +\n                         (uint)CARRY4(uVar11,param_5));\n    if (iVar7 == 0) {\n      return 0;\n    }\n    iVar7 = FUN_0003e2f0();\n    if (iVar7 == 0) {\n      return 0;\n    }\n    param_2[0x13] = param_2[0x13] + 1;\n    return 1;\n  }" if (parenthesized_expression "(param_3 == 0xc0)" ( (binary_expression "param_3 == 0xc0" identifier == number_literal) )) (compound_statement "{\n    if ((param_2[0xc] != 0) && (param_4 == 1)) {\n      return 1;\n    }\n    if (param_2[0x10] == 0) {\n      pcVar12 = (char *)dcgettext(0,"N_LBRAC not within function\n",5);\n      fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar12);\n      return 0;\n    }\n    uVar11 = param_2[9] + param_2[7];\n    iVar7 = FUN_0003c880(param_1,uVar11 + param_5,\n                         param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7]) + param_6 +\n                         (uint)CARRY4(uVar11,param_5));\n    if (iVar7 == 0) {\n      return 0;\n    }\n    iVar7 = FUN_0003e2f0();\n    if (iVar7 == 0) {\n      return 0;\n    }\n    param_2[0x13] = param_2[0x13] + 1;\n    return 1;\n  }" { (if_statement "if ((param_2[0xc] != 0) && (param_4 == 1)) {\n      return 1;\n    }" if (parenthesized_expression "((param_2[0xc] != 0) && (param_4 == 1))" ( (binary_expression "(param_2[0xc] != 0) && (param_4 == 1)" (parenthesized_expression "(param_2[0xc] != 0)" ( (binary_expression "param_2[0xc] != 0" (subscript_expression "param_2[0xc]" identifier [ number_literal ]) != number_literal) )) && (parenthesized_expression "(param_4 == 1)" ( (binary_expression "param_4 == 1" identifier == number_literal) ))) )) (compound_statement "{\n      return 1;\n    }" { (return_statement "return 1;" return number_literal ;) })) (if_statement "if (param_2[0x10] == 0) {\n      pcVar12 = (char *)dcgettext(0,"N_LBRAC not within function\n",5);\n      fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar12);\n      return 0;\n    }" if (parenthesized_expression "(param_2[0x10] == 0)" ( (binary_expression "param_2[0x10] == 0" (subscript_expression "param_2[0x10]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      pcVar12 = (char *)dcgettext(0,"N_LBRAC not within function\n",5);\n      fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar12);\n      return 0;\n    }" { (expression_statement "pcVar12 = (char *)dcgettext(0,"N_LBRAC not within function\n",5);" (assignment_expression "pcVar12 = (char *)dcgettext(0,"N_LBRAC not within function\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"N_LBRAC not within function\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"N_LBRAC not within function\n",5)" identifier (argument_list "(0,"N_LBRAC not within function\n",5)" ( number_literal , (string_literal ""N_LBRAC not within function\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar12);" (call_expression "fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar12)" identifier (argument_list "(*(FILE **)PTR_stderr_00071fb4,pcVar12)" ( (pointer_expression "*(FILE **)PTR_stderr_00071fb4" * (cast_expression "(FILE **)PTR_stderr_00071fb4" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "uVar11 = param_2[9] + param_2[7];" (assignment_expression "uVar11 = param_2[9] + param_2[7]" identifier = (binary_expression "param_2[9] + param_2[7]" (subscript_expression "param_2[9]" identifier [ number_literal ]) + (subscript_expression "param_2[7]" identifier [ number_literal ]))) ;) (expression_statement "iVar7 = FUN_0003c880(param_1,uVar11 + param_5,\n                         param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7]) + param_6 +\n                         (uint)CARRY4(uVar11,param_5));" (assignment_expression "iVar7 = FUN_0003c880(param_1,uVar11 + param_5,\n                         param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7]) + param_6 +\n                         (uint)CARRY4(uVar11,param_5))" identifier = (call_expression "FUN_0003c880(param_1,uVar11 + param_5,\n                         param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7]) + param_6 +\n                         (uint)CARRY4(uVar11,param_5))" identifier (argument_list "(param_1,uVar11 + param_5,\n                         param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7]) + param_6 +\n                         (uint)CARRY4(uVar11,param_5))" ( identifier , (binary_expression "uVar11 + param_5" identifier + identifier) , (binary_expression "param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7]) + param_6 +\n                         (uint)CARRY4(uVar11,param_5)" (binary_expression "param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7]) + param_6" (binary_expression "param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7])" (binary_expression "param_2[10] + param_2[8]" (subscript_expression "param_2[10]" identifier [ number_literal ]) + (subscript_expression "param_2[8]" identifier [ number_literal ])) + (cast_expression "(uint)CARRY4(param_2[9],param_2[7])" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(param_2[9],param_2[7])" identifier (argument_list "(param_2[9],param_2[7])" ( (subscript_expression "param_2[9]" identifier [ number_literal ]) , (subscript_expression "param_2[7]" identifier [ number_literal ]) ))))) + identifier) + (cast_expression "(uint)CARRY4(uVar11,param_5)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar11,param_5)" identifier (argument_list "(uVar11,param_5)" ( identifier , identifier ))))) )))) ;) (if_statement "if (iVar7 == 0) {\n      return 0;\n    }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n      return 0;\n    }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "iVar7 = FUN_0003e2f0();" (assignment_expression "iVar7 = FUN_0003e2f0()" identifier = (call_expression "FUN_0003e2f0()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar7 == 0) {\n      return 0;\n    }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n      return 0;\n    }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "param_2[0x13] = param_2[0x13] + 1;" (assignment_expression "param_2[0x13] = param_2[0x13] + 1" (subscript_expression "param_2[0x13]" identifier [ number_literal ]) = (binary_expression "param_2[0x13] + 1" (subscript_expression "param_2[0x13]" identifier [ number_literal ]) + number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (if_statement "if (0xc0 < (int)param_3) {\n    if (param_3 == 0xe0) {\n      if ((param_2[0xc] != 0) && (param_4 == 1)) {\n        return 1;\n      }\n      iVar7 = FUN_0003e2f0();\n      if (iVar7 == 0) {\n        return 0;\n      }\n      uVar11 = param_2[9] + param_2[7];\n      iVar7 = FUN_0003c980(param_1,uVar11 + param_5,\n                           param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7]) + param_6\n                           + (uint)CARRY4(uVar11,param_5));\n      if (iVar7 == 0) {\n        return 0;\n      }\n      param_2 = param_2 + 0x13;\n      *param_2 = *param_2 + -1;\n      if (*param_2 < 0) {\n        pcVar12 = (char *)dcgettext(0,"Too many N_RBRACs\n",5);\n        fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar12);\n        return 0;\n      }\n      return 1;\n    }\n    if ((int)param_3 < 0xe1) {\n      if (param_3 == 0xc2) {\n        iVar7 = param_2[0x15];\n        param_2[0x15] = iVar7 + 1;\n        iVar7 = xrealloc(param_2[0x16],(iVar7 + 1) * 4);\n        puVar8 = (undefined4 *)param_2[0xf];\n        param_2[0x16] = iVar7;\n        while( true ) {\n          if (puVar8 == (undefined4 *)0x0) {\n            dcgettext(0,"Undefined N_EXCL",5);\n            FUN_0003df30();\n            *(undefined4 *)(param_2[0x16] + -4 + param_2[0x15] * 4) = 0;\n            return 1;\n          }\n          if ((puVar8[4] == param_6 && puVar8[3] == param_5) &&\n             (iVar10 = strcmp((char *)puVar8[2],(char *)param_7), iVar10 == 0)) break;\n          puVar8 = (undefined4 *)*puVar8;\n        }\n        *(undefined4 *)(iVar7 + -4 + param_2[0x15] * 4) = puVar8[6];\n        return 1;\n      }\n      goto LAB_00044431;\n    }\n    if (param_3 == 0xe2) {\n      iVar7 = FUN_0003cb60(param_1,param_7);\n    }\n    else {\n      if (param_3 != 0xe4) goto LAB_00044431;\n      iVar7 = FUN_0003cba0(param_1,param_7);\n    }\n    goto LAB_0004426d;\n  }" if (parenthesized_expression "(0xc0 < (int)param_3)" ( (binary_expression "0xc0 < (int)param_3" number_literal < (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    if (param_3 == 0xe0) {\n      if ((param_2[0xc] != 0) && (param_4 == 1)) {\n        return 1;\n      }\n      iVar7 = FUN_0003e2f0();\n      if (iVar7 == 0) {\n        return 0;\n      }\n      uVar11 = param_2[9] + param_2[7];\n      iVar7 = FUN_0003c980(param_1,uVar11 + param_5,\n                           param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7]) + param_6\n                           + (uint)CARRY4(uVar11,param_5));\n      if (iVar7 == 0) {\n        return 0;\n      }\n      param_2 = param_2 + 0x13;\n      *param_2 = *param_2 + -1;\n      if (*param_2 < 0) {\n        pcVar12 = (char *)dcgettext(0,"Too many N_RBRACs\n",5);\n        fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar12);\n        return 0;\n      }\n      return 1;\n    }\n    if ((int)param_3 < 0xe1) {\n      if (param_3 == 0xc2) {\n        iVar7 = param_2[0x15];\n        param_2[0x15] = iVar7 + 1;\n        iVar7 = xrealloc(param_2[0x16],(iVar7 + 1) * 4);\n        puVar8 = (undefined4 *)param_2[0xf];\n        param_2[0x16] = iVar7;\n        while( true ) {\n          if (puVar8 == (undefined4 *)0x0) {\n            dcgettext(0,"Undefined N_EXCL",5);\n            FUN_0003df30();\n            *(undefined4 *)(param_2[0x16] + -4 + param_2[0x15] * 4) = 0;\n            return 1;\n          }\n          if ((puVar8[4] == param_6 && puVar8[3] == param_5) &&\n             (iVar10 = strcmp((char *)puVar8[2],(char *)param_7), iVar10 == 0)) break;\n          puVar8 = (undefined4 *)*puVar8;\n        }\n        *(undefined4 *)(iVar7 + -4 + param_2[0x15] * 4) = puVar8[6];\n        return 1;\n      }\n      goto LAB_00044431;\n    }\n    if (param_3 == 0xe2) {\n      iVar7 = FUN_0003cb60(param_1,param_7);\n    }\n    else {\n      if (param_3 != 0xe4) goto LAB_00044431;\n      iVar7 = FUN_0003cba0(param_1,param_7);\n    }\n    goto LAB_0004426d;\n  }" { (if_statement "if (param_3 == 0xe0) {\n      if ((param_2[0xc] != 0) && (param_4 == 1)) {\n        return 1;\n      }\n      iVar7 = FUN_0003e2f0();\n      if (iVar7 == 0) {\n        return 0;\n      }\n      uVar11 = param_2[9] + param_2[7];\n      iVar7 = FUN_0003c980(param_1,uVar11 + param_5,\n                           param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7]) + param_6\n                           + (uint)CARRY4(uVar11,param_5));\n      if (iVar7 == 0) {\n        return 0;\n      }\n      param_2 = param_2 + 0x13;\n      *param_2 = *param_2 + -1;\n      if (*param_2 < 0) {\n        pcVar12 = (char *)dcgettext(0,"Too many N_RBRACs\n",5);\n        fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar12);\n        return 0;\n      }\n      return 1;\n    }" if (parenthesized_expression "(param_3 == 0xe0)" ( (binary_expression "param_3 == 0xe0" identifier == number_literal) )) (compound_statement "{\n      if ((param_2[0xc] != 0) && (param_4 == 1)) {\n        return 1;\n      }\n      iVar7 = FUN_0003e2f0();\n      if (iVar7 == 0) {\n        return 0;\n      }\n      uVar11 = param_2[9] + param_2[7];\n      iVar7 = FUN_0003c980(param_1,uVar11 + param_5,\n                           param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7]) + param_6\n                           + (uint)CARRY4(uVar11,param_5));\n      if (iVar7 == 0) {\n        return 0;\n      }\n      param_2 = param_2 + 0x13;\n      *param_2 = *param_2 + -1;\n      if (*param_2 < 0) {\n        pcVar12 = (char *)dcgettext(0,"Too many N_RBRACs\n",5);\n        fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar12);\n        return 0;\n      }\n      return 1;\n    }" { (if_statement "if ((param_2[0xc] != 0) && (param_4 == 1)) {\n        return 1;\n      }" if (parenthesized_expression "((param_2[0xc] != 0) && (param_4 == 1))" ( (binary_expression "(param_2[0xc] != 0) && (param_4 == 1)" (parenthesized_expression "(param_2[0xc] != 0)" ( (binary_expression "param_2[0xc] != 0" (subscript_expression "param_2[0xc]" identifier [ number_literal ]) != number_literal) )) && (parenthesized_expression "(param_4 == 1)" ( (binary_expression "param_4 == 1" identifier == number_literal) ))) )) (compound_statement "{\n        return 1;\n      }" { (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar7 = FUN_0003e2f0();" (assignment_expression "iVar7 = FUN_0003e2f0()" identifier = (call_expression "FUN_0003e2f0()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar7 == 0) {\n        return 0;\n      }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n        return 0;\n      }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "uVar11 = param_2[9] + param_2[7];" (assignment_expression "uVar11 = param_2[9] + param_2[7]" identifier = (binary_expression "param_2[9] + param_2[7]" (subscript_expression "param_2[9]" identifier [ number_literal ]) + (subscript_expression "param_2[7]" identifier [ number_literal ]))) ;) (expression_statement "iVar7 = FUN_0003c980(param_1,uVar11 + param_5,\n                           param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7]) + param_6\n                           + (uint)CARRY4(uVar11,param_5));" (assignment_expression "iVar7 = FUN_0003c980(param_1,uVar11 + param_5,\n                           param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7]) + param_6\n                           + (uint)CARRY4(uVar11,param_5))" identifier = (call_expression "FUN_0003c980(param_1,uVar11 + param_5,\n                           param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7]) + param_6\n                           + (uint)CARRY4(uVar11,param_5))" identifier (argument_list "(param_1,uVar11 + param_5,\n                           param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7]) + param_6\n                           + (uint)CARRY4(uVar11,param_5))" ( identifier , (binary_expression "uVar11 + param_5" identifier + identifier) , (binary_expression "param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7]) + param_6\n                           + (uint)CARRY4(uVar11,param_5)" (binary_expression "param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7]) + param_6" (binary_expression "param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7])" (binary_expression "param_2[10] + param_2[8]" (subscript_expression "param_2[10]" identifier [ number_literal ]) + (subscript_expression "param_2[8]" identifier [ number_literal ])) + (cast_expression "(uint)CARRY4(param_2[9],param_2[7])" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(param_2[9],param_2[7])" identifier (argument_list "(param_2[9],param_2[7])" ( (subscript_expression "param_2[9]" identifier [ number_literal ]) , (subscript_expression "param_2[7]" identifier [ number_literal ]) ))))) + identifier) + (cast_expression "(uint)CARRY4(uVar11,param_5)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar11,param_5)" identifier (argument_list "(uVar11,param_5)" ( identifier , identifier ))))) )))) ;) (if_statement "if (iVar7 == 0) {\n        return 0;\n      }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n        return 0;\n      }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "param_2 = param_2 + 0x13;" (assignment_expression "param_2 = param_2 + 0x13" identifier = (binary_expression "param_2 + 0x13" identifier + number_literal)) ;) (expression_statement "*param_2 = *param_2 + -1;" (assignment_expression "*param_2 = *param_2 + -1" (pointer_expression "*param_2" * identifier) = (binary_expression "*param_2 + -1" (pointer_expression "*param_2" * identifier) + number_literal)) ;) (if_statement "if (*param_2 < 0) {\n        pcVar12 = (char *)dcgettext(0,"Too many N_RBRACs\n",5);\n        fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar12);\n        return 0;\n      }" if (parenthesized_expression "(*param_2 < 0)" ( (binary_expression "*param_2 < 0" (pointer_expression "*param_2" * identifier) < number_literal) )) (compound_statement "{\n        pcVar12 = (char *)dcgettext(0,"Too many N_RBRACs\n",5);\n        fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar12);\n        return 0;\n      }" { (expression_statement "pcVar12 = (char *)dcgettext(0,"Too many N_RBRACs\n",5);" (assignment_expression "pcVar12 = (char *)dcgettext(0,"Too many N_RBRACs\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"Too many N_RBRACs\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Too many N_RBRACs\n",5)" identifier (argument_list "(0,"Too many N_RBRACs\n",5)" ( number_literal , (string_literal ""Too many N_RBRACs\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar12);" (call_expression "fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar12)" identifier (argument_list "(*(FILE **)PTR_stderr_00071fb4,pcVar12)" ( (pointer_expression "*(FILE **)PTR_stderr_00071fb4" * (cast_expression "(FILE **)PTR_stderr_00071fb4" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (return_statement "return 1;" return number_literal ;) })) (if_statement "if ((int)param_3 < 0xe1) {\n      if (param_3 == 0xc2) {\n        iVar7 = param_2[0x15];\n        param_2[0x15] = iVar7 + 1;\n        iVar7 = xrealloc(param_2[0x16],(iVar7 + 1) * 4);\n        puVar8 = (undefined4 *)param_2[0xf];\n        param_2[0x16] = iVar7;\n        while( true ) {\n          if (puVar8 == (undefined4 *)0x0) {\n            dcgettext(0,"Undefined N_EXCL",5);\n            FUN_0003df30();\n            *(undefined4 *)(param_2[0x16] + -4 + param_2[0x15] * 4) = 0;\n            return 1;\n          }\n          if ((puVar8[4] == param_6 && puVar8[3] == param_5) &&\n             (iVar10 = strcmp((char *)puVar8[2],(char *)param_7), iVar10 == 0)) break;\n          puVar8 = (undefined4 *)*puVar8;\n        }\n        *(undefined4 *)(iVar7 + -4 + param_2[0x15] * 4) = puVar8[6];\n        return 1;\n      }\n      goto LAB_00044431;\n    }" if (parenthesized_expression "((int)param_3 < 0xe1)" ( (binary_expression "(int)param_3 < 0xe1" (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      if (param_3 == 0xc2) {\n        iVar7 = param_2[0x15];\n        param_2[0x15] = iVar7 + 1;\n        iVar7 = xrealloc(param_2[0x16],(iVar7 + 1) * 4);\n        puVar8 = (undefined4 *)param_2[0xf];\n        param_2[0x16] = iVar7;\n        while( true ) {\n          if (puVar8 == (undefined4 *)0x0) {\n            dcgettext(0,"Undefined N_EXCL",5);\n            FUN_0003df30();\n            *(undefined4 *)(param_2[0x16] + -4 + param_2[0x15] * 4) = 0;\n            return 1;\n          }\n          if ((puVar8[4] == param_6 && puVar8[3] == param_5) &&\n             (iVar10 = strcmp((char *)puVar8[2],(char *)param_7), iVar10 == 0)) break;\n          puVar8 = (undefined4 *)*puVar8;\n        }\n        *(undefined4 *)(iVar7 + -4 + param_2[0x15] * 4) = puVar8[6];\n        return 1;\n      }\n      goto LAB_00044431;\n    }" { (if_statement "if (param_3 == 0xc2) {\n        iVar7 = param_2[0x15];\n        param_2[0x15] = iVar7 + 1;\n        iVar7 = xrealloc(param_2[0x16],(iVar7 + 1) * 4);\n        puVar8 = (undefined4 *)param_2[0xf];\n        param_2[0x16] = iVar7;\n        while( true ) {\n          if (puVar8 == (undefined4 *)0x0) {\n            dcgettext(0,"Undefined N_EXCL",5);\n            FUN_0003df30();\n            *(undefined4 *)(param_2[0x16] + -4 + param_2[0x15] * 4) = 0;\n            return 1;\n          }\n          if ((puVar8[4] == param_6 && puVar8[3] == param_5) &&\n             (iVar10 = strcmp((char *)puVar8[2],(char *)param_7), iVar10 == 0)) break;\n          puVar8 = (undefined4 *)*puVar8;\n        }\n        *(undefined4 *)(iVar7 + -4 + param_2[0x15] * 4) = puVar8[6];\n        return 1;\n      }" if (parenthesized_expression "(param_3 == 0xc2)" ( (binary_expression "param_3 == 0xc2" identifier == number_literal) )) (compound_statement "{\n        iVar7 = param_2[0x15];\n        param_2[0x15] = iVar7 + 1;\n        iVar7 = xrealloc(param_2[0x16],(iVar7 + 1) * 4);\n        puVar8 = (undefined4 *)param_2[0xf];\n        param_2[0x16] = iVar7;\n        while( true ) {\n          if (puVar8 == (undefined4 *)0x0) {\n            dcgettext(0,"Undefined N_EXCL",5);\n            FUN_0003df30();\n            *(undefined4 *)(param_2[0x16] + -4 + param_2[0x15] * 4) = 0;\n            return 1;\n          }\n          if ((puVar8[4] == param_6 && puVar8[3] == param_5) &&\n             (iVar10 = strcmp((char *)puVar8[2],(char *)param_7), iVar10 == 0)) break;\n          puVar8 = (undefined4 *)*puVar8;\n        }\n        *(undefined4 *)(iVar7 + -4 + param_2[0x15] * 4) = puVar8[6];\n        return 1;\n      }" { (expression_statement "iVar7 = param_2[0x15];" (assignment_expression "iVar7 = param_2[0x15]" identifier = (subscript_expression "param_2[0x15]" identifier [ number_literal ])) ;) (expression_statement "param_2[0x15] = iVar7 + 1;" (assignment_expression "param_2[0x15] = iVar7 + 1" (subscript_expression "param_2[0x15]" identifier [ number_literal ]) = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) (expression_statement "iVar7 = xrealloc(param_2[0x16],(iVar7 + 1) * 4);" (assignment_expression "iVar7 = xrealloc(param_2[0x16],(iVar7 + 1) * 4)" identifier = (call_expression "xrealloc(param_2[0x16],(iVar7 + 1) * 4)" identifier (argument_list "(param_2[0x16],(iVar7 + 1) * 4)" ( (subscript_expression "param_2[0x16]" identifier [ number_literal ]) , (binary_expression "(iVar7 + 1) * 4" (parenthesized_expression "(iVar7 + 1)" ( (binary_expression "iVar7 + 1" identifier + number_literal) )) * number_literal) )))) ;) (expression_statement "puVar8 = (undefined4 *)param_2[0xf];" (assignment_expression "puVar8 = (undefined4 *)param_2[0xf]" identifier = (cast_expression "(undefined4 *)param_2[0xf]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[0xf]" identifier [ number_literal ]))) ;) (expression_statement "param_2[0x16] = iVar7;" (assignment_expression "param_2[0x16] = iVar7" (subscript_expression "param_2[0x16]" identifier [ number_literal ]) = identifier) ;) (while_statement "while( true ) {\n          if (puVar8 == (undefined4 *)0x0) {\n            dcgettext(0,"Undefined N_EXCL",5);\n            FUN_0003df30();\n            *(undefined4 *)(param_2[0x16] + -4 + param_2[0x15] * 4) = 0;\n            return 1;\n          }\n          if ((puVar8[4] == param_6 && puVar8[3] == param_5) &&\n             (iVar10 = strcmp((char *)puVar8[2],(char *)param_7), iVar10 == 0)) break;\n          puVar8 = (undefined4 *)*puVar8;\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          if (puVar8 == (undefined4 *)0x0) {\n            dcgettext(0,"Undefined N_EXCL",5);\n            FUN_0003df30();\n            *(undefined4 *)(param_2[0x16] + -4 + param_2[0x15] * 4) = 0;\n            return 1;\n          }\n          if ((puVar8[4] == param_6 && puVar8[3] == param_5) &&\n             (iVar10 = strcmp((char *)puVar8[2],(char *)param_7), iVar10 == 0)) break;\n          puVar8 = (undefined4 *)*puVar8;\n        }" { (if_statement "if (puVar8 == (undefined4 *)0x0) {\n            dcgettext(0,"Undefined N_EXCL",5);\n            FUN_0003df30();\n            *(undefined4 *)(param_2[0x16] + -4 + param_2[0x15] * 4) = 0;\n            return 1;\n          }" if (parenthesized_expression "(puVar8 == (undefined4 *)0x0)" ( (binary_expression "puVar8 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            dcgettext(0,"Undefined N_EXCL",5);\n            FUN_0003df30();\n            *(undefined4 *)(param_2[0x16] + -4 + param_2[0x15] * 4) = 0;\n            return 1;\n          }" { (expression_statement "dcgettext(0,"Undefined N_EXCL",5);" (call_expression "dcgettext(0,"Undefined N_EXCL",5)" identifier (argument_list "(0,"Undefined N_EXCL",5)" ( number_literal , (string_literal ""Undefined N_EXCL"" " string_content ") , number_literal ))) ;) (expression_statement "FUN_0003df30();" (call_expression "FUN_0003df30()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(param_2[0x16] + -4 + param_2[0x15] * 4) = 0;" (assignment_expression "*(undefined4 *)(param_2[0x16] + -4 + param_2[0x15] * 4) = 0" (pointer_expression "*(undefined4 *)(param_2[0x16] + -4 + param_2[0x15] * 4)" * (cast_expression "(undefined4 *)(param_2[0x16] + -4 + param_2[0x15] * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2[0x16] + -4 + param_2[0x15] * 4)" ( (binary_expression "param_2[0x16] + -4 + param_2[0x15] * 4" (binary_expression "param_2[0x16] + -4" (subscript_expression "param_2[0x16]" identifier [ number_literal ]) + number_literal) + (binary_expression "param_2[0x15] * 4" (subscript_expression "param_2[0x15]" identifier [ number_literal ]) * number_literal)) )))) = number_literal) ;) (return_statement "return 1;" return number_literal ;) })) (if_statement "if ((puVar8[4] == param_6 && puVar8[3] == param_5) &&\n             (iVar10 = strcmp((char *)puVar8[2],(char *)param_7), iVar10 == 0)) break;" if (parenthesized_expression "((puVar8[4] == param_6 && puVar8[3] == param_5) &&\n             (iVar10 = strcmp((char *)puVar8[2],(char *)param_7), iVar10 == 0))" ( (binary_expression "(puVar8[4] == param_6 && puVar8[3] == param_5) &&\n             (iVar10 = strcmp((char *)puVar8[2],(char *)param_7), iVar10 == 0)" (parenthesized_expression "(puVar8[4] == param_6 && puVar8[3] == param_5)" ( (binary_expression "puVar8[4] == param_6 && puVar8[3] == param_5" (binary_expression "puVar8[4] == param_6" (subscript_expression "puVar8[4]" identifier [ number_literal ]) == identifier) && (binary_expression "puVar8[3] == param_5" (subscript_expression "puVar8[3]" identifier [ number_literal ]) == identifier)) )) && (parenthesized_expression "(iVar10 = strcmp((char *)puVar8[2],(char *)param_7), iVar10 == 0)" ( (comma_expression "iVar10 = strcmp((char *)puVar8[2],(char *)param_7), iVar10 == 0" (assignment_expression "iVar10 = strcmp((char *)puVar8[2],(char *)param_7)" identifier = (call_expression "strcmp((char *)puVar8[2],(char *)param_7)" identifier (argument_list "((char *)puVar8[2],(char *)param_7)" ( (cast_expression "(char *)puVar8[2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar8[2]" identifier [ number_literal ])) , (cast_expression "(char *)param_7" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) , (binary_expression "iVar10 == 0" identifier == number_literal)) ))) )) (break_statement "break;" break ;)) (expression_statement "puVar8 = (undefined4 *)*puVar8;" (assignment_expression "puVar8 = (undefined4 *)*puVar8" identifier = (cast_expression "(undefined4 *)*puVar8" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar8" * identifier))) ;) })) (expression_statement "*(undefined4 *)(iVar7 + -4 + param_2[0x15] * 4) = puVar8[6];" (assignment_expression "*(undefined4 *)(iVar7 + -4 + param_2[0x15] * 4) = puVar8[6]" (pointer_expression "*(undefined4 *)(iVar7 + -4 + param_2[0x15] * 4)" * (cast_expression "(undefined4 *)(iVar7 + -4 + param_2[0x15] * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + -4 + param_2[0x15] * 4)" ( (binary_expression "iVar7 + -4 + param_2[0x15] * 4" (binary_expression "iVar7 + -4" identifier + number_literal) + (binary_expression "param_2[0x15] * 4" (subscript_expression "param_2[0x15]" identifier [ number_literal ]) * number_literal)) )))) = (subscript_expression "puVar8[6]" identifier [ number_literal ])) ;) (return_statement "return 1;" return number_literal ;) })) (goto_statement "goto LAB_00044431;" goto statement_identifier ;) })) (if_statement "if (param_3 == 0xe2) {\n      iVar7 = FUN_0003cb60(param_1,param_7);\n    }\n    else {\n      if (param_3 != 0xe4) goto LAB_00044431;\n      iVar7 = FUN_0003cba0(param_1,param_7);\n    }" if (parenthesized_expression "(param_3 == 0xe2)" ( (binary_expression "param_3 == 0xe2" identifier == number_literal) )) (compound_statement "{\n      iVar7 = FUN_0003cb60(param_1,param_7);\n    }" { (expression_statement "iVar7 = FUN_0003cb60(param_1,param_7);" (assignment_expression "iVar7 = FUN_0003cb60(param_1,param_7)" identifier = (call_expression "FUN_0003cb60(param_1,param_7)" identifier (argument_list "(param_1,param_7)" ( identifier , identifier )))) ;) }) (else_clause "else {\n      if (param_3 != 0xe4) goto LAB_00044431;\n      iVar7 = FUN_0003cba0(param_1,param_7);\n    }" else (compound_statement "{\n      if (param_3 != 0xe4) goto LAB_00044431;\n      iVar7 = FUN_0003cba0(param_1,param_7);\n    }" { (if_statement "if (param_3 != 0xe4) goto LAB_00044431;" if (parenthesized_expression "(param_3 != 0xe4)" ( (binary_expression "param_3 != 0xe4" identifier != number_literal) )) (goto_statement "goto LAB_00044431;" goto statement_identifier ;)) (expression_statement "iVar7 = FUN_0003cba0(param_1,param_7);" (assignment_expression "iVar7 = FUN_0003cba0(param_1,param_7)" identifier = (call_expression "FUN_0003cba0(param_1,param_7)" identifier (argument_list "(param_1,param_7)" ( identifier , identifier )))) ;) }))) (goto_statement "goto LAB_0004426d;" goto statement_identifier ;) })) (if_statement "if (param_3 == 0x82) {\n    piVar13 = (int *)xmalloc(0x1c);\n    iVar7 = param_2[0xf];\n    piVar13[4] = param_6;\n    *piVar13 = iVar7;\n    iVar7 = param_2[0xe];\n    piVar13[6] = 0;\n    piVar13[1] = iVar7;\n    param_2[0xf] = (int)piVar13;\n    piVar13[2] = (int)param_7;\n    param_2[0xe] = (int)piVar13;\n    piVar13[3] = param_5;\n    iVar7 = param_2[0x15];\n    piVar13[5] = iVar7;\n    iVar7 = iVar7 + 1;\n    param_2[0x15] = iVar7;\n    iVar10 = xrealloc(param_2[0x16],iVar7 * 4);\n    iVar7 = piVar13[5];\n    param_2[0x16] = iVar10;\n    *(undefined4 *)(iVar10 + iVar7 * 4) = 0;\n  }\n  else {\n    if ((int)param_3 < 0x83) {\n      if (param_3 != 100) goto LAB_00044431;\n      bVar6 = *param_7;\n      if (param_2[0x10] != 0) {\n        if (bVar6 != 0) goto LAB_000448f8;\n        goto LAB_00044916;\n      }\n      goto LAB_00044966;\n    }\n    if (param_3 != 0x84) {\n      if (param_3 != 0xa2) goto LAB_00044431;\n      iVar7 = param_2[0xe];\n      if (iVar7 != 0) {\n        iVar10 = *(int *)(iVar7 + 4);\n        uVar11 = *(uint *)(iVar7 + 0x14);\n        param_2[0xe] = iVar10;\n        if ((uVar11 < (uint)param_2[0x15]) &&\n           (*(undefined4 *)(iVar7 + 0x18) = *(undefined4 *)(param_2[0x16] + uVar11 * 4), iVar10 != 0\n           )) {\n          param_7 = *(byte **)(iVar10 + 8);\n          goto LAB_000445bf;\n        }\n      }\n      param_7 = (byte *)param_2[0xd];\n    }\n  }" if (parenthesized_expression "(param_3 == 0x82)" ( (binary_expression "param_3 == 0x82" identifier == number_literal) )) (compound_statement "{\n    piVar13 = (int *)xmalloc(0x1c);\n    iVar7 = param_2[0xf];\n    piVar13[4] = param_6;\n    *piVar13 = iVar7;\n    iVar7 = param_2[0xe];\n    piVar13[6] = 0;\n    piVar13[1] = iVar7;\n    param_2[0xf] = (int)piVar13;\n    piVar13[2] = (int)param_7;\n    param_2[0xe] = (int)piVar13;\n    piVar13[3] = param_5;\n    iVar7 = param_2[0x15];\n    piVar13[5] = iVar7;\n    iVar7 = iVar7 + 1;\n    param_2[0x15] = iVar7;\n    iVar10 = xrealloc(param_2[0x16],iVar7 * 4);\n    iVar7 = piVar13[5];\n    param_2[0x16] = iVar10;\n    *(undefined4 *)(iVar10 + iVar7 * 4) = 0;\n  }" { (expression_statement "piVar13 = (int *)xmalloc(0x1c);" (assignment_expression "piVar13 = (int *)xmalloc(0x1c)" identifier = (cast_expression "(int *)xmalloc(0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(0x1c)" identifier (argument_list "(0x1c)" ( number_literal ))))) ;) (expression_statement "iVar7 = param_2[0xf];" (assignment_expression "iVar7 = param_2[0xf]" identifier = (subscript_expression "param_2[0xf]" identifier [ number_literal ])) ;) (expression_statement "piVar13[4] = param_6;" (assignment_expression "piVar13[4] = param_6" (subscript_expression "piVar13[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*piVar13 = iVar7;" (assignment_expression "*piVar13 = iVar7" (pointer_expression "*piVar13" * identifier) = identifier) ;) (expression_statement "iVar7 = param_2[0xe];" (assignment_expression "iVar7 = param_2[0xe]" identifier = (subscript_expression "param_2[0xe]" identifier [ number_literal ])) ;) (expression_statement "piVar13[6] = 0;" (assignment_expression "piVar13[6] = 0" (subscript_expression "piVar13[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar13[1] = iVar7;" (assignment_expression "piVar13[1] = iVar7" (subscript_expression "piVar13[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_2[0xf] = (int)piVar13;" (assignment_expression "param_2[0xf] = (int)piVar13" (subscript_expression "param_2[0xf]" identifier [ number_literal ]) = (cast_expression "(int)piVar13" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar13[2] = (int)param_7;" (assignment_expression "piVar13[2] = (int)param_7" (subscript_expression "piVar13[2]" identifier [ number_literal ]) = (cast_expression "(int)param_7" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "param_2[0xe] = (int)piVar13;" (assignment_expression "param_2[0xe] = (int)piVar13" (subscript_expression "param_2[0xe]" identifier [ number_literal ]) = (cast_expression "(int)piVar13" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar13[3] = param_5;" (assignment_expression "piVar13[3] = param_5" (subscript_expression "piVar13[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar7 = param_2[0x15];" (assignment_expression "iVar7 = param_2[0x15]" identifier = (subscript_expression "param_2[0x15]" identifier [ number_literal ])) ;) (expression_statement "piVar13[5] = iVar7;" (assignment_expression "piVar13[5] = iVar7" (subscript_expression "piVar13[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) (expression_statement "param_2[0x15] = iVar7;" (assignment_expression "param_2[0x15] = iVar7" (subscript_expression "param_2[0x15]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar10 = xrealloc(param_2[0x16],iVar7 * 4);" (assignment_expression "iVar10 = xrealloc(param_2[0x16],iVar7 * 4)" identifier = (call_expression "xrealloc(param_2[0x16],iVar7 * 4)" identifier (argument_list "(param_2[0x16],iVar7 * 4)" ( (subscript_expression "param_2[0x16]" identifier [ number_literal ]) , (binary_expression "iVar7 * 4" identifier * number_literal) )))) ;) (expression_statement "iVar7 = piVar13[5];" (assignment_expression "iVar7 = piVar13[5]" identifier = (subscript_expression "piVar13[5]" identifier [ number_literal ])) ;) (expression_statement "param_2[0x16] = iVar10;" (assignment_expression "param_2[0x16] = iVar10" (subscript_expression "param_2[0x16]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(undefined4 *)(iVar10 + iVar7 * 4) = 0;" (assignment_expression "*(undefined4 *)(iVar10 + iVar7 * 4) = 0" (pointer_expression "*(undefined4 *)(iVar10 + iVar7 * 4)" * (cast_expression "(undefined4 *)(iVar10 + iVar7 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + iVar7 * 4)" ( (binary_expression "iVar10 + iVar7 * 4" identifier + (binary_expression "iVar7 * 4" identifier * number_literal)) )))) = number_literal) ;) }) (else_clause "else {\n    if ((int)param_3 < 0x83) {\n      if (param_3 != 100) goto LAB_00044431;\n      bVar6 = *param_7;\n      if (param_2[0x10] != 0) {\n        if (bVar6 != 0) goto LAB_000448f8;\n        goto LAB_00044916;\n      }\n      goto LAB_00044966;\n    }\n    if (param_3 != 0x84) {\n      if (param_3 != 0xa2) goto LAB_00044431;\n      iVar7 = param_2[0xe];\n      if (iVar7 != 0) {\n        iVar10 = *(int *)(iVar7 + 4);\n        uVar11 = *(uint *)(iVar7 + 0x14);\n        param_2[0xe] = iVar10;\n        if ((uVar11 < (uint)param_2[0x15]) &&\n           (*(undefined4 *)(iVar7 + 0x18) = *(undefined4 *)(param_2[0x16] + uVar11 * 4), iVar10 != 0\n           )) {\n          param_7 = *(byte **)(iVar10 + 8);\n          goto LAB_000445bf;\n        }\n      }\n      param_7 = (byte *)param_2[0xd];\n    }\n  }" else (compound_statement "{\n    if ((int)param_3 < 0x83) {\n      if (param_3 != 100) goto LAB_00044431;\n      bVar6 = *param_7;\n      if (param_2[0x10] != 0) {\n        if (bVar6 != 0) goto LAB_000448f8;\n        goto LAB_00044916;\n      }\n      goto LAB_00044966;\n    }\n    if (param_3 != 0x84) {\n      if (param_3 != 0xa2) goto LAB_00044431;\n      iVar7 = param_2[0xe];\n      if (iVar7 != 0) {\n        iVar10 = *(int *)(iVar7 + 4);\n        uVar11 = *(uint *)(iVar7 + 0x14);\n        param_2[0xe] = iVar10;\n        if ((uVar11 < (uint)param_2[0x15]) &&\n           (*(undefined4 *)(iVar7 + 0x18) = *(undefined4 *)(param_2[0x16] + uVar11 * 4), iVar10 != 0\n           )) {\n          param_7 = *(byte **)(iVar10 + 8);\n          goto LAB_000445bf;\n        }\n      }\n      param_7 = (byte *)param_2[0xd];\n    }\n  }" { (if_statement "if ((int)param_3 < 0x83) {\n      if (param_3 != 100) goto LAB_00044431;\n      bVar6 = *param_7;\n      if (param_2[0x10] != 0) {\n        if (bVar6 != 0) goto LAB_000448f8;\n        goto LAB_00044916;\n      }\n      goto LAB_00044966;\n    }" if (parenthesized_expression "((int)param_3 < 0x83)" ( (binary_expression "(int)param_3 < 0x83" (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      if (param_3 != 100) goto LAB_00044431;\n      bVar6 = *param_7;\n      if (param_2[0x10] != 0) {\n        if (bVar6 != 0) goto LAB_000448f8;\n        goto LAB_00044916;\n      }\n      goto LAB_00044966;\n    }" { (if_statement "if (param_3 != 100) goto LAB_00044431;" if (parenthesized_expression "(param_3 != 100)" ( (binary_expression "param_3 != 100" identifier != number_literal) )) (goto_statement "goto LAB_00044431;" goto statement_identifier ;)) (expression_statement "bVar6 = *param_7;" (assignment_expression "bVar6 = *param_7" identifier = (pointer_expression "*param_7" * identifier)) ;) (if_statement "if (param_2[0x10] != 0) {\n        if (bVar6 != 0) goto LAB_000448f8;\n        goto LAB_00044916;\n      }" if (parenthesized_expression "(param_2[0x10] != 0)" ( (binary_expression "param_2[0x10] != 0" (subscript_expression "param_2[0x10]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        if (bVar6 != 0) goto LAB_000448f8;\n        goto LAB_00044916;\n      }" { (if_statement "if (bVar6 != 0) goto LAB_000448f8;" if (parenthesized_expression "(bVar6 != 0)" ( (binary_expression "bVar6 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000448f8;" goto statement_identifier ;)) (goto_statement "goto LAB_00044916;" goto statement_identifier ;) })) (goto_statement "goto LAB_00044966;" goto statement_identifier ;) })) (if_statement "if (param_3 != 0x84) {\n      if (param_3 != 0xa2) goto LAB_00044431;\n      iVar7 = param_2[0xe];\n      if (iVar7 != 0) {\n        iVar10 = *(int *)(iVar7 + 4);\n        uVar11 = *(uint *)(iVar7 + 0x14);\n        param_2[0xe] = iVar10;\n        if ((uVar11 < (uint)param_2[0x15]) &&\n           (*(undefined4 *)(iVar7 + 0x18) = *(undefined4 *)(param_2[0x16] + uVar11 * 4), iVar10 != 0\n           )) {\n          param_7 = *(byte **)(iVar10 + 8);\n          goto LAB_000445bf;\n        }\n      }\n      param_7 = (byte *)param_2[0xd];\n    }" if (parenthesized_expression "(param_3 != 0x84)" ( (binary_expression "param_3 != 0x84" identifier != number_literal) )) (compound_statement "{\n      if (param_3 != 0xa2) goto LAB_00044431;\n      iVar7 = param_2[0xe];\n      if (iVar7 != 0) {\n        iVar10 = *(int *)(iVar7 + 4);\n        uVar11 = *(uint *)(iVar7 + 0x14);\n        param_2[0xe] = iVar10;\n        if ((uVar11 < (uint)param_2[0x15]) &&\n           (*(undefined4 *)(iVar7 + 0x18) = *(undefined4 *)(param_2[0x16] + uVar11 * 4), iVar10 != 0\n           )) {\n          param_7 = *(byte **)(iVar10 + 8);\n          goto LAB_000445bf;\n        }\n      }\n      param_7 = (byte *)param_2[0xd];\n    }" { (if_statement "if (param_3 != 0xa2) goto LAB_00044431;" if (parenthesized_expression "(param_3 != 0xa2)" ( (binary_expression "param_3 != 0xa2" identifier != number_literal) )) (goto_statement "goto LAB_00044431;" goto statement_identifier ;)) (expression_statement "iVar7 = param_2[0xe];" (assignment_expression "iVar7 = param_2[0xe]" identifier = (subscript_expression "param_2[0xe]" identifier [ number_literal ])) ;) (if_statement "if (iVar7 != 0) {\n        iVar10 = *(int *)(iVar7 + 4);\n        uVar11 = *(uint *)(iVar7 + 0x14);\n        param_2[0xe] = iVar10;\n        if ((uVar11 < (uint)param_2[0x15]) &&\n           (*(undefined4 *)(iVar7 + 0x18) = *(undefined4 *)(param_2[0x16] + uVar11 * 4), iVar10 != 0\n           )) {\n          param_7 = *(byte **)(iVar10 + 8);\n          goto LAB_000445bf;\n        }\n      }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar10 = *(int *)(iVar7 + 4);\n        uVar11 = *(uint *)(iVar7 + 0x14);\n        param_2[0xe] = iVar10;\n        if ((uVar11 < (uint)param_2[0x15]) &&\n           (*(undefined4 *)(iVar7 + 0x18) = *(undefined4 *)(param_2[0x16] + uVar11 * 4), iVar10 != 0\n           )) {\n          param_7 = *(byte **)(iVar10 + 8);\n          goto LAB_000445bf;\n        }\n      }" { (expression_statement "iVar10 = *(int *)(iVar7 + 4);" (assignment_expression "iVar10 = *(int *)(iVar7 + 4)" identifier = (pointer_expression "*(int *)(iVar7 + 4)" * (cast_expression "(int *)(iVar7 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 4)" ( (binary_expression "iVar7 + 4" identifier + number_literal) ))))) ;) (expression_statement "uVar11 = *(uint *)(iVar7 + 0x14);" (assignment_expression "uVar11 = *(uint *)(iVar7 + 0x14)" identifier = (pointer_expression "*(uint *)(iVar7 + 0x14)" * (cast_expression "(uint *)(iVar7 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x14)" ( (binary_expression "iVar7 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "param_2[0xe] = iVar10;" (assignment_expression "param_2[0xe] = iVar10" (subscript_expression "param_2[0xe]" identifier [ number_literal ]) = identifier) ;) (if_statement "if ((uVar11 < (uint)param_2[0x15]) &&\n           (*(undefined4 *)(iVar7 + 0x18) = *(undefined4 *)(param_2[0x16] + uVar11 * 4), iVar10 != 0\n           )) {\n          param_7 = *(byte **)(iVar10 + 8);\n          goto LAB_000445bf;\n        }" if (parenthesized_expression "((uVar11 < (uint)param_2[0x15]) &&\n           (*(undefined4 *)(iVar7 + 0x18) = *(undefined4 *)(param_2[0x16] + uVar11 * 4), iVar10 != 0\n           ))" ( (binary_expression "(uVar11 < (uint)param_2[0x15]) &&\n           (*(undefined4 *)(iVar7 + 0x18) = *(undefined4 *)(param_2[0x16] + uVar11 * 4), iVar10 != 0\n           )" (parenthesized_expression "(uVar11 < (uint)param_2[0x15])" ( (binary_expression "uVar11 < (uint)param_2[0x15]" identifier < (cast_expression "(uint)param_2[0x15]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_2[0x15]" identifier [ number_literal ]))) )) && (parenthesized_expression "(*(undefined4 *)(iVar7 + 0x18) = *(undefined4 *)(param_2[0x16] + uVar11 * 4), iVar10 != 0\n           )" ( (comma_expression "*(undefined4 *)(iVar7 + 0x18) = *(undefined4 *)(param_2[0x16] + uVar11 * 4), iVar10 != 0" (assignment_expression "*(undefined4 *)(iVar7 + 0x18) = *(undefined4 *)(param_2[0x16] + uVar11 * 4)" (pointer_expression "*(undefined4 *)(iVar7 + 0x18)" * (cast_expression "(undefined4 *)(iVar7 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x18)" ( (binary_expression "iVar7 + 0x18" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(param_2[0x16] + uVar11 * 4)" * (cast_expression "(undefined4 *)(param_2[0x16] + uVar11 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2[0x16] + uVar11 * 4)" ( (binary_expression "param_2[0x16] + uVar11 * 4" (subscript_expression "param_2[0x16]" identifier [ number_literal ]) + (binary_expression "uVar11 * 4" identifier * number_literal)) ))))) , (binary_expression "iVar10 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n          param_7 = *(byte **)(iVar10 + 8);\n          goto LAB_000445bf;\n        }" { (expression_statement "param_7 = *(byte **)(iVar10 + 8);" (assignment_expression "param_7 = *(byte **)(iVar10 + 8)" identifier = (pointer_expression "*(byte **)(iVar10 + 8)" * (cast_expression "(byte **)(iVar10 + 8)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar10 + 8)" ( (binary_expression "iVar10 + 8" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_000445bf;" goto statement_identifier ;) })) })) (expression_statement "param_7 = (byte *)param_2[0xd];" (assignment_expression "param_7 = (byte *)param_2[0xd]" identifier = (cast_expression "(byte *)param_2[0xd]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[0xd]" identifier [ number_literal ]))) ;) })) }))) (labeled_statement "LAB_000445bf:\n  iVar7 = FUN_0003c4a0(param_1,param_7);" statement_identifier : (expression_statement "iVar7 = FUN_0003c4a0(param_1,param_7);" (assignment_expression "iVar7 = FUN_0003c4a0(param_1,param_7)" identifier = (call_expression "FUN_0003c4a0(param_1,param_7)" identifier (argument_list "(param_1,param_7)" ( identifier , identifier )))) ;)) (labeled_statement "LAB_0004426d:\n  return (uint)(iVar7 != 0);" statement_identifier : (return_statement "return (uint)(iVar7 != 0);" return (call_expression "(uint)(iVar7 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) ))) ;)) (labeled_statement "LAB_00044790:\n  local_24 = local_24 + 2;" statement_identifier : (expression_statement "local_24 = local_24 + 2;" (assignment_expression "local_24 = local_24 + 2" identifier = (binary_expression "local_24 + 2" identifier + number_literal)) ;)) (expression_statement "local_24 = (byte *)strchr((char *)local_24,0x3a);" (assignment_expression "local_24 = (byte *)strchr((char *)local_24,0x3a)" identifier = (cast_expression "(byte *)strchr((char *)local_24,0x3a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "strchr((char *)local_24,0x3a)" identifier (argument_list "((char *)local_24,0x3a)" ( (cast_expression "(char *)local_24" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , number_literal ))))) ;) (expression_statement "pbVar16 = local_24;" (assignment_expression "pbVar16 = local_24" identifier = identifier) ;) (if_statement "if (local_24 == (byte *)0x0) {\nLAB_000449d0:\n    local_24 = pbVar16;\n    FUN_0003dfb0();\n    return 0;\n  }" if (parenthesized_expression "(local_24 == (byte *)0x0)" ( (binary_expression "local_24 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_000449d0:\n    local_24 = pbVar16;\n    FUN_0003dfb0();\n    return 0;\n  }" { (labeled_statement "LAB_000449d0:\n    local_24 = pbVar16;" statement_identifier : (expression_statement "local_24 = pbVar16;" (assignment_expression "local_24 = pbVar16" identifier = identifier) ;)) (expression_statement "FUN_0003dfb0();" (call_expression "FUN_0003dfb0()" identifier (argument_list "()" ( ))) ;) (return_statement "return 0;" return number_literal ;) })) (goto_statement "goto LAB_000447b1;" goto statement_identifier ;) (labeled_statement "code_r0x00044ecc:\n  piVar13 = (int *)piVar20[1];" statement_identifier : (expression_statement "piVar13 = (int *)piVar20[1];" (assignment_expression "piVar13 = (int *)piVar20[1]" identifier = (cast_expression "(int *)piVar20[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar20[1]" identifier [ number_literal ]))) ;)) (if_statement "if (((char)*piVar13 == cVar3) &&\n     (piVar13 = (int *)strcmp((char *)piVar13,local_3c), piVar13 == (int *)0x0)) {\n    piVar13 = (int *)*piVar20;\n    piVar20[3] = iVar7;\n    *piVar17 = (int)piVar13;\n    goto code_r0x00044efc;\n  }" if (parenthesized_expression "(((char)*piVar13 == cVar3) &&\n     (piVar13 = (int *)strcmp((char *)piVar13,local_3c), piVar13 == (int *)0x0))" ( (binary_expression "((char)*piVar13 == cVar3) &&\n     (piVar13 = (int *)strcmp((char *)piVar13,local_3c), piVar13 == (int *)0x0)" (parenthesized_expression "((char)*piVar13 == cVar3)" ( (binary_expression "(char)*piVar13 == cVar3" (cast_expression "(char)*piVar13" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*piVar13" * identifier)) == identifier) )) && (parenthesized_expression "(piVar13 = (int *)strcmp((char *)piVar13,local_3c), piVar13 == (int *)0x0)" ( (comma_expression "piVar13 = (int *)strcmp((char *)piVar13,local_3c), piVar13 == (int *)0x0" (assignment_expression "piVar13 = (int *)strcmp((char *)piVar13,local_3c)" identifier = (cast_expression "(int *)strcmp((char *)piVar13,local_3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "strcmp((char *)piVar13,local_3c)" identifier (argument_list "((char *)piVar13,local_3c)" ( (cast_expression "(char *)piVar13" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))))) , (binary_expression "piVar13 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n    piVar13 = (int *)*piVar20;\n    piVar20[3] = iVar7;\n    *piVar17 = (int)piVar13;\n    goto code_r0x00044efc;\n  }" { (expression_statement "piVar13 = (int *)*piVar20;" (assignment_expression "piVar13 = (int *)*piVar20" identifier = (cast_expression "(int *)*piVar20" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar20" * identifier))) ;) (expression_statement "piVar20[3] = iVar7;" (assignment_expression "piVar20[3] = iVar7" (subscript_expression "piVar20[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*piVar17 = (int)piVar13;" (assignment_expression "*piVar17 = (int)piVar13" (pointer_expression "*piVar17" * identifier) = (cast_expression "(int)piVar13" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (goto_statement "goto code_r0x00044efc;" goto statement_identifier ;) })) (expression_statement "piVar5 = (int *)*piVar20;" (assignment_expression "piVar5 = (int *)*piVar20" identifier = (cast_expression "(int *)*piVar20" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar20" * identifier))) ;) (expression_statement "piVar17 = piVar20;" (assignment_expression "piVar17 = piVar20" identifier = identifier) ;) (expression_statement "piVar20 = piVar5;" (assignment_expression "piVar20 = piVar5" identifier = identifier) ;) (if_statement "if (piVar5 == (int *)0x0) {\ncode_r0x00044efc:\n    if (uVar11 == 0) {\n      return 1;\n    }\n    iVar7 = FUN_0003d5a0(param_1,local_3c,iVar7,piVar13);\n    if (iVar7 != 0) {\n      if (apiStack_20[0] == (int *)0x0) {\n        return 1;\n      }\n      *apiStack_20[0] = iVar7;\n      return uVar11;\n    }\n    return 0;\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 "{\ncode_r0x00044efc:\n    if (uVar11 == 0) {\n      return 1;\n    }\n    iVar7 = FUN_0003d5a0(param_1,local_3c,iVar7,piVar13);\n    if (iVar7 != 0) {\n      if (apiStack_20[0] == (int *)0x0) {\n        return 1;\n      }\n      *apiStack_20[0] = iVar7;\n      return uVar11;\n    }\n    return 0;\n  }" { (labeled_statement "code_r0x00044efc:\n    if (uVar11 == 0) {\n      return 1;\n    }" statement_identifier : (if_statement "if (uVar11 == 0) {\n      return 1;\n    }" if (parenthesized_expression "(uVar11 == 0)" ( (binary_expression "uVar11 == 0" identifier == number_literal) )) (compound_statement "{\n      return 1;\n    }" { (return_statement "return 1;" return number_literal ;) }))) (expression_statement "iVar7 = FUN_0003d5a0(param_1,local_3c,iVar7,piVar13);" (assignment_expression "iVar7 = FUN_0003d5a0(param_1,local_3c,iVar7,piVar13)" identifier = (call_expression "FUN_0003d5a0(param_1,local_3c,iVar7,piVar13)" identifier (argument_list "(param_1,local_3c,iVar7,piVar13)" ( identifier , identifier , identifier , identifier )))) ;) (if_statement "if (iVar7 != 0) {\n      if (apiStack_20[0] == (int *)0x0) {\n        return 1;\n      }\n      *apiStack_20[0] = iVar7;\n      return uVar11;\n    }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n      if (apiStack_20[0] == (int *)0x0) {\n        return 1;\n      }\n      *apiStack_20[0] = iVar7;\n      return uVar11;\n    }" { (if_statement "if (apiStack_20[0] == (int *)0x0) {\n        return 1;\n      }" if (parenthesized_expression "(apiStack_20[0] == (int *)0x0)" ( (binary_expression "apiStack_20[0] == (int *)0x0" (subscript_expression "apiStack_20[0]" identifier [ number_literal ]) == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        return 1;\n      }" { (return_statement "return 1;" return number_literal ;) })) (expression_statement "*apiStack_20[0] = iVar7;" (assignment_expression "*apiStack_20[0] = iVar7" (pointer_expression "*apiStack_20[0]" * (subscript_expression "apiStack_20[0]" identifier [ number_literal ])) = identifier) ;) (return_statement "return uVar11;" return identifier ;) })) (return_statement "return 0;" return number_literal ;) })) (goto_statement "goto code_r0x00044ecc;" goto statement_identifier ;) (labeled_statement "code_r0x00044bbc:\n  iVar4 = *piVar13;" statement_identifier : (expression_statement "iVar4 = *piVar13;" (assignment_expression "iVar4 = *piVar13" identifier = (pointer_expression "*piVar13" * identifier)) ;)) (expression_statement "pcVar12 = *(char **)(iVar4 + 4);" (assignment_expression "pcVar12 = *(char **)(iVar4 + 4)" identifier = (pointer_expression "*(char **)(iVar4 + 4)" * (cast_expression "(char **)(iVar4 + 4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 4)" ( (binary_expression "iVar4 + 4" identifier + number_literal) ))))) ;) (if_statement "if (cVar3 != '\0') {\n    pcVar12 = pcVar12 + (cVar3 == *pcVar12);\n  }" if (parenthesized_expression "(cVar3 != '\0')" ( (binary_expression "cVar3 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    pcVar12 = pcVar12 + (cVar3 == *pcVar12);\n  }" { (expression_statement "pcVar12 = pcVar12 + (cVar3 == *pcVar12);" (assignment_expression "pcVar12 = pcVar12 + (cVar3 == *pcVar12)" identifier = (binary_expression "pcVar12 + (cVar3 == *pcVar12)" identifier + (parenthesized_expression "(cVar3 == *pcVar12)" ( (binary_expression "cVar3 == *pcVar12" identifier == (pointer_expression "*pcVar12" * identifier)) )))) ;) })) (if_statement "if ((*pcVar12 == cVar2) && (iVar14 = strcmp(pcVar12,local_3c), iVar14 == 0)) {\n    puVar1 = (uint *)(*(int *)(iVar4 + 0x14) + 0x1c);\n    param_5 = *(uint *)(iVar4 + 8) + *puVar1;\n    param_6 = *(int *)(iVar4 + 0xc) + *(int *)(*(int *)(iVar4 + 0x14) + 0x20) +\n              (uint)CARRY4(*(uint *)(iVar4 + 8),*puVar1);\n    goto code_r0x00044c0d;\n  }" if (parenthesized_expression "((*pcVar12 == cVar2) && (iVar14 = strcmp(pcVar12,local_3c), iVar14 == 0))" ( (binary_expression "(*pcVar12 == cVar2) && (iVar14 = strcmp(pcVar12,local_3c), iVar14 == 0)" (parenthesized_expression "(*pcVar12 == cVar2)" ( (binary_expression "*pcVar12 == cVar2" (pointer_expression "*pcVar12" * identifier) == identifier) )) && (parenthesized_expression "(iVar14 = strcmp(pcVar12,local_3c), iVar14 == 0)" ( (comma_expression "iVar14 = strcmp(pcVar12,local_3c), iVar14 == 0" (assignment_expression "iVar14 = strcmp(pcVar12,local_3c)" identifier = (call_expression "strcmp(pcVar12,local_3c)" identifier (argument_list "(pcVar12,local_3c)" ( identifier , identifier )))) , (binary_expression "iVar14 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n    puVar1 = (uint *)(*(int *)(iVar4 + 0x14) + 0x1c);\n    param_5 = *(uint *)(iVar4 + 8) + *puVar1;\n    param_6 = *(int *)(iVar4 + 0xc) + *(int *)(*(int *)(iVar4 + 0x14) + 0x20) +\n              (uint)CARRY4(*(uint *)(iVar4 + 8),*puVar1);\n    goto code_r0x00044c0d;\n  }" { (expression_statement "puVar1 = (uint *)(*(int *)(iVar4 + 0x14) + 0x1c);" (assignment_expression "puVar1 = (uint *)(*(int *)(iVar4 + 0x14) + 0x1c)" identifier = (cast_expression "(uint *)(*(int *)(iVar4 + 0x14) + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar4 + 0x14) + 0x1c)" ( (binary_expression "*(int *)(iVar4 + 0x14) + 0x1c" (pointer_expression "*(int *)(iVar4 + 0x14)" * (cast_expression "(int *)(iVar4 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x14)" ( (binary_expression "iVar4 + 0x14" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "param_5 = *(uint *)(iVar4 + 8) + *puVar1;" (assignment_expression "param_5 = *(uint *)(iVar4 + 8) + *puVar1" identifier = (binary_expression "*(uint *)(iVar4 + 8) + *puVar1" (pointer_expression "*(uint *)(iVar4 + 8)" * (cast_expression "(uint *)(iVar4 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 8)" ( (binary_expression "iVar4 + 8" identifier + number_literal) )))) + (pointer_expression "*puVar1" * identifier))) ;) (expression_statement "param_6 = *(int *)(iVar4 + 0xc) + *(int *)(*(int *)(iVar4 + 0x14) + 0x20) +\n              (uint)CARRY4(*(uint *)(iVar4 + 8),*puVar1);" (assignment_expression "param_6 = *(int *)(iVar4 + 0xc) + *(int *)(*(int *)(iVar4 + 0x14) + 0x20) +\n              (uint)CARRY4(*(uint *)(iVar4 + 8),*puVar1)" identifier = (binary_expression "*(int *)(iVar4 + 0xc) + *(int *)(*(int *)(iVar4 + 0x14) + 0x20) +\n              (uint)CARRY4(*(uint *)(iVar4 + 8),*puVar1)" (binary_expression "*(int *)(iVar4 + 0xc) + *(int *)(*(int *)(iVar4 + 0x14) + 0x20)" (pointer_expression "*(int *)(iVar4 + 0xc)" * (cast_expression "(int *)(iVar4 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xc)" ( (binary_expression "iVar4 + 0xc" identifier + number_literal) )))) + (pointer_expression "*(int *)(*(int *)(iVar4 + 0x14) + 0x20)" * (cast_expression "(int *)(*(int *)(iVar4 + 0x14) + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar4 + 0x14) + 0x20)" ( (binary_expression "*(int *)(iVar4 + 0x14) + 0x20" (pointer_expression "*(int *)(iVar4 + 0x14)" * (cast_expression "(int *)(iVar4 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x14)" ( (binary_expression "iVar4 + 0x14" identifier + number_literal) )))) + number_literal) ))))) + (cast_expression "(uint)CARRY4(*(uint *)(iVar4 + 8),*puVar1)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(*(uint *)(iVar4 + 8),*puVar1)" identifier (argument_list "(*(uint *)(iVar4 + 8),*puVar1)" ( (pointer_expression "*(uint *)(iVar4 + 8)" * (cast_expression "(uint *)(iVar4 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 8)" ( (binary_expression "iVar4 + 8" identifier + number_literal) )))) , (pointer_expression "*puVar1" * identifier) )))))) ;) (goto_statement "goto code_r0x00044c0d;" goto statement_identifier ;) })) (expression_statement "piVar13 = piVar13 + 1;" (assignment_expression "piVar13 = piVar13 + 1" identifier = (binary_expression "piVar13 + 1" identifier + number_literal)) ;) (expression_statement "iVar10 = iVar10 + -1;" (assignment_expression "iVar10 = iVar10 + -1" identifier = (binary_expression "iVar10 + -1" identifier + number_literal)) ;) (if_statement "if (iVar10 == 0) {\ncode_r0x00044c0d:\n    uVar27 = 1;\ncode_r0x0004486e:\n    iVar7 = FUN_0003e250(iVar7,uVar27,param_5,param_6);\njoined_r0x00044fe7:\n    if (iVar7 != 0) {\n      return 1;\n    }\n    return 0;\n  }" if (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) (compound_statement "{\ncode_r0x00044c0d:\n    uVar27 = 1;\ncode_r0x0004486e:\n    iVar7 = FUN_0003e250(iVar7,uVar27,param_5,param_6);\njoined_r0x00044fe7:\n    if (iVar7 != 0) {\n      return 1;\n    }\n    return 0;\n  }" { (labeled_statement "code_r0x00044c0d:\n    uVar27 = 1;" statement_identifier : (expression_statement "uVar27 = 1;" (assignment_expression "uVar27 = 1" identifier = number_literal) ;)) (labeled_statement "code_r0x0004486e:\n    iVar7 = FUN_0003e250(iVar7,uVar27,param_5,param_6);" statement_identifier : (expression_statement "iVar7 = FUN_0003e250(iVar7,uVar27,param_5,param_6);" (assignment_expression "iVar7 = FUN_0003e250(iVar7,uVar27,param_5,param_6)" identifier = (call_expression "FUN_0003e250(iVar7,uVar27,param_5,param_6)" identifier (argument_list "(iVar7,uVar27,param_5,param_6)" ( identifier , identifier , identifier , identifier )))) ;)) (labeled_statement "joined_r0x00044fe7:\n    if (iVar7 != 0) {\n      return 1;\n    }" statement_identifier : (if_statement "if (iVar7 != 0) {\n      return 1;\n    }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n      return 1;\n    }" { (return_statement "return 1;" return number_literal ;) }))) (return_statement "return 0;" return number_literal ;) })) (goto_statement "goto code_r0x00044bbc;" goto statement_identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (array_declarator IDENT [ LIT ])) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * IDENT)) , (binary_expression IDENT == LIT)) ))) )) || (parenthesized_expression ( (binary_expression (binary_expression IDENT != (subscript_expression IDENT [ LIT ])) || (binary_expression IDENT != (subscript_expression IDENT [ LIT ]))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & IDENT) )) == LIT) )) || (parenthesized_expression ( (binary_expression (binary_expression IDENT <= IDENT) && (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))) <= (binary_expression IDENT - IDENT))) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return LIT ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) }))) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })))) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (return_statement return LIT ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return LIT ;) })) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (return_statement return LIT ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (subscript_expression IDENT [ LIT ]) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (subscript_expression IDENT [ LIT ])) + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (return_statement return LIT ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & IDENT) )) == LIT) )) || (parenthesized_expression ( (binary_expression (binary_expression IDENT < IDENT) || (binary_expression (binary_expression IDENT - IDENT) < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ))))) ))) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) })) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return LIT ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) && (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < LIT) ))) )) (compound_statement { (return_statement return LIT ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return LIT ;) })) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return LIT ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT < LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == LIT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) != IDENT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (return_statement return LIT ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (return_statement return LIT ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (subscript_expression IDENT [ LIT ]) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (subscript_expression IDENT [ LIT ])) + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT )))) ;) (goto_statement goto statement_identifier ;) })) }))) }))))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , LIT ))))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & IDENT) )) == LIT) )) || (parenthesized_expression ( (binary_expression (binary_expression IDENT <= IDENT) && (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))) <= (binary_expression IDENT - IDENT))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (return_statement return LIT ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;))) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (goto_statement goto statement_identifier ;)) (switch_statement switch (parenthesized_expression ( (subscript_expression IDENT [ LIT ]) )) (compound_statement { (case_statement default : (expression_statement (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;)) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT : (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != IDENT) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * IDENT) != LIT) || (parenthesized_expression ( (binary_expression IDENT != (binary_expression IDENT + LIT)) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;)) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) ]) & LIT) )) != LIT) )) || (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) || (binary_expression IDENT == LIT)) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) )))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) (argument_list ( (binary_expression IDENT + LIT) ))) * LIT)) )))))) ;) (switch_statement switch (parenthesized_expression ( IDENT )) (compound_statement { (case_statement case LIT : (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , LIT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT )))) ;) (goto_statement goto statement_identifier ;)) (case_statement default : (goto_statement goto statement_identifier ;)) (case_statement case LIT :) (case_statement case LIT : (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , LIT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) == LIT) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , (cast_expression ( (type_descriptor TYPE) ) IDENT) , (binary_expression IDENT == LIT) , IDENT , IDENT , IDENT , IDENT )))) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return LIT ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , LIT , IDENT )))) ;) })) (return_statement return LIT ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , LIT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return 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 = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (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 (pointer_expression * IDENT) + LIT) )))) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , LIT , IDENT )))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (return_statement return LIT ;) }))) (case_statement case LIT : (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , LIT , IDENT , IDENT )))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return LIT ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;)) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , LIT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * IDENT) == LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return LIT ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return LIT ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (subscript_expression IDENT [ LIT ])) = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , LIT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT : (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT + LIT)) , (comma_expression (assignment_expression IDENT = (binary_expression IDENT + LIT)) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (pointer_expression * IDENT) == LIT)))) ))) )) (compound_statement { (for_statement for ( ; (binary_expression (pointer_expression * IDENT) != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { })) (return_statement return LIT ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (return_statement return LIT ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , LIT , IDENT , IDENT )))) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , (binary_expression IDENT >> LIT) )))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , LIT , LIT , LIT ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , (cast_expression ( (type_descriptor TYPE) ) IDENT) )))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , LIT , IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , (binary_expression IDENT >> LIT) , IDENT , IDENT , IDENT )))) ;) (goto_statement goto statement_identifier ;) })) })) })) (break_statement break ;)) (case_statement case LIT : (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , LIT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , LIT , IDENT , IDENT )))) ;) }))) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , LIT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return LIT ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return LIT ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (assignment_expression (pointer_expression * (subscript_expression IDENT [ LIT ])) = IDENT) ;) (return_statement return LIT ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , LIT , IDENT , IDENT )))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return LIT ;) }))) (goto_statement goto statement_identifier ;)) })) })) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) && (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (compound_statement { (return_statement return LIT ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) , IDENT ))) ;) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + IDENT) , (binary_expression (binary_expression (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) + (subscript_expression IDENT [ LIT ])) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) ))))) + IDENT) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , IDENT ))))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) (return_statement return LIT ;) })) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) && (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + IDENT) , (binary_expression (binary_expression (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) + (subscript_expression IDENT [ LIT ])) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) ))))) + IDENT) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , IDENT ))))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) , IDENT ))) ;) (return_statement return LIT ;) })) (return_statement return LIT ;) })) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) * LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (while_statement while (parenthesized_expression ( BOOL )) (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 IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) + (binary_expression (subscript_expression IDENT [ LIT ]) * LIT)) )))) = LIT) ;) (return_statement return LIT ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) == IDENT) && (binary_expression (subscript_expression IDENT [ LIT ]) == IDENT)) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )))) , (binary_expression IDENT == LIT)) ))) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (binary_expression (subscript_expression IDENT [ LIT ]) * LIT)) )))) = (subscript_expression IDENT [ LIT ])) ;) (return_statement return LIT ;) })) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) }))) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , (binary_expression IDENT * LIT) )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) = LIT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) && (parenthesized_expression ( (comma_expression (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression IDENT * LIT)) ))))) , (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) ))))) ;) (goto_statement goto statement_identifier ;) })) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) })) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;)) (labeled_statement statement_identifier : (return_statement return (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT != LIT) ))) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (return_statement return LIT ;) })) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT)) == IDENT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , IDENT ))))) , (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 *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (goto_statement goto 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) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return LIT ;) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (assignment_expression (pointer_expression * (subscript_expression IDENT [ LIT ])) = IDENT) ;) (return_statement return IDENT ;) })) (return_statement return LIT ;) })) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * 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) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == IDENT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) , (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 = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * IDENT) )))))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT )))) ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (return_statement return LIT ;) }))) (return_statement return LIT ;) })) (goto_statement goto statement_identifier ;) })))
(function_definition "uint FUN_000440f0(undefined4 param_1,int *param_2,uint param_3,int param_4,uint param_5,uint param_6\n                 ,byte *param_7)\n\n{\n  uint *puVar1;\n  char cVar2;\n  char cVar3;\n  int iVar4;\n  int *piVar5;\n  byte bVar6;\n  int iVar7;\n  undefined4 *puVar8;\n  size_t sVar9;\n  int iVar10;\n  uint uVar11;\n  char *pcVar12;\n  int *piVar13;\n  int iVar14;\n  long lVar15;\n  undefined4 extraout_ECX;\n  void *__ptr;\n  byte *pbVar16;\n  int *piVar17;\n  byte *pbVar18;\n  uint uVar19;\n  int *piVar20;\n  bool bVar21;\n  bool bVar22;\n  bool bVar23;\n  byte bVar24;\n  longdouble lVar25;\n  undefined8 uVar26;\n  undefined4 uVar27;\n  undefined4 uVar28;\n  char *local_3c;\n  uint local_38;\n  byte *local_24;\n  int *apiStack_20 [3];\n  undefined4 uStack_14;\n  \n  bVar24 = 0;\n  uStack_14 = 0x440f9;\n  __ptr = (void *)param_2[4];\n  if (__ptr != (void *)0x0) {\n    if (((param_3 != 100) || (bVar6 = *param_7, bVar6 == 0)) ||\n       (param_6 != param_2[6] || param_5 != param_2[5])) {\n      iVar7 = FUN_0003c3e0(param_1,__ptr);\n      if (iVar7 == 0) {\n        return 0;\n      }\n      param_2[0xb] = 0;\n      param_2[0xc] = 0;\n      param_2[0xd] = param_2[4];\n      if (param_2[1] == 0) {\n        param_2[7] = param_2[5];\n        param_2[8] = param_2[6];\n      }\n      param_2[0x15] = 1;\n      puVar8 = (undefined4 *)xmalloc(4);\n      param_2[4] = 0;\n      param_2[0x16] = (int)puVar8;\n      *puVar8 = 0;\n      goto LAB_00044203;\n    }\n    if (param_2[0x10] == 0) goto LAB_0004414d;\nLAB_000448f8:\n    uVar11 = param_2[0x11];\n    uVar19 = param_2[0x12];\n    if (((uVar11 & uVar19) == 0xffffffff) ||\n       (param_6 <= uVar19 && (uint)(uVar11 < param_5) <= uVar19 - param_6)) {\nLAB_00044916:\n      uVar19 = param_6;\n      uVar11 = param_5;\n      param_5 = uVar11;\n      param_6 = uVar19;\n    }\n    iVar7 = FUN_0003e2f0();\n    if (iVar7 == 0) {\n      return 0;\n    }\n    iVar7 = FUN_0003c7e0(param_1,uVar11,uVar19);\n    if (iVar7 == 0) {\n      return 0;\n    }\n    param_2[0x10] = 0;\n    param_2[0x11] = -1;\n    param_2[0x12] = -1;\n    bVar6 = *param_7;\nLAB_00044966:\n    if (bVar6 == 0) {\n      return 1;\n    }\n    __ptr = (void *)param_2[4];\nLAB_0004414d:\n    if (__ptr == (void *)0x0) {\n      iVar7 = xstrdup(param_7);\n      param_2[4] = iVar7;\n    }\n    else {\n      if (bVar6 == 0x2f) {\n        iVar7 = xstrdup(param_7);\n        param_2[4] = iVar7;\n      }\n      else {\n        iVar7 = concat(__ptr,param_7,0);\n        param_2[4] = iVar7;\n      }\n      free(__ptr);\n    }\n    param_2[5] = param_5;\n    param_2[6] = param_6;\n    return 1;\n  }\nLAB_00044203:\n  sVar9 = strlen((char *)param_7);\n  if (param_3 == 0x62) {\n    return 1;\n  }\n  if ((int)param_3 < 99) {\n    if (param_3 == 0x24) {\n      if (*param_7 == 0) {\n        if (param_2[0x10] == 0) {\n          return 1;\n        }\n        if (param_2[1] != 0) {\n          bVar21 = CARRY4(param_5,param_2[9]);\n          param_5 = param_5 + param_2[9];\n          param_6 = param_6 + param_2[10] + (uint)bVar21;\n        }\n        iVar7 = FUN_0003e2f0(param_5,param_6);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003c7e0(param_1,param_5,param_6);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        param_2[0x10] = 0;\n        param_2[0x11] = -1;\n        param_2[0x12] = -1;\n        return 1;\n      }\n      if (param_2[0x10] != 0) {\n        uVar11 = param_2[0x12];\n        if (((param_2[0x11] & uVar11) == 0xffffffff) ||\n           (param_6 < uVar11 || param_6 - uVar11 < (uint)(param_5 < (uint)param_2[0x11]))) {\n          param_2[0x11] = param_5;\n          param_2[0x12] = param_6;\n        }\n      }\n    }\n    else if ((int)param_3 < 0x25) {\n      if (param_3 == 0xc) {\n        return 1;\n      }\n      if ((0xb < (int)param_3) && (param_3 - 0x1e < 2)) {\n        return 1;\n      }\n    }\n    else {\n      if (param_3 == 0x38) {\n        return 1;\n      }\n      if ((int)param_3 < 0x39) {\n        if (param_3 == 0x2a) {\n          return 1;\n        }\n      }\n      else {\n        bVar21 = param_3 < 0x3c;\n        bVar23 = param_3 == 0x3c;\n        if (bVar23) {\n          iVar7 = 0xf;\n          pbVar16 = param_7;\n          pbVar18 = (byte *)"gcc2_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar21 = *pbVar16 < *pbVar18;\n            bVar23 = *pbVar16 == *pbVar18;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n          } while (bVar23);\n          bVar22 = false;\n          bVar21 = (!bVar21 && !bVar23) == bVar21;\n          if (bVar21) {\n            param_2[0xb] = 2;\n            return 1;\n          }\n          iVar7 = 0xe;\n          pbVar16 = (byte *)"gcc_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar22 = *param_7 < *pbVar16;\n            bVar21 = *param_7 == *pbVar16;\n            param_7 = param_7 + (uint)bVar24 * -2 + 1;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n          } while (bVar21);\n          if ((!bVar22 && !bVar21) != bVar22) {\n            param_2[0xc] = 1;\n            return 1;\n          }\n          param_2[0xb] = 1;\n          return 1;\n        }\n        if (param_3 == 0x44) {\n          if (param_2[0x10] != 0) {\n            bVar21 = CARRY4(param_5,param_2[9]);\n            param_5 = param_5 + param_2[9];\n            param_6 = param_6 + param_2[10] + (uint)bVar21;\n          }\n          iVar7 = FUN_0003ca10(param_1,param_4,param_5,param_6);\n          goto LAB_0004426d;\n        }\n      }\n    }\nLAB_00044431:\n    local_24 = (byte *)strchr((char *)param_7,0x3a);\n    if (local_24 == (byte *)0x0) {\n      return 1;\n    }\n    bVar24 = local_24[1];\n    if ((bVar24 & 0xdf) != 0x46) goto LAB_000447b5;\n    if (param_2[0x10] != 0) {\n      local_3c = (char *)param_2[0x11];\n      local_38 = param_2[0x12];\n      if ((((uint)local_3c & local_38) == 0xffffffff) ||\n         (param_6 <= local_38 && (uint)(local_3c < param_5) <= local_38 - param_6)) {\n        local_3c = (char *)param_5;\n        local_38 = param_6;\n      }\n      iVar7 = FUN_0003e2f0();\n      if ((iVar7 == 0) || (iVar7 = FUN_0003c7e0(param_1,local_3c,local_38), iVar7 == 0)) {\n        return 0;\n      }\n      param_2[0x11] = -1;\n      param_2[0x12] = -1;\n    }\n    if (param_2[1] != 0) {\n      param_2[9] = param_5;\n      param_2[10] = param_6;\n    }\n    param_2[0x10] = 1;\n    local_24 = (byte *)strchr((char *)param_7,0x3a);\n    if (local_24 == (byte *)0x0) {\n      return 1;\n    }\nLAB_000447b1:\n    bVar24 = local_24[1];\nLAB_000447b5:\n    if (bVar24 == 0x3a) goto LAB_00044790;\n    if (*param_7 != 0x24) goto LAB_000447c7;\n    switch(param_7[1]) {\n    default:\n      dcgettext(0,"unknown C++ encoded name",5);\n      FUN_0003df30();\n    case 0x58:\n    case 0x5f:\n    case 0x76:\nLAB_000447c7:\n      local_3c = (char *)0x0;\n      if ((param_7 != local_24) && ((*param_7 != 0x20 || (local_24 != param_7 + 1)))) {\n        local_3c = (char *)FUN_0003e060();\n      }\n      break;\n    case 0x65:\n      local_3c = "eh_throw";\n      break;\n    case 0x74:\n      local_3c = "this";\n    }\n    param_7 = param_7 + sVar9;\n    pbVar16 = local_24 + 1;\n    bVar24 = local_24[1];\n    if (((PTR__sch_istable_00071fbc[(uint)bVar24 * 2] & 4) != 0) ||\n       (bVar24 == 0x28 || bVar24 == 0x2d)) {\nLAB_0004483d:\n      local_24 = pbVar16;\n      iVar7 = FUN_00040c70(&local_24,0,param_7);\n      if (iVar7 == 0) {\n        return 0;\n      }\n      uVar27 = 4;\n      goto code_r0x0004486e;\n    }\n    if (bVar24 != 0) {\n      pbVar16 = local_24 + 2;\n      bVar24 = local_24[1];\n      if (0x33 < (byte)(bVar24 + 0xbd)) goto LAB_00044e16;\n      iVar7 = (int)&__DT_PLTGOT + *(int *)(&DAT_00057e08 + (uint)(byte)(bVar24 + 0xbd) * 4);\n      switch(bVar24) {\n      case 0x43:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,bVar24);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003ccf0(param_1,local_3c,iVar7,param_5,param_6);\n        goto joined_r0x00044fe7;\n      default:\n        goto LAB_00044e16;\n      case 0x46:\n      case 0x66:\n        local_24 = pbVar16;\n        uVar26 = FUN_00040c70(&local_24,0,param_7,iVar7);\n        uVar27 = (undefined4)((ulonglong)uVar26 >> 0x20);\n        if ((int)uVar26 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003c5a0(param_1,local_3c,(int)uVar26,bVar24 == 0x46,param_5,param_6,uVar27,\n                             uVar27);\n        while( true ) {\n          if (iVar7 == 0) {\n            return 0;\n          }\n          if (*local_24 != 0x3b) break;\n          local_24 = local_24 + 1;\n          iVar7 = FUN_00040c70(&local_24,0,param_7);\n        }\n        return 1;\n      case 0x47:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,iVar7);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) goto code_r0x00044c0d;\n        iVar10 = param_2[3];\n        piVar13 = (int *)param_2[2];\n        cVar3 = *(char *)(*(int *)(*param_2 + 4) + 0x18);\n        if (iVar10 < 1) goto code_r0x00044c0d;\n        cVar2 = *local_3c;\n        goto code_r0x00044bbc;\n      case 0x50:\n        if (param_3 == 0x24) {\n          local_24 = pbVar16;\n          do {\n            if (*local_24 != 0x3b) {\n              return 1;\n            }\n            local_24 = local_24 + 1;\n            iVar7 = FUN_00040c70(&local_24,0,param_7);\n          } while (iVar7 != 0);\n          return 0;\n        }\n      case 0x52:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,iVar7);\njoined_r0x00045010:\n        if (iVar7 == 0) {\n          return 0;\n        }\ncode_r0x00044af0:\n        iVar7 = FUN_0003c6e0(param_1,local_3c,iVar7);\n        goto joined_r0x00044fe7;\n      case 0x53:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 2;\n        goto code_r0x0004486e;\n      case 0x54:\n        pbVar18 = local_24 + 2;\n        if (*pbVar18 == 0x74) {\n          pbVar16 = local_24 + 3;\n        }\n        local_24 = pbVar16;\n        uVar11 = (uint)(*pbVar18 == 0x74);\n        iVar7 = FUN_00040c70(&local_24,apiStack_20,param_7,param_3);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) {\n          return 1;\n        }\n        iVar10 = param_2[0x3a];\n        iVar7 = FUN_0003d680(param_1,local_3c,iVar7,extraout_ECX);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (apiStack_20[0] != (int *)0x0) {\n          *apiStack_20[0] = iVar7;\n        }\n        piVar13 = apiStack_20[0];\n        if (iVar10 != 0) goto code_r0x00044efc;\n        if ((int *)param_2[0x39] == (int *)0x0) goto code_r0x00044efc;\n        cVar3 = *local_3c;\n        piVar17 = param_2 + 0x39;\n        piVar20 = (int *)param_2[0x39];\n        goto code_r0x00044ecc;\n      case 0x56:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 3;\n        goto code_r0x0004486e;\n      case 0x58:\n      case 0x6c:\n      case 0x73:\n        goto LAB_0004483d;\n      case 0x59:\n        pbVar16 = local_24 + 3;\n        if ((local_24[3] == 0x6e) &&\n           (pbVar16 = local_24 + 4, pbVar18 = local_24 + 4, local_24 = pbVar16, *pbVar18 == 0x30)) {\n          for (; *local_24 != 0x3b; local_24 = local_24 + 1) {\n          }\n          return 1;\n        }\nLAB_00044e16:\n        local_24 = pbVar16;\n        FUN_0003dfb0();\n        return 0;\n      case 0x61:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,bVar24);\n        goto joined_r0x00045010;\n      case 99:\n        if (local_24[2] == 0x3d) {\n          pbVar16 = local_24 + 4;\n          bVar24 = local_24[3];\n          local_24 = pbVar16;\n          if (bVar24 == 0x69) {\n            lVar15 = strtol((char *)pbVar16,(char **)0x0,10);\n            iVar7 = FUN_0003cbe0(param_1,local_3c,lVar15,lVar15 >> 0x1f);\n            goto joined_r0x00044fe7;\n          }\n          if (bVar24 == 0x72) {\n            lVar25 = (longdouble)func_0x00013560(pbVar16,0,0x72,0x72);\n            iVar7 = FUN_0003cc30(param_1,local_3c,(double)lVar25);\n            goto joined_r0x00044fe7;\n          }\n          if (bVar24 == 0x65) {\n            iVar7 = FUN_00040c70(&local_24,0,param_7,0x65);\n            if (iVar7 == 0) {\n              return 0;\n            }\n            pbVar16 = local_24;\n            if (*local_24 == 0x2c) {\n              uVar28 = 10;\n              uVar27 = 0;\n              lVar15 = strtol((char *)local_24,(char **)0x0,10);\n              iVar7 = FUN_0003cc70(param_1,local_3c,iVar7,lVar15,lVar15 >> 0x1f,uVar27,uVar28,\n                                   param_3);\n              goto joined_r0x00044fe7;\n            }\n          }\n        }\n        break;\n      case 0x70:\n        if (local_24[2] == 0x46) {\n          local_24 = local_24 + 3;\n          iVar7 = FUN_00040c70(&local_24,0,param_7,local_24);\n          if (iVar7 == 0) {\n            return 0;\n          }\n          uVar27 = FUN_0003d080(param_1,iVar7,0,0);\n          iVar7 = FUN_0003d030(param_1,uVar27);\n        }\n        else {\n          pbVar18 = local_24;\n          local_24 = pbVar16;\n          iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        }\n        goto joined_r0x00044dee;\n      case 0x72:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 5;\n        goto code_r0x0004486e;\n      case 0x74:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,apiStack_20,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) {\n          return 1;\n        }\n        iVar7 = FUN_0003d5a0(param_1,local_3c,iVar7,param_2);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (apiStack_20[0] == (int *)0x0) {\n          return 1;\n        }\n        *apiStack_20[0] = iVar7;\n        return 1;\n      case 0x76:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\njoined_r0x00044dee:\n        if (iVar7 == 0) {\n          return 0;\n        }\n        goto code_r0x00044af0;\n      }\n    }\n    goto LAB_000449d0;\n  }\n  if (param_3 == 0xc0) {\n    if ((param_2[0xc] != 0) && (param_4 == 1)) {\n      return 1;\n    }\n    if (param_2[0x10] == 0) {\n      pcVar12 = (char *)dcgettext(0,"N_LBRAC not within function\n",5);\n      fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar12);\n      return 0;\n    }\n    uVar11 = param_2[9] + param_2[7];\n    iVar7 = FUN_0003c880(param_1,uVar11 + param_5,\n                         param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7]) + param_6 +\n                         (uint)CARRY4(uVar11,param_5));\n    if (iVar7 == 0) {\n      return 0;\n    }\n    iVar7 = FUN_0003e2f0();\n    if (iVar7 == 0) {\n      return 0;\n    }\n    param_2[0x13] = param_2[0x13] + 1;\n    return 1;\n  }\n  if (0xc0 < (int)param_3) {\n    if (param_3 == 0xe0) {\n      if ((param_2[0xc] != 0) && (param_4 == 1)) {\n        return 1;\n      }\n      iVar7 = FUN_0003e2f0();\n      if (iVar7 == 0) {\n        return 0;\n      }\n      uVar11 = param_2[9] + param_2[7];\n      iVar7 = FUN_0003c980(param_1,uVar11 + param_5,\n                           param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7]) + param_6\n                           + (uint)CARRY4(uVar11,param_5));\n      if (iVar7 == 0) {\n        return 0;\n      }\n      param_2 = param_2 + 0x13;\n      *param_2 = *param_2 + -1;\n      if (*param_2 < 0) {\n        pcVar12 = (char *)dcgettext(0,"Too many N_RBRACs\n",5);\n        fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar12);\n        return 0;\n      }\n      return 1;\n    }\n    if ((int)param_3 < 0xe1) {\n      if (param_3 == 0xc2) {\n        iVar7 = param_2[0x15];\n        param_2[0x15] = iVar7 + 1;\n        iVar7 = xrealloc(param_2[0x16],(iVar7 + 1) * 4);\n        puVar8 = (undefined4 *)param_2[0xf];\n        param_2[0x16] = iVar7;\n        while( true ) {\n          if (puVar8 == (undefined4 *)0x0) {\n            dcgettext(0,"Undefined N_EXCL",5);\n            FUN_0003df30();\n            *(undefined4 *)(param_2[0x16] + -4 + param_2[0x15] * 4) = 0;\n            return 1;\n          }\n          if ((puVar8[4] == param_6 && puVar8[3] == param_5) &&\n             (iVar10 = strcmp((char *)puVar8[2],(char *)param_7), iVar10 == 0)) break;\n          puVar8 = (undefined4 *)*puVar8;\n        }\n        *(undefined4 *)(iVar7 + -4 + param_2[0x15] * 4) = puVar8[6];\n        return 1;\n      }\n      goto LAB_00044431;\n    }\n    if (param_3 == 0xe2) {\n      iVar7 = FUN_0003cb60(param_1,param_7);\n    }\n    else {\n      if (param_3 != 0xe4) goto LAB_00044431;\n      iVar7 = FUN_0003cba0(param_1,param_7);\n    }\n    goto LAB_0004426d;\n  }\n  if (param_3 == 0x82) {\n    piVar13 = (int *)xmalloc(0x1c);\n    iVar7 = param_2[0xf];\n    piVar13[4] = param_6;\n    *piVar13 = iVar7;\n    iVar7 = param_2[0xe];\n    piVar13[6] = 0;\n    piVar13[1] = iVar7;\n    param_2[0xf] = (int)piVar13;\n    piVar13[2] = (int)param_7;\n    param_2[0xe] = (int)piVar13;\n    piVar13[3] = param_5;\n    iVar7 = param_2[0x15];\n    piVar13[5] = iVar7;\n    iVar7 = iVar7 + 1;\n    param_2[0x15] = iVar7;\n    iVar10 = xrealloc(param_2[0x16],iVar7 * 4);\n    iVar7 = piVar13[5];\n    param_2[0x16] = iVar10;\n    *(undefined4 *)(iVar10 + iVar7 * 4) = 0;\n  }\n  else {\n    if ((int)param_3 < 0x83) {\n      if (param_3 != 100) goto LAB_00044431;\n      bVar6 = *param_7;\n      if (param_2[0x10] != 0) {\n        if (bVar6 != 0) goto LAB_000448f8;\n        goto LAB_00044916;\n      }\n      goto LAB_00044966;\n    }\n    if (param_3 != 0x84) {\n      if (param_3 != 0xa2) goto LAB_00044431;\n      iVar7 = param_2[0xe];\n      if (iVar7 != 0) {\n        iVar10 = *(int *)(iVar7 + 4);\n        uVar11 = *(uint *)(iVar7 + 0x14);\n        param_2[0xe] = iVar10;\n        if ((uVar11 < (uint)param_2[0x15]) &&\n           (*(undefined4 *)(iVar7 + 0x18) = *(undefined4 *)(param_2[0x16] + uVar11 * 4), iVar10 != 0\n           )) {\n          param_7 = *(byte **)(iVar10 + 8);\n          goto LAB_000445bf;\n        }\n      }\n      param_7 = (byte *)param_2[0xd];\n    }\n  }\nLAB_000445bf:\n  iVar7 = FUN_0003c4a0(param_1,param_7);\nLAB_0004426d:\n  return (uint)(iVar7 != 0);\nLAB_00044790:\n  local_24 = local_24 + 2;\n  local_24 = (byte *)strchr((char *)local_24,0x3a);\n  pbVar16 = local_24;\n  if (local_24 == (byte *)0x0) {\nLAB_000449d0:\n    local_24 = pbVar16;\n    FUN_0003dfb0();\n    return 0;\n  }\n  goto LAB_000447b1;\ncode_r0x00044ecc:\n  piVar13 = (int *)piVar20[1];\n  if (((char)*piVar13 == cVar3) &&\n     (piVar13 = (int *)strcmp((char *)piVar13,local_3c), piVar13 == (int *)0x0)) {\n    piVar13 = (int *)*piVar20;\n    piVar20[3] = iVar7;\n    *piVar17 = (int)piVar13;\n    goto code_r0x00044efc;\n  }\n  piVar5 = (int *)*piVar20;\n  piVar17 = piVar20;\n  piVar20 = piVar5;\n  if (piVar5 == (int *)0x0) {\ncode_r0x00044efc:\n    if (uVar11 == 0) {\n      return 1;\n    }\n    iVar7 = FUN_0003d5a0(param_1,local_3c,iVar7,piVar13);\n    if (iVar7 != 0) {\n      if (apiStack_20[0] == (int *)0x0) {\n        return 1;\n      }\n      *apiStack_20[0] = iVar7;\n      return uVar11;\n    }\n    return 0;\n  }\n  goto code_r0x00044ecc;\ncode_r0x00044bbc:\n  iVar4 = *piVar13;\n  pcVar12 = *(char **)(iVar4 + 4);\n  if (cVar3 != '\0') {\n    pcVar12 = pcVar12 + (cVar3 == *pcVar12);\n  }\n  if ((*pcVar12 == cVar2) && (iVar14 = strcmp(pcVar12,local_3c), iVar14 == 0)) {\n    puVar1 = (uint *)(*(int *)(iVar4 + 0x14) + 0x1c);\n    param_5 = *(uint *)(iVar4 + 8) + *puVar1;\n    param_6 = *(int *)(iVar4 + 0xc) + *(int *)(*(int *)(iVar4 + 0x14) + 0x20) +\n              (uint)CARRY4(*(uint *)(iVar4 + 8),*puVar1);\n    goto code_r0x00044c0d;\n  }\n  piVar13 = piVar13 + 1;\n  iVar10 = iVar10 + -1;\n  if (iVar10 == 0) {\ncode_r0x00044c0d:\n    uVar27 = 1;\ncode_r0x0004486e:\n    iVar7 = FUN_0003e250(iVar7,uVar27,param_5,param_6);\njoined_r0x00044fe7:\n    if (iVar7 != 0) {\n      return 1;\n    }\n    return 0;\n  }\n  goto code_r0x00044bbc;\n}" (type_identifier "uint") (function_declarator "FUN_000440f0(undefined4 param_1,int *param_2,uint param_3,int param_4,uint param_5,uint param_6\n                 ,byte *param_7)" (identifier "FUN_000440f0") (parameter_list "(undefined4 param_1,int *param_2,uint param_3,int param_4,uint param_5,uint param_6\n                 ,byte *param_7)" (( "(") (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 "uint param_3" (type_identifier "uint") (identifier "param_3")) (, ",") (parameter_declaration "int param_4" (primitive_type "int") (identifier "param_4")) (, ",") (parameter_declaration "uint param_5" (type_identifier "uint") (identifier "param_5")) (, ",") (parameter_declaration "uint param_6" (type_identifier "uint") (identifier "param_6")) (, ",") (parameter_declaration "byte *param_7" (type_identifier "byte") (pointer_declarator "*param_7" (* "*") (identifier "param_7"))) () ")"))) (compound_statement "{\n  uint *puVar1;\n  char cVar2;\n  char cVar3;\n  int iVar4;\n  int *piVar5;\n  byte bVar6;\n  int iVar7;\n  undefined4 *puVar8;\n  size_t sVar9;\n  int iVar10;\n  uint uVar11;\n  char *pcVar12;\n  int *piVar13;\n  int iVar14;\n  long lVar15;\n  undefined4 extraout_ECX;\n  void *__ptr;\n  byte *pbVar16;\n  int *piVar17;\n  byte *pbVar18;\n  uint uVar19;\n  int *piVar20;\n  bool bVar21;\n  bool bVar22;\n  bool bVar23;\n  byte bVar24;\n  longdouble lVar25;\n  undefined8 uVar26;\n  undefined4 uVar27;\n  undefined4 uVar28;\n  char *local_3c;\n  uint local_38;\n  byte *local_24;\n  int *apiStack_20 [3];\n  undefined4 uStack_14;\n  \n  bVar24 = 0;\n  uStack_14 = 0x440f9;\n  __ptr = (void *)param_2[4];\n  if (__ptr != (void *)0x0) {\n    if (((param_3 != 100) || (bVar6 = *param_7, bVar6 == 0)) ||\n       (param_6 != param_2[6] || param_5 != param_2[5])) {\n      iVar7 = FUN_0003c3e0(param_1,__ptr);\n      if (iVar7 == 0) {\n        return 0;\n      }\n      param_2[0xb] = 0;\n      param_2[0xc] = 0;\n      param_2[0xd] = param_2[4];\n      if (param_2[1] == 0) {\n        param_2[7] = param_2[5];\n        param_2[8] = param_2[6];\n      }\n      param_2[0x15] = 1;\n      puVar8 = (undefined4 *)xmalloc(4);\n      param_2[4] = 0;\n      param_2[0x16] = (int)puVar8;\n      *puVar8 = 0;\n      goto LAB_00044203;\n    }\n    if (param_2[0x10] == 0) goto LAB_0004414d;\nLAB_000448f8:\n    uVar11 = param_2[0x11];\n    uVar19 = param_2[0x12];\n    if (((uVar11 & uVar19) == 0xffffffff) ||\n       (param_6 <= uVar19 && (uint)(uVar11 < param_5) <= uVar19 - param_6)) {\nLAB_00044916:\n      uVar19 = param_6;\n      uVar11 = param_5;\n      param_5 = uVar11;\n      param_6 = uVar19;\n    }\n    iVar7 = FUN_0003e2f0();\n    if (iVar7 == 0) {\n      return 0;\n    }\n    iVar7 = FUN_0003c7e0(param_1,uVar11,uVar19);\n    if (iVar7 == 0) {\n      return 0;\n    }\n    param_2[0x10] = 0;\n    param_2[0x11] = -1;\n    param_2[0x12] = -1;\n    bVar6 = *param_7;\nLAB_00044966:\n    if (bVar6 == 0) {\n      return 1;\n    }\n    __ptr = (void *)param_2[4];\nLAB_0004414d:\n    if (__ptr == (void *)0x0) {\n      iVar7 = xstrdup(param_7);\n      param_2[4] = iVar7;\n    }\n    else {\n      if (bVar6 == 0x2f) {\n        iVar7 = xstrdup(param_7);\n        param_2[4] = iVar7;\n      }\n      else {\n        iVar7 = concat(__ptr,param_7,0);\n        param_2[4] = iVar7;\n      }\n      free(__ptr);\n    }\n    param_2[5] = param_5;\n    param_2[6] = param_6;\n    return 1;\n  }\nLAB_00044203:\n  sVar9 = strlen((char *)param_7);\n  if (param_3 == 0x62) {\n    return 1;\n  }\n  if ((int)param_3 < 99) {\n    if (param_3 == 0x24) {\n      if (*param_7 == 0) {\n        if (param_2[0x10] == 0) {\n          return 1;\n        }\n        if (param_2[1] != 0) {\n          bVar21 = CARRY4(param_5,param_2[9]);\n          param_5 = param_5 + param_2[9];\n          param_6 = param_6 + param_2[10] + (uint)bVar21;\n        }\n        iVar7 = FUN_0003e2f0(param_5,param_6);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003c7e0(param_1,param_5,param_6);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        param_2[0x10] = 0;\n        param_2[0x11] = -1;\n        param_2[0x12] = -1;\n        return 1;\n      }\n      if (param_2[0x10] != 0) {\n        uVar11 = param_2[0x12];\n        if (((param_2[0x11] & uVar11) == 0xffffffff) ||\n           (param_6 < uVar11 || param_6 - uVar11 < (uint)(param_5 < (uint)param_2[0x11]))) {\n          param_2[0x11] = param_5;\n          param_2[0x12] = param_6;\n        }\n      }\n    }\n    else if ((int)param_3 < 0x25) {\n      if (param_3 == 0xc) {\n        return 1;\n      }\n      if ((0xb < (int)param_3) && (param_3 - 0x1e < 2)) {\n        return 1;\n      }\n    }\n    else {\n      if (param_3 == 0x38) {\n        return 1;\n      }\n      if ((int)param_3 < 0x39) {\n        if (param_3 == 0x2a) {\n          return 1;\n        }\n      }\n      else {\n        bVar21 = param_3 < 0x3c;\n        bVar23 = param_3 == 0x3c;\n        if (bVar23) {\n          iVar7 = 0xf;\n          pbVar16 = param_7;\n          pbVar18 = (byte *)"gcc2_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar21 = *pbVar16 < *pbVar18;\n            bVar23 = *pbVar16 == *pbVar18;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n          } while (bVar23);\n          bVar22 = false;\n          bVar21 = (!bVar21 && !bVar23) == bVar21;\n          if (bVar21) {\n            param_2[0xb] = 2;\n            return 1;\n          }\n          iVar7 = 0xe;\n          pbVar16 = (byte *)"gcc_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar22 = *param_7 < *pbVar16;\n            bVar21 = *param_7 == *pbVar16;\n            param_7 = param_7 + (uint)bVar24 * -2 + 1;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n          } while (bVar21);\n          if ((!bVar22 && !bVar21) != bVar22) {\n            param_2[0xc] = 1;\n            return 1;\n          }\n          param_2[0xb] = 1;\n          return 1;\n        }\n        if (param_3 == 0x44) {\n          if (param_2[0x10] != 0) {\n            bVar21 = CARRY4(param_5,param_2[9]);\n            param_5 = param_5 + param_2[9];\n            param_6 = param_6 + param_2[10] + (uint)bVar21;\n          }\n          iVar7 = FUN_0003ca10(param_1,param_4,param_5,param_6);\n          goto LAB_0004426d;\n        }\n      }\n    }\nLAB_00044431:\n    local_24 = (byte *)strchr((char *)param_7,0x3a);\n    if (local_24 == (byte *)0x0) {\n      return 1;\n    }\n    bVar24 = local_24[1];\n    if ((bVar24 & 0xdf) != 0x46) goto LAB_000447b5;\n    if (param_2[0x10] != 0) {\n      local_3c = (char *)param_2[0x11];\n      local_38 = param_2[0x12];\n      if ((((uint)local_3c & local_38) == 0xffffffff) ||\n         (param_6 <= local_38 && (uint)(local_3c < param_5) <= local_38 - param_6)) {\n        local_3c = (char *)param_5;\n        local_38 = param_6;\n      }\n      iVar7 = FUN_0003e2f0();\n      if ((iVar7 == 0) || (iVar7 = FUN_0003c7e0(param_1,local_3c,local_38), iVar7 == 0)) {\n        return 0;\n      }\n      param_2[0x11] = -1;\n      param_2[0x12] = -1;\n    }\n    if (param_2[1] != 0) {\n      param_2[9] = param_5;\n      param_2[10] = param_6;\n    }\n    param_2[0x10] = 1;\n    local_24 = (byte *)strchr((char *)param_7,0x3a);\n    if (local_24 == (byte *)0x0) {\n      return 1;\n    }\nLAB_000447b1:\n    bVar24 = local_24[1];\nLAB_000447b5:\n    if (bVar24 == 0x3a) goto LAB_00044790;\n    if (*param_7 != 0x24) goto LAB_000447c7;\n    switch(param_7[1]) {\n    default:\n      dcgettext(0,"unknown C++ encoded name",5);\n      FUN_0003df30();\n    case 0x58:\n    case 0x5f:\n    case 0x76:\nLAB_000447c7:\n      local_3c = (char *)0x0;\n      if ((param_7 != local_24) && ((*param_7 != 0x20 || (local_24 != param_7 + 1)))) {\n        local_3c = (char *)FUN_0003e060();\n      }\n      break;\n    case 0x65:\n      local_3c = "eh_throw";\n      break;\n    case 0x74:\n      local_3c = "this";\n    }\n    param_7 = param_7 + sVar9;\n    pbVar16 = local_24 + 1;\n    bVar24 = local_24[1];\n    if (((PTR__sch_istable_00071fbc[(uint)bVar24 * 2] & 4) != 0) ||\n       (bVar24 == 0x28 || bVar24 == 0x2d)) {\nLAB_0004483d:\n      local_24 = pbVar16;\n      iVar7 = FUN_00040c70(&local_24,0,param_7);\n      if (iVar7 == 0) {\n        return 0;\n      }\n      uVar27 = 4;\n      goto code_r0x0004486e;\n    }\n    if (bVar24 != 0) {\n      pbVar16 = local_24 + 2;\n      bVar24 = local_24[1];\n      if (0x33 < (byte)(bVar24 + 0xbd)) goto LAB_00044e16;\n      iVar7 = (int)&__DT_PLTGOT + *(int *)(&DAT_00057e08 + (uint)(byte)(bVar24 + 0xbd) * 4);\n      switch(bVar24) {\n      case 0x43:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,bVar24);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003ccf0(param_1,local_3c,iVar7,param_5,param_6);\n        goto joined_r0x00044fe7;\n      default:\n        goto LAB_00044e16;\n      case 0x46:\n      case 0x66:\n        local_24 = pbVar16;\n        uVar26 = FUN_00040c70(&local_24,0,param_7,iVar7);\n        uVar27 = (undefined4)((ulonglong)uVar26 >> 0x20);\n        if ((int)uVar26 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003c5a0(param_1,local_3c,(int)uVar26,bVar24 == 0x46,param_5,param_6,uVar27,\n                             uVar27);\n        while( true ) {\n          if (iVar7 == 0) {\n            return 0;\n          }\n          if (*local_24 != 0x3b) break;\n          local_24 = local_24 + 1;\n          iVar7 = FUN_00040c70(&local_24,0,param_7);\n        }\n        return 1;\n      case 0x47:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,iVar7);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) goto code_r0x00044c0d;\n        iVar10 = param_2[3];\n        piVar13 = (int *)param_2[2];\n        cVar3 = *(char *)(*(int *)(*param_2 + 4) + 0x18);\n        if (iVar10 < 1) goto code_r0x00044c0d;\n        cVar2 = *local_3c;\n        goto code_r0x00044bbc;\n      case 0x50:\n        if (param_3 == 0x24) {\n          local_24 = pbVar16;\n          do {\n            if (*local_24 != 0x3b) {\n              return 1;\n            }\n            local_24 = local_24 + 1;\n            iVar7 = FUN_00040c70(&local_24,0,param_7);\n          } while (iVar7 != 0);\n          return 0;\n        }\n      case 0x52:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,iVar7);\njoined_r0x00045010:\n        if (iVar7 == 0) {\n          return 0;\n        }\ncode_r0x00044af0:\n        iVar7 = FUN_0003c6e0(param_1,local_3c,iVar7);\n        goto joined_r0x00044fe7;\n      case 0x53:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 2;\n        goto code_r0x0004486e;\n      case 0x54:\n        pbVar18 = local_24 + 2;\n        if (*pbVar18 == 0x74) {\n          pbVar16 = local_24 + 3;\n        }\n        local_24 = pbVar16;\n        uVar11 = (uint)(*pbVar18 == 0x74);\n        iVar7 = FUN_00040c70(&local_24,apiStack_20,param_7,param_3);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) {\n          return 1;\n        }\n        iVar10 = param_2[0x3a];\n        iVar7 = FUN_0003d680(param_1,local_3c,iVar7,extraout_ECX);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (apiStack_20[0] != (int *)0x0) {\n          *apiStack_20[0] = iVar7;\n        }\n        piVar13 = apiStack_20[0];\n        if (iVar10 != 0) goto code_r0x00044efc;\n        if ((int *)param_2[0x39] == (int *)0x0) goto code_r0x00044efc;\n        cVar3 = *local_3c;\n        piVar17 = param_2 + 0x39;\n        piVar20 = (int *)param_2[0x39];\n        goto code_r0x00044ecc;\n      case 0x56:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 3;\n        goto code_r0x0004486e;\n      case 0x58:\n      case 0x6c:\n      case 0x73:\n        goto LAB_0004483d;\n      case 0x59:\n        pbVar16 = local_24 + 3;\n        if ((local_24[3] == 0x6e) &&\n           (pbVar16 = local_24 + 4, pbVar18 = local_24 + 4, local_24 = pbVar16, *pbVar18 == 0x30)) {\n          for (; *local_24 != 0x3b; local_24 = local_24 + 1) {\n          }\n          return 1;\n        }\nLAB_00044e16:\n        local_24 = pbVar16;\n        FUN_0003dfb0();\n        return 0;\n      case 0x61:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,bVar24);\n        goto joined_r0x00045010;\n      case 99:\n        if (local_24[2] == 0x3d) {\n          pbVar16 = local_24 + 4;\n          bVar24 = local_24[3];\n          local_24 = pbVar16;\n          if (bVar24 == 0x69) {\n            lVar15 = strtol((char *)pbVar16,(char **)0x0,10);\n            iVar7 = FUN_0003cbe0(param_1,local_3c,lVar15,lVar15 >> 0x1f);\n            goto joined_r0x00044fe7;\n          }\n          if (bVar24 == 0x72) {\n            lVar25 = (longdouble)func_0x00013560(pbVar16,0,0x72,0x72);\n            iVar7 = FUN_0003cc30(param_1,local_3c,(double)lVar25);\n            goto joined_r0x00044fe7;\n          }\n          if (bVar24 == 0x65) {\n            iVar7 = FUN_00040c70(&local_24,0,param_7,0x65);\n            if (iVar7 == 0) {\n              return 0;\n            }\n            pbVar16 = local_24;\n            if (*local_24 == 0x2c) {\n              uVar28 = 10;\n              uVar27 = 0;\n              lVar15 = strtol((char *)local_24,(char **)0x0,10);\n              iVar7 = FUN_0003cc70(param_1,local_3c,iVar7,lVar15,lVar15 >> 0x1f,uVar27,uVar28,\n                                   param_3);\n              goto joined_r0x00044fe7;\n            }\n          }\n        }\n        break;\n      case 0x70:\n        if (local_24[2] == 0x46) {\n          local_24 = local_24 + 3;\n          iVar7 = FUN_00040c70(&local_24,0,param_7,local_24);\n          if (iVar7 == 0) {\n            return 0;\n          }\n          uVar27 = FUN_0003d080(param_1,iVar7,0,0);\n          iVar7 = FUN_0003d030(param_1,uVar27);\n        }\n        else {\n          pbVar18 = local_24;\n          local_24 = pbVar16;\n          iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        }\n        goto joined_r0x00044dee;\n      case 0x72:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 5;\n        goto code_r0x0004486e;\n      case 0x74:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,apiStack_20,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) {\n          return 1;\n        }\n        iVar7 = FUN_0003d5a0(param_1,local_3c,iVar7,param_2);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (apiStack_20[0] == (int *)0x0) {\n          return 1;\n        }\n        *apiStack_20[0] = iVar7;\n        return 1;\n      case 0x76:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\njoined_r0x00044dee:\n        if (iVar7 == 0) {\n          return 0;\n        }\n        goto code_r0x00044af0;\n      }\n    }\n    goto LAB_000449d0;\n  }\n  if (param_3 == 0xc0) {\n    if ((param_2[0xc] != 0) && (param_4 == 1)) {\n      return 1;\n    }\n    if (param_2[0x10] == 0) {\n      pcVar12 = (char *)dcgettext(0,"N_LBRAC not within function\n",5);\n      fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar12);\n      return 0;\n    }\n    uVar11 = param_2[9] + param_2[7];\n    iVar7 = FUN_0003c880(param_1,uVar11 + param_5,\n                         param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7]) + param_6 +\n                         (uint)CARRY4(uVar11,param_5));\n    if (iVar7 == 0) {\n      return 0;\n    }\n    iVar7 = FUN_0003e2f0();\n    if (iVar7 == 0) {\n      return 0;\n    }\n    param_2[0x13] = param_2[0x13] + 1;\n    return 1;\n  }\n  if (0xc0 < (int)param_3) {\n    if (param_3 == 0xe0) {\n      if ((param_2[0xc] != 0) && (param_4 == 1)) {\n        return 1;\n      }\n      iVar7 = FUN_0003e2f0();\n      if (iVar7 == 0) {\n        return 0;\n      }\n      uVar11 = param_2[9] + param_2[7];\n      iVar7 = FUN_0003c980(param_1,uVar11 + param_5,\n                           param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7]) + param_6\n                           + (uint)CARRY4(uVar11,param_5));\n      if (iVar7 == 0) {\n        return 0;\n      }\n      param_2 = param_2 + 0x13;\n      *param_2 = *param_2 + -1;\n      if (*param_2 < 0) {\n        pcVar12 = (char *)dcgettext(0,"Too many N_RBRACs\n",5);\n        fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar12);\n        return 0;\n      }\n      return 1;\n    }\n    if ((int)param_3 < 0xe1) {\n      if (param_3 == 0xc2) {\n        iVar7 = param_2[0x15];\n        param_2[0x15] = iVar7 + 1;\n        iVar7 = xrealloc(param_2[0x16],(iVar7 + 1) * 4);\n        puVar8 = (undefined4 *)param_2[0xf];\n        param_2[0x16] = iVar7;\n        while( true ) {\n          if (puVar8 == (undefined4 *)0x0) {\n            dcgettext(0,"Undefined N_EXCL",5);\n            FUN_0003df30();\n            *(undefined4 *)(param_2[0x16] + -4 + param_2[0x15] * 4) = 0;\n            return 1;\n          }\n          if ((puVar8[4] == param_6 && puVar8[3] == param_5) &&\n             (iVar10 = strcmp((char *)puVar8[2],(char *)param_7), iVar10 == 0)) break;\n          puVar8 = (undefined4 *)*puVar8;\n        }\n        *(undefined4 *)(iVar7 + -4 + param_2[0x15] * 4) = puVar8[6];\n        return 1;\n      }\n      goto LAB_00044431;\n    }\n    if (param_3 == 0xe2) {\n      iVar7 = FUN_0003cb60(param_1,param_7);\n    }\n    else {\n      if (param_3 != 0xe4) goto LAB_00044431;\n      iVar7 = FUN_0003cba0(param_1,param_7);\n    }\n    goto LAB_0004426d;\n  }\n  if (param_3 == 0x82) {\n    piVar13 = (int *)xmalloc(0x1c);\n    iVar7 = param_2[0xf];\n    piVar13[4] = param_6;\n    *piVar13 = iVar7;\n    iVar7 = param_2[0xe];\n    piVar13[6] = 0;\n    piVar13[1] = iVar7;\n    param_2[0xf] = (int)piVar13;\n    piVar13[2] = (int)param_7;\n    param_2[0xe] = (int)piVar13;\n    piVar13[3] = param_5;\n    iVar7 = param_2[0x15];\n    piVar13[5] = iVar7;\n    iVar7 = iVar7 + 1;\n    param_2[0x15] = iVar7;\n    iVar10 = xrealloc(param_2[0x16],iVar7 * 4);\n    iVar7 = piVar13[5];\n    param_2[0x16] = iVar10;\n    *(undefined4 *)(iVar10 + iVar7 * 4) = 0;\n  }\n  else {\n    if ((int)param_3 < 0x83) {\n      if (param_3 != 100) goto LAB_00044431;\n      bVar6 = *param_7;\n      if (param_2[0x10] != 0) {\n        if (bVar6 != 0) goto LAB_000448f8;\n        goto LAB_00044916;\n      }\n      goto LAB_00044966;\n    }\n    if (param_3 != 0x84) {\n      if (param_3 != 0xa2) goto LAB_00044431;\n      iVar7 = param_2[0xe];\n      if (iVar7 != 0) {\n        iVar10 = *(int *)(iVar7 + 4);\n        uVar11 = *(uint *)(iVar7 + 0x14);\n        param_2[0xe] = iVar10;\n        if ((uVar11 < (uint)param_2[0x15]) &&\n           (*(undefined4 *)(iVar7 + 0x18) = *(undefined4 *)(param_2[0x16] + uVar11 * 4), iVar10 != 0\n           )) {\n          param_7 = *(byte **)(iVar10 + 8);\n          goto LAB_000445bf;\n        }\n      }\n      param_7 = (byte *)param_2[0xd];\n    }\n  }\nLAB_000445bf:\n  iVar7 = FUN_0003c4a0(param_1,param_7);\nLAB_0004426d:\n  return (uint)(iVar7 != 0);\nLAB_00044790:\n  local_24 = local_24 + 2;\n  local_24 = (byte *)strchr((char *)local_24,0x3a);\n  pbVar16 = local_24;\n  if (local_24 == (byte *)0x0) {\nLAB_000449d0:\n    local_24 = pbVar16;\n    FUN_0003dfb0();\n    return 0;\n  }\n  goto LAB_000447b1;\ncode_r0x00044ecc:\n  piVar13 = (int *)piVar20[1];\n  if (((char)*piVar13 == cVar3) &&\n     (piVar13 = (int *)strcmp((char *)piVar13,local_3c), piVar13 == (int *)0x0)) {\n    piVar13 = (int *)*piVar20;\n    piVar20[3] = iVar7;\n    *piVar17 = (int)piVar13;\n    goto code_r0x00044efc;\n  }\n  piVar5 = (int *)*piVar20;\n  piVar17 = piVar20;\n  piVar20 = piVar5;\n  if (piVar5 == (int *)0x0) {\ncode_r0x00044efc:\n    if (uVar11 == 0) {\n      return 1;\n    }\n    iVar7 = FUN_0003d5a0(param_1,local_3c,iVar7,piVar13);\n    if (iVar7 != 0) {\n      if (apiStack_20[0] == (int *)0x0) {\n        return 1;\n      }\n      *apiStack_20[0] = iVar7;\n      return uVar11;\n    }\n    return 0;\n  }\n  goto code_r0x00044ecc;\ncode_r0x00044bbc:\n  iVar4 = *piVar13;\n  pcVar12 = *(char **)(iVar4 + 4);\n  if (cVar3 != '\0') {\n    pcVar12 = pcVar12 + (cVar3 == *pcVar12);\n  }\n  if ((*pcVar12 == cVar2) && (iVar14 = strcmp(pcVar12,local_3c), iVar14 == 0)) {\n    puVar1 = (uint *)(*(int *)(iVar4 + 0x14) + 0x1c);\n    param_5 = *(uint *)(iVar4 + 8) + *puVar1;\n    param_6 = *(int *)(iVar4 + 0xc) + *(int *)(*(int *)(iVar4 + 0x14) + 0x20) +\n              (uint)CARRY4(*(uint *)(iVar4 + 8),*puVar1);\n    goto code_r0x00044c0d;\n  }\n  piVar13 = piVar13 + 1;\n  iVar10 = iVar10 + -1;\n  if (iVar10 == 0) {\ncode_r0x00044c0d:\n    uVar27 = 1;\ncode_r0x0004486e:\n    iVar7 = FUN_0003e250(iVar7,uVar27,param_5,param_6);\njoined_r0x00044fe7:\n    if (iVar7 != 0) {\n      return 1;\n    }\n    return 0;\n  }\n  goto code_r0x00044bbc;\n}" ({ "{") (declaration "uint *puVar1;" (type_identifier "uint") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "char cVar2;" (primitive_type "char") (identifier "cVar2") (; ";")) (declaration "char cVar3;" (primitive_type "char") (identifier "cVar3") (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "int *piVar5;" (primitive_type "int") (pointer_declarator "*piVar5" (* "*") (identifier "piVar5")) (; ";")) (declaration "byte bVar6;" (type_identifier "byte") (identifier "bVar6") (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "undefined4 *puVar8;" (type_identifier "undefined4") (pointer_declarator "*puVar8" (* "*") (identifier "puVar8")) (; ";")) (declaration "size_t sVar9;" (primitive_type "size_t") (identifier "sVar9") (; ";")) (declaration "int iVar10;" (primitive_type "int") (identifier "iVar10") (; ";")) (declaration "uint uVar11;" (type_identifier "uint") (identifier "uVar11") (; ";")) (declaration "char *pcVar12;" (primitive_type "char") (pointer_declarator "*pcVar12" (* "*") (identifier "pcVar12")) (; ";")) (declaration "int *piVar13;" (primitive_type "int") (pointer_declarator "*piVar13" (* "*") (identifier "piVar13")) (; ";")) (declaration "int iVar14;" (primitive_type "int") (identifier "iVar14") (; ";")) (declaration "long lVar15;" (sized_type_specifier "long" (long "long")) (identifier "lVar15") (; ";")) (declaration "undefined4 extraout_ECX;" (type_identifier "undefined4") (identifier "extraout_ECX") (; ";")) (declaration "void *__ptr;" (primitive_type "void") (pointer_declarator "*__ptr" (* "*") (identifier "__ptr")) (; ";")) (declaration "byte *pbVar16;" (type_identifier "byte") (pointer_declarator "*pbVar16" (* "*") (identifier "pbVar16")) (; ";")) (declaration "int *piVar17;" (primitive_type "int") (pointer_declarator "*piVar17" (* "*") (identifier "piVar17")) (; ";")) (declaration "byte *pbVar18;" (type_identifier "byte") (pointer_declarator "*pbVar18" (* "*") (identifier "pbVar18")) (; ";")) (declaration "uint uVar19;" (type_identifier "uint") (identifier "uVar19") (; ";")) (declaration "int *piVar20;" (primitive_type "int") (pointer_declarator "*piVar20" (* "*") (identifier "piVar20")) (; ";")) (declaration "bool bVar21;" (primitive_type "bool") (identifier "bVar21") (; ";")) (declaration "bool bVar22;" (primitive_type "bool") (identifier "bVar22") (; ";")) (declaration "bool bVar23;" (primitive_type "bool") (identifier "bVar23") (; ";")) (declaration "byte bVar24;" (type_identifier "byte") (identifier "bVar24") (; ";")) (declaration "longdouble lVar25;" (type_identifier "longdouble") (identifier "lVar25") (; ";")) (declaration "undefined8 uVar26;" (type_identifier "undefined8") (identifier "uVar26") (; ";")) (declaration "undefined4 uVar27;" (type_identifier "undefined4") (identifier "uVar27") (; ";")) (declaration "undefined4 uVar28;" (type_identifier "undefined4") (identifier "uVar28") (; ";")) (declaration "char *local_3c;" (primitive_type "char") (pointer_declarator "*local_3c" (* "*") (identifier "local_3c")) (; ";")) (declaration "uint local_38;" (type_identifier "uint") (identifier "local_38") (; ";")) (declaration "byte *local_24;" (type_identifier "byte") (pointer_declarator "*local_24" (* "*") (identifier "local_24")) (; ";")) (declaration "int *apiStack_20 [3];" (primitive_type "int") (pointer_declarator "*apiStack_20 [3]" (* "*") (array_declarator "apiStack_20 [3]" (identifier "apiStack_20") ([ "[") (number_literal "3") (] "]"))) (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (expression_statement "bVar24 = 0;" (assignment_expression "bVar24 = 0" (identifier "bVar24") (= "=") (number_literal "0")) (; ";")) (expression_statement "uStack_14 = 0x440f9;" (assignment_expression "uStack_14 = 0x440f9" (identifier "uStack_14") (= "=") (number_literal "0x440f9")) (; ";")) (expression_statement "__ptr = (void *)param_2[4];" (assignment_expression "__ptr = (void *)param_2[4]" (identifier "__ptr") (= "=") (cast_expression "(void *)param_2[4]" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[4]" (identifier "param_2") ([ "[") (number_literal "4") (] "]")))) (; ";")) (if_statement "if (__ptr != (void *)0x0) {\n    if (((param_3 != 100) || (bVar6 = *param_7, bVar6 == 0)) ||\n       (param_6 != param_2[6] || param_5 != param_2[5])) {\n      iVar7 = FUN_0003c3e0(param_1,__ptr);\n      if (iVar7 == 0) {\n        return 0;\n      }\n      param_2[0xb] = 0;\n      param_2[0xc] = 0;\n      param_2[0xd] = param_2[4];\n      if (param_2[1] == 0) {\n        param_2[7] = param_2[5];\n        param_2[8] = param_2[6];\n      }\n      param_2[0x15] = 1;\n      puVar8 = (undefined4 *)xmalloc(4);\n      param_2[4] = 0;\n      param_2[0x16] = (int)puVar8;\n      *puVar8 = 0;\n      goto LAB_00044203;\n    }\n    if (param_2[0x10] == 0) goto LAB_0004414d;\nLAB_000448f8:\n    uVar11 = param_2[0x11];\n    uVar19 = param_2[0x12];\n    if (((uVar11 & uVar19) == 0xffffffff) ||\n       (param_6 <= uVar19 && (uint)(uVar11 < param_5) <= uVar19 - param_6)) {\nLAB_00044916:\n      uVar19 = param_6;\n      uVar11 = param_5;\n      param_5 = uVar11;\n      param_6 = uVar19;\n    }\n    iVar7 = FUN_0003e2f0();\n    if (iVar7 == 0) {\n      return 0;\n    }\n    iVar7 = FUN_0003c7e0(param_1,uVar11,uVar19);\n    if (iVar7 == 0) {\n      return 0;\n    }\n    param_2[0x10] = 0;\n    param_2[0x11] = -1;\n    param_2[0x12] = -1;\n    bVar6 = *param_7;\nLAB_00044966:\n    if (bVar6 == 0) {\n      return 1;\n    }\n    __ptr = (void *)param_2[4];\nLAB_0004414d:\n    if (__ptr == (void *)0x0) {\n      iVar7 = xstrdup(param_7);\n      param_2[4] = iVar7;\n    }\n    else {\n      if (bVar6 == 0x2f) {\n        iVar7 = xstrdup(param_7);\n        param_2[4] = iVar7;\n      }\n      else {\n        iVar7 = concat(__ptr,param_7,0);\n        param_2[4] = iVar7;\n      }\n      free(__ptr);\n    }\n    param_2[5] = param_5;\n    param_2[6] = param_6;\n    return 1;\n  }" (if "if") (parenthesized_expression "(__ptr != (void *)0x0)" (( "(") (binary_expression "__ptr != (void *)0x0" (identifier "__ptr") (!= "!=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    if (((param_3 != 100) || (bVar6 = *param_7, bVar6 == 0)) ||\n       (param_6 != param_2[6] || param_5 != param_2[5])) {\n      iVar7 = FUN_0003c3e0(param_1,__ptr);\n      if (iVar7 == 0) {\n        return 0;\n      }\n      param_2[0xb] = 0;\n      param_2[0xc] = 0;\n      param_2[0xd] = param_2[4];\n      if (param_2[1] == 0) {\n        param_2[7] = param_2[5];\n        param_2[8] = param_2[6];\n      }\n      param_2[0x15] = 1;\n      puVar8 = (undefined4 *)xmalloc(4);\n      param_2[4] = 0;\n      param_2[0x16] = (int)puVar8;\n      *puVar8 = 0;\n      goto LAB_00044203;\n    }\n    if (param_2[0x10] == 0) goto LAB_0004414d;\nLAB_000448f8:\n    uVar11 = param_2[0x11];\n    uVar19 = param_2[0x12];\n    if (((uVar11 & uVar19) == 0xffffffff) ||\n       (param_6 <= uVar19 && (uint)(uVar11 < param_5) <= uVar19 - param_6)) {\nLAB_00044916:\n      uVar19 = param_6;\n      uVar11 = param_5;\n      param_5 = uVar11;\n      param_6 = uVar19;\n    }\n    iVar7 = FUN_0003e2f0();\n    if (iVar7 == 0) {\n      return 0;\n    }\n    iVar7 = FUN_0003c7e0(param_1,uVar11,uVar19);\n    if (iVar7 == 0) {\n      return 0;\n    }\n    param_2[0x10] = 0;\n    param_2[0x11] = -1;\n    param_2[0x12] = -1;\n    bVar6 = *param_7;\nLAB_00044966:\n    if (bVar6 == 0) {\n      return 1;\n    }\n    __ptr = (void *)param_2[4];\nLAB_0004414d:\n    if (__ptr == (void *)0x0) {\n      iVar7 = xstrdup(param_7);\n      param_2[4] = iVar7;\n    }\n    else {\n      if (bVar6 == 0x2f) {\n        iVar7 = xstrdup(param_7);\n        param_2[4] = iVar7;\n      }\n      else {\n        iVar7 = concat(__ptr,param_7,0);\n        param_2[4] = iVar7;\n      }\n      free(__ptr);\n    }\n    param_2[5] = param_5;\n    param_2[6] = param_6;\n    return 1;\n  }" ({ "{") (if_statement "if (((param_3 != 100) || (bVar6 = *param_7, bVar6 == 0)) ||\n       (param_6 != param_2[6] || param_5 != param_2[5])) {\n      iVar7 = FUN_0003c3e0(param_1,__ptr);\n      if (iVar7 == 0) {\n        return 0;\n      }\n      param_2[0xb] = 0;\n      param_2[0xc] = 0;\n      param_2[0xd] = param_2[4];\n      if (param_2[1] == 0) {\n        param_2[7] = param_2[5];\n        param_2[8] = param_2[6];\n      }\n      param_2[0x15] = 1;\n      puVar8 = (undefined4 *)xmalloc(4);\n      param_2[4] = 0;\n      param_2[0x16] = (int)puVar8;\n      *puVar8 = 0;\n      goto LAB_00044203;\n    }" (if "if") (parenthesized_expression "(((param_3 != 100) || (bVar6 = *param_7, bVar6 == 0)) ||\n       (param_6 != param_2[6] || param_5 != param_2[5]))" (( "(") (binary_expression "((param_3 != 100) || (bVar6 = *param_7, bVar6 == 0)) ||\n       (param_6 != param_2[6] || param_5 != param_2[5])" (parenthesized_expression "((param_3 != 100) || (bVar6 = *param_7, bVar6 == 0))" (( "(") (binary_expression "(param_3 != 100) || (bVar6 = *param_7, bVar6 == 0)" (parenthesized_expression "(param_3 != 100)" (( "(") (binary_expression "param_3 != 100" (identifier "param_3") (!= "!=") (number_literal "100")) () ")")) (|| "||") (parenthesized_expression "(bVar6 = *param_7, bVar6 == 0)" (( "(") (comma_expression "bVar6 = *param_7, bVar6 == 0" (assignment_expression "bVar6 = *param_7" (identifier "bVar6") (= "=") (pointer_expression "*param_7" (* "*") (identifier "param_7"))) (, ",") (binary_expression "bVar6 == 0" (identifier "bVar6") (== "==") (number_literal "0"))) () ")"))) () ")")) (|| "||") (parenthesized_expression "(param_6 != param_2[6] || param_5 != param_2[5])" (( "(") (binary_expression "param_6 != param_2[6] || param_5 != param_2[5]" (binary_expression "param_6 != param_2[6]" (identifier "param_6") (!= "!=") (subscript_expression "param_2[6]" (identifier "param_2") ([ "[") (number_literal "6") (] "]"))) (|| "||") (binary_expression "param_5 != param_2[5]" (identifier "param_5") (!= "!=") (subscript_expression "param_2[5]" (identifier "param_2") ([ "[") (number_literal "5") (] "]")))) () ")"))) () ")")) (compound_statement "{\n      iVar7 = FUN_0003c3e0(param_1,__ptr);\n      if (iVar7 == 0) {\n        return 0;\n      }\n      param_2[0xb] = 0;\n      param_2[0xc] = 0;\n      param_2[0xd] = param_2[4];\n      if (param_2[1] == 0) {\n        param_2[7] = param_2[5];\n        param_2[8] = param_2[6];\n      }\n      param_2[0x15] = 1;\n      puVar8 = (undefined4 *)xmalloc(4);\n      param_2[4] = 0;\n      param_2[0x16] = (int)puVar8;\n      *puVar8 = 0;\n      goto LAB_00044203;\n    }" ({ "{") (expression_statement "iVar7 = FUN_0003c3e0(param_1,__ptr);" (assignment_expression "iVar7 = FUN_0003c3e0(param_1,__ptr)" (identifier "iVar7") (= "=") (call_expression "FUN_0003c3e0(param_1,__ptr)" (identifier "FUN_0003c3e0") (argument_list "(param_1,__ptr)" (( "(") (identifier "param_1") (, ",") (identifier "__ptr") () ")")))) (; ";")) (if_statement "if (iVar7 == 0) {\n        return 0;\n      }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        return 0;\n      }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "param_2[0xb] = 0;" (assignment_expression "param_2[0xb] = 0" (subscript_expression "param_2[0xb]" (identifier "param_2") ([ "[") (number_literal "0xb") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_2[0xc] = 0;" (assignment_expression "param_2[0xc] = 0" (subscript_expression "param_2[0xc]" (identifier "param_2") ([ "[") (number_literal "0xc") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_2[0xd] = param_2[4];" (assignment_expression "param_2[0xd] = param_2[4]" (subscript_expression "param_2[0xd]" (identifier "param_2") ([ "[") (number_literal "0xd") (] "]")) (= "=") (subscript_expression "param_2[4]" (identifier "param_2") ([ "[") (number_literal "4") (] "]"))) (; ";")) (if_statement "if (param_2[1] == 0) {\n        param_2[7] = param_2[5];\n        param_2[8] = param_2[6];\n      }" (if "if") (parenthesized_expression "(param_2[1] == 0)" (( "(") (binary_expression "param_2[1] == 0" (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        param_2[7] = param_2[5];\n        param_2[8] = param_2[6];\n      }" ({ "{") (expression_statement "param_2[7] = param_2[5];" (assignment_expression "param_2[7] = param_2[5]" (subscript_expression "param_2[7]" (identifier "param_2") ([ "[") (number_literal "7") (] "]")) (= "=") (subscript_expression "param_2[5]" (identifier "param_2") ([ "[") (number_literal "5") (] "]"))) (; ";")) (expression_statement "param_2[8] = param_2[6];" (assignment_expression "param_2[8] = param_2[6]" (subscript_expression "param_2[8]" (identifier "param_2") ([ "[") (number_literal "8") (] "]")) (= "=") (subscript_expression "param_2[6]" (identifier "param_2") ([ "[") (number_literal "6") (] "]"))) (; ";")) (} "}"))) (expression_statement "param_2[0x15] = 1;" (assignment_expression "param_2[0x15] = 1" (subscript_expression "param_2[0x15]" (identifier "param_2") ([ "[") (number_literal "0x15") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "puVar8 = (undefined4 *)xmalloc(4);" (assignment_expression "puVar8 = (undefined4 *)xmalloc(4)" (identifier "puVar8") (= "=") (cast_expression "(undefined4 *)xmalloc(4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "xmalloc(4)" (identifier "xmalloc") (argument_list "(4)" (( "(") (number_literal "4") () ")"))))) (; ";")) (expression_statement "param_2[4] = 0;" (assignment_expression "param_2[4] = 0" (subscript_expression "param_2[4]" (identifier "param_2") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_2[0x16] = (int)puVar8;" (assignment_expression "param_2[0x16] = (int)puVar8" (subscript_expression "param_2[0x16]" (identifier "param_2") ([ "[") (number_literal "0x16") (] "]")) (= "=") (cast_expression "(int)puVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar8"))) (; ";")) (expression_statement "*puVar8 = 0;" (assignment_expression "*puVar8 = 0" (pointer_expression "*puVar8" (* "*") (identifier "puVar8")) (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_00044203;" (goto "goto") (statement_identifier "LAB_00044203") (; ";")) (} "}"))) (if_statement "if (param_2[0x10] == 0) goto LAB_0004414d;" (if "if") (parenthesized_expression "(param_2[0x10] == 0)" (( "(") (binary_expression "param_2[0x10] == 0" (subscript_expression "param_2[0x10]" (identifier "param_2") ([ "[") (number_literal "0x10") (] "]")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0004414d;" (goto "goto") (statement_identifier "LAB_0004414d") (; ";"))) (labeled_statement "LAB_000448f8:\n    uVar11 = param_2[0x11];" (statement_identifier "LAB_000448f8") (: ":") (expression_statement "uVar11 = param_2[0x11];" (assignment_expression "uVar11 = param_2[0x11]" (identifier "uVar11") (= "=") (subscript_expression "param_2[0x11]" (identifier "param_2") ([ "[") (number_literal "0x11") (] "]"))) (; ";"))) (expression_statement "uVar19 = param_2[0x12];" (assignment_expression "uVar19 = param_2[0x12]" (identifier "uVar19") (= "=") (subscript_expression "param_2[0x12]" (identifier "param_2") ([ "[") (number_literal "0x12") (] "]"))) (; ";")) (if_statement "if (((uVar11 & uVar19) == 0xffffffff) ||\n       (param_6 <= uVar19 && (uint)(uVar11 < param_5) <= uVar19 - param_6)) {\nLAB_00044916:\n      uVar19 = param_6;\n      uVar11 = param_5;\n      param_5 = uVar11;\n      param_6 = uVar19;\n    }" (if "if") (parenthesized_expression "(((uVar11 & uVar19) == 0xffffffff) ||\n       (param_6 <= uVar19 && (uint)(uVar11 < param_5) <= uVar19 - param_6))" (( "(") (binary_expression "((uVar11 & uVar19) == 0xffffffff) ||\n       (param_6 <= uVar19 && (uint)(uVar11 < param_5) <= uVar19 - param_6)" (parenthesized_expression "((uVar11 & uVar19) == 0xffffffff)" (( "(") (binary_expression "(uVar11 & uVar19) == 0xffffffff" (parenthesized_expression "(uVar11 & uVar19)" (( "(") (binary_expression "uVar11 & uVar19" (identifier "uVar11") (& "&") (identifier "uVar19")) () ")")) (== "==") (number_literal "0xffffffff")) () ")")) (|| "||") (parenthesized_expression "(param_6 <= uVar19 && (uint)(uVar11 < param_5) <= uVar19 - param_6)" (( "(") (binary_expression "param_6 <= uVar19 && (uint)(uVar11 < param_5) <= uVar19 - param_6" (binary_expression "param_6 <= uVar19" (identifier "param_6") (<= "<=") (identifier "uVar19")) (&& "&&") (binary_expression "(uint)(uVar11 < param_5) <= uVar19 - param_6" (call_expression "(uint)(uVar11 < param_5)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar11 < param_5)" (( "(") (binary_expression "uVar11 < param_5" (identifier "uVar11") (< "<") (identifier "param_5")) () ")"))) (<= "<=") (binary_expression "uVar19 - param_6" (identifier "uVar19") (- "-") (identifier "param_6")))) () ")"))) () ")")) (compound_statement "{\nLAB_00044916:\n      uVar19 = param_6;\n      uVar11 = param_5;\n      param_5 = uVar11;\n      param_6 = uVar19;\n    }" ({ "{") (labeled_statement "LAB_00044916:\n      uVar19 = param_6;" (statement_identifier "LAB_00044916") (: ":") (expression_statement "uVar19 = param_6;" (assignment_expression "uVar19 = param_6" (identifier "uVar19") (= "=") (identifier "param_6")) (; ";"))) (expression_statement "uVar11 = param_5;" (assignment_expression "uVar11 = param_5" (identifier "uVar11") (= "=") (identifier "param_5")) (; ";")) (expression_statement "param_5 = uVar11;" (assignment_expression "param_5 = uVar11" (identifier "param_5") (= "=") (identifier "uVar11")) (; ";")) (expression_statement "param_6 = uVar19;" (assignment_expression "param_6 = uVar19" (identifier "param_6") (= "=") (identifier "uVar19")) (; ";")) (} "}"))) (expression_statement "iVar7 = FUN_0003e2f0();" (assignment_expression "iVar7 = FUN_0003e2f0()" (identifier "iVar7") (= "=") (call_expression "FUN_0003e2f0()" (identifier "FUN_0003e2f0") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar7 == 0) {\n      return 0;\n    }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      return 0;\n    }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "iVar7 = FUN_0003c7e0(param_1,uVar11,uVar19);" (assignment_expression "iVar7 = FUN_0003c7e0(param_1,uVar11,uVar19)" (identifier "iVar7") (= "=") (call_expression "FUN_0003c7e0(param_1,uVar11,uVar19)" (identifier "FUN_0003c7e0") (argument_list "(param_1,uVar11,uVar19)" (( "(") (identifier "param_1") (, ",") (identifier "uVar11") (, ",") (identifier "uVar19") () ")")))) (; ";")) (if_statement "if (iVar7 == 0) {\n      return 0;\n    }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      return 0;\n    }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "param_2[0x10] = 0;" (assignment_expression "param_2[0x10] = 0" (subscript_expression "param_2[0x10]" (identifier "param_2") ([ "[") (number_literal "0x10") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_2[0x11] = -1;" (assignment_expression "param_2[0x11] = -1" (subscript_expression "param_2[0x11]" (identifier "param_2") ([ "[") (number_literal "0x11") (] "]")) (= "=") (number_literal "-1")) (; ";")) (expression_statement "param_2[0x12] = -1;" (assignment_expression "param_2[0x12] = -1" (subscript_expression "param_2[0x12]" (identifier "param_2") ([ "[") (number_literal "0x12") (] "]")) (= "=") (number_literal "-1")) (; ";")) (expression_statement "bVar6 = *param_7;" (assignment_expression "bVar6 = *param_7" (identifier "bVar6") (= "=") (pointer_expression "*param_7" (* "*") (identifier "param_7"))) (; ";")) (labeled_statement "LAB_00044966:\n    if (bVar6 == 0) {\n      return 1;\n    }" (statement_identifier "LAB_00044966") (: ":") (if_statement "if (bVar6 == 0) {\n      return 1;\n    }" (if "if") (parenthesized_expression "(bVar6 == 0)" (( "(") (binary_expression "bVar6 == 0" (identifier "bVar6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      return 1;\n    }" ({ "{") (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}")))) (expression_statement "__ptr = (void *)param_2[4];" (assignment_expression "__ptr = (void *)param_2[4]" (identifier "__ptr") (= "=") (cast_expression "(void *)param_2[4]" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[4]" (identifier "param_2") ([ "[") (number_literal "4") (] "]")))) (; ";")) (labeled_statement "LAB_0004414d:\n    if (__ptr == (void *)0x0) {\n      iVar7 = xstrdup(param_7);\n      param_2[4] = iVar7;\n    }\n    else {\n      if (bVar6 == 0x2f) {\n        iVar7 = xstrdup(param_7);\n        param_2[4] = iVar7;\n      }\n      else {\n        iVar7 = concat(__ptr,param_7,0);\n        param_2[4] = iVar7;\n      }\n      free(__ptr);\n    }" (statement_identifier "LAB_0004414d") (: ":") (if_statement "if (__ptr == (void *)0x0) {\n      iVar7 = xstrdup(param_7);\n      param_2[4] = iVar7;\n    }\n    else {\n      if (bVar6 == 0x2f) {\n        iVar7 = xstrdup(param_7);\n        param_2[4] = iVar7;\n      }\n      else {\n        iVar7 = concat(__ptr,param_7,0);\n        param_2[4] = iVar7;\n      }\n      free(__ptr);\n    }" (if "if") (parenthesized_expression "(__ptr == (void *)0x0)" (( "(") (binary_expression "__ptr == (void *)0x0" (identifier "__ptr") (== "==") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      iVar7 = xstrdup(param_7);\n      param_2[4] = iVar7;\n    }" ({ "{") (expression_statement "iVar7 = xstrdup(param_7);" (assignment_expression "iVar7 = xstrdup(param_7)" (identifier "iVar7") (= "=") (call_expression "xstrdup(param_7)" (identifier "xstrdup") (argument_list "(param_7)" (( "(") (identifier "param_7") () ")")))) (; ";")) (expression_statement "param_2[4] = iVar7;" (assignment_expression "param_2[4] = iVar7" (subscript_expression "param_2[4]" (identifier "param_2") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "iVar7")) (; ";")) (} "}")) (else_clause "else {\n      if (bVar6 == 0x2f) {\n        iVar7 = xstrdup(param_7);\n        param_2[4] = iVar7;\n      }\n      else {\n        iVar7 = concat(__ptr,param_7,0);\n        param_2[4] = iVar7;\n      }\n      free(__ptr);\n    }" (else "else") (compound_statement "{\n      if (bVar6 == 0x2f) {\n        iVar7 = xstrdup(param_7);\n        param_2[4] = iVar7;\n      }\n      else {\n        iVar7 = concat(__ptr,param_7,0);\n        param_2[4] = iVar7;\n      }\n      free(__ptr);\n    }" ({ "{") (if_statement "if (bVar6 == 0x2f) {\n        iVar7 = xstrdup(param_7);\n        param_2[4] = iVar7;\n      }\n      else {\n        iVar7 = concat(__ptr,param_7,0);\n        param_2[4] = iVar7;\n      }" (if "if") (parenthesized_expression "(bVar6 == 0x2f)" (( "(") (binary_expression "bVar6 == 0x2f" (identifier "bVar6") (== "==") (number_literal "0x2f")) () ")")) (compound_statement "{\n        iVar7 = xstrdup(param_7);\n        param_2[4] = iVar7;\n      }" ({ "{") (expression_statement "iVar7 = xstrdup(param_7);" (assignment_expression "iVar7 = xstrdup(param_7)" (identifier "iVar7") (= "=") (call_expression "xstrdup(param_7)" (identifier "xstrdup") (argument_list "(param_7)" (( "(") (identifier "param_7") () ")")))) (; ";")) (expression_statement "param_2[4] = iVar7;" (assignment_expression "param_2[4] = iVar7" (subscript_expression "param_2[4]" (identifier "param_2") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "iVar7")) (; ";")) (} "}")) (else_clause "else {\n        iVar7 = concat(__ptr,param_7,0);\n        param_2[4] = iVar7;\n      }" (else "else") (compound_statement "{\n        iVar7 = concat(__ptr,param_7,0);\n        param_2[4] = iVar7;\n      }" ({ "{") (expression_statement "iVar7 = concat(__ptr,param_7,0);" (assignment_expression "iVar7 = concat(__ptr,param_7,0)" (identifier "iVar7") (= "=") (call_expression "concat(__ptr,param_7,0)" (identifier "concat") (argument_list "(__ptr,param_7,0)" (( "(") (identifier "__ptr") (, ",") (identifier "param_7") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "param_2[4] = iVar7;" (assignment_expression "param_2[4] = iVar7" (subscript_expression "param_2[4]" (identifier "param_2") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "iVar7")) (; ";")) (} "}")))) (expression_statement "free(__ptr);" (call_expression "free(__ptr)" (identifier "free") (argument_list "(__ptr)" (( "(") (identifier "__ptr") () ")"))) (; ";")) (} "}"))))) (expression_statement "param_2[5] = param_5;" (assignment_expression "param_2[5] = param_5" (subscript_expression "param_2[5]" (identifier "param_2") ([ "[") (number_literal "5") (] "]")) (= "=") (identifier "param_5")) (; ";")) (expression_statement "param_2[6] = param_6;" (assignment_expression "param_2[6] = param_6" (subscript_expression "param_2[6]" (identifier "param_2") ([ "[") (number_literal "6") (] "]")) (= "=") (identifier "param_6")) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (labeled_statement "LAB_00044203:\n  sVar9 = strlen((char *)param_7);" (statement_identifier "LAB_00044203") (: ":") (expression_statement "sVar9 = strlen((char *)param_7);" (assignment_expression "sVar9 = strlen((char *)param_7)" (identifier "sVar9") (= "=") (call_expression "strlen((char *)param_7)" (identifier "strlen") (argument_list "((char *)param_7)" (( "(") (cast_expression "(char *)param_7" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_7")) () ")")))) (; ";"))) (if_statement "if (param_3 == 0x62) {\n    return 1;\n  }" (if "if") (parenthesized_expression "(param_3 == 0x62)" (( "(") (binary_expression "param_3 == 0x62" (identifier "param_3") (== "==") (number_literal "0x62")) () ")")) (compound_statement "{\n    return 1;\n  }" ({ "{") (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (if_statement "if ((int)param_3 < 99) {\n    if (param_3 == 0x24) {\n      if (*param_7 == 0) {\n        if (param_2[0x10] == 0) {\n          return 1;\n        }\n        if (param_2[1] != 0) {\n          bVar21 = CARRY4(param_5,param_2[9]);\n          param_5 = param_5 + param_2[9];\n          param_6 = param_6 + param_2[10] + (uint)bVar21;\n        }\n        iVar7 = FUN_0003e2f0(param_5,param_6);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003c7e0(param_1,param_5,param_6);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        param_2[0x10] = 0;\n        param_2[0x11] = -1;\n        param_2[0x12] = -1;\n        return 1;\n      }\n      if (param_2[0x10] != 0) {\n        uVar11 = param_2[0x12];\n        if (((param_2[0x11] & uVar11) == 0xffffffff) ||\n           (param_6 < uVar11 || param_6 - uVar11 < (uint)(param_5 < (uint)param_2[0x11]))) {\n          param_2[0x11] = param_5;\n          param_2[0x12] = param_6;\n        }\n      }\n    }\n    else if ((int)param_3 < 0x25) {\n      if (param_3 == 0xc) {\n        return 1;\n      }\n      if ((0xb < (int)param_3) && (param_3 - 0x1e < 2)) {\n        return 1;\n      }\n    }\n    else {\n      if (param_3 == 0x38) {\n        return 1;\n      }\n      if ((int)param_3 < 0x39) {\n        if (param_3 == 0x2a) {\n          return 1;\n        }\n      }\n      else {\n        bVar21 = param_3 < 0x3c;\n        bVar23 = param_3 == 0x3c;\n        if (bVar23) {\n          iVar7 = 0xf;\n          pbVar16 = param_7;\n          pbVar18 = (byte *)"gcc2_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar21 = *pbVar16 < *pbVar18;\n            bVar23 = *pbVar16 == *pbVar18;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n          } while (bVar23);\n          bVar22 = false;\n          bVar21 = (!bVar21 && !bVar23) == bVar21;\n          if (bVar21) {\n            param_2[0xb] = 2;\n            return 1;\n          }\n          iVar7 = 0xe;\n          pbVar16 = (byte *)"gcc_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar22 = *param_7 < *pbVar16;\n            bVar21 = *param_7 == *pbVar16;\n            param_7 = param_7 + (uint)bVar24 * -2 + 1;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n          } while (bVar21);\n          if ((!bVar22 && !bVar21) != bVar22) {\n            param_2[0xc] = 1;\n            return 1;\n          }\n          param_2[0xb] = 1;\n          return 1;\n        }\n        if (param_3 == 0x44) {\n          if (param_2[0x10] != 0) {\n            bVar21 = CARRY4(param_5,param_2[9]);\n            param_5 = param_5 + param_2[9];\n            param_6 = param_6 + param_2[10] + (uint)bVar21;\n          }\n          iVar7 = FUN_0003ca10(param_1,param_4,param_5,param_6);\n          goto LAB_0004426d;\n        }\n      }\n    }\nLAB_00044431:\n    local_24 = (byte *)strchr((char *)param_7,0x3a);\n    if (local_24 == (byte *)0x0) {\n      return 1;\n    }\n    bVar24 = local_24[1];\n    if ((bVar24 & 0xdf) != 0x46) goto LAB_000447b5;\n    if (param_2[0x10] != 0) {\n      local_3c = (char *)param_2[0x11];\n      local_38 = param_2[0x12];\n      if ((((uint)local_3c & local_38) == 0xffffffff) ||\n         (param_6 <= local_38 && (uint)(local_3c < param_5) <= local_38 - param_6)) {\n        local_3c = (char *)param_5;\n        local_38 = param_6;\n      }\n      iVar7 = FUN_0003e2f0();\n      if ((iVar7 == 0) || (iVar7 = FUN_0003c7e0(param_1,local_3c,local_38), iVar7 == 0)) {\n        return 0;\n      }\n      param_2[0x11] = -1;\n      param_2[0x12] = -1;\n    }\n    if (param_2[1] != 0) {\n      param_2[9] = param_5;\n      param_2[10] = param_6;\n    }\n    param_2[0x10] = 1;\n    local_24 = (byte *)strchr((char *)param_7,0x3a);\n    if (local_24 == (byte *)0x0) {\n      return 1;\n    }\nLAB_000447b1:\n    bVar24 = local_24[1];\nLAB_000447b5:\n    if (bVar24 == 0x3a) goto LAB_00044790;\n    if (*param_7 != 0x24) goto LAB_000447c7;\n    switch(param_7[1]) {\n    default:\n      dcgettext(0,"unknown C++ encoded name",5);\n      FUN_0003df30();\n    case 0x58:\n    case 0x5f:\n    case 0x76:\nLAB_000447c7:\n      local_3c = (char *)0x0;\n      if ((param_7 != local_24) && ((*param_7 != 0x20 || (local_24 != param_7 + 1)))) {\n        local_3c = (char *)FUN_0003e060();\n      }\n      break;\n    case 0x65:\n      local_3c = "eh_throw";\n      break;\n    case 0x74:\n      local_3c = "this";\n    }\n    param_7 = param_7 + sVar9;\n    pbVar16 = local_24 + 1;\n    bVar24 = local_24[1];\n    if (((PTR__sch_istable_00071fbc[(uint)bVar24 * 2] & 4) != 0) ||\n       (bVar24 == 0x28 || bVar24 == 0x2d)) {\nLAB_0004483d:\n      local_24 = pbVar16;\n      iVar7 = FUN_00040c70(&local_24,0,param_7);\n      if (iVar7 == 0) {\n        return 0;\n      }\n      uVar27 = 4;\n      goto code_r0x0004486e;\n    }\n    if (bVar24 != 0) {\n      pbVar16 = local_24 + 2;\n      bVar24 = local_24[1];\n      if (0x33 < (byte)(bVar24 + 0xbd)) goto LAB_00044e16;\n      iVar7 = (int)&__DT_PLTGOT + *(int *)(&DAT_00057e08 + (uint)(byte)(bVar24 + 0xbd) * 4);\n      switch(bVar24) {\n      case 0x43:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,bVar24);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003ccf0(param_1,local_3c,iVar7,param_5,param_6);\n        goto joined_r0x00044fe7;\n      default:\n        goto LAB_00044e16;\n      case 0x46:\n      case 0x66:\n        local_24 = pbVar16;\n        uVar26 = FUN_00040c70(&local_24,0,param_7,iVar7);\n        uVar27 = (undefined4)((ulonglong)uVar26 >> 0x20);\n        if ((int)uVar26 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003c5a0(param_1,local_3c,(int)uVar26,bVar24 == 0x46,param_5,param_6,uVar27,\n                             uVar27);\n        while( true ) {\n          if (iVar7 == 0) {\n            return 0;\n          }\n          if (*local_24 != 0x3b) break;\n          local_24 = local_24 + 1;\n          iVar7 = FUN_00040c70(&local_24,0,param_7);\n        }\n        return 1;\n      case 0x47:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,iVar7);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) goto code_r0x00044c0d;\n        iVar10 = param_2[3];\n        piVar13 = (int *)param_2[2];\n        cVar3 = *(char *)(*(int *)(*param_2 + 4) + 0x18);\n        if (iVar10 < 1) goto code_r0x00044c0d;\n        cVar2 = *local_3c;\n        goto code_r0x00044bbc;\n      case 0x50:\n        if (param_3 == 0x24) {\n          local_24 = pbVar16;\n          do {\n            if (*local_24 != 0x3b) {\n              return 1;\n            }\n            local_24 = local_24 + 1;\n            iVar7 = FUN_00040c70(&local_24,0,param_7);\n          } while (iVar7 != 0);\n          return 0;\n        }\n      case 0x52:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,iVar7);\njoined_r0x00045010:\n        if (iVar7 == 0) {\n          return 0;\n        }\ncode_r0x00044af0:\n        iVar7 = FUN_0003c6e0(param_1,local_3c,iVar7);\n        goto joined_r0x00044fe7;\n      case 0x53:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 2;\n        goto code_r0x0004486e;\n      case 0x54:\n        pbVar18 = local_24 + 2;\n        if (*pbVar18 == 0x74) {\n          pbVar16 = local_24 + 3;\n        }\n        local_24 = pbVar16;\n        uVar11 = (uint)(*pbVar18 == 0x74);\n        iVar7 = FUN_00040c70(&local_24,apiStack_20,param_7,param_3);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) {\n          return 1;\n        }\n        iVar10 = param_2[0x3a];\n        iVar7 = FUN_0003d680(param_1,local_3c,iVar7,extraout_ECX);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (apiStack_20[0] != (int *)0x0) {\n          *apiStack_20[0] = iVar7;\n        }\n        piVar13 = apiStack_20[0];\n        if (iVar10 != 0) goto code_r0x00044efc;\n        if ((int *)param_2[0x39] == (int *)0x0) goto code_r0x00044efc;\n        cVar3 = *local_3c;\n        piVar17 = param_2 + 0x39;\n        piVar20 = (int *)param_2[0x39];\n        goto code_r0x00044ecc;\n      case 0x56:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 3;\n        goto code_r0x0004486e;\n      case 0x58:\n      case 0x6c:\n      case 0x73:\n        goto LAB_0004483d;\n      case 0x59:\n        pbVar16 = local_24 + 3;\n        if ((local_24[3] == 0x6e) &&\n           (pbVar16 = local_24 + 4, pbVar18 = local_24 + 4, local_24 = pbVar16, *pbVar18 == 0x30)) {\n          for (; *local_24 != 0x3b; local_24 = local_24 + 1) {\n          }\n          return 1;\n        }\nLAB_00044e16:\n        local_24 = pbVar16;\n        FUN_0003dfb0();\n        return 0;\n      case 0x61:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,bVar24);\n        goto joined_r0x00045010;\n      case 99:\n        if (local_24[2] == 0x3d) {\n          pbVar16 = local_24 + 4;\n          bVar24 = local_24[3];\n          local_24 = pbVar16;\n          if (bVar24 == 0x69) {\n            lVar15 = strtol((char *)pbVar16,(char **)0x0,10);\n            iVar7 = FUN_0003cbe0(param_1,local_3c,lVar15,lVar15 >> 0x1f);\n            goto joined_r0x00044fe7;\n          }\n          if (bVar24 == 0x72) {\n            lVar25 = (longdouble)func_0x00013560(pbVar16,0,0x72,0x72);\n            iVar7 = FUN_0003cc30(param_1,local_3c,(double)lVar25);\n            goto joined_r0x00044fe7;\n          }\n          if (bVar24 == 0x65) {\n            iVar7 = FUN_00040c70(&local_24,0,param_7,0x65);\n            if (iVar7 == 0) {\n              return 0;\n            }\n            pbVar16 = local_24;\n            if (*local_24 == 0x2c) {\n              uVar28 = 10;\n              uVar27 = 0;\n              lVar15 = strtol((char *)local_24,(char **)0x0,10);\n              iVar7 = FUN_0003cc70(param_1,local_3c,iVar7,lVar15,lVar15 >> 0x1f,uVar27,uVar28,\n                                   param_3);\n              goto joined_r0x00044fe7;\n            }\n          }\n        }\n        break;\n      case 0x70:\n        if (local_24[2] == 0x46) {\n          local_24 = local_24 + 3;\n          iVar7 = FUN_00040c70(&local_24,0,param_7,local_24);\n          if (iVar7 == 0) {\n            return 0;\n          }\n          uVar27 = FUN_0003d080(param_1,iVar7,0,0);\n          iVar7 = FUN_0003d030(param_1,uVar27);\n        }\n        else {\n          pbVar18 = local_24;\n          local_24 = pbVar16;\n          iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        }\n        goto joined_r0x00044dee;\n      case 0x72:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 5;\n        goto code_r0x0004486e;\n      case 0x74:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,apiStack_20,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) {\n          return 1;\n        }\n        iVar7 = FUN_0003d5a0(param_1,local_3c,iVar7,param_2);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (apiStack_20[0] == (int *)0x0) {\n          return 1;\n        }\n        *apiStack_20[0] = iVar7;\n        return 1;\n      case 0x76:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\njoined_r0x00044dee:\n        if (iVar7 == 0) {\n          return 0;\n        }\n        goto code_r0x00044af0;\n      }\n    }\n    goto LAB_000449d0;\n  }" (if "if") (parenthesized_expression "((int)param_3 < 99)" (( "(") (binary_expression "(int)param_3 < 99" (cast_expression "(int)param_3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_3")) (< "<") (number_literal "99")) () ")")) (compound_statement "{\n    if (param_3 == 0x24) {\n      if (*param_7 == 0) {\n        if (param_2[0x10] == 0) {\n          return 1;\n        }\n        if (param_2[1] != 0) {\n          bVar21 = CARRY4(param_5,param_2[9]);\n          param_5 = param_5 + param_2[9];\n          param_6 = param_6 + param_2[10] + (uint)bVar21;\n        }\n        iVar7 = FUN_0003e2f0(param_5,param_6);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003c7e0(param_1,param_5,param_6);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        param_2[0x10] = 0;\n        param_2[0x11] = -1;\n        param_2[0x12] = -1;\n        return 1;\n      }\n      if (param_2[0x10] != 0) {\n        uVar11 = param_2[0x12];\n        if (((param_2[0x11] & uVar11) == 0xffffffff) ||\n           (param_6 < uVar11 || param_6 - uVar11 < (uint)(param_5 < (uint)param_2[0x11]))) {\n          param_2[0x11] = param_5;\n          param_2[0x12] = param_6;\n        }\n      }\n    }\n    else if ((int)param_3 < 0x25) {\n      if (param_3 == 0xc) {\n        return 1;\n      }\n      if ((0xb < (int)param_3) && (param_3 - 0x1e < 2)) {\n        return 1;\n      }\n    }\n    else {\n      if (param_3 == 0x38) {\n        return 1;\n      }\n      if ((int)param_3 < 0x39) {\n        if (param_3 == 0x2a) {\n          return 1;\n        }\n      }\n      else {\n        bVar21 = param_3 < 0x3c;\n        bVar23 = param_3 == 0x3c;\n        if (bVar23) {\n          iVar7 = 0xf;\n          pbVar16 = param_7;\n          pbVar18 = (byte *)"gcc2_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar21 = *pbVar16 < *pbVar18;\n            bVar23 = *pbVar16 == *pbVar18;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n          } while (bVar23);\n          bVar22 = false;\n          bVar21 = (!bVar21 && !bVar23) == bVar21;\n          if (bVar21) {\n            param_2[0xb] = 2;\n            return 1;\n          }\n          iVar7 = 0xe;\n          pbVar16 = (byte *)"gcc_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar22 = *param_7 < *pbVar16;\n            bVar21 = *param_7 == *pbVar16;\n            param_7 = param_7 + (uint)bVar24 * -2 + 1;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n          } while (bVar21);\n          if ((!bVar22 && !bVar21) != bVar22) {\n            param_2[0xc] = 1;\n            return 1;\n          }\n          param_2[0xb] = 1;\n          return 1;\n        }\n        if (param_3 == 0x44) {\n          if (param_2[0x10] != 0) {\n            bVar21 = CARRY4(param_5,param_2[9]);\n            param_5 = param_5 + param_2[9];\n            param_6 = param_6 + param_2[10] + (uint)bVar21;\n          }\n          iVar7 = FUN_0003ca10(param_1,param_4,param_5,param_6);\n          goto LAB_0004426d;\n        }\n      }\n    }\nLAB_00044431:\n    local_24 = (byte *)strchr((char *)param_7,0x3a);\n    if (local_24 == (byte *)0x0) {\n      return 1;\n    }\n    bVar24 = local_24[1];\n    if ((bVar24 & 0xdf) != 0x46) goto LAB_000447b5;\n    if (param_2[0x10] != 0) {\n      local_3c = (char *)param_2[0x11];\n      local_38 = param_2[0x12];\n      if ((((uint)local_3c & local_38) == 0xffffffff) ||\n         (param_6 <= local_38 && (uint)(local_3c < param_5) <= local_38 - param_6)) {\n        local_3c = (char *)param_5;\n        local_38 = param_6;\n      }\n      iVar7 = FUN_0003e2f0();\n      if ((iVar7 == 0) || (iVar7 = FUN_0003c7e0(param_1,local_3c,local_38), iVar7 == 0)) {\n        return 0;\n      }\n      param_2[0x11] = -1;\n      param_2[0x12] = -1;\n    }\n    if (param_2[1] != 0) {\n      param_2[9] = param_5;\n      param_2[10] = param_6;\n    }\n    param_2[0x10] = 1;\n    local_24 = (byte *)strchr((char *)param_7,0x3a);\n    if (local_24 == (byte *)0x0) {\n      return 1;\n    }\nLAB_000447b1:\n    bVar24 = local_24[1];\nLAB_000447b5:\n    if (bVar24 == 0x3a) goto LAB_00044790;\n    if (*param_7 != 0x24) goto LAB_000447c7;\n    switch(param_7[1]) {\n    default:\n      dcgettext(0,"unknown C++ encoded name",5);\n      FUN_0003df30();\n    case 0x58:\n    case 0x5f:\n    case 0x76:\nLAB_000447c7:\n      local_3c = (char *)0x0;\n      if ((param_7 != local_24) && ((*param_7 != 0x20 || (local_24 != param_7 + 1)))) {\n        local_3c = (char *)FUN_0003e060();\n      }\n      break;\n    case 0x65:\n      local_3c = "eh_throw";\n      break;\n    case 0x74:\n      local_3c = "this";\n    }\n    param_7 = param_7 + sVar9;\n    pbVar16 = local_24 + 1;\n    bVar24 = local_24[1];\n    if (((PTR__sch_istable_00071fbc[(uint)bVar24 * 2] & 4) != 0) ||\n       (bVar24 == 0x28 || bVar24 == 0x2d)) {\nLAB_0004483d:\n      local_24 = pbVar16;\n      iVar7 = FUN_00040c70(&local_24,0,param_7);\n      if (iVar7 == 0) {\n        return 0;\n      }\n      uVar27 = 4;\n      goto code_r0x0004486e;\n    }\n    if (bVar24 != 0) {\n      pbVar16 = local_24 + 2;\n      bVar24 = local_24[1];\n      if (0x33 < (byte)(bVar24 + 0xbd)) goto LAB_00044e16;\n      iVar7 = (int)&__DT_PLTGOT + *(int *)(&DAT_00057e08 + (uint)(byte)(bVar24 + 0xbd) * 4);\n      switch(bVar24) {\n      case 0x43:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,bVar24);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003ccf0(param_1,local_3c,iVar7,param_5,param_6);\n        goto joined_r0x00044fe7;\n      default:\n        goto LAB_00044e16;\n      case 0x46:\n      case 0x66:\n        local_24 = pbVar16;\n        uVar26 = FUN_00040c70(&local_24,0,param_7,iVar7);\n        uVar27 = (undefined4)((ulonglong)uVar26 >> 0x20);\n        if ((int)uVar26 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003c5a0(param_1,local_3c,(int)uVar26,bVar24 == 0x46,param_5,param_6,uVar27,\n                             uVar27);\n        while( true ) {\n          if (iVar7 == 0) {\n            return 0;\n          }\n          if (*local_24 != 0x3b) break;\n          local_24 = local_24 + 1;\n          iVar7 = FUN_00040c70(&local_24,0,param_7);\n        }\n        return 1;\n      case 0x47:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,iVar7);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) goto code_r0x00044c0d;\n        iVar10 = param_2[3];\n        piVar13 = (int *)param_2[2];\n        cVar3 = *(char *)(*(int *)(*param_2 + 4) + 0x18);\n        if (iVar10 < 1) goto code_r0x00044c0d;\n        cVar2 = *local_3c;\n        goto code_r0x00044bbc;\n      case 0x50:\n        if (param_3 == 0x24) {\n          local_24 = pbVar16;\n          do {\n            if (*local_24 != 0x3b) {\n              return 1;\n            }\n            local_24 = local_24 + 1;\n            iVar7 = FUN_00040c70(&local_24,0,param_7);\n          } while (iVar7 != 0);\n          return 0;\n        }\n      case 0x52:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,iVar7);\njoined_r0x00045010:\n        if (iVar7 == 0) {\n          return 0;\n        }\ncode_r0x00044af0:\n        iVar7 = FUN_0003c6e0(param_1,local_3c,iVar7);\n        goto joined_r0x00044fe7;\n      case 0x53:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 2;\n        goto code_r0x0004486e;\n      case 0x54:\n        pbVar18 = local_24 + 2;\n        if (*pbVar18 == 0x74) {\n          pbVar16 = local_24 + 3;\n        }\n        local_24 = pbVar16;\n        uVar11 = (uint)(*pbVar18 == 0x74);\n        iVar7 = FUN_00040c70(&local_24,apiStack_20,param_7,param_3);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) {\n          return 1;\n        }\n        iVar10 = param_2[0x3a];\n        iVar7 = FUN_0003d680(param_1,local_3c,iVar7,extraout_ECX);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (apiStack_20[0] != (int *)0x0) {\n          *apiStack_20[0] = iVar7;\n        }\n        piVar13 = apiStack_20[0];\n        if (iVar10 != 0) goto code_r0x00044efc;\n        if ((int *)param_2[0x39] == (int *)0x0) goto code_r0x00044efc;\n        cVar3 = *local_3c;\n        piVar17 = param_2 + 0x39;\n        piVar20 = (int *)param_2[0x39];\n        goto code_r0x00044ecc;\n      case 0x56:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 3;\n        goto code_r0x0004486e;\n      case 0x58:\n      case 0x6c:\n      case 0x73:\n        goto LAB_0004483d;\n      case 0x59:\n        pbVar16 = local_24 + 3;\n        if ((local_24[3] == 0x6e) &&\n           (pbVar16 = local_24 + 4, pbVar18 = local_24 + 4, local_24 = pbVar16, *pbVar18 == 0x30)) {\n          for (; *local_24 != 0x3b; local_24 = local_24 + 1) {\n          }\n          return 1;\n        }\nLAB_00044e16:\n        local_24 = pbVar16;\n        FUN_0003dfb0();\n        return 0;\n      case 0x61:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,bVar24);\n        goto joined_r0x00045010;\n      case 99:\n        if (local_24[2] == 0x3d) {\n          pbVar16 = local_24 + 4;\n          bVar24 = local_24[3];\n          local_24 = pbVar16;\n          if (bVar24 == 0x69) {\n            lVar15 = strtol((char *)pbVar16,(char **)0x0,10);\n            iVar7 = FUN_0003cbe0(param_1,local_3c,lVar15,lVar15 >> 0x1f);\n            goto joined_r0x00044fe7;\n          }\n          if (bVar24 == 0x72) {\n            lVar25 = (longdouble)func_0x00013560(pbVar16,0,0x72,0x72);\n            iVar7 = FUN_0003cc30(param_1,local_3c,(double)lVar25);\n            goto joined_r0x00044fe7;\n          }\n          if (bVar24 == 0x65) {\n            iVar7 = FUN_00040c70(&local_24,0,param_7,0x65);\n            if (iVar7 == 0) {\n              return 0;\n            }\n            pbVar16 = local_24;\n            if (*local_24 == 0x2c) {\n              uVar28 = 10;\n              uVar27 = 0;\n              lVar15 = strtol((char *)local_24,(char **)0x0,10);\n              iVar7 = FUN_0003cc70(param_1,local_3c,iVar7,lVar15,lVar15 >> 0x1f,uVar27,uVar28,\n                                   param_3);\n              goto joined_r0x00044fe7;\n            }\n          }\n        }\n        break;\n      case 0x70:\n        if (local_24[2] == 0x46) {\n          local_24 = local_24 + 3;\n          iVar7 = FUN_00040c70(&local_24,0,param_7,local_24);\n          if (iVar7 == 0) {\n            return 0;\n          }\n          uVar27 = FUN_0003d080(param_1,iVar7,0,0);\n          iVar7 = FUN_0003d030(param_1,uVar27);\n        }\n        else {\n          pbVar18 = local_24;\n          local_24 = pbVar16;\n          iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        }\n        goto joined_r0x00044dee;\n      case 0x72:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 5;\n        goto code_r0x0004486e;\n      case 0x74:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,apiStack_20,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) {\n          return 1;\n        }\n        iVar7 = FUN_0003d5a0(param_1,local_3c,iVar7,param_2);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (apiStack_20[0] == (int *)0x0) {\n          return 1;\n        }\n        *apiStack_20[0] = iVar7;\n        return 1;\n      case 0x76:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\njoined_r0x00044dee:\n        if (iVar7 == 0) {\n          return 0;\n        }\n        goto code_r0x00044af0;\n      }\n    }\n    goto LAB_000449d0;\n  }" ({ "{") (if_statement "if (param_3 == 0x24) {\n      if (*param_7 == 0) {\n        if (param_2[0x10] == 0) {\n          return 1;\n        }\n        if (param_2[1] != 0) {\n          bVar21 = CARRY4(param_5,param_2[9]);\n          param_5 = param_5 + param_2[9];\n          param_6 = param_6 + param_2[10] + (uint)bVar21;\n        }\n        iVar7 = FUN_0003e2f0(param_5,param_6);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003c7e0(param_1,param_5,param_6);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        param_2[0x10] = 0;\n        param_2[0x11] = -1;\n        param_2[0x12] = -1;\n        return 1;\n      }\n      if (param_2[0x10] != 0) {\n        uVar11 = param_2[0x12];\n        if (((param_2[0x11] & uVar11) == 0xffffffff) ||\n           (param_6 < uVar11 || param_6 - uVar11 < (uint)(param_5 < (uint)param_2[0x11]))) {\n          param_2[0x11] = param_5;\n          param_2[0x12] = param_6;\n        }\n      }\n    }\n    else if ((int)param_3 < 0x25) {\n      if (param_3 == 0xc) {\n        return 1;\n      }\n      if ((0xb < (int)param_3) && (param_3 - 0x1e < 2)) {\n        return 1;\n      }\n    }\n    else {\n      if (param_3 == 0x38) {\n        return 1;\n      }\n      if ((int)param_3 < 0x39) {\n        if (param_3 == 0x2a) {\n          return 1;\n        }\n      }\n      else {\n        bVar21 = param_3 < 0x3c;\n        bVar23 = param_3 == 0x3c;\n        if (bVar23) {\n          iVar7 = 0xf;\n          pbVar16 = param_7;\n          pbVar18 = (byte *)"gcc2_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar21 = *pbVar16 < *pbVar18;\n            bVar23 = *pbVar16 == *pbVar18;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n          } while (bVar23);\n          bVar22 = false;\n          bVar21 = (!bVar21 && !bVar23) == bVar21;\n          if (bVar21) {\n            param_2[0xb] = 2;\n            return 1;\n          }\n          iVar7 = 0xe;\n          pbVar16 = (byte *)"gcc_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar22 = *param_7 < *pbVar16;\n            bVar21 = *param_7 == *pbVar16;\n            param_7 = param_7 + (uint)bVar24 * -2 + 1;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n          } while (bVar21);\n          if ((!bVar22 && !bVar21) != bVar22) {\n            param_2[0xc] = 1;\n            return 1;\n          }\n          param_2[0xb] = 1;\n          return 1;\n        }\n        if (param_3 == 0x44) {\n          if (param_2[0x10] != 0) {\n            bVar21 = CARRY4(param_5,param_2[9]);\n            param_5 = param_5 + param_2[9];\n            param_6 = param_6 + param_2[10] + (uint)bVar21;\n          }\n          iVar7 = FUN_0003ca10(param_1,param_4,param_5,param_6);\n          goto LAB_0004426d;\n        }\n      }\n    }" (if "if") (parenthesized_expression "(param_3 == 0x24)" (( "(") (binary_expression "param_3 == 0x24" (identifier "param_3") (== "==") (number_literal "0x24")) () ")")) (compound_statement "{\n      if (*param_7 == 0) {\n        if (param_2[0x10] == 0) {\n          return 1;\n        }\n        if (param_2[1] != 0) {\n          bVar21 = CARRY4(param_5,param_2[9]);\n          param_5 = param_5 + param_2[9];\n          param_6 = param_6 + param_2[10] + (uint)bVar21;\n        }\n        iVar7 = FUN_0003e2f0(param_5,param_6);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003c7e0(param_1,param_5,param_6);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        param_2[0x10] = 0;\n        param_2[0x11] = -1;\n        param_2[0x12] = -1;\n        return 1;\n      }\n      if (param_2[0x10] != 0) {\n        uVar11 = param_2[0x12];\n        if (((param_2[0x11] & uVar11) == 0xffffffff) ||\n           (param_6 < uVar11 || param_6 - uVar11 < (uint)(param_5 < (uint)param_2[0x11]))) {\n          param_2[0x11] = param_5;\n          param_2[0x12] = param_6;\n        }\n      }\n    }" ({ "{") (if_statement "if (*param_7 == 0) {\n        if (param_2[0x10] == 0) {\n          return 1;\n        }\n        if (param_2[1] != 0) {\n          bVar21 = CARRY4(param_5,param_2[9]);\n          param_5 = param_5 + param_2[9];\n          param_6 = param_6 + param_2[10] + (uint)bVar21;\n        }\n        iVar7 = FUN_0003e2f0(param_5,param_6);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003c7e0(param_1,param_5,param_6);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        param_2[0x10] = 0;\n        param_2[0x11] = -1;\n        param_2[0x12] = -1;\n        return 1;\n      }" (if "if") (parenthesized_expression "(*param_7 == 0)" (( "(") (binary_expression "*param_7 == 0" (pointer_expression "*param_7" (* "*") (identifier "param_7")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        if (param_2[0x10] == 0) {\n          return 1;\n        }\n        if (param_2[1] != 0) {\n          bVar21 = CARRY4(param_5,param_2[9]);\n          param_5 = param_5 + param_2[9];\n          param_6 = param_6 + param_2[10] + (uint)bVar21;\n        }\n        iVar7 = FUN_0003e2f0(param_5,param_6);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003c7e0(param_1,param_5,param_6);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        param_2[0x10] = 0;\n        param_2[0x11] = -1;\n        param_2[0x12] = -1;\n        return 1;\n      }" ({ "{") (if_statement "if (param_2[0x10] == 0) {\n          return 1;\n        }" (if "if") (parenthesized_expression "(param_2[0x10] == 0)" (( "(") (binary_expression "param_2[0x10] == 0" (subscript_expression "param_2[0x10]" (identifier "param_2") ([ "[") (number_literal "0x10") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          return 1;\n        }" ({ "{") (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (if_statement "if (param_2[1] != 0) {\n          bVar21 = CARRY4(param_5,param_2[9]);\n          param_5 = param_5 + param_2[9];\n          param_6 = param_6 + param_2[10] + (uint)bVar21;\n        }" (if "if") (parenthesized_expression "(param_2[1] != 0)" (( "(") (binary_expression "param_2[1] != 0" (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          bVar21 = CARRY4(param_5,param_2[9]);\n          param_5 = param_5 + param_2[9];\n          param_6 = param_6 + param_2[10] + (uint)bVar21;\n        }" ({ "{") (expression_statement "bVar21 = CARRY4(param_5,param_2[9]);" (assignment_expression "bVar21 = CARRY4(param_5,param_2[9])" (identifier "bVar21") (= "=") (call_expression "CARRY4(param_5,param_2[9])" (identifier "CARRY4") (argument_list "(param_5,param_2[9])" (( "(") (identifier "param_5") (, ",") (subscript_expression "param_2[9]" (identifier "param_2") ([ "[") (number_literal "9") (] "]")) () ")")))) (; ";")) (expression_statement "param_5 = param_5 + param_2[9];" (assignment_expression "param_5 = param_5 + param_2[9]" (identifier "param_5") (= "=") (binary_expression "param_5 + param_2[9]" (identifier "param_5") (+ "+") (subscript_expression "param_2[9]" (identifier "param_2") ([ "[") (number_literal "9") (] "]")))) (; ";")) (expression_statement "param_6 = param_6 + param_2[10] + (uint)bVar21;" (assignment_expression "param_6 = param_6 + param_2[10] + (uint)bVar21" (identifier "param_6") (= "=") (binary_expression "param_6 + param_2[10] + (uint)bVar21" (binary_expression "param_6 + param_2[10]" (identifier "param_6") (+ "+") (subscript_expression "param_2[10]" (identifier "param_2") ([ "[") (number_literal "10") (] "]"))) (+ "+") (cast_expression "(uint)bVar21" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar21")))) (; ";")) (} "}"))) (expression_statement "iVar7 = FUN_0003e2f0(param_5,param_6);" (assignment_expression "iVar7 = FUN_0003e2f0(param_5,param_6)" (identifier "iVar7") (= "=") (call_expression "FUN_0003e2f0(param_5,param_6)" (identifier "FUN_0003e2f0") (argument_list "(param_5,param_6)" (( "(") (identifier "param_5") (, ",") (identifier "param_6") () ")")))) (; ";")) (if_statement "if (iVar7 == 0) {\n          return 0;\n        }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          return 0;\n        }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "iVar7 = FUN_0003c7e0(param_1,param_5,param_6);" (assignment_expression "iVar7 = FUN_0003c7e0(param_1,param_5,param_6)" (identifier "iVar7") (= "=") (call_expression "FUN_0003c7e0(param_1,param_5,param_6)" (identifier "FUN_0003c7e0") (argument_list "(param_1,param_5,param_6)" (( "(") (identifier "param_1") (, ",") (identifier "param_5") (, ",") (identifier "param_6") () ")")))) (; ";")) (if_statement "if (iVar7 == 0) {\n          return 0;\n        }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          return 0;\n        }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "param_2[0x10] = 0;" (assignment_expression "param_2[0x10] = 0" (subscript_expression "param_2[0x10]" (identifier "param_2") ([ "[") (number_literal "0x10") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_2[0x11] = -1;" (assignment_expression "param_2[0x11] = -1" (subscript_expression "param_2[0x11]" (identifier "param_2") ([ "[") (number_literal "0x11") (] "]")) (= "=") (number_literal "-1")) (; ";")) (expression_statement "param_2[0x12] = -1;" (assignment_expression "param_2[0x12] = -1" (subscript_expression "param_2[0x12]" (identifier "param_2") ([ "[") (number_literal "0x12") (] "]")) (= "=") (number_literal "-1")) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (if_statement "if (param_2[0x10] != 0) {\n        uVar11 = param_2[0x12];\n        if (((param_2[0x11] & uVar11) == 0xffffffff) ||\n           (param_6 < uVar11 || param_6 - uVar11 < (uint)(param_5 < (uint)param_2[0x11]))) {\n          param_2[0x11] = param_5;\n          param_2[0x12] = param_6;\n        }\n      }" (if "if") (parenthesized_expression "(param_2[0x10] != 0)" (( "(") (binary_expression "param_2[0x10] != 0" (subscript_expression "param_2[0x10]" (identifier "param_2") ([ "[") (number_literal "0x10") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        uVar11 = param_2[0x12];\n        if (((param_2[0x11] & uVar11) == 0xffffffff) ||\n           (param_6 < uVar11 || param_6 - uVar11 < (uint)(param_5 < (uint)param_2[0x11]))) {\n          param_2[0x11] = param_5;\n          param_2[0x12] = param_6;\n        }\n      }" ({ "{") (expression_statement "uVar11 = param_2[0x12];" (assignment_expression "uVar11 = param_2[0x12]" (identifier "uVar11") (= "=") (subscript_expression "param_2[0x12]" (identifier "param_2") ([ "[") (number_literal "0x12") (] "]"))) (; ";")) (if_statement "if (((param_2[0x11] & uVar11) == 0xffffffff) ||\n           (param_6 < uVar11 || param_6 - uVar11 < (uint)(param_5 < (uint)param_2[0x11]))) {\n          param_2[0x11] = param_5;\n          param_2[0x12] = param_6;\n        }" (if "if") (parenthesized_expression "(((param_2[0x11] & uVar11) == 0xffffffff) ||\n           (param_6 < uVar11 || param_6 - uVar11 < (uint)(param_5 < (uint)param_2[0x11])))" (( "(") (binary_expression "((param_2[0x11] & uVar11) == 0xffffffff) ||\n           (param_6 < uVar11 || param_6 - uVar11 < (uint)(param_5 < (uint)param_2[0x11]))" (parenthesized_expression "((param_2[0x11] & uVar11) == 0xffffffff)" (( "(") (binary_expression "(param_2[0x11] & uVar11) == 0xffffffff" (parenthesized_expression "(param_2[0x11] & uVar11)" (( "(") (binary_expression "param_2[0x11] & uVar11" (subscript_expression "param_2[0x11]" (identifier "param_2") ([ "[") (number_literal "0x11") (] "]")) (& "&") (identifier "uVar11")) () ")")) (== "==") (number_literal "0xffffffff")) () ")")) (|| "||") (parenthesized_expression "(param_6 < uVar11 || param_6 - uVar11 < (uint)(param_5 < (uint)param_2[0x11]))" (( "(") (binary_expression "param_6 < uVar11 || param_6 - uVar11 < (uint)(param_5 < (uint)param_2[0x11])" (binary_expression "param_6 < uVar11" (identifier "param_6") (< "<") (identifier "uVar11")) (|| "||") (binary_expression "param_6 - uVar11 < (uint)(param_5 < (uint)param_2[0x11])" (binary_expression "param_6 - uVar11" (identifier "param_6") (- "-") (identifier "uVar11")) (< "<") (call_expression "(uint)(param_5 < (uint)param_2[0x11])" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(param_5 < (uint)param_2[0x11])" (( "(") (binary_expression "param_5 < (uint)param_2[0x11]" (identifier "param_5") (< "<") (cast_expression "(uint)param_2[0x11]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_2[0x11]" (identifier "param_2") ([ "[") (number_literal "0x11") (] "]")))) () ")"))))) () ")"))) () ")")) (compound_statement "{\n          param_2[0x11] = param_5;\n          param_2[0x12] = param_6;\n        }" ({ "{") (expression_statement "param_2[0x11] = param_5;" (assignment_expression "param_2[0x11] = param_5" (subscript_expression "param_2[0x11]" (identifier "param_2") ([ "[") (number_literal "0x11") (] "]")) (= "=") (identifier "param_5")) (; ";")) (expression_statement "param_2[0x12] = param_6;" (assignment_expression "param_2[0x12] = param_6" (subscript_expression "param_2[0x12]" (identifier "param_2") ([ "[") (number_literal "0x12") (] "]")) (= "=") (identifier "param_6")) (; ";")) (} "}"))) (} "}"))) (} "}")) (else_clause "else if ((int)param_3 < 0x25) {\n      if (param_3 == 0xc) {\n        return 1;\n      }\n      if ((0xb < (int)param_3) && (param_3 - 0x1e < 2)) {\n        return 1;\n      }\n    }\n    else {\n      if (param_3 == 0x38) {\n        return 1;\n      }\n      if ((int)param_3 < 0x39) {\n        if (param_3 == 0x2a) {\n          return 1;\n        }\n      }\n      else {\n        bVar21 = param_3 < 0x3c;\n        bVar23 = param_3 == 0x3c;\n        if (bVar23) {\n          iVar7 = 0xf;\n          pbVar16 = param_7;\n          pbVar18 = (byte *)"gcc2_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar21 = *pbVar16 < *pbVar18;\n            bVar23 = *pbVar16 == *pbVar18;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n          } while (bVar23);\n          bVar22 = false;\n          bVar21 = (!bVar21 && !bVar23) == bVar21;\n          if (bVar21) {\n            param_2[0xb] = 2;\n            return 1;\n          }\n          iVar7 = 0xe;\n          pbVar16 = (byte *)"gcc_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar22 = *param_7 < *pbVar16;\n            bVar21 = *param_7 == *pbVar16;\n            param_7 = param_7 + (uint)bVar24 * -2 + 1;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n          } while (bVar21);\n          if ((!bVar22 && !bVar21) != bVar22) {\n            param_2[0xc] = 1;\n            return 1;\n          }\n          param_2[0xb] = 1;\n          return 1;\n        }\n        if (param_3 == 0x44) {\n          if (param_2[0x10] != 0) {\n            bVar21 = CARRY4(param_5,param_2[9]);\n            param_5 = param_5 + param_2[9];\n            param_6 = param_6 + param_2[10] + (uint)bVar21;\n          }\n          iVar7 = FUN_0003ca10(param_1,param_4,param_5,param_6);\n          goto LAB_0004426d;\n        }\n      }\n    }" (else "else") (if_statement "if ((int)param_3 < 0x25) {\n      if (param_3 == 0xc) {\n        return 1;\n      }\n      if ((0xb < (int)param_3) && (param_3 - 0x1e < 2)) {\n        return 1;\n      }\n    }\n    else {\n      if (param_3 == 0x38) {\n        return 1;\n      }\n      if ((int)param_3 < 0x39) {\n        if (param_3 == 0x2a) {\n          return 1;\n        }\n      }\n      else {\n        bVar21 = param_3 < 0x3c;\n        bVar23 = param_3 == 0x3c;\n        if (bVar23) {\n          iVar7 = 0xf;\n          pbVar16 = param_7;\n          pbVar18 = (byte *)"gcc2_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar21 = *pbVar16 < *pbVar18;\n            bVar23 = *pbVar16 == *pbVar18;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n          } while (bVar23);\n          bVar22 = false;\n          bVar21 = (!bVar21 && !bVar23) == bVar21;\n          if (bVar21) {\n            param_2[0xb] = 2;\n            return 1;\n          }\n          iVar7 = 0xe;\n          pbVar16 = (byte *)"gcc_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar22 = *param_7 < *pbVar16;\n            bVar21 = *param_7 == *pbVar16;\n            param_7 = param_7 + (uint)bVar24 * -2 + 1;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n          } while (bVar21);\n          if ((!bVar22 && !bVar21) != bVar22) {\n            param_2[0xc] = 1;\n            return 1;\n          }\n          param_2[0xb] = 1;\n          return 1;\n        }\n        if (param_3 == 0x44) {\n          if (param_2[0x10] != 0) {\n            bVar21 = CARRY4(param_5,param_2[9]);\n            param_5 = param_5 + param_2[9];\n            param_6 = param_6 + param_2[10] + (uint)bVar21;\n          }\n          iVar7 = FUN_0003ca10(param_1,param_4,param_5,param_6);\n          goto LAB_0004426d;\n        }\n      }\n    }" (if "if") (parenthesized_expression "((int)param_3 < 0x25)" (( "(") (binary_expression "(int)param_3 < 0x25" (cast_expression "(int)param_3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_3")) (< "<") (number_literal "0x25")) () ")")) (compound_statement "{\n      if (param_3 == 0xc) {\n        return 1;\n      }\n      if ((0xb < (int)param_3) && (param_3 - 0x1e < 2)) {\n        return 1;\n      }\n    }" ({ "{") (if_statement "if (param_3 == 0xc) {\n        return 1;\n      }" (if "if") (parenthesized_expression "(param_3 == 0xc)" (( "(") (binary_expression "param_3 == 0xc" (identifier "param_3") (== "==") (number_literal "0xc")) () ")")) (compound_statement "{\n        return 1;\n      }" ({ "{") (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (if_statement "if ((0xb < (int)param_3) && (param_3 - 0x1e < 2)) {\n        return 1;\n      }" (if "if") (parenthesized_expression "((0xb < (int)param_3) && (param_3 - 0x1e < 2))" (( "(") (binary_expression "(0xb < (int)param_3) && (param_3 - 0x1e < 2)" (parenthesized_expression "(0xb < (int)param_3)" (( "(") (binary_expression "0xb < (int)param_3" (number_literal "0xb") (< "<") (cast_expression "(int)param_3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_3"))) () ")")) (&& "&&") (parenthesized_expression "(param_3 - 0x1e < 2)" (( "(") (binary_expression "param_3 - 0x1e < 2" (binary_expression "param_3 - 0x1e" (identifier "param_3") (- "-") (number_literal "0x1e")) (< "<") (number_literal "2")) () ")"))) () ")")) (compound_statement "{\n        return 1;\n      }" ({ "{") (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n      if (param_3 == 0x38) {\n        return 1;\n      }\n      if ((int)param_3 < 0x39) {\n        if (param_3 == 0x2a) {\n          return 1;\n        }\n      }\n      else {\n        bVar21 = param_3 < 0x3c;\n        bVar23 = param_3 == 0x3c;\n        if (bVar23) {\n          iVar7 = 0xf;\n          pbVar16 = param_7;\n          pbVar18 = (byte *)"gcc2_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar21 = *pbVar16 < *pbVar18;\n            bVar23 = *pbVar16 == *pbVar18;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n          } while (bVar23);\n          bVar22 = false;\n          bVar21 = (!bVar21 && !bVar23) == bVar21;\n          if (bVar21) {\n            param_2[0xb] = 2;\n            return 1;\n          }\n          iVar7 = 0xe;\n          pbVar16 = (byte *)"gcc_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar22 = *param_7 < *pbVar16;\n            bVar21 = *param_7 == *pbVar16;\n            param_7 = param_7 + (uint)bVar24 * -2 + 1;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n          } while (bVar21);\n          if ((!bVar22 && !bVar21) != bVar22) {\n            param_2[0xc] = 1;\n            return 1;\n          }\n          param_2[0xb] = 1;\n          return 1;\n        }\n        if (param_3 == 0x44) {\n          if (param_2[0x10] != 0) {\n            bVar21 = CARRY4(param_5,param_2[9]);\n            param_5 = param_5 + param_2[9];\n            param_6 = param_6 + param_2[10] + (uint)bVar21;\n          }\n          iVar7 = FUN_0003ca10(param_1,param_4,param_5,param_6);\n          goto LAB_0004426d;\n        }\n      }\n    }" (else "else") (compound_statement "{\n      if (param_3 == 0x38) {\n        return 1;\n      }\n      if ((int)param_3 < 0x39) {\n        if (param_3 == 0x2a) {\n          return 1;\n        }\n      }\n      else {\n        bVar21 = param_3 < 0x3c;\n        bVar23 = param_3 == 0x3c;\n        if (bVar23) {\n          iVar7 = 0xf;\n          pbVar16 = param_7;\n          pbVar18 = (byte *)"gcc2_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar21 = *pbVar16 < *pbVar18;\n            bVar23 = *pbVar16 == *pbVar18;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n          } while (bVar23);\n          bVar22 = false;\n          bVar21 = (!bVar21 && !bVar23) == bVar21;\n          if (bVar21) {\n            param_2[0xb] = 2;\n            return 1;\n          }\n          iVar7 = 0xe;\n          pbVar16 = (byte *)"gcc_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar22 = *param_7 < *pbVar16;\n            bVar21 = *param_7 == *pbVar16;\n            param_7 = param_7 + (uint)bVar24 * -2 + 1;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n          } while (bVar21);\n          if ((!bVar22 && !bVar21) != bVar22) {\n            param_2[0xc] = 1;\n            return 1;\n          }\n          param_2[0xb] = 1;\n          return 1;\n        }\n        if (param_3 == 0x44) {\n          if (param_2[0x10] != 0) {\n            bVar21 = CARRY4(param_5,param_2[9]);\n            param_5 = param_5 + param_2[9];\n            param_6 = param_6 + param_2[10] + (uint)bVar21;\n          }\n          iVar7 = FUN_0003ca10(param_1,param_4,param_5,param_6);\n          goto LAB_0004426d;\n        }\n      }\n    }" ({ "{") (if_statement "if (param_3 == 0x38) {\n        return 1;\n      }" (if "if") (parenthesized_expression "(param_3 == 0x38)" (( "(") (binary_expression "param_3 == 0x38" (identifier "param_3") (== "==") (number_literal "0x38")) () ")")) (compound_statement "{\n        return 1;\n      }" ({ "{") (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (if_statement "if ((int)param_3 < 0x39) {\n        if (param_3 == 0x2a) {\n          return 1;\n        }\n      }\n      else {\n        bVar21 = param_3 < 0x3c;\n        bVar23 = param_3 == 0x3c;\n        if (bVar23) {\n          iVar7 = 0xf;\n          pbVar16 = param_7;\n          pbVar18 = (byte *)"gcc2_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar21 = *pbVar16 < *pbVar18;\n            bVar23 = *pbVar16 == *pbVar18;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n          } while (bVar23);\n          bVar22 = false;\n          bVar21 = (!bVar21 && !bVar23) == bVar21;\n          if (bVar21) {\n            param_2[0xb] = 2;\n            return 1;\n          }\n          iVar7 = 0xe;\n          pbVar16 = (byte *)"gcc_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar22 = *param_7 < *pbVar16;\n            bVar21 = *param_7 == *pbVar16;\n            param_7 = param_7 + (uint)bVar24 * -2 + 1;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n          } while (bVar21);\n          if ((!bVar22 && !bVar21) != bVar22) {\n            param_2[0xc] = 1;\n            return 1;\n          }\n          param_2[0xb] = 1;\n          return 1;\n        }\n        if (param_3 == 0x44) {\n          if (param_2[0x10] != 0) {\n            bVar21 = CARRY4(param_5,param_2[9]);\n            param_5 = param_5 + param_2[9];\n            param_6 = param_6 + param_2[10] + (uint)bVar21;\n          }\n          iVar7 = FUN_0003ca10(param_1,param_4,param_5,param_6);\n          goto LAB_0004426d;\n        }\n      }" (if "if") (parenthesized_expression "((int)param_3 < 0x39)" (( "(") (binary_expression "(int)param_3 < 0x39" (cast_expression "(int)param_3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_3")) (< "<") (number_literal "0x39")) () ")")) (compound_statement "{\n        if (param_3 == 0x2a) {\n          return 1;\n        }\n      }" ({ "{") (if_statement "if (param_3 == 0x2a) {\n          return 1;\n        }" (if "if") (parenthesized_expression "(param_3 == 0x2a)" (( "(") (binary_expression "param_3 == 0x2a" (identifier "param_3") (== "==") (number_literal "0x2a")) () ")")) (compound_statement "{\n          return 1;\n        }" ({ "{") (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n        bVar21 = param_3 < 0x3c;\n        bVar23 = param_3 == 0x3c;\n        if (bVar23) {\n          iVar7 = 0xf;\n          pbVar16 = param_7;\n          pbVar18 = (byte *)"gcc2_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar21 = *pbVar16 < *pbVar18;\n            bVar23 = *pbVar16 == *pbVar18;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n          } while (bVar23);\n          bVar22 = false;\n          bVar21 = (!bVar21 && !bVar23) == bVar21;\n          if (bVar21) {\n            param_2[0xb] = 2;\n            return 1;\n          }\n          iVar7 = 0xe;\n          pbVar16 = (byte *)"gcc_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar22 = *param_7 < *pbVar16;\n            bVar21 = *param_7 == *pbVar16;\n            param_7 = param_7 + (uint)bVar24 * -2 + 1;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n          } while (bVar21);\n          if ((!bVar22 && !bVar21) != bVar22) {\n            param_2[0xc] = 1;\n            return 1;\n          }\n          param_2[0xb] = 1;\n          return 1;\n        }\n        if (param_3 == 0x44) {\n          if (param_2[0x10] != 0) {\n            bVar21 = CARRY4(param_5,param_2[9]);\n            param_5 = param_5 + param_2[9];\n            param_6 = param_6 + param_2[10] + (uint)bVar21;\n          }\n          iVar7 = FUN_0003ca10(param_1,param_4,param_5,param_6);\n          goto LAB_0004426d;\n        }\n      }" (else "else") (compound_statement "{\n        bVar21 = param_3 < 0x3c;\n        bVar23 = param_3 == 0x3c;\n        if (bVar23) {\n          iVar7 = 0xf;\n          pbVar16 = param_7;\n          pbVar18 = (byte *)"gcc2_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar21 = *pbVar16 < *pbVar18;\n            bVar23 = *pbVar16 == *pbVar18;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n          } while (bVar23);\n          bVar22 = false;\n          bVar21 = (!bVar21 && !bVar23) == bVar21;\n          if (bVar21) {\n            param_2[0xb] = 2;\n            return 1;\n          }\n          iVar7 = 0xe;\n          pbVar16 = (byte *)"gcc_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar22 = *param_7 < *pbVar16;\n            bVar21 = *param_7 == *pbVar16;\n            param_7 = param_7 + (uint)bVar24 * -2 + 1;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n          } while (bVar21);\n          if ((!bVar22 && !bVar21) != bVar22) {\n            param_2[0xc] = 1;\n            return 1;\n          }\n          param_2[0xb] = 1;\n          return 1;\n        }\n        if (param_3 == 0x44) {\n          if (param_2[0x10] != 0) {\n            bVar21 = CARRY4(param_5,param_2[9]);\n            param_5 = param_5 + param_2[9];\n            param_6 = param_6 + param_2[10] + (uint)bVar21;\n          }\n          iVar7 = FUN_0003ca10(param_1,param_4,param_5,param_6);\n          goto LAB_0004426d;\n        }\n      }" ({ "{") (expression_statement "bVar21 = param_3 < 0x3c;" (assignment_expression "bVar21 = param_3 < 0x3c" (identifier "bVar21") (= "=") (binary_expression "param_3 < 0x3c" (identifier "param_3") (< "<") (number_literal "0x3c"))) (; ";")) (expression_statement "bVar23 = param_3 == 0x3c;" (assignment_expression "bVar23 = param_3 == 0x3c" (identifier "bVar23") (= "=") (binary_expression "param_3 == 0x3c" (identifier "param_3") (== "==") (number_literal "0x3c"))) (; ";")) (if_statement "if (bVar23) {\n          iVar7 = 0xf;\n          pbVar16 = param_7;\n          pbVar18 = (byte *)"gcc2_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar21 = *pbVar16 < *pbVar18;\n            bVar23 = *pbVar16 == *pbVar18;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n          } while (bVar23);\n          bVar22 = false;\n          bVar21 = (!bVar21 && !bVar23) == bVar21;\n          if (bVar21) {\n            param_2[0xb] = 2;\n            return 1;\n          }\n          iVar7 = 0xe;\n          pbVar16 = (byte *)"gcc_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar22 = *param_7 < *pbVar16;\n            bVar21 = *param_7 == *pbVar16;\n            param_7 = param_7 + (uint)bVar24 * -2 + 1;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n          } while (bVar21);\n          if ((!bVar22 && !bVar21) != bVar22) {\n            param_2[0xc] = 1;\n            return 1;\n          }\n          param_2[0xb] = 1;\n          return 1;\n        }" (if "if") (parenthesized_expression "(bVar23)" (( "(") (identifier "bVar23") () ")")) (compound_statement "{\n          iVar7 = 0xf;\n          pbVar16 = param_7;\n          pbVar18 = (byte *)"gcc2_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar21 = *pbVar16 < *pbVar18;\n            bVar23 = *pbVar16 == *pbVar18;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n          } while (bVar23);\n          bVar22 = false;\n          bVar21 = (!bVar21 && !bVar23) == bVar21;\n          if (bVar21) {\n            param_2[0xb] = 2;\n            return 1;\n          }\n          iVar7 = 0xe;\n          pbVar16 = (byte *)"gcc_compiled.";\n          do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar22 = *param_7 < *pbVar16;\n            bVar21 = *param_7 == *pbVar16;\n            param_7 = param_7 + (uint)bVar24 * -2 + 1;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n          } while (bVar21);\n          if ((!bVar22 && !bVar21) != bVar22) {\n            param_2[0xc] = 1;\n            return 1;\n          }\n          param_2[0xb] = 1;\n          return 1;\n        }" ({ "{") (expression_statement "iVar7 = 0xf;" (assignment_expression "iVar7 = 0xf" (identifier "iVar7") (= "=") (number_literal "0xf")) (; ";")) (expression_statement "pbVar16 = param_7;" (assignment_expression "pbVar16 = param_7" (identifier "pbVar16") (= "=") (identifier "param_7")) (; ";")) (expression_statement "pbVar18 = (byte *)"gcc2_compiled.";" (assignment_expression "pbVar18 = (byte *)"gcc2_compiled."" (identifier "pbVar18") (= "=") (cast_expression "(byte *)"gcc2_compiled."" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal ""gcc2_compiled."" (" """) (string_content "gcc2_compiled.") (" """)))) (; ";")) (do_statement "do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar21 = *pbVar16 < *pbVar18;\n            bVar23 = *pbVar16 == *pbVar18;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n          } while (bVar23);" (do "do") (compound_statement "{\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar21 = *pbVar16 < *pbVar18;\n            bVar23 = *pbVar16 == *pbVar18;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n          }" ({ "{") (if_statement "if (iVar7 == 0) break;" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar7 = iVar7 + -1;" (assignment_expression "iVar7 = iVar7 + -1" (identifier "iVar7") (= "=") (binary_expression "iVar7 + -1" (identifier "iVar7") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar21 = *pbVar16 < *pbVar18;" (assignment_expression "bVar21 = *pbVar16 < *pbVar18" (identifier "bVar21") (= "=") (binary_expression "*pbVar16 < *pbVar18" (pointer_expression "*pbVar16" (* "*") (identifier "pbVar16")) (< "<") (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")))) (; ";")) (expression_statement "bVar23 = *pbVar16 == *pbVar18;" (assignment_expression "bVar23 = *pbVar16 == *pbVar18" (identifier "bVar23") (= "=") (binary_expression "*pbVar16 == *pbVar18" (pointer_expression "*pbVar16" (* "*") (identifier "pbVar16")) (== "==") (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")))) (; ";")) (expression_statement "pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;" (assignment_expression "pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1" (identifier "pbVar16") (= "=") (binary_expression "pbVar16 + (uint)bVar24 * -2 + 1" (binary_expression "pbVar16 + (uint)bVar24 * -2" (identifier "pbVar16") (+ "+") (binary_expression "(uint)bVar24 * -2" (cast_expression "(uint)bVar24" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar24")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1" (identifier "pbVar18") (= "=") (binary_expression "pbVar18 + (uint)bVar24 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar24 * -2" (identifier "pbVar18") (+ "+") (binary_expression "(uint)bVar24 * -2" (cast_expression "(uint)bVar24" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar24")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar23)" (( "(") (identifier "bVar23") () ")")) (; ";")) (expression_statement "bVar22 = false;" (assignment_expression "bVar22 = false" (identifier "bVar22") (= "=") (false "false")) (; ";")) (expression_statement "bVar21 = (!bVar21 && !bVar23) == bVar21;" (assignment_expression "bVar21 = (!bVar21 && !bVar23) == bVar21" (identifier "bVar21") (= "=") (binary_expression "(!bVar21 && !bVar23) == bVar21" (parenthesized_expression "(!bVar21 && !bVar23)" (( "(") (binary_expression "!bVar21 && !bVar23" (unary_expression "!bVar21" (! "!") (identifier "bVar21")) (&& "&&") (unary_expression "!bVar23" (! "!") (identifier "bVar23"))) () ")")) (== "==") (identifier "bVar21"))) (; ";")) (if_statement "if (bVar21) {\n            param_2[0xb] = 2;\n            return 1;\n          }" (if "if") (parenthesized_expression "(bVar21)" (( "(") (identifier "bVar21") () ")")) (compound_statement "{\n            param_2[0xb] = 2;\n            return 1;\n          }" ({ "{") (expression_statement "param_2[0xb] = 2;" (assignment_expression "param_2[0xb] = 2" (subscript_expression "param_2[0xb]" (identifier "param_2") ([ "[") (number_literal "0xb") (] "]")) (= "=") (number_literal "2")) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (expression_statement "iVar7 = 0xe;" (assignment_expression "iVar7 = 0xe" (identifier "iVar7") (= "=") (number_literal "0xe")) (; ";")) (expression_statement "pbVar16 = (byte *)"gcc_compiled.";" (assignment_expression "pbVar16 = (byte *)"gcc_compiled."" (identifier "pbVar16") (= "=") (cast_expression "(byte *)"gcc_compiled."" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal ""gcc_compiled."" (" """) (string_content "gcc_compiled.") (" """)))) (; ";")) (do_statement "do {\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar22 = *param_7 < *pbVar16;\n            bVar21 = *param_7 == *pbVar16;\n            param_7 = param_7 + (uint)bVar24 * -2 + 1;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n          } while (bVar21);" (do "do") (compound_statement "{\n            if (iVar7 == 0) break;\n            iVar7 = iVar7 + -1;\n            bVar22 = *param_7 < *pbVar16;\n            bVar21 = *param_7 == *pbVar16;\n            param_7 = param_7 + (uint)bVar24 * -2 + 1;\n            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;\n          }" ({ "{") (if_statement "if (iVar7 == 0) break;" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar7 = iVar7 + -1;" (assignment_expression "iVar7 = iVar7 + -1" (identifier "iVar7") (= "=") (binary_expression "iVar7 + -1" (identifier "iVar7") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar22 = *param_7 < *pbVar16;" (assignment_expression "bVar22 = *param_7 < *pbVar16" (identifier "bVar22") (= "=") (binary_expression "*param_7 < *pbVar16" (pointer_expression "*param_7" (* "*") (identifier "param_7")) (< "<") (pointer_expression "*pbVar16" (* "*") (identifier "pbVar16")))) (; ";")) (expression_statement "bVar21 = *param_7 == *pbVar16;" (assignment_expression "bVar21 = *param_7 == *pbVar16" (identifier "bVar21") (= "=") (binary_expression "*param_7 == *pbVar16" (pointer_expression "*param_7" (* "*") (identifier "param_7")) (== "==") (pointer_expression "*pbVar16" (* "*") (identifier "pbVar16")))) (; ";")) (expression_statement "param_7 = param_7 + (uint)bVar24 * -2 + 1;" (assignment_expression "param_7 = param_7 + (uint)bVar24 * -2 + 1" (identifier "param_7") (= "=") (binary_expression "param_7 + (uint)bVar24 * -2 + 1" (binary_expression "param_7 + (uint)bVar24 * -2" (identifier "param_7") (+ "+") (binary_expression "(uint)bVar24 * -2" (cast_expression "(uint)bVar24" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar24")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;" (assignment_expression "pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1" (identifier "pbVar16") (= "=") (binary_expression "pbVar16 + (uint)bVar24 * -2 + 1" (binary_expression "pbVar16 + (uint)bVar24 * -2" (identifier "pbVar16") (+ "+") (binary_expression "(uint)bVar24 * -2" (cast_expression "(uint)bVar24" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar24")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar21)" (( "(") (identifier "bVar21") () ")")) (; ";")) (if_statement "if ((!bVar22 && !bVar21) != bVar22) {\n            param_2[0xc] = 1;\n            return 1;\n          }" (if "if") (parenthesized_expression "((!bVar22 && !bVar21) != bVar22)" (( "(") (binary_expression "(!bVar22 && !bVar21) != bVar22" (parenthesized_expression "(!bVar22 && !bVar21)" (( "(") (binary_expression "!bVar22 && !bVar21" (unary_expression "!bVar22" (! "!") (identifier "bVar22")) (&& "&&") (unary_expression "!bVar21" (! "!") (identifier "bVar21"))) () ")")) (!= "!=") (identifier "bVar22")) () ")")) (compound_statement "{\n            param_2[0xc] = 1;\n            return 1;\n          }" ({ "{") (expression_statement "param_2[0xc] = 1;" (assignment_expression "param_2[0xc] = 1" (subscript_expression "param_2[0xc]" (identifier "param_2") ([ "[") (number_literal "0xc") (] "]")) (= "=") (number_literal "1")) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (expression_statement "param_2[0xb] = 1;" (assignment_expression "param_2[0xb] = 1" (subscript_expression "param_2[0xb]" (identifier "param_2") ([ "[") (number_literal "0xb") (] "]")) (= "=") (number_literal "1")) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (if_statement "if (param_3 == 0x44) {\n          if (param_2[0x10] != 0) {\n            bVar21 = CARRY4(param_5,param_2[9]);\n            param_5 = param_5 + param_2[9];\n            param_6 = param_6 + param_2[10] + (uint)bVar21;\n          }\n          iVar7 = FUN_0003ca10(param_1,param_4,param_5,param_6);\n          goto LAB_0004426d;\n        }" (if "if") (parenthesized_expression "(param_3 == 0x44)" (( "(") (binary_expression "param_3 == 0x44" (identifier "param_3") (== "==") (number_literal "0x44")) () ")")) (compound_statement "{\n          if (param_2[0x10] != 0) {\n            bVar21 = CARRY4(param_5,param_2[9]);\n            param_5 = param_5 + param_2[9];\n            param_6 = param_6 + param_2[10] + (uint)bVar21;\n          }\n          iVar7 = FUN_0003ca10(param_1,param_4,param_5,param_6);\n          goto LAB_0004426d;\n        }" ({ "{") (if_statement "if (param_2[0x10] != 0) {\n            bVar21 = CARRY4(param_5,param_2[9]);\n            param_5 = param_5 + param_2[9];\n            param_6 = param_6 + param_2[10] + (uint)bVar21;\n          }" (if "if") (parenthesized_expression "(param_2[0x10] != 0)" (( "(") (binary_expression "param_2[0x10] != 0" (subscript_expression "param_2[0x10]" (identifier "param_2") ([ "[") (number_literal "0x10") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            bVar21 = CARRY4(param_5,param_2[9]);\n            param_5 = param_5 + param_2[9];\n            param_6 = param_6 + param_2[10] + (uint)bVar21;\n          }" ({ "{") (expression_statement "bVar21 = CARRY4(param_5,param_2[9]);" (assignment_expression "bVar21 = CARRY4(param_5,param_2[9])" (identifier "bVar21") (= "=") (call_expression "CARRY4(param_5,param_2[9])" (identifier "CARRY4") (argument_list "(param_5,param_2[9])" (( "(") (identifier "param_5") (, ",") (subscript_expression "param_2[9]" (identifier "param_2") ([ "[") (number_literal "9") (] "]")) () ")")))) (; ";")) (expression_statement "param_5 = param_5 + param_2[9];" (assignment_expression "param_5 = param_5 + param_2[9]" (identifier "param_5") (= "=") (binary_expression "param_5 + param_2[9]" (identifier "param_5") (+ "+") (subscript_expression "param_2[9]" (identifier "param_2") ([ "[") (number_literal "9") (] "]")))) (; ";")) (expression_statement "param_6 = param_6 + param_2[10] + (uint)bVar21;" (assignment_expression "param_6 = param_6 + param_2[10] + (uint)bVar21" (identifier "param_6") (= "=") (binary_expression "param_6 + param_2[10] + (uint)bVar21" (binary_expression "param_6 + param_2[10]" (identifier "param_6") (+ "+") (subscript_expression "param_2[10]" (identifier "param_2") ([ "[") (number_literal "10") (] "]"))) (+ "+") (cast_expression "(uint)bVar21" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar21")))) (; ";")) (} "}"))) (expression_statement "iVar7 = FUN_0003ca10(param_1,param_4,param_5,param_6);" (assignment_expression "iVar7 = FUN_0003ca10(param_1,param_4,param_5,param_6)" (identifier "iVar7") (= "=") (call_expression "FUN_0003ca10(param_1,param_4,param_5,param_6)" (identifier "FUN_0003ca10") (argument_list "(param_1,param_4,param_5,param_6)" (( "(") (identifier "param_1") (, ",") (identifier "param_4") (, ",") (identifier "param_5") (, ",") (identifier "param_6") () ")")))) (; ";")) (goto_statement "goto LAB_0004426d;" (goto "goto") (statement_identifier "LAB_0004426d") (; ";")) (} "}"))) (} "}")))) (} "}")))))) (labeled_statement "LAB_00044431:\n    local_24 = (byte *)strchr((char *)param_7,0x3a);" (statement_identifier "LAB_00044431") (: ":") (expression_statement "local_24 = (byte *)strchr((char *)param_7,0x3a);" (assignment_expression "local_24 = (byte *)strchr((char *)param_7,0x3a)" (identifier "local_24") (= "=") (cast_expression "(byte *)strchr((char *)param_7,0x3a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "strchr((char *)param_7,0x3a)" (identifier "strchr") (argument_list "((char *)param_7,0x3a)" (( "(") (cast_expression "(char *)param_7" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_7")) (, ",") (number_literal "0x3a") () ")"))))) (; ";"))) (if_statement "if (local_24 == (byte *)0x0) {\n      return 1;\n    }" (if "if") (parenthesized_expression "(local_24 == (byte *)0x0)" (( "(") (binary_expression "local_24 == (byte *)0x0" (identifier "local_24") (== "==") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      return 1;\n    }" ({ "{") (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (expression_statement "bVar24 = local_24[1];" (assignment_expression "bVar24 = local_24[1]" (identifier "bVar24") (= "=") (subscript_expression "local_24[1]" (identifier "local_24") ([ "[") (number_literal "1") (] "]"))) (; ";")) (if_statement "if ((bVar24 & 0xdf) != 0x46) goto LAB_000447b5;" (if "if") (parenthesized_expression "((bVar24 & 0xdf) != 0x46)" (( "(") (binary_expression "(bVar24 & 0xdf) != 0x46" (parenthesized_expression "(bVar24 & 0xdf)" (( "(") (binary_expression "bVar24 & 0xdf" (identifier "bVar24") (& "&") (number_literal "0xdf")) () ")")) (!= "!=") (number_literal "0x46")) () ")")) (goto_statement "goto LAB_000447b5;" (goto "goto") (statement_identifier "LAB_000447b5") (; ";"))) (if_statement "if (param_2[0x10] != 0) {\n      local_3c = (char *)param_2[0x11];\n      local_38 = param_2[0x12];\n      if ((((uint)local_3c & local_38) == 0xffffffff) ||\n         (param_6 <= local_38 && (uint)(local_3c < param_5) <= local_38 - param_6)) {\n        local_3c = (char *)param_5;\n        local_38 = param_6;\n      }\n      iVar7 = FUN_0003e2f0();\n      if ((iVar7 == 0) || (iVar7 = FUN_0003c7e0(param_1,local_3c,local_38), iVar7 == 0)) {\n        return 0;\n      }\n      param_2[0x11] = -1;\n      param_2[0x12] = -1;\n    }" (if "if") (parenthesized_expression "(param_2[0x10] != 0)" (( "(") (binary_expression "param_2[0x10] != 0" (subscript_expression "param_2[0x10]" (identifier "param_2") ([ "[") (number_literal "0x10") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      local_3c = (char *)param_2[0x11];\n      local_38 = param_2[0x12];\n      if ((((uint)local_3c & local_38) == 0xffffffff) ||\n         (param_6 <= local_38 && (uint)(local_3c < param_5) <= local_38 - param_6)) {\n        local_3c = (char *)param_5;\n        local_38 = param_6;\n      }\n      iVar7 = FUN_0003e2f0();\n      if ((iVar7 == 0) || (iVar7 = FUN_0003c7e0(param_1,local_3c,local_38), iVar7 == 0)) {\n        return 0;\n      }\n      param_2[0x11] = -1;\n      param_2[0x12] = -1;\n    }" ({ "{") (expression_statement "local_3c = (char *)param_2[0x11];" (assignment_expression "local_3c = (char *)param_2[0x11]" (identifier "local_3c") (= "=") (cast_expression "(char *)param_2[0x11]" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[0x11]" (identifier "param_2") ([ "[") (number_literal "0x11") (] "]")))) (; ";")) (expression_statement "local_38 = param_2[0x12];" (assignment_expression "local_38 = param_2[0x12]" (identifier "local_38") (= "=") (subscript_expression "param_2[0x12]" (identifier "param_2") ([ "[") (number_literal "0x12") (] "]"))) (; ";")) (if_statement "if ((((uint)local_3c & local_38) == 0xffffffff) ||\n         (param_6 <= local_38 && (uint)(local_3c < param_5) <= local_38 - param_6)) {\n        local_3c = (char *)param_5;\n        local_38 = param_6;\n      }" (if "if") (parenthesized_expression "((((uint)local_3c & local_38) == 0xffffffff) ||\n         (param_6 <= local_38 && (uint)(local_3c < param_5) <= local_38 - param_6))" (( "(") (binary_expression "(((uint)local_3c & local_38) == 0xffffffff) ||\n         (param_6 <= local_38 && (uint)(local_3c < param_5) <= local_38 - param_6)" (parenthesized_expression "(((uint)local_3c & local_38) == 0xffffffff)" (( "(") (binary_expression "((uint)local_3c & local_38) == 0xffffffff" (parenthesized_expression "((uint)local_3c & local_38)" (( "(") (binary_expression "(uint)local_3c & local_38" (cast_expression "(uint)local_3c" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_3c")) (& "&") (identifier "local_38")) () ")")) (== "==") (number_literal "0xffffffff")) () ")")) (|| "||") (parenthesized_expression "(param_6 <= local_38 && (uint)(local_3c < param_5) <= local_38 - param_6)" (( "(") (binary_expression "param_6 <= local_38 && (uint)(local_3c < param_5) <= local_38 - param_6" (binary_expression "param_6 <= local_38" (identifier "param_6") (<= "<=") (identifier "local_38")) (&& "&&") (binary_expression "(uint)(local_3c < param_5) <= local_38 - param_6" (call_expression "(uint)(local_3c < param_5)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(local_3c < param_5)" (( "(") (binary_expression "local_3c < param_5" (identifier "local_3c") (< "<") (identifier "param_5")) () ")"))) (<= "<=") (binary_expression "local_38 - param_6" (identifier "local_38") (- "-") (identifier "param_6")))) () ")"))) () ")")) (compound_statement "{\n        local_3c = (char *)param_5;\n        local_38 = param_6;\n      }" ({ "{") (expression_statement "local_3c = (char *)param_5;" (assignment_expression "local_3c = (char *)param_5" (identifier "local_3c") (= "=") (cast_expression "(char *)param_5" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_5"))) (; ";")) (expression_statement "local_38 = param_6;" (assignment_expression "local_38 = param_6" (identifier "local_38") (= "=") (identifier "param_6")) (; ";")) (} "}"))) (expression_statement "iVar7 = FUN_0003e2f0();" (assignment_expression "iVar7 = FUN_0003e2f0()" (identifier "iVar7") (= "=") (call_expression "FUN_0003e2f0()" (identifier "FUN_0003e2f0") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if ((iVar7 == 0) || (iVar7 = FUN_0003c7e0(param_1,local_3c,local_38), iVar7 == 0)) {\n        return 0;\n      }" (if "if") (parenthesized_expression "((iVar7 == 0) || (iVar7 = FUN_0003c7e0(param_1,local_3c,local_38), iVar7 == 0))" (( "(") (binary_expression "(iVar7 == 0) || (iVar7 = FUN_0003c7e0(param_1,local_3c,local_38), iVar7 == 0)" (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar7 = FUN_0003c7e0(param_1,local_3c,local_38), iVar7 == 0)" (( "(") (comma_expression "iVar7 = FUN_0003c7e0(param_1,local_3c,local_38), iVar7 == 0" (assignment_expression "iVar7 = FUN_0003c7e0(param_1,local_3c,local_38)" (identifier "iVar7") (= "=") (call_expression "FUN_0003c7e0(param_1,local_3c,local_38)" (identifier "FUN_0003c7e0") (argument_list "(param_1,local_3c,local_38)" (( "(") (identifier "param_1") (, ",") (identifier "local_3c") (, ",") (identifier "local_38") () ")")))) (, ",") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n        return 0;\n      }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "param_2[0x11] = -1;" (assignment_expression "param_2[0x11] = -1" (subscript_expression "param_2[0x11]" (identifier "param_2") ([ "[") (number_literal "0x11") (] "]")) (= "=") (number_literal "-1")) (; ";")) (expression_statement "param_2[0x12] = -1;" (assignment_expression "param_2[0x12] = -1" (subscript_expression "param_2[0x12]" (identifier "param_2") ([ "[") (number_literal "0x12") (] "]")) (= "=") (number_literal "-1")) (; ";")) (} "}"))) (if_statement "if (param_2[1] != 0) {\n      param_2[9] = param_5;\n      param_2[10] = param_6;\n    }" (if "if") (parenthesized_expression "(param_2[1] != 0)" (( "(") (binary_expression "param_2[1] != 0" (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      param_2[9] = param_5;\n      param_2[10] = param_6;\n    }" ({ "{") (expression_statement "param_2[9] = param_5;" (assignment_expression "param_2[9] = param_5" (subscript_expression "param_2[9]" (identifier "param_2") ([ "[") (number_literal "9") (] "]")) (= "=") (identifier "param_5")) (; ";")) (expression_statement "param_2[10] = param_6;" (assignment_expression "param_2[10] = param_6" (subscript_expression "param_2[10]" (identifier "param_2") ([ "[") (number_literal "10") (] "]")) (= "=") (identifier "param_6")) (; ";")) (} "}"))) (expression_statement "param_2[0x10] = 1;" (assignment_expression "param_2[0x10] = 1" (subscript_expression "param_2[0x10]" (identifier "param_2") ([ "[") (number_literal "0x10") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "local_24 = (byte *)strchr((char *)param_7,0x3a);" (assignment_expression "local_24 = (byte *)strchr((char *)param_7,0x3a)" (identifier "local_24") (= "=") (cast_expression "(byte *)strchr((char *)param_7,0x3a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "strchr((char *)param_7,0x3a)" (identifier "strchr") (argument_list "((char *)param_7,0x3a)" (( "(") (cast_expression "(char *)param_7" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_7")) (, ",") (number_literal "0x3a") () ")"))))) (; ";")) (if_statement "if (local_24 == (byte *)0x0) {\n      return 1;\n    }" (if "if") (parenthesized_expression "(local_24 == (byte *)0x0)" (( "(") (binary_expression "local_24 == (byte *)0x0" (identifier "local_24") (== "==") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      return 1;\n    }" ({ "{") (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (labeled_statement "LAB_000447b1:\n    bVar24 = local_24[1];" (statement_identifier "LAB_000447b1") (: ":") (expression_statement "bVar24 = local_24[1];" (assignment_expression "bVar24 = local_24[1]" (identifier "bVar24") (= "=") (subscript_expression "local_24[1]" (identifier "local_24") ([ "[") (number_literal "1") (] "]"))) (; ";"))) (labeled_statement "LAB_000447b5:\n    if (bVar24 == 0x3a) goto LAB_00044790;" (statement_identifier "LAB_000447b5") (: ":") (if_statement "if (bVar24 == 0x3a) goto LAB_00044790;" (if "if") (parenthesized_expression "(bVar24 == 0x3a)" (( "(") (binary_expression "bVar24 == 0x3a" (identifier "bVar24") (== "==") (number_literal "0x3a")) () ")")) (goto_statement "goto LAB_00044790;" (goto "goto") (statement_identifier "LAB_00044790") (; ";")))) (if_statement "if (*param_7 != 0x24) goto LAB_000447c7;" (if "if") (parenthesized_expression "(*param_7 != 0x24)" (( "(") (binary_expression "*param_7 != 0x24" (pointer_expression "*param_7" (* "*") (identifier "param_7")) (!= "!=") (number_literal "0x24")) () ")")) (goto_statement "goto LAB_000447c7;" (goto "goto") (statement_identifier "LAB_000447c7") (; ";"))) (switch_statement "switch(param_7[1]) {\n    default:\n      dcgettext(0,"unknown C++ encoded name",5);\n      FUN_0003df30();\n    case 0x58:\n    case 0x5f:\n    case 0x76:\nLAB_000447c7:\n      local_3c = (char *)0x0;\n      if ((param_7 != local_24) && ((*param_7 != 0x20 || (local_24 != param_7 + 1)))) {\n        local_3c = (char *)FUN_0003e060();\n      }\n      break;\n    case 0x65:\n      local_3c = "eh_throw";\n      break;\n    case 0x74:\n      local_3c = "this";\n    }" (switch "switch") (parenthesized_expression "(param_7[1])" (( "(") (subscript_expression "param_7[1]" (identifier "param_7") ([ "[") (number_literal "1") (] "]")) () ")")) (compound_statement "{\n    default:\n      dcgettext(0,"unknown C++ encoded name",5);\n      FUN_0003df30();\n    case 0x58:\n    case 0x5f:\n    case 0x76:\nLAB_000447c7:\n      local_3c = (char *)0x0;\n      if ((param_7 != local_24) && ((*param_7 != 0x20 || (local_24 != param_7 + 1)))) {\n        local_3c = (char *)FUN_0003e060();\n      }\n      break;\n    case 0x65:\n      local_3c = "eh_throw";\n      break;\n    case 0x74:\n      local_3c = "this";\n    }" ({ "{") (case_statement "default:\n      dcgettext(0,"unknown C++ encoded name",5);\n      FUN_0003df30();" (default "default") (: ":") (expression_statement "dcgettext(0,"unknown C++ encoded name",5);" (call_expression "dcgettext(0,"unknown C++ encoded name",5)" (identifier "dcgettext") (argument_list "(0,"unknown C++ encoded name",5)" (( "(") (number_literal "0") (, ",") (string_literal ""unknown C++ encoded name"" (" """) (string_content "unknown C++ encoded name") (" """)) (, ",") (number_literal "5") () ")"))) (; ";")) (expression_statement "FUN_0003df30();" (call_expression "FUN_0003df30()" (identifier "FUN_0003df30") (argument_list "()" (( "(") () ")"))) (; ";"))) (case_statement "case 0x58:" (case "case") (number_literal "0x58") (: ":")) (case_statement "case 0x5f:" (case "case") (number_literal "0x5f") (: ":")) (case_statement "case 0x76:\nLAB_000447c7:\n      local_3c = (char *)0x0;\n      if ((param_7 != local_24) && ((*param_7 != 0x20 || (local_24 != param_7 + 1)))) {\n        local_3c = (char *)FUN_0003e060();\n      }\n      break;" (case "case") (number_literal "0x76") (: ":") (labeled_statement "LAB_000447c7:\n      local_3c = (char *)0x0;" (statement_identifier "LAB_000447c7") (: ":") (expression_statement "local_3c = (char *)0x0;" (assignment_expression "local_3c = (char *)0x0" (identifier "local_3c") (= "=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";"))) (if_statement "if ((param_7 != local_24) && ((*param_7 != 0x20 || (local_24 != param_7 + 1)))) {\n        local_3c = (char *)FUN_0003e060();\n      }" (if "if") (parenthesized_expression "((param_7 != local_24) && ((*param_7 != 0x20 || (local_24 != param_7 + 1))))" (( "(") (binary_expression "(param_7 != local_24) && ((*param_7 != 0x20 || (local_24 != param_7 + 1)))" (parenthesized_expression "(param_7 != local_24)" (( "(") (binary_expression "param_7 != local_24" (identifier "param_7") (!= "!=") (identifier "local_24")) () ")")) (&& "&&") (parenthesized_expression "((*param_7 != 0x20 || (local_24 != param_7 + 1)))" (( "(") (parenthesized_expression "(*param_7 != 0x20 || (local_24 != param_7 + 1))" (( "(") (binary_expression "*param_7 != 0x20 || (local_24 != param_7 + 1)" (binary_expression "*param_7 != 0x20" (pointer_expression "*param_7" (* "*") (identifier "param_7")) (!= "!=") (number_literal "0x20")) (|| "||") (parenthesized_expression "(local_24 != param_7 + 1)" (( "(") (binary_expression "local_24 != param_7 + 1" (identifier "local_24") (!= "!=") (binary_expression "param_7 + 1" (identifier "param_7") (+ "+") (number_literal "1"))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n        local_3c = (char *)FUN_0003e060();\n      }" ({ "{") (expression_statement "local_3c = (char *)FUN_0003e060();" (assignment_expression "local_3c = (char *)FUN_0003e060()" (identifier "local_3c") (= "=") (cast_expression "(char *)FUN_0003e060()" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0003e060()" (identifier "FUN_0003e060") (argument_list "()" (( "(") () ")"))))) (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x65:\n      local_3c = "eh_throw";\n      break;" (case "case") (number_literal "0x65") (: ":") (expression_statement "local_3c = "eh_throw";" (assignment_expression "local_3c = "eh_throw"" (identifier "local_3c") (= "=") (string_literal ""eh_throw"" (" """) (string_content "eh_throw") (" """))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x74:\n      local_3c = "this";" (case "case") (number_literal "0x74") (: ":") (expression_statement "local_3c = "this";" (assignment_expression "local_3c = "this"" (identifier "local_3c") (= "=") (string_literal ""this"" (" """) (string_content "this") (" """))) (; ";"))) (} "}"))) (expression_statement "param_7 = param_7 + sVar9;" (assignment_expression "param_7 = param_7 + sVar9" (identifier "param_7") (= "=") (binary_expression "param_7 + sVar9" (identifier "param_7") (+ "+") (identifier "sVar9"))) (; ";")) (expression_statement "pbVar16 = local_24 + 1;" (assignment_expression "pbVar16 = local_24 + 1" (identifier "pbVar16") (= "=") (binary_expression "local_24 + 1" (identifier "local_24") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "bVar24 = local_24[1];" (assignment_expression "bVar24 = local_24[1]" (identifier "bVar24") (= "=") (subscript_expression "local_24[1]" (identifier "local_24") ([ "[") (number_literal "1") (] "]"))) (; ";")) (if_statement "if (((PTR__sch_istable_00071fbc[(uint)bVar24 * 2] & 4) != 0) ||\n       (bVar24 == 0x28 || bVar24 == 0x2d)) {\nLAB_0004483d:\n      local_24 = pbVar16;\n      iVar7 = FUN_00040c70(&local_24,0,param_7);\n      if (iVar7 == 0) {\n        return 0;\n      }\n      uVar27 = 4;\n      goto code_r0x0004486e;\n    }" (if "if") (parenthesized_expression "(((PTR__sch_istable_00071fbc[(uint)bVar24 * 2] & 4) != 0) ||\n       (bVar24 == 0x28 || bVar24 == 0x2d))" (( "(") (binary_expression "((PTR__sch_istable_00071fbc[(uint)bVar24 * 2] & 4) != 0) ||\n       (bVar24 == 0x28 || bVar24 == 0x2d)" (parenthesized_expression "((PTR__sch_istable_00071fbc[(uint)bVar24 * 2] & 4) != 0)" (( "(") (binary_expression "(PTR__sch_istable_00071fbc[(uint)bVar24 * 2] & 4) != 0" (parenthesized_expression "(PTR__sch_istable_00071fbc[(uint)bVar24 * 2] & 4)" (( "(") (binary_expression "PTR__sch_istable_00071fbc[(uint)bVar24 * 2] & 4" (subscript_expression "PTR__sch_istable_00071fbc[(uint)bVar24 * 2]" (identifier "PTR__sch_istable_00071fbc") ([ "[") (binary_expression "(uint)bVar24 * 2" (cast_expression "(uint)bVar24" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar24")) (* "*") (number_literal "2")) (] "]")) (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(bVar24 == 0x28 || bVar24 == 0x2d)" (( "(") (binary_expression "bVar24 == 0x28 || bVar24 == 0x2d" (binary_expression "bVar24 == 0x28" (identifier "bVar24") (== "==") (number_literal "0x28")) (|| "||") (binary_expression "bVar24 == 0x2d" (identifier "bVar24") (== "==") (number_literal "0x2d"))) () ")"))) () ")")) (compound_statement "{\nLAB_0004483d:\n      local_24 = pbVar16;\n      iVar7 = FUN_00040c70(&local_24,0,param_7);\n      if (iVar7 == 0) {\n        return 0;\n      }\n      uVar27 = 4;\n      goto code_r0x0004486e;\n    }" ({ "{") (labeled_statement "LAB_0004483d:\n      local_24 = pbVar16;" (statement_identifier "LAB_0004483d") (: ":") (expression_statement "local_24 = pbVar16;" (assignment_expression "local_24 = pbVar16" (identifier "local_24") (= "=") (identifier "pbVar16")) (; ";"))) (expression_statement "iVar7 = FUN_00040c70(&local_24,0,param_7);" (assignment_expression "iVar7 = FUN_00040c70(&local_24,0,param_7)" (identifier "iVar7") (= "=") (call_expression "FUN_00040c70(&local_24,0,param_7)" (identifier "FUN_00040c70") (argument_list "(&local_24,0,param_7)" (( "(") (pointer_expression "&local_24" (& "&") (identifier "local_24")) (, ",") (number_literal "0") (, ",") (identifier "param_7") () ")")))) (; ";")) (if_statement "if (iVar7 == 0) {\n        return 0;\n      }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        return 0;\n      }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "uVar27 = 4;" (assignment_expression "uVar27 = 4" (identifier "uVar27") (= "=") (number_literal "4")) (; ";")) (goto_statement "goto code_r0x0004486e;" (goto "goto") (statement_identifier "code_r0x0004486e") (; ";")) (} "}"))) (if_statement "if (bVar24 != 0) {\n      pbVar16 = local_24 + 2;\n      bVar24 = local_24[1];\n      if (0x33 < (byte)(bVar24 + 0xbd)) goto LAB_00044e16;\n      iVar7 = (int)&__DT_PLTGOT + *(int *)(&DAT_00057e08 + (uint)(byte)(bVar24 + 0xbd) * 4);\n      switch(bVar24) {\n      case 0x43:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,bVar24);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003ccf0(param_1,local_3c,iVar7,param_5,param_6);\n        goto joined_r0x00044fe7;\n      default:\n        goto LAB_00044e16;\n      case 0x46:\n      case 0x66:\n        local_24 = pbVar16;\n        uVar26 = FUN_00040c70(&local_24,0,param_7,iVar7);\n        uVar27 = (undefined4)((ulonglong)uVar26 >> 0x20);\n        if ((int)uVar26 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003c5a0(param_1,local_3c,(int)uVar26,bVar24 == 0x46,param_5,param_6,uVar27,\n                             uVar27);\n        while( true ) {\n          if (iVar7 == 0) {\n            return 0;\n          }\n          if (*local_24 != 0x3b) break;\n          local_24 = local_24 + 1;\n          iVar7 = FUN_00040c70(&local_24,0,param_7);\n        }\n        return 1;\n      case 0x47:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,iVar7);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) goto code_r0x00044c0d;\n        iVar10 = param_2[3];\n        piVar13 = (int *)param_2[2];\n        cVar3 = *(char *)(*(int *)(*param_2 + 4) + 0x18);\n        if (iVar10 < 1) goto code_r0x00044c0d;\n        cVar2 = *local_3c;\n        goto code_r0x00044bbc;\n      case 0x50:\n        if (param_3 == 0x24) {\n          local_24 = pbVar16;\n          do {\n            if (*local_24 != 0x3b) {\n              return 1;\n            }\n            local_24 = local_24 + 1;\n            iVar7 = FUN_00040c70(&local_24,0,param_7);\n          } while (iVar7 != 0);\n          return 0;\n        }\n      case 0x52:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,iVar7);\njoined_r0x00045010:\n        if (iVar7 == 0) {\n          return 0;\n        }\ncode_r0x00044af0:\n        iVar7 = FUN_0003c6e0(param_1,local_3c,iVar7);\n        goto joined_r0x00044fe7;\n      case 0x53:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 2;\n        goto code_r0x0004486e;\n      case 0x54:\n        pbVar18 = local_24 + 2;\n        if (*pbVar18 == 0x74) {\n          pbVar16 = local_24 + 3;\n        }\n        local_24 = pbVar16;\n        uVar11 = (uint)(*pbVar18 == 0x74);\n        iVar7 = FUN_00040c70(&local_24,apiStack_20,param_7,param_3);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) {\n          return 1;\n        }\n        iVar10 = param_2[0x3a];\n        iVar7 = FUN_0003d680(param_1,local_3c,iVar7,extraout_ECX);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (apiStack_20[0] != (int *)0x0) {\n          *apiStack_20[0] = iVar7;\n        }\n        piVar13 = apiStack_20[0];\n        if (iVar10 != 0) goto code_r0x00044efc;\n        if ((int *)param_2[0x39] == (int *)0x0) goto code_r0x00044efc;\n        cVar3 = *local_3c;\n        piVar17 = param_2 + 0x39;\n        piVar20 = (int *)param_2[0x39];\n        goto code_r0x00044ecc;\n      case 0x56:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 3;\n        goto code_r0x0004486e;\n      case 0x58:\n      case 0x6c:\n      case 0x73:\n        goto LAB_0004483d;\n      case 0x59:\n        pbVar16 = local_24 + 3;\n        if ((local_24[3] == 0x6e) &&\n           (pbVar16 = local_24 + 4, pbVar18 = local_24 + 4, local_24 = pbVar16, *pbVar18 == 0x30)) {\n          for (; *local_24 != 0x3b; local_24 = local_24 + 1) {\n          }\n          return 1;\n        }\nLAB_00044e16:\n        local_24 = pbVar16;\n        FUN_0003dfb0();\n        return 0;\n      case 0x61:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,bVar24);\n        goto joined_r0x00045010;\n      case 99:\n        if (local_24[2] == 0x3d) {\n          pbVar16 = local_24 + 4;\n          bVar24 = local_24[3];\n          local_24 = pbVar16;\n          if (bVar24 == 0x69) {\n            lVar15 = strtol((char *)pbVar16,(char **)0x0,10);\n            iVar7 = FUN_0003cbe0(param_1,local_3c,lVar15,lVar15 >> 0x1f);\n            goto joined_r0x00044fe7;\n          }\n          if (bVar24 == 0x72) {\n            lVar25 = (longdouble)func_0x00013560(pbVar16,0,0x72,0x72);\n            iVar7 = FUN_0003cc30(param_1,local_3c,(double)lVar25);\n            goto joined_r0x00044fe7;\n          }\n          if (bVar24 == 0x65) {\n            iVar7 = FUN_00040c70(&local_24,0,param_7,0x65);\n            if (iVar7 == 0) {\n              return 0;\n            }\n            pbVar16 = local_24;\n            if (*local_24 == 0x2c) {\n              uVar28 = 10;\n              uVar27 = 0;\n              lVar15 = strtol((char *)local_24,(char **)0x0,10);\n              iVar7 = FUN_0003cc70(param_1,local_3c,iVar7,lVar15,lVar15 >> 0x1f,uVar27,uVar28,\n                                   param_3);\n              goto joined_r0x00044fe7;\n            }\n          }\n        }\n        break;\n      case 0x70:\n        if (local_24[2] == 0x46) {\n          local_24 = local_24 + 3;\n          iVar7 = FUN_00040c70(&local_24,0,param_7,local_24);\n          if (iVar7 == 0) {\n            return 0;\n          }\n          uVar27 = FUN_0003d080(param_1,iVar7,0,0);\n          iVar7 = FUN_0003d030(param_1,uVar27);\n        }\n        else {\n          pbVar18 = local_24;\n          local_24 = pbVar16;\n          iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        }\n        goto joined_r0x00044dee;\n      case 0x72:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 5;\n        goto code_r0x0004486e;\n      case 0x74:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,apiStack_20,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) {\n          return 1;\n        }\n        iVar7 = FUN_0003d5a0(param_1,local_3c,iVar7,param_2);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (apiStack_20[0] == (int *)0x0) {\n          return 1;\n        }\n        *apiStack_20[0] = iVar7;\n        return 1;\n      case 0x76:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\njoined_r0x00044dee:\n        if (iVar7 == 0) {\n          return 0;\n        }\n        goto code_r0x00044af0;\n      }\n    }" (if "if") (parenthesized_expression "(bVar24 != 0)" (( "(") (binary_expression "bVar24 != 0" (identifier "bVar24") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      pbVar16 = local_24 + 2;\n      bVar24 = local_24[1];\n      if (0x33 < (byte)(bVar24 + 0xbd)) goto LAB_00044e16;\n      iVar7 = (int)&__DT_PLTGOT + *(int *)(&DAT_00057e08 + (uint)(byte)(bVar24 + 0xbd) * 4);\n      switch(bVar24) {\n      case 0x43:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,bVar24);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003ccf0(param_1,local_3c,iVar7,param_5,param_6);\n        goto joined_r0x00044fe7;\n      default:\n        goto LAB_00044e16;\n      case 0x46:\n      case 0x66:\n        local_24 = pbVar16;\n        uVar26 = FUN_00040c70(&local_24,0,param_7,iVar7);\n        uVar27 = (undefined4)((ulonglong)uVar26 >> 0x20);\n        if ((int)uVar26 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003c5a0(param_1,local_3c,(int)uVar26,bVar24 == 0x46,param_5,param_6,uVar27,\n                             uVar27);\n        while( true ) {\n          if (iVar7 == 0) {\n            return 0;\n          }\n          if (*local_24 != 0x3b) break;\n          local_24 = local_24 + 1;\n          iVar7 = FUN_00040c70(&local_24,0,param_7);\n        }\n        return 1;\n      case 0x47:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,iVar7);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) goto code_r0x00044c0d;\n        iVar10 = param_2[3];\n        piVar13 = (int *)param_2[2];\n        cVar3 = *(char *)(*(int *)(*param_2 + 4) + 0x18);\n        if (iVar10 < 1) goto code_r0x00044c0d;\n        cVar2 = *local_3c;\n        goto code_r0x00044bbc;\n      case 0x50:\n        if (param_3 == 0x24) {\n          local_24 = pbVar16;\n          do {\n            if (*local_24 != 0x3b) {\n              return 1;\n            }\n            local_24 = local_24 + 1;\n            iVar7 = FUN_00040c70(&local_24,0,param_7);\n          } while (iVar7 != 0);\n          return 0;\n        }\n      case 0x52:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,iVar7);\njoined_r0x00045010:\n        if (iVar7 == 0) {\n          return 0;\n        }\ncode_r0x00044af0:\n        iVar7 = FUN_0003c6e0(param_1,local_3c,iVar7);\n        goto joined_r0x00044fe7;\n      case 0x53:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 2;\n        goto code_r0x0004486e;\n      case 0x54:\n        pbVar18 = local_24 + 2;\n        if (*pbVar18 == 0x74) {\n          pbVar16 = local_24 + 3;\n        }\n        local_24 = pbVar16;\n        uVar11 = (uint)(*pbVar18 == 0x74);\n        iVar7 = FUN_00040c70(&local_24,apiStack_20,param_7,param_3);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) {\n          return 1;\n        }\n        iVar10 = param_2[0x3a];\n        iVar7 = FUN_0003d680(param_1,local_3c,iVar7,extraout_ECX);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (apiStack_20[0] != (int *)0x0) {\n          *apiStack_20[0] = iVar7;\n        }\n        piVar13 = apiStack_20[0];\n        if (iVar10 != 0) goto code_r0x00044efc;\n        if ((int *)param_2[0x39] == (int *)0x0) goto code_r0x00044efc;\n        cVar3 = *local_3c;\n        piVar17 = param_2 + 0x39;\n        piVar20 = (int *)param_2[0x39];\n        goto code_r0x00044ecc;\n      case 0x56:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 3;\n        goto code_r0x0004486e;\n      case 0x58:\n      case 0x6c:\n      case 0x73:\n        goto LAB_0004483d;\n      case 0x59:\n        pbVar16 = local_24 + 3;\n        if ((local_24[3] == 0x6e) &&\n           (pbVar16 = local_24 + 4, pbVar18 = local_24 + 4, local_24 = pbVar16, *pbVar18 == 0x30)) {\n          for (; *local_24 != 0x3b; local_24 = local_24 + 1) {\n          }\n          return 1;\n        }\nLAB_00044e16:\n        local_24 = pbVar16;\n        FUN_0003dfb0();\n        return 0;\n      case 0x61:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,bVar24);\n        goto joined_r0x00045010;\n      case 99:\n        if (local_24[2] == 0x3d) {\n          pbVar16 = local_24 + 4;\n          bVar24 = local_24[3];\n          local_24 = pbVar16;\n          if (bVar24 == 0x69) {\n            lVar15 = strtol((char *)pbVar16,(char **)0x0,10);\n            iVar7 = FUN_0003cbe0(param_1,local_3c,lVar15,lVar15 >> 0x1f);\n            goto joined_r0x00044fe7;\n          }\n          if (bVar24 == 0x72) {\n            lVar25 = (longdouble)func_0x00013560(pbVar16,0,0x72,0x72);\n            iVar7 = FUN_0003cc30(param_1,local_3c,(double)lVar25);\n            goto joined_r0x00044fe7;\n          }\n          if (bVar24 == 0x65) {\n            iVar7 = FUN_00040c70(&local_24,0,param_7,0x65);\n            if (iVar7 == 0) {\n              return 0;\n            }\n            pbVar16 = local_24;\n            if (*local_24 == 0x2c) {\n              uVar28 = 10;\n              uVar27 = 0;\n              lVar15 = strtol((char *)local_24,(char **)0x0,10);\n              iVar7 = FUN_0003cc70(param_1,local_3c,iVar7,lVar15,lVar15 >> 0x1f,uVar27,uVar28,\n                                   param_3);\n              goto joined_r0x00044fe7;\n            }\n          }\n        }\n        break;\n      case 0x70:\n        if (local_24[2] == 0x46) {\n          local_24 = local_24 + 3;\n          iVar7 = FUN_00040c70(&local_24,0,param_7,local_24);\n          if (iVar7 == 0) {\n            return 0;\n          }\n          uVar27 = FUN_0003d080(param_1,iVar7,0,0);\n          iVar7 = FUN_0003d030(param_1,uVar27);\n        }\n        else {\n          pbVar18 = local_24;\n          local_24 = pbVar16;\n          iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        }\n        goto joined_r0x00044dee;\n      case 0x72:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 5;\n        goto code_r0x0004486e;\n      case 0x74:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,apiStack_20,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) {\n          return 1;\n        }\n        iVar7 = FUN_0003d5a0(param_1,local_3c,iVar7,param_2);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (apiStack_20[0] == (int *)0x0) {\n          return 1;\n        }\n        *apiStack_20[0] = iVar7;\n        return 1;\n      case 0x76:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\njoined_r0x00044dee:\n        if (iVar7 == 0) {\n          return 0;\n        }\n        goto code_r0x00044af0;\n      }\n    }" ({ "{") (expression_statement "pbVar16 = local_24 + 2;" (assignment_expression "pbVar16 = local_24 + 2" (identifier "pbVar16") (= "=") (binary_expression "local_24 + 2" (identifier "local_24") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "bVar24 = local_24[1];" (assignment_expression "bVar24 = local_24[1]" (identifier "bVar24") (= "=") (subscript_expression "local_24[1]" (identifier "local_24") ([ "[") (number_literal "1") (] "]"))) (; ";")) (if_statement "if (0x33 < (byte)(bVar24 + 0xbd)) goto LAB_00044e16;" (if "if") (parenthesized_expression "(0x33 < (byte)(bVar24 + 0xbd))" (( "(") (binary_expression "0x33 < (byte)(bVar24 + 0xbd)" (number_literal "0x33") (< "<") (call_expression "(byte)(bVar24 + 0xbd)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(bVar24 + 0xbd)" (( "(") (binary_expression "bVar24 + 0xbd" (identifier "bVar24") (+ "+") (number_literal "0xbd")) () ")")))) () ")")) (goto_statement "goto LAB_00044e16;" (goto "goto") (statement_identifier "LAB_00044e16") (; ";"))) (expression_statement "iVar7 = (int)&__DT_PLTGOT + *(int *)(&DAT_00057e08 + (uint)(byte)(bVar24 + 0xbd) * 4);" (assignment_expression "iVar7 = (int)&__DT_PLTGOT + *(int *)(&DAT_00057e08 + (uint)(byte)(bVar24 + 0xbd) * 4)" (identifier "iVar7") (= "=") (binary_expression "(int)&__DT_PLTGOT + *(int *)(&DAT_00057e08 + (uint)(byte)(bVar24 + 0xbd) * 4)" (cast_expression "(int)&__DT_PLTGOT" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&__DT_PLTGOT" (& "&") (identifier "__DT_PLTGOT"))) (+ "+") (pointer_expression "*(int *)(&DAT_00057e08 + (uint)(byte)(bVar24 + 0xbd) * 4)" (* "*") (cast_expression "(int *)(&DAT_00057e08 + (uint)(byte)(bVar24 + 0xbd) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00057e08 + (uint)(byte)(bVar24 + 0xbd) * 4)" (( "(") (binary_expression "&DAT_00057e08 + (uint)(byte)(bVar24 + 0xbd) * 4" (pointer_expression "&DAT_00057e08" (& "&") (identifier "DAT_00057e08")) (+ "+") (binary_expression "(uint)(byte)(bVar24 + 0xbd) * 4" (call_expression "(uint)(byte)(bVar24 + 0xbd)" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(byte)" (( "(") (identifier "byte") () ")"))) (argument_list "(bVar24 + 0xbd)" (( "(") (binary_expression "bVar24 + 0xbd" (identifier "bVar24") (+ "+") (number_literal "0xbd")) () ")"))) (* "*") (number_literal "4"))) () ")")))))) (; ";")) (switch_statement "switch(bVar24) {\n      case 0x43:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,bVar24);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003ccf0(param_1,local_3c,iVar7,param_5,param_6);\n        goto joined_r0x00044fe7;\n      default:\n        goto LAB_00044e16;\n      case 0x46:\n      case 0x66:\n        local_24 = pbVar16;\n        uVar26 = FUN_00040c70(&local_24,0,param_7,iVar7);\n        uVar27 = (undefined4)((ulonglong)uVar26 >> 0x20);\n        if ((int)uVar26 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003c5a0(param_1,local_3c,(int)uVar26,bVar24 == 0x46,param_5,param_6,uVar27,\n                             uVar27);\n        while( true ) {\n          if (iVar7 == 0) {\n            return 0;\n          }\n          if (*local_24 != 0x3b) break;\n          local_24 = local_24 + 1;\n          iVar7 = FUN_00040c70(&local_24,0,param_7);\n        }\n        return 1;\n      case 0x47:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,iVar7);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) goto code_r0x00044c0d;\n        iVar10 = param_2[3];\n        piVar13 = (int *)param_2[2];\n        cVar3 = *(char *)(*(int *)(*param_2 + 4) + 0x18);\n        if (iVar10 < 1) goto code_r0x00044c0d;\n        cVar2 = *local_3c;\n        goto code_r0x00044bbc;\n      case 0x50:\n        if (param_3 == 0x24) {\n          local_24 = pbVar16;\n          do {\n            if (*local_24 != 0x3b) {\n              return 1;\n            }\n            local_24 = local_24 + 1;\n            iVar7 = FUN_00040c70(&local_24,0,param_7);\n          } while (iVar7 != 0);\n          return 0;\n        }\n      case 0x52:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,iVar7);\njoined_r0x00045010:\n        if (iVar7 == 0) {\n          return 0;\n        }\ncode_r0x00044af0:\n        iVar7 = FUN_0003c6e0(param_1,local_3c,iVar7);\n        goto joined_r0x00044fe7;\n      case 0x53:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 2;\n        goto code_r0x0004486e;\n      case 0x54:\n        pbVar18 = local_24 + 2;\n        if (*pbVar18 == 0x74) {\n          pbVar16 = local_24 + 3;\n        }\n        local_24 = pbVar16;\n        uVar11 = (uint)(*pbVar18 == 0x74);\n        iVar7 = FUN_00040c70(&local_24,apiStack_20,param_7,param_3);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) {\n          return 1;\n        }\n        iVar10 = param_2[0x3a];\n        iVar7 = FUN_0003d680(param_1,local_3c,iVar7,extraout_ECX);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (apiStack_20[0] != (int *)0x0) {\n          *apiStack_20[0] = iVar7;\n        }\n        piVar13 = apiStack_20[0];\n        if (iVar10 != 0) goto code_r0x00044efc;\n        if ((int *)param_2[0x39] == (int *)0x0) goto code_r0x00044efc;\n        cVar3 = *local_3c;\n        piVar17 = param_2 + 0x39;\n        piVar20 = (int *)param_2[0x39];\n        goto code_r0x00044ecc;\n      case 0x56:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 3;\n        goto code_r0x0004486e;\n      case 0x58:\n      case 0x6c:\n      case 0x73:\n        goto LAB_0004483d;\n      case 0x59:\n        pbVar16 = local_24 + 3;\n        if ((local_24[3] == 0x6e) &&\n           (pbVar16 = local_24 + 4, pbVar18 = local_24 + 4, local_24 = pbVar16, *pbVar18 == 0x30)) {\n          for (; *local_24 != 0x3b; local_24 = local_24 + 1) {\n          }\n          return 1;\n        }\nLAB_00044e16:\n        local_24 = pbVar16;\n        FUN_0003dfb0();\n        return 0;\n      case 0x61:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,bVar24);\n        goto joined_r0x00045010;\n      case 99:\n        if (local_24[2] == 0x3d) {\n          pbVar16 = local_24 + 4;\n          bVar24 = local_24[3];\n          local_24 = pbVar16;\n          if (bVar24 == 0x69) {\n            lVar15 = strtol((char *)pbVar16,(char **)0x0,10);\n            iVar7 = FUN_0003cbe0(param_1,local_3c,lVar15,lVar15 >> 0x1f);\n            goto joined_r0x00044fe7;\n          }\n          if (bVar24 == 0x72) {\n            lVar25 = (longdouble)func_0x00013560(pbVar16,0,0x72,0x72);\n            iVar7 = FUN_0003cc30(param_1,local_3c,(double)lVar25);\n            goto joined_r0x00044fe7;\n          }\n          if (bVar24 == 0x65) {\n            iVar7 = FUN_00040c70(&local_24,0,param_7,0x65);\n            if (iVar7 == 0) {\n              return 0;\n            }\n            pbVar16 = local_24;\n            if (*local_24 == 0x2c) {\n              uVar28 = 10;\n              uVar27 = 0;\n              lVar15 = strtol((char *)local_24,(char **)0x0,10);\n              iVar7 = FUN_0003cc70(param_1,local_3c,iVar7,lVar15,lVar15 >> 0x1f,uVar27,uVar28,\n                                   param_3);\n              goto joined_r0x00044fe7;\n            }\n          }\n        }\n        break;\n      case 0x70:\n        if (local_24[2] == 0x46) {\n          local_24 = local_24 + 3;\n          iVar7 = FUN_00040c70(&local_24,0,param_7,local_24);\n          if (iVar7 == 0) {\n            return 0;\n          }\n          uVar27 = FUN_0003d080(param_1,iVar7,0,0);\n          iVar7 = FUN_0003d030(param_1,uVar27);\n        }\n        else {\n          pbVar18 = local_24;\n          local_24 = pbVar16;\n          iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        }\n        goto joined_r0x00044dee;\n      case 0x72:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 5;\n        goto code_r0x0004486e;\n      case 0x74:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,apiStack_20,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) {\n          return 1;\n        }\n        iVar7 = FUN_0003d5a0(param_1,local_3c,iVar7,param_2);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (apiStack_20[0] == (int *)0x0) {\n          return 1;\n        }\n        *apiStack_20[0] = iVar7;\n        return 1;\n      case 0x76:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\njoined_r0x00044dee:\n        if (iVar7 == 0) {\n          return 0;\n        }\n        goto code_r0x00044af0;\n      }" (switch "switch") (parenthesized_expression "(bVar24)" (( "(") (identifier "bVar24") () ")")) (compound_statement "{\n      case 0x43:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,bVar24);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003ccf0(param_1,local_3c,iVar7,param_5,param_6);\n        goto joined_r0x00044fe7;\n      default:\n        goto LAB_00044e16;\n      case 0x46:\n      case 0x66:\n        local_24 = pbVar16;\n        uVar26 = FUN_00040c70(&local_24,0,param_7,iVar7);\n        uVar27 = (undefined4)((ulonglong)uVar26 >> 0x20);\n        if ((int)uVar26 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003c5a0(param_1,local_3c,(int)uVar26,bVar24 == 0x46,param_5,param_6,uVar27,\n                             uVar27);\n        while( true ) {\n          if (iVar7 == 0) {\n            return 0;\n          }\n          if (*local_24 != 0x3b) break;\n          local_24 = local_24 + 1;\n          iVar7 = FUN_00040c70(&local_24,0,param_7);\n        }\n        return 1;\n      case 0x47:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,iVar7);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) goto code_r0x00044c0d;\n        iVar10 = param_2[3];\n        piVar13 = (int *)param_2[2];\n        cVar3 = *(char *)(*(int *)(*param_2 + 4) + 0x18);\n        if (iVar10 < 1) goto code_r0x00044c0d;\n        cVar2 = *local_3c;\n        goto code_r0x00044bbc;\n      case 0x50:\n        if (param_3 == 0x24) {\n          local_24 = pbVar16;\n          do {\n            if (*local_24 != 0x3b) {\n              return 1;\n            }\n            local_24 = local_24 + 1;\n            iVar7 = FUN_00040c70(&local_24,0,param_7);\n          } while (iVar7 != 0);\n          return 0;\n        }\n      case 0x52:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,iVar7);\njoined_r0x00045010:\n        if (iVar7 == 0) {\n          return 0;\n        }\ncode_r0x00044af0:\n        iVar7 = FUN_0003c6e0(param_1,local_3c,iVar7);\n        goto joined_r0x00044fe7;\n      case 0x53:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 2;\n        goto code_r0x0004486e;\n      case 0x54:\n        pbVar18 = local_24 + 2;\n        if (*pbVar18 == 0x74) {\n          pbVar16 = local_24 + 3;\n        }\n        local_24 = pbVar16;\n        uVar11 = (uint)(*pbVar18 == 0x74);\n        iVar7 = FUN_00040c70(&local_24,apiStack_20,param_7,param_3);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) {\n          return 1;\n        }\n        iVar10 = param_2[0x3a];\n        iVar7 = FUN_0003d680(param_1,local_3c,iVar7,extraout_ECX);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (apiStack_20[0] != (int *)0x0) {\n          *apiStack_20[0] = iVar7;\n        }\n        piVar13 = apiStack_20[0];\n        if (iVar10 != 0) goto code_r0x00044efc;\n        if ((int *)param_2[0x39] == (int *)0x0) goto code_r0x00044efc;\n        cVar3 = *local_3c;\n        piVar17 = param_2 + 0x39;\n        piVar20 = (int *)param_2[0x39];\n        goto code_r0x00044ecc;\n      case 0x56:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 3;\n        goto code_r0x0004486e;\n      case 0x58:\n      case 0x6c:\n      case 0x73:\n        goto LAB_0004483d;\n      case 0x59:\n        pbVar16 = local_24 + 3;\n        if ((local_24[3] == 0x6e) &&\n           (pbVar16 = local_24 + 4, pbVar18 = local_24 + 4, local_24 = pbVar16, *pbVar18 == 0x30)) {\n          for (; *local_24 != 0x3b; local_24 = local_24 + 1) {\n          }\n          return 1;\n        }\nLAB_00044e16:\n        local_24 = pbVar16;\n        FUN_0003dfb0();\n        return 0;\n      case 0x61:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,bVar24);\n        goto joined_r0x00045010;\n      case 99:\n        if (local_24[2] == 0x3d) {\n          pbVar16 = local_24 + 4;\n          bVar24 = local_24[3];\n          local_24 = pbVar16;\n          if (bVar24 == 0x69) {\n            lVar15 = strtol((char *)pbVar16,(char **)0x0,10);\n            iVar7 = FUN_0003cbe0(param_1,local_3c,lVar15,lVar15 >> 0x1f);\n            goto joined_r0x00044fe7;\n          }\n          if (bVar24 == 0x72) {\n            lVar25 = (longdouble)func_0x00013560(pbVar16,0,0x72,0x72);\n            iVar7 = FUN_0003cc30(param_1,local_3c,(double)lVar25);\n            goto joined_r0x00044fe7;\n          }\n          if (bVar24 == 0x65) {\n            iVar7 = FUN_00040c70(&local_24,0,param_7,0x65);\n            if (iVar7 == 0) {\n              return 0;\n            }\n            pbVar16 = local_24;\n            if (*local_24 == 0x2c) {\n              uVar28 = 10;\n              uVar27 = 0;\n              lVar15 = strtol((char *)local_24,(char **)0x0,10);\n              iVar7 = FUN_0003cc70(param_1,local_3c,iVar7,lVar15,lVar15 >> 0x1f,uVar27,uVar28,\n                                   param_3);\n              goto joined_r0x00044fe7;\n            }\n          }\n        }\n        break;\n      case 0x70:\n        if (local_24[2] == 0x46) {\n          local_24 = local_24 + 3;\n          iVar7 = FUN_00040c70(&local_24,0,param_7,local_24);\n          if (iVar7 == 0) {\n            return 0;\n          }\n          uVar27 = FUN_0003d080(param_1,iVar7,0,0);\n          iVar7 = FUN_0003d030(param_1,uVar27);\n        }\n        else {\n          pbVar18 = local_24;\n          local_24 = pbVar16;\n          iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        }\n        goto joined_r0x00044dee;\n      case 0x72:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 5;\n        goto code_r0x0004486e;\n      case 0x74:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,apiStack_20,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) {\n          return 1;\n        }\n        iVar7 = FUN_0003d5a0(param_1,local_3c,iVar7,param_2);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (apiStack_20[0] == (int *)0x0) {\n          return 1;\n        }\n        *apiStack_20[0] = iVar7;\n        return 1;\n      case 0x76:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\njoined_r0x00044dee:\n        if (iVar7 == 0) {\n          return 0;\n        }\n        goto code_r0x00044af0;\n      }" ({ "{") (case_statement "case 0x43:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,bVar24);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003ccf0(param_1,local_3c,iVar7,param_5,param_6);\n        goto joined_r0x00044fe7;" (case "case") (number_literal "0x43") (: ":") (expression_statement "local_24 = pbVar16;" (assignment_expression "local_24 = pbVar16" (identifier "local_24") (= "=") (identifier "pbVar16")) (; ";")) (expression_statement "iVar7 = FUN_00040c70(&local_24,0,param_7,bVar24);" (assignment_expression "iVar7 = FUN_00040c70(&local_24,0,param_7,bVar24)" (identifier "iVar7") (= "=") (call_expression "FUN_00040c70(&local_24,0,param_7,bVar24)" (identifier "FUN_00040c70") (argument_list "(&local_24,0,param_7,bVar24)" (( "(") (pointer_expression "&local_24" (& "&") (identifier "local_24")) (, ",") (number_literal "0") (, ",") (identifier "param_7") (, ",") (identifier "bVar24") () ")")))) (; ";")) (if_statement "if (iVar7 == 0) {\n          return 0;\n        }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          return 0;\n        }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "iVar7 = FUN_0003ccf0(param_1,local_3c,iVar7,param_5,param_6);" (assignment_expression "iVar7 = FUN_0003ccf0(param_1,local_3c,iVar7,param_5,param_6)" (identifier "iVar7") (= "=") (call_expression "FUN_0003ccf0(param_1,local_3c,iVar7,param_5,param_6)" (identifier "FUN_0003ccf0") (argument_list "(param_1,local_3c,iVar7,param_5,param_6)" (( "(") (identifier "param_1") (, ",") (identifier "local_3c") (, ",") (identifier "iVar7") (, ",") (identifier "param_5") (, ",") (identifier "param_6") () ")")))) (; ";")) (goto_statement "goto joined_r0x00044fe7;" (goto "goto") (statement_identifier "joined_r0x00044fe7") (; ";"))) (case_statement "default:\n        goto LAB_00044e16;" (default "default") (: ":") (goto_statement "goto LAB_00044e16;" (goto "goto") (statement_identifier "LAB_00044e16") (; ";"))) (case_statement "case 0x46:" (case "case") (number_literal "0x46") (: ":")) (case_statement "case 0x66:\n        local_24 = pbVar16;\n        uVar26 = FUN_00040c70(&local_24,0,param_7,iVar7);\n        uVar27 = (undefined4)((ulonglong)uVar26 >> 0x20);\n        if ((int)uVar26 == 0) {\n          return 0;\n        }\n        iVar7 = FUN_0003c5a0(param_1,local_3c,(int)uVar26,bVar24 == 0x46,param_5,param_6,uVar27,\n                             uVar27);\n        while( true ) {\n          if (iVar7 == 0) {\n            return 0;\n          }\n          if (*local_24 != 0x3b) break;\n          local_24 = local_24 + 1;\n          iVar7 = FUN_00040c70(&local_24,0,param_7);\n        }\n        return 1;" (case "case") (number_literal "0x66") (: ":") (expression_statement "local_24 = pbVar16;" (assignment_expression "local_24 = pbVar16" (identifier "local_24") (= "=") (identifier "pbVar16")) (; ";")) (expression_statement "uVar26 = FUN_00040c70(&local_24,0,param_7,iVar7);" (assignment_expression "uVar26 = FUN_00040c70(&local_24,0,param_7,iVar7)" (identifier "uVar26") (= "=") (call_expression "FUN_00040c70(&local_24,0,param_7,iVar7)" (identifier "FUN_00040c70") (argument_list "(&local_24,0,param_7,iVar7)" (( "(") (pointer_expression "&local_24" (& "&") (identifier "local_24")) (, ",") (number_literal "0") (, ",") (identifier "param_7") (, ",") (identifier "iVar7") () ")")))) (; ";")) (expression_statement "uVar27 = (undefined4)((ulonglong)uVar26 >> 0x20);" (assignment_expression "uVar27 = (undefined4)((ulonglong)uVar26 >> 0x20)" (identifier "uVar27") (= "=") (call_expression "(undefined4)((ulonglong)uVar26 >> 0x20)" (parenthesized_expression "(undefined4)" (( "(") (identifier "undefined4") () ")")) (argument_list "((ulonglong)uVar26 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar26 >> 0x20" (cast_expression "(ulonglong)uVar26" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar26")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (if_statement "if ((int)uVar26 == 0) {\n          return 0;\n        }" (if "if") (parenthesized_expression "((int)uVar26 == 0)" (( "(") (binary_expression "(int)uVar26 == 0" (cast_expression "(int)uVar26" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar26")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          return 0;\n        }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "iVar7 = FUN_0003c5a0(param_1,local_3c,(int)uVar26,bVar24 == 0x46,param_5,param_6,uVar27,\n                             uVar27);" (assignment_expression "iVar7 = FUN_0003c5a0(param_1,local_3c,(int)uVar26,bVar24 == 0x46,param_5,param_6,uVar27,\n                             uVar27)" (identifier "iVar7") (= "=") (call_expression "FUN_0003c5a0(param_1,local_3c,(int)uVar26,bVar24 == 0x46,param_5,param_6,uVar27,\n                             uVar27)" (identifier "FUN_0003c5a0") (argument_list "(param_1,local_3c,(int)uVar26,bVar24 == 0x46,param_5,param_6,uVar27,\n                             uVar27)" (( "(") (identifier "param_1") (, ",") (identifier "local_3c") (, ",") (cast_expression "(int)uVar26" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar26")) (, ",") (binary_expression "bVar24 == 0x46" (identifier "bVar24") (== "==") (number_literal "0x46")) (, ",") (identifier "param_5") (, ",") (identifier "param_6") (, ",") (identifier "uVar27") (, ",") (identifier "uVar27") () ")")))) (; ";")) (while_statement "while( true ) {\n          if (iVar7 == 0) {\n            return 0;\n          }\n          if (*local_24 != 0x3b) break;\n          local_24 = local_24 + 1;\n          iVar7 = FUN_00040c70(&local_24,0,param_7);\n        }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n          if (iVar7 == 0) {\n            return 0;\n          }\n          if (*local_24 != 0x3b) break;\n          local_24 = local_24 + 1;\n          iVar7 = FUN_00040c70(&local_24,0,param_7);\n        }" ({ "{") (if_statement "if (iVar7 == 0) {\n            return 0;\n          }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            return 0;\n          }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (if_statement "if (*local_24 != 0x3b) break;" (if "if") (parenthesized_expression "(*local_24 != 0x3b)" (( "(") (binary_expression "*local_24 != 0x3b" (pointer_expression "*local_24" (* "*") (identifier "local_24")) (!= "!=") (number_literal "0x3b")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "local_24 = local_24 + 1;" (assignment_expression "local_24 = local_24 + 1" (identifier "local_24") (= "=") (binary_expression "local_24 + 1" (identifier "local_24") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar7 = FUN_00040c70(&local_24,0,param_7);" (assignment_expression "iVar7 = FUN_00040c70(&local_24,0,param_7)" (identifier "iVar7") (= "=") (call_expression "FUN_00040c70(&local_24,0,param_7)" (identifier "FUN_00040c70") (argument_list "(&local_24,0,param_7)" (( "(") (pointer_expression "&local_24" (& "&") (identifier "local_24")) (, ",") (number_literal "0") (, ",") (identifier "param_7") () ")")))) (; ";")) (} "}"))) (return_statement "return 1;" (return "return") (number_literal "1") (; ";"))) (case_statement "case 0x47:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,iVar7);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) goto code_r0x00044c0d;\n        iVar10 = param_2[3];\n        piVar13 = (int *)param_2[2];\n        cVar3 = *(char *)(*(int *)(*param_2 + 4) + 0x18);\n        if (iVar10 < 1) goto code_r0x00044c0d;\n        cVar2 = *local_3c;\n        goto code_r0x00044bbc;" (case "case") (number_literal "0x47") (: ":") (expression_statement "local_24 = pbVar16;" (assignment_expression "local_24 = pbVar16" (identifier "local_24") (= "=") (identifier "pbVar16")) (; ";")) (expression_statement "iVar7 = FUN_00040c70(&local_24,0,param_7,iVar7);" (assignment_expression "iVar7 = FUN_00040c70(&local_24,0,param_7,iVar7)" (identifier "iVar7") (= "=") (call_expression "FUN_00040c70(&local_24,0,param_7,iVar7)" (identifier "FUN_00040c70") (argument_list "(&local_24,0,param_7,iVar7)" (( "(") (pointer_expression "&local_24" (& "&") (identifier "local_24")) (, ",") (number_literal "0") (, ",") (identifier "param_7") (, ",") (identifier "iVar7") () ")")))) (; ";")) (if_statement "if (iVar7 == 0) {\n          return 0;\n        }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          return 0;\n        }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (if_statement "if (local_3c == (char *)0x0) goto code_r0x00044c0d;" (if "if") (parenthesized_expression "(local_3c == (char *)0x0)" (( "(") (binary_expression "local_3c == (char *)0x0" (identifier "local_3c") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto code_r0x00044c0d;" (goto "goto") (statement_identifier "code_r0x00044c0d") (; ";"))) (expression_statement "iVar10 = param_2[3];" (assignment_expression "iVar10 = param_2[3]" (identifier "iVar10") (= "=") (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "piVar13 = (int *)param_2[2];" (assignment_expression "piVar13 = (int *)param_2[2]" (identifier "piVar13") (= "=") (cast_expression "(int *)param_2[2]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]")))) (; ";")) (expression_statement "cVar3 = *(char *)(*(int *)(*param_2 + 4) + 0x18);" (assignment_expression "cVar3 = *(char *)(*(int *)(*param_2 + 4) + 0x18)" (identifier "cVar3") (= "=") (pointer_expression "*(char *)(*(int *)(*param_2 + 4) + 0x18)" (* "*") (cast_expression "(char *)(*(int *)(*param_2 + 4) + 0x18)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(*param_2 + 4) + 0x18)" (( "(") (binary_expression "*(int *)(*param_2 + 4) + 0x18" (pointer_expression "*(int *)(*param_2 + 4)" (* "*") (cast_expression "(int *)(*param_2 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*param_2 + 4)" (( "(") (binary_expression "*param_2 + 4" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (if_statement "if (iVar10 < 1) goto code_r0x00044c0d;" (if "if") (parenthesized_expression "(iVar10 < 1)" (( "(") (binary_expression "iVar10 < 1" (identifier "iVar10") (< "<") (number_literal "1")) () ")")) (goto_statement "goto code_r0x00044c0d;" (goto "goto") (statement_identifier "code_r0x00044c0d") (; ";"))) (expression_statement "cVar2 = *local_3c;" (assignment_expression "cVar2 = *local_3c" (identifier "cVar2") (= "=") (pointer_expression "*local_3c" (* "*") (identifier "local_3c"))) (; ";")) (goto_statement "goto code_r0x00044bbc;" (goto "goto") (statement_identifier "code_r0x00044bbc") (; ";"))) (case_statement "case 0x50:\n        if (param_3 == 0x24) {\n          local_24 = pbVar16;\n          do {\n            if (*local_24 != 0x3b) {\n              return 1;\n            }\n            local_24 = local_24 + 1;\n            iVar7 = FUN_00040c70(&local_24,0,param_7);\n          } while (iVar7 != 0);\n          return 0;\n        }" (case "case") (number_literal "0x50") (: ":") (if_statement "if (param_3 == 0x24) {\n          local_24 = pbVar16;\n          do {\n            if (*local_24 != 0x3b) {\n              return 1;\n            }\n            local_24 = local_24 + 1;\n            iVar7 = FUN_00040c70(&local_24,0,param_7);\n          } while (iVar7 != 0);\n          return 0;\n        }" (if "if") (parenthesized_expression "(param_3 == 0x24)" (( "(") (binary_expression "param_3 == 0x24" (identifier "param_3") (== "==") (number_literal "0x24")) () ")")) (compound_statement "{\n          local_24 = pbVar16;\n          do {\n            if (*local_24 != 0x3b) {\n              return 1;\n            }\n            local_24 = local_24 + 1;\n            iVar7 = FUN_00040c70(&local_24,0,param_7);\n          } while (iVar7 != 0);\n          return 0;\n        }" ({ "{") (expression_statement "local_24 = pbVar16;" (assignment_expression "local_24 = pbVar16" (identifier "local_24") (= "=") (identifier "pbVar16")) (; ";")) (do_statement "do {\n            if (*local_24 != 0x3b) {\n              return 1;\n            }\n            local_24 = local_24 + 1;\n            iVar7 = FUN_00040c70(&local_24,0,param_7);\n          } while (iVar7 != 0);" (do "do") (compound_statement "{\n            if (*local_24 != 0x3b) {\n              return 1;\n            }\n            local_24 = local_24 + 1;\n            iVar7 = FUN_00040c70(&local_24,0,param_7);\n          }" ({ "{") (if_statement "if (*local_24 != 0x3b) {\n              return 1;\n            }" (if "if") (parenthesized_expression "(*local_24 != 0x3b)" (( "(") (binary_expression "*local_24 != 0x3b" (pointer_expression "*local_24" (* "*") (identifier "local_24")) (!= "!=") (number_literal "0x3b")) () ")")) (compound_statement "{\n              return 1;\n            }" ({ "{") (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (expression_statement "local_24 = local_24 + 1;" (assignment_expression "local_24 = local_24 + 1" (identifier "local_24") (= "=") (binary_expression "local_24 + 1" (identifier "local_24") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar7 = FUN_00040c70(&local_24,0,param_7);" (assignment_expression "iVar7 = FUN_00040c70(&local_24,0,param_7)" (identifier "iVar7") (= "=") (call_expression "FUN_00040c70(&local_24,0,param_7)" (identifier "FUN_00040c70") (argument_list "(&local_24,0,param_7)" (( "(") (pointer_expression "&local_24" (& "&") (identifier "local_24")) (, ",") (number_literal "0") (, ",") (identifier "param_7") () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar7 != 0)" (( "(") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) () ")")) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}")))) (case_statement "case 0x52:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,iVar7);\njoined_r0x00045010:\n        if (iVar7 == 0) {\n          return 0;\n        }\ncode_r0x00044af0:\n        iVar7 = FUN_0003c6e0(param_1,local_3c,iVar7);\n        goto joined_r0x00044fe7;" (case "case") (number_literal "0x52") (: ":") (expression_statement "local_24 = pbVar16;" (assignment_expression "local_24 = pbVar16" (identifier "local_24") (= "=") (identifier "pbVar16")) (; ";")) (expression_statement "iVar7 = FUN_00040c70(&local_24,0,param_7,iVar7);" (assignment_expression "iVar7 = FUN_00040c70(&local_24,0,param_7,iVar7)" (identifier "iVar7") (= "=") (call_expression "FUN_00040c70(&local_24,0,param_7,iVar7)" (identifier "FUN_00040c70") (argument_list "(&local_24,0,param_7,iVar7)" (( "(") (pointer_expression "&local_24" (& "&") (identifier "local_24")) (, ",") (number_literal "0") (, ",") (identifier "param_7") (, ",") (identifier "iVar7") () ")")))) (; ";")) (labeled_statement "joined_r0x00045010:\n        if (iVar7 == 0) {\n          return 0;\n        }" (statement_identifier "joined_r0x00045010") (: ":") (if_statement "if (iVar7 == 0) {\n          return 0;\n        }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          return 0;\n        }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}")))) (labeled_statement "code_r0x00044af0:\n        iVar7 = FUN_0003c6e0(param_1,local_3c,iVar7);" (statement_identifier "code_r0x00044af0") (: ":") (expression_statement "iVar7 = FUN_0003c6e0(param_1,local_3c,iVar7);" (assignment_expression "iVar7 = FUN_0003c6e0(param_1,local_3c,iVar7)" (identifier "iVar7") (= "=") (call_expression "FUN_0003c6e0(param_1,local_3c,iVar7)" (identifier "FUN_0003c6e0") (argument_list "(param_1,local_3c,iVar7)" (( "(") (identifier "param_1") (, ",") (identifier "local_3c") (, ",") (identifier "iVar7") () ")")))) (; ";"))) (goto_statement "goto joined_r0x00044fe7;" (goto "goto") (statement_identifier "joined_r0x00044fe7") (; ";"))) (case_statement "case 0x53:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 2;\n        goto code_r0x0004486e;" (case "case") (number_literal "0x53") (: ":") (expression_statement "pbVar18 = local_24;" (assignment_expression "pbVar18 = local_24" (identifier "pbVar18") (= "=") (identifier "local_24")) (; ";")) (expression_statement "local_24 = pbVar16;" (assignment_expression "local_24 = pbVar16" (identifier "local_24") (= "=") (identifier "pbVar16")) (; ";")) (expression_statement "iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);" (assignment_expression "iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18)" (identifier "iVar7") (= "=") (call_expression "FUN_00040c70(&local_24,0,param_7,pbVar18)" (identifier "FUN_00040c70") (argument_list "(&local_24,0,param_7,pbVar18)" (( "(") (pointer_expression "&local_24" (& "&") (identifier "local_24")) (, ",") (number_literal "0") (, ",") (identifier "param_7") (, ",") (identifier "pbVar18") () ")")))) (; ";")) (if_statement "if (iVar7 == 0) {\n          return 0;\n        }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          return 0;\n        }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "uVar27 = 2;" (assignment_expression "uVar27 = 2" (identifier "uVar27") (= "=") (number_literal "2")) (; ";")) (goto_statement "goto code_r0x0004486e;" (goto "goto") (statement_identifier "code_r0x0004486e") (; ";"))) (case_statement "case 0x54:\n        pbVar18 = local_24 + 2;\n        if (*pbVar18 == 0x74) {\n          pbVar16 = local_24 + 3;\n        }\n        local_24 = pbVar16;\n        uVar11 = (uint)(*pbVar18 == 0x74);\n        iVar7 = FUN_00040c70(&local_24,apiStack_20,param_7,param_3);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) {\n          return 1;\n        }\n        iVar10 = param_2[0x3a];\n        iVar7 = FUN_0003d680(param_1,local_3c,iVar7,extraout_ECX);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (apiStack_20[0] != (int *)0x0) {\n          *apiStack_20[0] = iVar7;\n        }\n        piVar13 = apiStack_20[0];\n        if (iVar10 != 0) goto code_r0x00044efc;\n        if ((int *)param_2[0x39] == (int *)0x0) goto code_r0x00044efc;\n        cVar3 = *local_3c;\n        piVar17 = param_2 + 0x39;\n        piVar20 = (int *)param_2[0x39];\n        goto code_r0x00044ecc;" (case "case") (number_literal "0x54") (: ":") (expression_statement "pbVar18 = local_24 + 2;" (assignment_expression "pbVar18 = local_24 + 2" (identifier "pbVar18") (= "=") (binary_expression "local_24 + 2" (identifier "local_24") (+ "+") (number_literal "2"))) (; ";")) (if_statement "if (*pbVar18 == 0x74) {\n          pbVar16 = local_24 + 3;\n        }" (if "if") (parenthesized_expression "(*pbVar18 == 0x74)" (( "(") (binary_expression "*pbVar18 == 0x74" (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")) (== "==") (number_literal "0x74")) () ")")) (compound_statement "{\n          pbVar16 = local_24 + 3;\n        }" ({ "{") (expression_statement "pbVar16 = local_24 + 3;" (assignment_expression "pbVar16 = local_24 + 3" (identifier "pbVar16") (= "=") (binary_expression "local_24 + 3" (identifier "local_24") (+ "+") (number_literal "3"))) (; ";")) (} "}"))) (expression_statement "local_24 = pbVar16;" (assignment_expression "local_24 = pbVar16" (identifier "local_24") (= "=") (identifier "pbVar16")) (; ";")) (expression_statement "uVar11 = (uint)(*pbVar18 == 0x74);" (assignment_expression "uVar11 = (uint)(*pbVar18 == 0x74)" (identifier "uVar11") (= "=") (call_expression "(uint)(*pbVar18 == 0x74)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*pbVar18 == 0x74)" (( "(") (binary_expression "*pbVar18 == 0x74" (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")) (== "==") (number_literal "0x74")) () ")")))) (; ";")) (expression_statement "iVar7 = FUN_00040c70(&local_24,apiStack_20,param_7,param_3);" (assignment_expression "iVar7 = FUN_00040c70(&local_24,apiStack_20,param_7,param_3)" (identifier "iVar7") (= "=") (call_expression "FUN_00040c70(&local_24,apiStack_20,param_7,param_3)" (identifier "FUN_00040c70") (argument_list "(&local_24,apiStack_20,param_7,param_3)" (( "(") (pointer_expression "&local_24" (& "&") (identifier "local_24")) (, ",") (identifier "apiStack_20") (, ",") (identifier "param_7") (, ",") (identifier "param_3") () ")")))) (; ";")) (if_statement "if (iVar7 == 0) {\n          return 0;\n        }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          return 0;\n        }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (if_statement "if (local_3c == (char *)0x0) {\n          return 1;\n        }" (if "if") (parenthesized_expression "(local_3c == (char *)0x0)" (( "(") (binary_expression "local_3c == (char *)0x0" (identifier "local_3c") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          return 1;\n        }" ({ "{") (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (expression_statement "iVar10 = param_2[0x3a];" (assignment_expression "iVar10 = param_2[0x3a]" (identifier "iVar10") (= "=") (subscript_expression "param_2[0x3a]" (identifier "param_2") ([ "[") (number_literal "0x3a") (] "]"))) (; ";")) (expression_statement "iVar7 = FUN_0003d680(param_1,local_3c,iVar7,extraout_ECX);" (assignment_expression "iVar7 = FUN_0003d680(param_1,local_3c,iVar7,extraout_ECX)" (identifier "iVar7") (= "=") (call_expression "FUN_0003d680(param_1,local_3c,iVar7,extraout_ECX)" (identifier "FUN_0003d680") (argument_list "(param_1,local_3c,iVar7,extraout_ECX)" (( "(") (identifier "param_1") (, ",") (identifier "local_3c") (, ",") (identifier "iVar7") (, ",") (identifier "extraout_ECX") () ")")))) (; ";")) (if_statement "if (iVar7 == 0) {\n          return 0;\n        }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          return 0;\n        }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (if_statement "if (apiStack_20[0] != (int *)0x0) {\n          *apiStack_20[0] = iVar7;\n        }" (if "if") (parenthesized_expression "(apiStack_20[0] != (int *)0x0)" (( "(") (binary_expression "apiStack_20[0] != (int *)0x0" (subscript_expression "apiStack_20[0]" (identifier "apiStack_20") ([ "[") (number_literal "0") (] "]")) (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          *apiStack_20[0] = iVar7;\n        }" ({ "{") (expression_statement "*apiStack_20[0] = iVar7;" (assignment_expression "*apiStack_20[0] = iVar7" (pointer_expression "*apiStack_20[0]" (* "*") (subscript_expression "apiStack_20[0]" (identifier "apiStack_20") ([ "[") (number_literal "0") (] "]"))) (= "=") (identifier "iVar7")) (; ";")) (} "}"))) (expression_statement "piVar13 = apiStack_20[0];" (assignment_expression "piVar13 = apiStack_20[0]" (identifier "piVar13") (= "=") (subscript_expression "apiStack_20[0]" (identifier "apiStack_20") ([ "[") (number_literal "0") (] "]"))) (; ";")) (if_statement "if (iVar10 != 0) goto code_r0x00044efc;" (if "if") (parenthesized_expression "(iVar10 != 0)" (( "(") (binary_expression "iVar10 != 0" (identifier "iVar10") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto code_r0x00044efc;" (goto "goto") (statement_identifier "code_r0x00044efc") (; ";"))) (if_statement "if ((int *)param_2[0x39] == (int *)0x0) goto code_r0x00044efc;" (if "if") (parenthesized_expression "((int *)param_2[0x39] == (int *)0x0)" (( "(") (binary_expression "(int *)param_2[0x39] == (int *)0x0" (cast_expression "(int *)param_2[0x39]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[0x39]" (identifier "param_2") ([ "[") (number_literal "0x39") (] "]"))) (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto code_r0x00044efc;" (goto "goto") (statement_identifier "code_r0x00044efc") (; ";"))) (expression_statement "cVar3 = *local_3c;" (assignment_expression "cVar3 = *local_3c" (identifier "cVar3") (= "=") (pointer_expression "*local_3c" (* "*") (identifier "local_3c"))) (; ";")) (expression_statement "piVar17 = param_2 + 0x39;" (assignment_expression "piVar17 = param_2 + 0x39" (identifier "piVar17") (= "=") (binary_expression "param_2 + 0x39" (identifier "param_2") (+ "+") (number_literal "0x39"))) (; ";")) (expression_statement "piVar20 = (int *)param_2[0x39];" (assignment_expression "piVar20 = (int *)param_2[0x39]" (identifier "piVar20") (= "=") (cast_expression "(int *)param_2[0x39]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[0x39]" (identifier "param_2") ([ "[") (number_literal "0x39") (] "]")))) (; ";")) (goto_statement "goto code_r0x00044ecc;" (goto "goto") (statement_identifier "code_r0x00044ecc") (; ";"))) (case_statement "case 0x56:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 3;\n        goto code_r0x0004486e;" (case "case") (number_literal "0x56") (: ":") (expression_statement "pbVar18 = local_24;" (assignment_expression "pbVar18 = local_24" (identifier "pbVar18") (= "=") (identifier "local_24")) (; ";")) (expression_statement "local_24 = pbVar16;" (assignment_expression "local_24 = pbVar16" (identifier "local_24") (= "=") (identifier "pbVar16")) (; ";")) (expression_statement "iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);" (assignment_expression "iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18)" (identifier "iVar7") (= "=") (call_expression "FUN_00040c70(&local_24,0,param_7,pbVar18)" (identifier "FUN_00040c70") (argument_list "(&local_24,0,param_7,pbVar18)" (( "(") (pointer_expression "&local_24" (& "&") (identifier "local_24")) (, ",") (number_literal "0") (, ",") (identifier "param_7") (, ",") (identifier "pbVar18") () ")")))) (; ";")) (if_statement "if (iVar7 == 0) {\n          return 0;\n        }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          return 0;\n        }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "uVar27 = 3;" (assignment_expression "uVar27 = 3" (identifier "uVar27") (= "=") (number_literal "3")) (; ";")) (goto_statement "goto code_r0x0004486e;" (goto "goto") (statement_identifier "code_r0x0004486e") (; ";"))) (case_statement "case 0x58:" (case "case") (number_literal "0x58") (: ":")) (case_statement "case 0x6c:" (case "case") (number_literal "0x6c") (: ":")) (case_statement "case 0x73:\n        goto LAB_0004483d;" (case "case") (number_literal "0x73") (: ":") (goto_statement "goto LAB_0004483d;" (goto "goto") (statement_identifier "LAB_0004483d") (; ";"))) (case_statement "case 0x59:\n        pbVar16 = local_24 + 3;\n        if ((local_24[3] == 0x6e) &&\n           (pbVar16 = local_24 + 4, pbVar18 = local_24 + 4, local_24 = pbVar16, *pbVar18 == 0x30)) {\n          for (; *local_24 != 0x3b; local_24 = local_24 + 1) {\n          }\n          return 1;\n        }\nLAB_00044e16:\n        local_24 = pbVar16;\n        FUN_0003dfb0();\n        return 0;" (case "case") (number_literal "0x59") (: ":") (expression_statement "pbVar16 = local_24 + 3;" (assignment_expression "pbVar16 = local_24 + 3" (identifier "pbVar16") (= "=") (binary_expression "local_24 + 3" (identifier "local_24") (+ "+") (number_literal "3"))) (; ";")) (if_statement "if ((local_24[3] == 0x6e) &&\n           (pbVar16 = local_24 + 4, pbVar18 = local_24 + 4, local_24 = pbVar16, *pbVar18 == 0x30)) {\n          for (; *local_24 != 0x3b; local_24 = local_24 + 1) {\n          }\n          return 1;\n        }" (if "if") (parenthesized_expression "((local_24[3] == 0x6e) &&\n           (pbVar16 = local_24 + 4, pbVar18 = local_24 + 4, local_24 = pbVar16, *pbVar18 == 0x30))" (( "(") (binary_expression "(local_24[3] == 0x6e) &&\n           (pbVar16 = local_24 + 4, pbVar18 = local_24 + 4, local_24 = pbVar16, *pbVar18 == 0x30)" (parenthesized_expression "(local_24[3] == 0x6e)" (( "(") (binary_expression "local_24[3] == 0x6e" (subscript_expression "local_24[3]" (identifier "local_24") ([ "[") (number_literal "3") (] "]")) (== "==") (number_literal "0x6e")) () ")")) (&& "&&") (parenthesized_expression "(pbVar16 = local_24 + 4, pbVar18 = local_24 + 4, local_24 = pbVar16, *pbVar18 == 0x30)" (( "(") (comma_expression "pbVar16 = local_24 + 4, pbVar18 = local_24 + 4, local_24 = pbVar16, *pbVar18 == 0x30" (assignment_expression "pbVar16 = local_24 + 4" (identifier "pbVar16") (= "=") (binary_expression "local_24 + 4" (identifier "local_24") (+ "+") (number_literal "4"))) (, ",") (comma_expression "pbVar18 = local_24 + 4, local_24 = pbVar16, *pbVar18 == 0x30" (assignment_expression "pbVar18 = local_24 + 4" (identifier "pbVar18") (= "=") (binary_expression "local_24 + 4" (identifier "local_24") (+ "+") (number_literal "4"))) (, ",") (comma_expression "local_24 = pbVar16, *pbVar18 == 0x30" (assignment_expression "local_24 = pbVar16" (identifier "local_24") (= "=") (identifier "pbVar16")) (, ",") (binary_expression "*pbVar18 == 0x30" (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")) (== "==") (number_literal "0x30"))))) () ")"))) () ")")) (compound_statement "{\n          for (; *local_24 != 0x3b; local_24 = local_24 + 1) {\n          }\n          return 1;\n        }" ({ "{") (for_statement "for (; *local_24 != 0x3b; local_24 = local_24 + 1) {\n          }" (for "for") (( "(") (; ";") (binary_expression "*local_24 != 0x3b" (pointer_expression "*local_24" (* "*") (identifier "local_24")) (!= "!=") (number_literal "0x3b")) (; ";") (assignment_expression "local_24 = local_24 + 1" (identifier "local_24") (= "=") (binary_expression "local_24 + 1" (identifier "local_24") (+ "+") (number_literal "1"))) () ")") (compound_statement "{\n          }" ({ "{") (} "}"))) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (labeled_statement "LAB_00044e16:\n        local_24 = pbVar16;" (statement_identifier "LAB_00044e16") (: ":") (expression_statement "local_24 = pbVar16;" (assignment_expression "local_24 = pbVar16" (identifier "local_24") (= "=") (identifier "pbVar16")) (; ";"))) (expression_statement "FUN_0003dfb0();" (call_expression "FUN_0003dfb0()" (identifier "FUN_0003dfb0") (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";"))) (case_statement "case 0x61:\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,bVar24);\n        goto joined_r0x00045010;" (case "case") (number_literal "0x61") (: ":") (expression_statement "local_24 = pbVar16;" (assignment_expression "local_24 = pbVar16" (identifier "local_24") (= "=") (identifier "pbVar16")) (; ";")) (expression_statement "iVar7 = FUN_00040c70(&local_24,0,param_7,bVar24);" (assignment_expression "iVar7 = FUN_00040c70(&local_24,0,param_7,bVar24)" (identifier "iVar7") (= "=") (call_expression "FUN_00040c70(&local_24,0,param_7,bVar24)" (identifier "FUN_00040c70") (argument_list "(&local_24,0,param_7,bVar24)" (( "(") (pointer_expression "&local_24" (& "&") (identifier "local_24")) (, ",") (number_literal "0") (, ",") (identifier "param_7") (, ",") (identifier "bVar24") () ")")))) (; ";")) (goto_statement "goto joined_r0x00045010;" (goto "goto") (statement_identifier "joined_r0x00045010") (; ";"))) (case_statement "case 99:\n        if (local_24[2] == 0x3d) {\n          pbVar16 = local_24 + 4;\n          bVar24 = local_24[3];\n          local_24 = pbVar16;\n          if (bVar24 == 0x69) {\n            lVar15 = strtol((char *)pbVar16,(char **)0x0,10);\n            iVar7 = FUN_0003cbe0(param_1,local_3c,lVar15,lVar15 >> 0x1f);\n            goto joined_r0x00044fe7;\n          }\n          if (bVar24 == 0x72) {\n            lVar25 = (longdouble)func_0x00013560(pbVar16,0,0x72,0x72);\n            iVar7 = FUN_0003cc30(param_1,local_3c,(double)lVar25);\n            goto joined_r0x00044fe7;\n          }\n          if (bVar24 == 0x65) {\n            iVar7 = FUN_00040c70(&local_24,0,param_7,0x65);\n            if (iVar7 == 0) {\n              return 0;\n            }\n            pbVar16 = local_24;\n            if (*local_24 == 0x2c) {\n              uVar28 = 10;\n              uVar27 = 0;\n              lVar15 = strtol((char *)local_24,(char **)0x0,10);\n              iVar7 = FUN_0003cc70(param_1,local_3c,iVar7,lVar15,lVar15 >> 0x1f,uVar27,uVar28,\n                                   param_3);\n              goto joined_r0x00044fe7;\n            }\n          }\n        }\n        break;" (case "case") (number_literal "99") (: ":") (if_statement "if (local_24[2] == 0x3d) {\n          pbVar16 = local_24 + 4;\n          bVar24 = local_24[3];\n          local_24 = pbVar16;\n          if (bVar24 == 0x69) {\n            lVar15 = strtol((char *)pbVar16,(char **)0x0,10);\n            iVar7 = FUN_0003cbe0(param_1,local_3c,lVar15,lVar15 >> 0x1f);\n            goto joined_r0x00044fe7;\n          }\n          if (bVar24 == 0x72) {\n            lVar25 = (longdouble)func_0x00013560(pbVar16,0,0x72,0x72);\n            iVar7 = FUN_0003cc30(param_1,local_3c,(double)lVar25);\n            goto joined_r0x00044fe7;\n          }\n          if (bVar24 == 0x65) {\n            iVar7 = FUN_00040c70(&local_24,0,param_7,0x65);\n            if (iVar7 == 0) {\n              return 0;\n            }\n            pbVar16 = local_24;\n            if (*local_24 == 0x2c) {\n              uVar28 = 10;\n              uVar27 = 0;\n              lVar15 = strtol((char *)local_24,(char **)0x0,10);\n              iVar7 = FUN_0003cc70(param_1,local_3c,iVar7,lVar15,lVar15 >> 0x1f,uVar27,uVar28,\n                                   param_3);\n              goto joined_r0x00044fe7;\n            }\n          }\n        }" (if "if") (parenthesized_expression "(local_24[2] == 0x3d)" (( "(") (binary_expression "local_24[2] == 0x3d" (subscript_expression "local_24[2]" (identifier "local_24") ([ "[") (number_literal "2") (] "]")) (== "==") (number_literal "0x3d")) () ")")) (compound_statement "{\n          pbVar16 = local_24 + 4;\n          bVar24 = local_24[3];\n          local_24 = pbVar16;\n          if (bVar24 == 0x69) {\n            lVar15 = strtol((char *)pbVar16,(char **)0x0,10);\n            iVar7 = FUN_0003cbe0(param_1,local_3c,lVar15,lVar15 >> 0x1f);\n            goto joined_r0x00044fe7;\n          }\n          if (bVar24 == 0x72) {\n            lVar25 = (longdouble)func_0x00013560(pbVar16,0,0x72,0x72);\n            iVar7 = FUN_0003cc30(param_1,local_3c,(double)lVar25);\n            goto joined_r0x00044fe7;\n          }\n          if (bVar24 == 0x65) {\n            iVar7 = FUN_00040c70(&local_24,0,param_7,0x65);\n            if (iVar7 == 0) {\n              return 0;\n            }\n            pbVar16 = local_24;\n            if (*local_24 == 0x2c) {\n              uVar28 = 10;\n              uVar27 = 0;\n              lVar15 = strtol((char *)local_24,(char **)0x0,10);\n              iVar7 = FUN_0003cc70(param_1,local_3c,iVar7,lVar15,lVar15 >> 0x1f,uVar27,uVar28,\n                                   param_3);\n              goto joined_r0x00044fe7;\n            }\n          }\n        }" ({ "{") (expression_statement "pbVar16 = local_24 + 4;" (assignment_expression "pbVar16 = local_24 + 4" (identifier "pbVar16") (= "=") (binary_expression "local_24 + 4" (identifier "local_24") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "bVar24 = local_24[3];" (assignment_expression "bVar24 = local_24[3]" (identifier "bVar24") (= "=") (subscript_expression "local_24[3]" (identifier "local_24") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "local_24 = pbVar16;" (assignment_expression "local_24 = pbVar16" (identifier "local_24") (= "=") (identifier "pbVar16")) (; ";")) (if_statement "if (bVar24 == 0x69) {\n            lVar15 = strtol((char *)pbVar16,(char **)0x0,10);\n            iVar7 = FUN_0003cbe0(param_1,local_3c,lVar15,lVar15 >> 0x1f);\n            goto joined_r0x00044fe7;\n          }" (if "if") (parenthesized_expression "(bVar24 == 0x69)" (( "(") (binary_expression "bVar24 == 0x69" (identifier "bVar24") (== "==") (number_literal "0x69")) () ")")) (compound_statement "{\n            lVar15 = strtol((char *)pbVar16,(char **)0x0,10);\n            iVar7 = FUN_0003cbe0(param_1,local_3c,lVar15,lVar15 >> 0x1f);\n            goto joined_r0x00044fe7;\n          }" ({ "{") (expression_statement "lVar15 = strtol((char *)pbVar16,(char **)0x0,10);" (assignment_expression "lVar15 = strtol((char *)pbVar16,(char **)0x0,10)" (identifier "lVar15") (= "=") (call_expression "strtol((char *)pbVar16,(char **)0x0,10)" (identifier "strtol") (argument_list "((char *)pbVar16,(char **)0x0,10)" (( "(") (cast_expression "(char *)pbVar16" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pbVar16")) (, ",") (cast_expression "(char **)0x0" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0")) (, ",") (number_literal "10") () ")")))) (; ";")) (expression_statement "iVar7 = FUN_0003cbe0(param_1,local_3c,lVar15,lVar15 >> 0x1f);" (assignment_expression "iVar7 = FUN_0003cbe0(param_1,local_3c,lVar15,lVar15 >> 0x1f)" (identifier "iVar7") (= "=") (call_expression "FUN_0003cbe0(param_1,local_3c,lVar15,lVar15 >> 0x1f)" (identifier "FUN_0003cbe0") (argument_list "(param_1,local_3c,lVar15,lVar15 >> 0x1f)" (( "(") (identifier "param_1") (, ",") (identifier "local_3c") (, ",") (identifier "lVar15") (, ",") (binary_expression "lVar15 >> 0x1f" (identifier "lVar15") (>> ">>") (number_literal "0x1f")) () ")")))) (; ";")) (goto_statement "goto joined_r0x00044fe7;" (goto "goto") (statement_identifier "joined_r0x00044fe7") (; ";")) (} "}"))) (if_statement "if (bVar24 == 0x72) {\n            lVar25 = (longdouble)func_0x00013560(pbVar16,0,0x72,0x72);\n            iVar7 = FUN_0003cc30(param_1,local_3c,(double)lVar25);\n            goto joined_r0x00044fe7;\n          }" (if "if") (parenthesized_expression "(bVar24 == 0x72)" (( "(") (binary_expression "bVar24 == 0x72" (identifier "bVar24") (== "==") (number_literal "0x72")) () ")")) (compound_statement "{\n            lVar25 = (longdouble)func_0x00013560(pbVar16,0,0x72,0x72);\n            iVar7 = FUN_0003cc30(param_1,local_3c,(double)lVar25);\n            goto joined_r0x00044fe7;\n          }" ({ "{") (expression_statement "lVar25 = (longdouble)func_0x00013560(pbVar16,0,0x72,0x72);" (assignment_expression "lVar25 = (longdouble)func_0x00013560(pbVar16,0,0x72,0x72)" (identifier "lVar25") (= "=") (cast_expression "(longdouble)func_0x00013560(pbVar16,0,0x72,0x72)" (( "(") (type_descriptor "longdouble" (type_identifier "longdouble")) () ")") (call_expression "func_0x00013560(pbVar16,0,0x72,0x72)" (identifier "func_0x00013560") (argument_list "(pbVar16,0,0x72,0x72)" (( "(") (identifier "pbVar16") (, ",") (number_literal "0") (, ",") (number_literal "0x72") (, ",") (number_literal "0x72") () ")"))))) (; ";")) (expression_statement "iVar7 = FUN_0003cc30(param_1,local_3c,(double)lVar25);" (assignment_expression "iVar7 = FUN_0003cc30(param_1,local_3c,(double)lVar25)" (identifier "iVar7") (= "=") (call_expression "FUN_0003cc30(param_1,local_3c,(double)lVar25)" (identifier "FUN_0003cc30") (argument_list "(param_1,local_3c,(double)lVar25)" (( "(") (identifier "param_1") (, ",") (identifier "local_3c") (, ",") (cast_expression "(double)lVar25" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "lVar25")) () ")")))) (; ";")) (goto_statement "goto joined_r0x00044fe7;" (goto "goto") (statement_identifier "joined_r0x00044fe7") (; ";")) (} "}"))) (if_statement "if (bVar24 == 0x65) {\n            iVar7 = FUN_00040c70(&local_24,0,param_7,0x65);\n            if (iVar7 == 0) {\n              return 0;\n            }\n            pbVar16 = local_24;\n            if (*local_24 == 0x2c) {\n              uVar28 = 10;\n              uVar27 = 0;\n              lVar15 = strtol((char *)local_24,(char **)0x0,10);\n              iVar7 = FUN_0003cc70(param_1,local_3c,iVar7,lVar15,lVar15 >> 0x1f,uVar27,uVar28,\n                                   param_3);\n              goto joined_r0x00044fe7;\n            }\n          }" (if "if") (parenthesized_expression "(bVar24 == 0x65)" (( "(") (binary_expression "bVar24 == 0x65" (identifier "bVar24") (== "==") (number_literal "0x65")) () ")")) (compound_statement "{\n            iVar7 = FUN_00040c70(&local_24,0,param_7,0x65);\n            if (iVar7 == 0) {\n              return 0;\n            }\n            pbVar16 = local_24;\n            if (*local_24 == 0x2c) {\n              uVar28 = 10;\n              uVar27 = 0;\n              lVar15 = strtol((char *)local_24,(char **)0x0,10);\n              iVar7 = FUN_0003cc70(param_1,local_3c,iVar7,lVar15,lVar15 >> 0x1f,uVar27,uVar28,\n                                   param_3);\n              goto joined_r0x00044fe7;\n            }\n          }" ({ "{") (expression_statement "iVar7 = FUN_00040c70(&local_24,0,param_7,0x65);" (assignment_expression "iVar7 = FUN_00040c70(&local_24,0,param_7,0x65)" (identifier "iVar7") (= "=") (call_expression "FUN_00040c70(&local_24,0,param_7,0x65)" (identifier "FUN_00040c70") (argument_list "(&local_24,0,param_7,0x65)" (( "(") (pointer_expression "&local_24" (& "&") (identifier "local_24")) (, ",") (number_literal "0") (, ",") (identifier "param_7") (, ",") (number_literal "0x65") () ")")))) (; ";")) (if_statement "if (iVar7 == 0) {\n              return 0;\n            }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              return 0;\n            }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "pbVar16 = local_24;" (assignment_expression "pbVar16 = local_24" (identifier "pbVar16") (= "=") (identifier "local_24")) (; ";")) (if_statement "if (*local_24 == 0x2c) {\n              uVar28 = 10;\n              uVar27 = 0;\n              lVar15 = strtol((char *)local_24,(char **)0x0,10);\n              iVar7 = FUN_0003cc70(param_1,local_3c,iVar7,lVar15,lVar15 >> 0x1f,uVar27,uVar28,\n                                   param_3);\n              goto joined_r0x00044fe7;\n            }" (if "if") (parenthesized_expression "(*local_24 == 0x2c)" (( "(") (binary_expression "*local_24 == 0x2c" (pointer_expression "*local_24" (* "*") (identifier "local_24")) (== "==") (number_literal "0x2c")) () ")")) (compound_statement "{\n              uVar28 = 10;\n              uVar27 = 0;\n              lVar15 = strtol((char *)local_24,(char **)0x0,10);\n              iVar7 = FUN_0003cc70(param_1,local_3c,iVar7,lVar15,lVar15 >> 0x1f,uVar27,uVar28,\n                                   param_3);\n              goto joined_r0x00044fe7;\n            }" ({ "{") (expression_statement "uVar28 = 10;" (assignment_expression "uVar28 = 10" (identifier "uVar28") (= "=") (number_literal "10")) (; ";")) (expression_statement "uVar27 = 0;" (assignment_expression "uVar27 = 0" (identifier "uVar27") (= "=") (number_literal "0")) (; ";")) (expression_statement "lVar15 = strtol((char *)local_24,(char **)0x0,10);" (assignment_expression "lVar15 = strtol((char *)local_24,(char **)0x0,10)" (identifier "lVar15") (= "=") (call_expression "strtol((char *)local_24,(char **)0x0,10)" (identifier "strtol") (argument_list "((char *)local_24,(char **)0x0,10)" (( "(") (cast_expression "(char *)local_24" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_24")) (, ",") (cast_expression "(char **)0x0" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0")) (, ",") (number_literal "10") () ")")))) (; ";")) (expression_statement "iVar7 = FUN_0003cc70(param_1,local_3c,iVar7,lVar15,lVar15 >> 0x1f,uVar27,uVar28,\n                                   param_3);" (assignment_expression "iVar7 = FUN_0003cc70(param_1,local_3c,iVar7,lVar15,lVar15 >> 0x1f,uVar27,uVar28,\n                                   param_3)" (identifier "iVar7") (= "=") (call_expression "FUN_0003cc70(param_1,local_3c,iVar7,lVar15,lVar15 >> 0x1f,uVar27,uVar28,\n                                   param_3)" (identifier "FUN_0003cc70") (argument_list "(param_1,local_3c,iVar7,lVar15,lVar15 >> 0x1f,uVar27,uVar28,\n                                   param_3)" (( "(") (identifier "param_1") (, ",") (identifier "local_3c") (, ",") (identifier "iVar7") (, ",") (identifier "lVar15") (, ",") (binary_expression "lVar15 >> 0x1f" (identifier "lVar15") (>> ">>") (number_literal "0x1f")) (, ",") (identifier "uVar27") (, ",") (identifier "uVar28") (, ",") (identifier "param_3") () ")")))) (; ";")) (goto_statement "goto joined_r0x00044fe7;" (goto "goto") (statement_identifier "joined_r0x00044fe7") (; ";")) (} "}"))) (} "}"))) (} "}"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x70:\n        if (local_24[2] == 0x46) {\n          local_24 = local_24 + 3;\n          iVar7 = FUN_00040c70(&local_24,0,param_7,local_24);\n          if (iVar7 == 0) {\n            return 0;\n          }\n          uVar27 = FUN_0003d080(param_1,iVar7,0,0);\n          iVar7 = FUN_0003d030(param_1,uVar27);\n        }\n        else {\n          pbVar18 = local_24;\n          local_24 = pbVar16;\n          iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        }\n        goto joined_r0x00044dee;" (case "case") (number_literal "0x70") (: ":") (if_statement "if (local_24[2] == 0x46) {\n          local_24 = local_24 + 3;\n          iVar7 = FUN_00040c70(&local_24,0,param_7,local_24);\n          if (iVar7 == 0) {\n            return 0;\n          }\n          uVar27 = FUN_0003d080(param_1,iVar7,0,0);\n          iVar7 = FUN_0003d030(param_1,uVar27);\n        }\n        else {\n          pbVar18 = local_24;\n          local_24 = pbVar16;\n          iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        }" (if "if") (parenthesized_expression "(local_24[2] == 0x46)" (( "(") (binary_expression "local_24[2] == 0x46" (subscript_expression "local_24[2]" (identifier "local_24") ([ "[") (number_literal "2") (] "]")) (== "==") (number_literal "0x46")) () ")")) (compound_statement "{\n          local_24 = local_24 + 3;\n          iVar7 = FUN_00040c70(&local_24,0,param_7,local_24);\n          if (iVar7 == 0) {\n            return 0;\n          }\n          uVar27 = FUN_0003d080(param_1,iVar7,0,0);\n          iVar7 = FUN_0003d030(param_1,uVar27);\n        }" ({ "{") (expression_statement "local_24 = local_24 + 3;" (assignment_expression "local_24 = local_24 + 3" (identifier "local_24") (= "=") (binary_expression "local_24 + 3" (identifier "local_24") (+ "+") (number_literal "3"))) (; ";")) (expression_statement "iVar7 = FUN_00040c70(&local_24,0,param_7,local_24);" (assignment_expression "iVar7 = FUN_00040c70(&local_24,0,param_7,local_24)" (identifier "iVar7") (= "=") (call_expression "FUN_00040c70(&local_24,0,param_7,local_24)" (identifier "FUN_00040c70") (argument_list "(&local_24,0,param_7,local_24)" (( "(") (pointer_expression "&local_24" (& "&") (identifier "local_24")) (, ",") (number_literal "0") (, ",") (identifier "param_7") (, ",") (identifier "local_24") () ")")))) (; ";")) (if_statement "if (iVar7 == 0) {\n            return 0;\n          }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            return 0;\n          }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "uVar27 = FUN_0003d080(param_1,iVar7,0,0);" (assignment_expression "uVar27 = FUN_0003d080(param_1,iVar7,0,0)" (identifier "uVar27") (= "=") (call_expression "FUN_0003d080(param_1,iVar7,0,0)" (identifier "FUN_0003d080") (argument_list "(param_1,iVar7,0,0)" (( "(") (identifier "param_1") (, ",") (identifier "iVar7") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "iVar7 = FUN_0003d030(param_1,uVar27);" (assignment_expression "iVar7 = FUN_0003d030(param_1,uVar27)" (identifier "iVar7") (= "=") (call_expression "FUN_0003d030(param_1,uVar27)" (identifier "FUN_0003d030") (argument_list "(param_1,uVar27)" (( "(") (identifier "param_1") (, ",") (identifier "uVar27") () ")")))) (; ";")) (} "}")) (else_clause "else {\n          pbVar18 = local_24;\n          local_24 = pbVar16;\n          iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        }" (else "else") (compound_statement "{\n          pbVar18 = local_24;\n          local_24 = pbVar16;\n          iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        }" ({ "{") (expression_statement "pbVar18 = local_24;" (assignment_expression "pbVar18 = local_24" (identifier "pbVar18") (= "=") (identifier "local_24")) (; ";")) (expression_statement "local_24 = pbVar16;" (assignment_expression "local_24 = pbVar16" (identifier "local_24") (= "=") (identifier "pbVar16")) (; ";")) (expression_statement "iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);" (assignment_expression "iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18)" (identifier "iVar7") (= "=") (call_expression "FUN_00040c70(&local_24,0,param_7,pbVar18)" (identifier "FUN_00040c70") (argument_list "(&local_24,0,param_7,pbVar18)" (( "(") (pointer_expression "&local_24" (& "&") (identifier "local_24")) (, ",") (number_literal "0") (, ",") (identifier "param_7") (, ",") (identifier "pbVar18") () ")")))) (; ";")) (} "}")))) (goto_statement "goto joined_r0x00044dee;" (goto "goto") (statement_identifier "joined_r0x00044dee") (; ";"))) (case_statement "case 0x72:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        uVar27 = 5;\n        goto code_r0x0004486e;" (case "case") (number_literal "0x72") (: ":") (expression_statement "pbVar18 = local_24;" (assignment_expression "pbVar18 = local_24" (identifier "pbVar18") (= "=") (identifier "local_24")) (; ";")) (expression_statement "local_24 = pbVar16;" (assignment_expression "local_24 = pbVar16" (identifier "local_24") (= "=") (identifier "pbVar16")) (; ";")) (expression_statement "iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);" (assignment_expression "iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18)" (identifier "iVar7") (= "=") (call_expression "FUN_00040c70(&local_24,0,param_7,pbVar18)" (identifier "FUN_00040c70") (argument_list "(&local_24,0,param_7,pbVar18)" (( "(") (pointer_expression "&local_24" (& "&") (identifier "local_24")) (, ",") (number_literal "0") (, ",") (identifier "param_7") (, ",") (identifier "pbVar18") () ")")))) (; ";")) (if_statement "if (iVar7 == 0) {\n          return 0;\n        }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          return 0;\n        }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "uVar27 = 5;" (assignment_expression "uVar27 = 5" (identifier "uVar27") (= "=") (number_literal "5")) (; ";")) (goto_statement "goto code_r0x0004486e;" (goto "goto") (statement_identifier "code_r0x0004486e") (; ";"))) (case_statement "case 0x74:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,apiStack_20,param_7,pbVar18);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (local_3c == (char *)0x0) {\n          return 1;\n        }\n        iVar7 = FUN_0003d5a0(param_1,local_3c,iVar7,param_2);\n        if (iVar7 == 0) {\n          return 0;\n        }\n        if (apiStack_20[0] == (int *)0x0) {\n          return 1;\n        }\n        *apiStack_20[0] = iVar7;\n        return 1;" (case "case") (number_literal "0x74") (: ":") (expression_statement "pbVar18 = local_24;" (assignment_expression "pbVar18 = local_24" (identifier "pbVar18") (= "=") (identifier "local_24")) (; ";")) (expression_statement "local_24 = pbVar16;" (assignment_expression "local_24 = pbVar16" (identifier "local_24") (= "=") (identifier "pbVar16")) (; ";")) (expression_statement "iVar7 = FUN_00040c70(&local_24,apiStack_20,param_7,pbVar18);" (assignment_expression "iVar7 = FUN_00040c70(&local_24,apiStack_20,param_7,pbVar18)" (identifier "iVar7") (= "=") (call_expression "FUN_00040c70(&local_24,apiStack_20,param_7,pbVar18)" (identifier "FUN_00040c70") (argument_list "(&local_24,apiStack_20,param_7,pbVar18)" (( "(") (pointer_expression "&local_24" (& "&") (identifier "local_24")) (, ",") (identifier "apiStack_20") (, ",") (identifier "param_7") (, ",") (identifier "pbVar18") () ")")))) (; ";")) (if_statement "if (iVar7 == 0) {\n          return 0;\n        }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          return 0;\n        }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (if_statement "if (local_3c == (char *)0x0) {\n          return 1;\n        }" (if "if") (parenthesized_expression "(local_3c == (char *)0x0)" (( "(") (binary_expression "local_3c == (char *)0x0" (identifier "local_3c") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          return 1;\n        }" ({ "{") (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (expression_statement "iVar7 = FUN_0003d5a0(param_1,local_3c,iVar7,param_2);" (assignment_expression "iVar7 = FUN_0003d5a0(param_1,local_3c,iVar7,param_2)" (identifier "iVar7") (= "=") (call_expression "FUN_0003d5a0(param_1,local_3c,iVar7,param_2)" (identifier "FUN_0003d5a0") (argument_list "(param_1,local_3c,iVar7,param_2)" (( "(") (identifier "param_1") (, ",") (identifier "local_3c") (, ",") (identifier "iVar7") (, ",") (identifier "param_2") () ")")))) (; ";")) (if_statement "if (iVar7 == 0) {\n          return 0;\n        }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          return 0;\n        }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (if_statement "if (apiStack_20[0] == (int *)0x0) {\n          return 1;\n        }" (if "if") (parenthesized_expression "(apiStack_20[0] == (int *)0x0)" (( "(") (binary_expression "apiStack_20[0] == (int *)0x0" (subscript_expression "apiStack_20[0]" (identifier "apiStack_20") ([ "[") (number_literal "0") (] "]")) (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          return 1;\n        }" ({ "{") (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (expression_statement "*apiStack_20[0] = iVar7;" (assignment_expression "*apiStack_20[0] = iVar7" (pointer_expression "*apiStack_20[0]" (* "*") (subscript_expression "apiStack_20[0]" (identifier "apiStack_20") ([ "[") (number_literal "0") (] "]"))) (= "=") (identifier "iVar7")) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";"))) (case_statement "case 0x76:\n        pbVar18 = local_24;\n        local_24 = pbVar16;\n        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);\njoined_r0x00044dee:\n        if (iVar7 == 0) {\n          return 0;\n        }\n        goto code_r0x00044af0;" (case "case") (number_literal "0x76") (: ":") (expression_statement "pbVar18 = local_24;" (assignment_expression "pbVar18 = local_24" (identifier "pbVar18") (= "=") (identifier "local_24")) (; ";")) (expression_statement "local_24 = pbVar16;" (assignment_expression "local_24 = pbVar16" (identifier "local_24") (= "=") (identifier "pbVar16")) (; ";")) (expression_statement "iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);" (assignment_expression "iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18)" (identifier "iVar7") (= "=") (call_expression "FUN_00040c70(&local_24,0,param_7,pbVar18)" (identifier "FUN_00040c70") (argument_list "(&local_24,0,param_7,pbVar18)" (( "(") (pointer_expression "&local_24" (& "&") (identifier "local_24")) (, ",") (number_literal "0") (, ",") (identifier "param_7") (, ",") (identifier "pbVar18") () ")")))) (; ";")) (labeled_statement "joined_r0x00044dee:\n        if (iVar7 == 0) {\n          return 0;\n        }" (statement_identifier "joined_r0x00044dee") (: ":") (if_statement "if (iVar7 == 0) {\n          return 0;\n        }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          return 0;\n        }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}")))) (goto_statement "goto code_r0x00044af0;" (goto "goto") (statement_identifier "code_r0x00044af0") (; ";"))) (} "}"))) (} "}"))) (goto_statement "goto LAB_000449d0;" (goto "goto") (statement_identifier "LAB_000449d0") (; ";")) (} "}"))) (if_statement "if (param_3 == 0xc0) {\n    if ((param_2[0xc] != 0) && (param_4 == 1)) {\n      return 1;\n    }\n    if (param_2[0x10] == 0) {\n      pcVar12 = (char *)dcgettext(0,"N_LBRAC not within function\n",5);\n      fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar12);\n      return 0;\n    }\n    uVar11 = param_2[9] + param_2[7];\n    iVar7 = FUN_0003c880(param_1,uVar11 + param_5,\n                         param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7]) + param_6 +\n                         (uint)CARRY4(uVar11,param_5));\n    if (iVar7 == 0) {\n      return 0;\n    }\n    iVar7 = FUN_0003e2f0();\n    if (iVar7 == 0) {\n      return 0;\n    }\n    param_2[0x13] = param_2[0x13] + 1;\n    return 1;\n  }" (if "if") (parenthesized_expression "(param_3 == 0xc0)" (( "(") (binary_expression "param_3 == 0xc0" (identifier "param_3") (== "==") (number_literal "0xc0")) () ")")) (compound_statement "{\n    if ((param_2[0xc] != 0) && (param_4 == 1)) {\n      return 1;\n    }\n    if (param_2[0x10] == 0) {\n      pcVar12 = (char *)dcgettext(0,"N_LBRAC not within function\n",5);\n      fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar12);\n      return 0;\n    }\n    uVar11 = param_2[9] + param_2[7];\n    iVar7 = FUN_0003c880(param_1,uVar11 + param_5,\n                         param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7]) + param_6 +\n                         (uint)CARRY4(uVar11,param_5));\n    if (iVar7 == 0) {\n      return 0;\n    }\n    iVar7 = FUN_0003e2f0();\n    if (iVar7 == 0) {\n      return 0;\n    }\n    param_2[0x13] = param_2[0x13] + 1;\n    return 1;\n  }" ({ "{") (if_statement "if ((param_2[0xc] != 0) && (param_4 == 1)) {\n      return 1;\n    }" (if "if") (parenthesized_expression "((param_2[0xc] != 0) && (param_4 == 1))" (( "(") (binary_expression "(param_2[0xc] != 0) && (param_4 == 1)" (parenthesized_expression "(param_2[0xc] != 0)" (( "(") (binary_expression "param_2[0xc] != 0" (subscript_expression "param_2[0xc]" (identifier "param_2") ([ "[") (number_literal "0xc") (] "]")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(param_4 == 1)" (( "(") (binary_expression "param_4 == 1" (identifier "param_4") (== "==") (number_literal "1")) () ")"))) () ")")) (compound_statement "{\n      return 1;\n    }" ({ "{") (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (if_statement "if (param_2[0x10] == 0) {\n      pcVar12 = (char *)dcgettext(0,"N_LBRAC not within function\n",5);\n      fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar12);\n      return 0;\n    }" (if "if") (parenthesized_expression "(param_2[0x10] == 0)" (( "(") (binary_expression "param_2[0x10] == 0" (subscript_expression "param_2[0x10]" (identifier "param_2") ([ "[") (number_literal "0x10") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      pcVar12 = (char *)dcgettext(0,"N_LBRAC not within function\n",5);\n      fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar12);\n      return 0;\n    }" ({ "{") (expression_statement "pcVar12 = (char *)dcgettext(0,"N_LBRAC not within function\n",5);" (assignment_expression "pcVar12 = (char *)dcgettext(0,"N_LBRAC not within function\n",5)" (identifier "pcVar12") (= "=") (cast_expression "(char *)dcgettext(0,"N_LBRAC not within function\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"N_LBRAC not within function\n",5)" (identifier "dcgettext") (argument_list "(0,"N_LBRAC not within function\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""N_LBRAC not within function\n"" (" """) (string_content "N_LBRAC not within function") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar12);" (call_expression "fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar12)" (identifier "fprintf") (argument_list "(*(FILE **)PTR_stderr_00071fb4,pcVar12)" (( "(") (pointer_expression "*(FILE **)PTR_stderr_00071fb4" (* "*") (cast_expression "(FILE **)PTR_stderr_00071fb4" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR_stderr_00071fb4"))) (, ",") (identifier "pcVar12") () ")"))) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "uVar11 = param_2[9] + param_2[7];" (assignment_expression "uVar11 = param_2[9] + param_2[7]" (identifier "uVar11") (= "=") (binary_expression "param_2[9] + param_2[7]" (subscript_expression "param_2[9]" (identifier "param_2") ([ "[") (number_literal "9") (] "]")) (+ "+") (subscript_expression "param_2[7]" (identifier "param_2") ([ "[") (number_literal "7") (] "]")))) (; ";")) (expression_statement "iVar7 = FUN_0003c880(param_1,uVar11 + param_5,\n                         param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7]) + param_6 +\n                         (uint)CARRY4(uVar11,param_5));" (assignment_expression "iVar7 = FUN_0003c880(param_1,uVar11 + param_5,\n                         param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7]) + param_6 +\n                         (uint)CARRY4(uVar11,param_5))" (identifier "iVar7") (= "=") (call_expression "FUN_0003c880(param_1,uVar11 + param_5,\n                         param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7]) + param_6 +\n                         (uint)CARRY4(uVar11,param_5))" (identifier "FUN_0003c880") (argument_list "(param_1,uVar11 + param_5,\n                         param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7]) + param_6 +\n                         (uint)CARRY4(uVar11,param_5))" (( "(") (identifier "param_1") (, ",") (binary_expression "uVar11 + param_5" (identifier "uVar11") (+ "+") (identifier "param_5")) (, ",") (binary_expression "param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7]) + param_6 +\n                         (uint)CARRY4(uVar11,param_5)" (binary_expression "param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7]) + param_6" (binary_expression "param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7])" (binary_expression "param_2[10] + param_2[8]" (subscript_expression "param_2[10]" (identifier "param_2") ([ "[") (number_literal "10") (] "]")) (+ "+") (subscript_expression "param_2[8]" (identifier "param_2") ([ "[") (number_literal "8") (] "]"))) (+ "+") (cast_expression "(uint)CARRY4(param_2[9],param_2[7])" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(param_2[9],param_2[7])" (identifier "CARRY4") (argument_list "(param_2[9],param_2[7])" (( "(") (subscript_expression "param_2[9]" (identifier "param_2") ([ "[") (number_literal "9") (] "]")) (, ",") (subscript_expression "param_2[7]" (identifier "param_2") ([ "[") (number_literal "7") (] "]")) () ")"))))) (+ "+") (identifier "param_6")) (+ "+") (cast_expression "(uint)CARRY4(uVar11,param_5)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(uVar11,param_5)" (identifier "CARRY4") (argument_list "(uVar11,param_5)" (( "(") (identifier "uVar11") (, ",") (identifier "param_5") () ")"))))) () ")")))) (; ";")) (if_statement "if (iVar7 == 0) {\n      return 0;\n    }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      return 0;\n    }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "iVar7 = FUN_0003e2f0();" (assignment_expression "iVar7 = FUN_0003e2f0()" (identifier "iVar7") (= "=") (call_expression "FUN_0003e2f0()" (identifier "FUN_0003e2f0") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar7 == 0) {\n      return 0;\n    }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      return 0;\n    }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "param_2[0x13] = param_2[0x13] + 1;" (assignment_expression "param_2[0x13] = param_2[0x13] + 1" (subscript_expression "param_2[0x13]" (identifier "param_2") ([ "[") (number_literal "0x13") (] "]")) (= "=") (binary_expression "param_2[0x13] + 1" (subscript_expression "param_2[0x13]" (identifier "param_2") ([ "[") (number_literal "0x13") (] "]")) (+ "+") (number_literal "1"))) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (if_statement "if (0xc0 < (int)param_3) {\n    if (param_3 == 0xe0) {\n      if ((param_2[0xc] != 0) && (param_4 == 1)) {\n        return 1;\n      }\n      iVar7 = FUN_0003e2f0();\n      if (iVar7 == 0) {\n        return 0;\n      }\n      uVar11 = param_2[9] + param_2[7];\n      iVar7 = FUN_0003c980(param_1,uVar11 + param_5,\n                           param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7]) + param_6\n                           + (uint)CARRY4(uVar11,param_5));\n      if (iVar7 == 0) {\n        return 0;\n      }\n      param_2 = param_2 + 0x13;\n      *param_2 = *param_2 + -1;\n      if (*param_2 < 0) {\n        pcVar12 = (char *)dcgettext(0,"Too many N_RBRACs\n",5);\n        fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar12);\n        return 0;\n      }\n      return 1;\n    }\n    if ((int)param_3 < 0xe1) {\n      if (param_3 == 0xc2) {\n        iVar7 = param_2[0x15];\n        param_2[0x15] = iVar7 + 1;\n        iVar7 = xrealloc(param_2[0x16],(iVar7 + 1) * 4);\n        puVar8 = (undefined4 *)param_2[0xf];\n        param_2[0x16] = iVar7;\n        while( true ) {\n          if (puVar8 == (undefined4 *)0x0) {\n            dcgettext(0,"Undefined N_EXCL",5);\n            FUN_0003df30();\n            *(undefined4 *)(param_2[0x16] + -4 + param_2[0x15] * 4) = 0;\n            return 1;\n          }\n          if ((puVar8[4] == param_6 && puVar8[3] == param_5) &&\n             (iVar10 = strcmp((char *)puVar8[2],(char *)param_7), iVar10 == 0)) break;\n          puVar8 = (undefined4 *)*puVar8;\n        }\n        *(undefined4 *)(iVar7 + -4 + param_2[0x15] * 4) = puVar8[6];\n        return 1;\n      }\n      goto LAB_00044431;\n    }\n    if (param_3 == 0xe2) {\n      iVar7 = FUN_0003cb60(param_1,param_7);\n    }\n    else {\n      if (param_3 != 0xe4) goto LAB_00044431;\n      iVar7 = FUN_0003cba0(param_1,param_7);\n    }\n    goto LAB_0004426d;\n  }" (if "if") (parenthesized_expression "(0xc0 < (int)param_3)" (( "(") (binary_expression "0xc0 < (int)param_3" (number_literal "0xc0") (< "<") (cast_expression "(int)param_3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_3"))) () ")")) (compound_statement "{\n    if (param_3 == 0xe0) {\n      if ((param_2[0xc] != 0) && (param_4 == 1)) {\n        return 1;\n      }\n      iVar7 = FUN_0003e2f0();\n      if (iVar7 == 0) {\n        return 0;\n      }\n      uVar11 = param_2[9] + param_2[7];\n      iVar7 = FUN_0003c980(param_1,uVar11 + param_5,\n                           param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7]) + param_6\n                           + (uint)CARRY4(uVar11,param_5));\n      if (iVar7 == 0) {\n        return 0;\n      }\n      param_2 = param_2 + 0x13;\n      *param_2 = *param_2 + -1;\n      if (*param_2 < 0) {\n        pcVar12 = (char *)dcgettext(0,"Too many N_RBRACs\n",5);\n        fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar12);\n        return 0;\n      }\n      return 1;\n    }\n    if ((int)param_3 < 0xe1) {\n      if (param_3 == 0xc2) {\n        iVar7 = param_2[0x15];\n        param_2[0x15] = iVar7 + 1;\n        iVar7 = xrealloc(param_2[0x16],(iVar7 + 1) * 4);\n        puVar8 = (undefined4 *)param_2[0xf];\n        param_2[0x16] = iVar7;\n        while( true ) {\n          if (puVar8 == (undefined4 *)0x0) {\n            dcgettext(0,"Undefined N_EXCL",5);\n            FUN_0003df30();\n            *(undefined4 *)(param_2[0x16] + -4 + param_2[0x15] * 4) = 0;\n            return 1;\n          }\n          if ((puVar8[4] == param_6 && puVar8[3] == param_5) &&\n             (iVar10 = strcmp((char *)puVar8[2],(char *)param_7), iVar10 == 0)) break;\n          puVar8 = (undefined4 *)*puVar8;\n        }\n        *(undefined4 *)(iVar7 + -4 + param_2[0x15] * 4) = puVar8[6];\n        return 1;\n      }\n      goto LAB_00044431;\n    }\n    if (param_3 == 0xe2) {\n      iVar7 = FUN_0003cb60(param_1,param_7);\n    }\n    else {\n      if (param_3 != 0xe4) goto LAB_00044431;\n      iVar7 = FUN_0003cba0(param_1,param_7);\n    }\n    goto LAB_0004426d;\n  }" ({ "{") (if_statement "if (param_3 == 0xe0) {\n      if ((param_2[0xc] != 0) && (param_4 == 1)) {\n        return 1;\n      }\n      iVar7 = FUN_0003e2f0();\n      if (iVar7 == 0) {\n        return 0;\n      }\n      uVar11 = param_2[9] + param_2[7];\n      iVar7 = FUN_0003c980(param_1,uVar11 + param_5,\n                           param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7]) + param_6\n                           + (uint)CARRY4(uVar11,param_5));\n      if (iVar7 == 0) {\n        return 0;\n      }\n      param_2 = param_2 + 0x13;\n      *param_2 = *param_2 + -1;\n      if (*param_2 < 0) {\n        pcVar12 = (char *)dcgettext(0,"Too many N_RBRACs\n",5);\n        fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar12);\n        return 0;\n      }\n      return 1;\n    }" (if "if") (parenthesized_expression "(param_3 == 0xe0)" (( "(") (binary_expression "param_3 == 0xe0" (identifier "param_3") (== "==") (number_literal "0xe0")) () ")")) (compound_statement "{\n      if ((param_2[0xc] != 0) && (param_4 == 1)) {\n        return 1;\n      }\n      iVar7 = FUN_0003e2f0();\n      if (iVar7 == 0) {\n        return 0;\n      }\n      uVar11 = param_2[9] + param_2[7];\n      iVar7 = FUN_0003c980(param_1,uVar11 + param_5,\n                           param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7]) + param_6\n                           + (uint)CARRY4(uVar11,param_5));\n      if (iVar7 == 0) {\n        return 0;\n      }\n      param_2 = param_2 + 0x13;\n      *param_2 = *param_2 + -1;\n      if (*param_2 < 0) {\n        pcVar12 = (char *)dcgettext(0,"Too many N_RBRACs\n",5);\n        fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar12);\n        return 0;\n      }\n      return 1;\n    }" ({ "{") (if_statement "if ((param_2[0xc] != 0) && (param_4 == 1)) {\n        return 1;\n      }" (if "if") (parenthesized_expression "((param_2[0xc] != 0) && (param_4 == 1))" (( "(") (binary_expression "(param_2[0xc] != 0) && (param_4 == 1)" (parenthesized_expression "(param_2[0xc] != 0)" (( "(") (binary_expression "param_2[0xc] != 0" (subscript_expression "param_2[0xc]" (identifier "param_2") ([ "[") (number_literal "0xc") (] "]")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(param_4 == 1)" (( "(") (binary_expression "param_4 == 1" (identifier "param_4") (== "==") (number_literal "1")) () ")"))) () ")")) (compound_statement "{\n        return 1;\n      }" ({ "{") (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (expression_statement "iVar7 = FUN_0003e2f0();" (assignment_expression "iVar7 = FUN_0003e2f0()" (identifier "iVar7") (= "=") (call_expression "FUN_0003e2f0()" (identifier "FUN_0003e2f0") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar7 == 0) {\n        return 0;\n      }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        return 0;\n      }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "uVar11 = param_2[9] + param_2[7];" (assignment_expression "uVar11 = param_2[9] + param_2[7]" (identifier "uVar11") (= "=") (binary_expression "param_2[9] + param_2[7]" (subscript_expression "param_2[9]" (identifier "param_2") ([ "[") (number_literal "9") (] "]")) (+ "+") (subscript_expression "param_2[7]" (identifier "param_2") ([ "[") (number_literal "7") (] "]")))) (; ";")) (expression_statement "iVar7 = FUN_0003c980(param_1,uVar11 + param_5,\n                           param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7]) + param_6\n                           + (uint)CARRY4(uVar11,param_5));" (assignment_expression "iVar7 = FUN_0003c980(param_1,uVar11 + param_5,\n                           param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7]) + param_6\n                           + (uint)CARRY4(uVar11,param_5))" (identifier "iVar7") (= "=") (call_expression "FUN_0003c980(param_1,uVar11 + param_5,\n                           param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7]) + param_6\n                           + (uint)CARRY4(uVar11,param_5))" (identifier "FUN_0003c980") (argument_list "(param_1,uVar11 + param_5,\n                           param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7]) + param_6\n                           + (uint)CARRY4(uVar11,param_5))" (( "(") (identifier "param_1") (, ",") (binary_expression "uVar11 + param_5" (identifier "uVar11") (+ "+") (identifier "param_5")) (, ",") (binary_expression "param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7]) + param_6\n                           + (uint)CARRY4(uVar11,param_5)" (binary_expression "param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7]) + param_6" (binary_expression "param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7])" (binary_expression "param_2[10] + param_2[8]" (subscript_expression "param_2[10]" (identifier "param_2") ([ "[") (number_literal "10") (] "]")) (+ "+") (subscript_expression "param_2[8]" (identifier "param_2") ([ "[") (number_literal "8") (] "]"))) (+ "+") (cast_expression "(uint)CARRY4(param_2[9],param_2[7])" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(param_2[9],param_2[7])" (identifier "CARRY4") (argument_list "(param_2[9],param_2[7])" (( "(") (subscript_expression "param_2[9]" (identifier "param_2") ([ "[") (number_literal "9") (] "]")) (, ",") (subscript_expression "param_2[7]" (identifier "param_2") ([ "[") (number_literal "7") (] "]")) () ")"))))) (+ "+") (identifier "param_6")) (+ "+") (cast_expression "(uint)CARRY4(uVar11,param_5)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(uVar11,param_5)" (identifier "CARRY4") (argument_list "(uVar11,param_5)" (( "(") (identifier "uVar11") (, ",") (identifier "param_5") () ")"))))) () ")")))) (; ";")) (if_statement "if (iVar7 == 0) {\n        return 0;\n      }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        return 0;\n      }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "param_2 = param_2 + 0x13;" (assignment_expression "param_2 = param_2 + 0x13" (identifier "param_2") (= "=") (binary_expression "param_2 + 0x13" (identifier "param_2") (+ "+") (number_literal "0x13"))) (; ";")) (expression_statement "*param_2 = *param_2 + -1;" (assignment_expression "*param_2 = *param_2 + -1" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (= "=") (binary_expression "*param_2 + -1" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (+ "+") (number_literal "-1"))) (; ";")) (if_statement "if (*param_2 < 0) {\n        pcVar12 = (char *)dcgettext(0,"Too many N_RBRACs\n",5);\n        fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar12);\n        return 0;\n      }" (if "if") (parenthesized_expression "(*param_2 < 0)" (( "(") (binary_expression "*param_2 < 0" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n        pcVar12 = (char *)dcgettext(0,"Too many N_RBRACs\n",5);\n        fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar12);\n        return 0;\n      }" ({ "{") (expression_statement "pcVar12 = (char *)dcgettext(0,"Too many N_RBRACs\n",5);" (assignment_expression "pcVar12 = (char *)dcgettext(0,"Too many N_RBRACs\n",5)" (identifier "pcVar12") (= "=") (cast_expression "(char *)dcgettext(0,"Too many N_RBRACs\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"Too many N_RBRACs\n",5)" (identifier "dcgettext") (argument_list "(0,"Too many N_RBRACs\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Too many N_RBRACs\n"" (" """) (string_content "Too many N_RBRACs") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar12);" (call_expression "fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar12)" (identifier "fprintf") (argument_list "(*(FILE **)PTR_stderr_00071fb4,pcVar12)" (( "(") (pointer_expression "*(FILE **)PTR_stderr_00071fb4" (* "*") (cast_expression "(FILE **)PTR_stderr_00071fb4" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR_stderr_00071fb4"))) (, ",") (identifier "pcVar12") () ")"))) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (if_statement "if ((int)param_3 < 0xe1) {\n      if (param_3 == 0xc2) {\n        iVar7 = param_2[0x15];\n        param_2[0x15] = iVar7 + 1;\n        iVar7 = xrealloc(param_2[0x16],(iVar7 + 1) * 4);\n        puVar8 = (undefined4 *)param_2[0xf];\n        param_2[0x16] = iVar7;\n        while( true ) {\n          if (puVar8 == (undefined4 *)0x0) {\n            dcgettext(0,"Undefined N_EXCL",5);\n            FUN_0003df30();\n            *(undefined4 *)(param_2[0x16] + -4 + param_2[0x15] * 4) = 0;\n            return 1;\n          }\n          if ((puVar8[4] == param_6 && puVar8[3] == param_5) &&\n             (iVar10 = strcmp((char *)puVar8[2],(char *)param_7), iVar10 == 0)) break;\n          puVar8 = (undefined4 *)*puVar8;\n        }\n        *(undefined4 *)(iVar7 + -4 + param_2[0x15] * 4) = puVar8[6];\n        return 1;\n      }\n      goto LAB_00044431;\n    }" (if "if") (parenthesized_expression "((int)param_3 < 0xe1)" (( "(") (binary_expression "(int)param_3 < 0xe1" (cast_expression "(int)param_3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_3")) (< "<") (number_literal "0xe1")) () ")")) (compound_statement "{\n      if (param_3 == 0xc2) {\n        iVar7 = param_2[0x15];\n        param_2[0x15] = iVar7 + 1;\n        iVar7 = xrealloc(param_2[0x16],(iVar7 + 1) * 4);\n        puVar8 = (undefined4 *)param_2[0xf];\n        param_2[0x16] = iVar7;\n        while( true ) {\n          if (puVar8 == (undefined4 *)0x0) {\n            dcgettext(0,"Undefined N_EXCL",5);\n            FUN_0003df30();\n            *(undefined4 *)(param_2[0x16] + -4 + param_2[0x15] * 4) = 0;\n            return 1;\n          }\n          if ((puVar8[4] == param_6 && puVar8[3] == param_5) &&\n             (iVar10 = strcmp((char *)puVar8[2],(char *)param_7), iVar10 == 0)) break;\n          puVar8 = (undefined4 *)*puVar8;\n        }\n        *(undefined4 *)(iVar7 + -4 + param_2[0x15] * 4) = puVar8[6];\n        return 1;\n      }\n      goto LAB_00044431;\n    }" ({ "{") (if_statement "if (param_3 == 0xc2) {\n        iVar7 = param_2[0x15];\n        param_2[0x15] = iVar7 + 1;\n        iVar7 = xrealloc(param_2[0x16],(iVar7 + 1) * 4);\n        puVar8 = (undefined4 *)param_2[0xf];\n        param_2[0x16] = iVar7;\n        while( true ) {\n          if (puVar8 == (undefined4 *)0x0) {\n            dcgettext(0,"Undefined N_EXCL",5);\n            FUN_0003df30();\n            *(undefined4 *)(param_2[0x16] + -4 + param_2[0x15] * 4) = 0;\n            return 1;\n          }\n          if ((puVar8[4] == param_6 && puVar8[3] == param_5) &&\n             (iVar10 = strcmp((char *)puVar8[2],(char *)param_7), iVar10 == 0)) break;\n          puVar8 = (undefined4 *)*puVar8;\n        }\n        *(undefined4 *)(iVar7 + -4 + param_2[0x15] * 4) = puVar8[6];\n        return 1;\n      }" (if "if") (parenthesized_expression "(param_3 == 0xc2)" (( "(") (binary_expression "param_3 == 0xc2" (identifier "param_3") (== "==") (number_literal "0xc2")) () ")")) (compound_statement "{\n        iVar7 = param_2[0x15];\n        param_2[0x15] = iVar7 + 1;\n        iVar7 = xrealloc(param_2[0x16],(iVar7 + 1) * 4);\n        puVar8 = (undefined4 *)param_2[0xf];\n        param_2[0x16] = iVar7;\n        while( true ) {\n          if (puVar8 == (undefined4 *)0x0) {\n            dcgettext(0,"Undefined N_EXCL",5);\n            FUN_0003df30();\n            *(undefined4 *)(param_2[0x16] + -4 + param_2[0x15] * 4) = 0;\n            return 1;\n          }\n          if ((puVar8[4] == param_6 && puVar8[3] == param_5) &&\n             (iVar10 = strcmp((char *)puVar8[2],(char *)param_7), iVar10 == 0)) break;\n          puVar8 = (undefined4 *)*puVar8;\n        }\n        *(undefined4 *)(iVar7 + -4 + param_2[0x15] * 4) = puVar8[6];\n        return 1;\n      }" ({ "{") (expression_statement "iVar7 = param_2[0x15];" (assignment_expression "iVar7 = param_2[0x15]" (identifier "iVar7") (= "=") (subscript_expression "param_2[0x15]" (identifier "param_2") ([ "[") (number_literal "0x15") (] "]"))) (; ";")) (expression_statement "param_2[0x15] = iVar7 + 1;" (assignment_expression "param_2[0x15] = iVar7 + 1" (subscript_expression "param_2[0x15]" (identifier "param_2") ([ "[") (number_literal "0x15") (] "]")) (= "=") (binary_expression "iVar7 + 1" (identifier "iVar7") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar7 = xrealloc(param_2[0x16],(iVar7 + 1) * 4);" (assignment_expression "iVar7 = xrealloc(param_2[0x16],(iVar7 + 1) * 4)" (identifier "iVar7") (= "=") (call_expression "xrealloc(param_2[0x16],(iVar7 + 1) * 4)" (identifier "xrealloc") (argument_list "(param_2[0x16],(iVar7 + 1) * 4)" (( "(") (subscript_expression "param_2[0x16]" (identifier "param_2") ([ "[") (number_literal "0x16") (] "]")) (, ",") (binary_expression "(iVar7 + 1) * 4" (parenthesized_expression "(iVar7 + 1)" (( "(") (binary_expression "iVar7 + 1" (identifier "iVar7") (+ "+") (number_literal "1")) () ")")) (* "*") (number_literal "4")) () ")")))) (; ";")) (expression_statement "puVar8 = (undefined4 *)param_2[0xf];" (assignment_expression "puVar8 = (undefined4 *)param_2[0xf]" (identifier "puVar8") (= "=") (cast_expression "(undefined4 *)param_2[0xf]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[0xf]" (identifier "param_2") ([ "[") (number_literal "0xf") (] "]")))) (; ";")) (expression_statement "param_2[0x16] = iVar7;" (assignment_expression "param_2[0x16] = iVar7" (subscript_expression "param_2[0x16]" (identifier "param_2") ([ "[") (number_literal "0x16") (] "]")) (= "=") (identifier "iVar7")) (; ";")) (while_statement "while( true ) {\n          if (puVar8 == (undefined4 *)0x0) {\n            dcgettext(0,"Undefined N_EXCL",5);\n            FUN_0003df30();\n            *(undefined4 *)(param_2[0x16] + -4 + param_2[0x15] * 4) = 0;\n            return 1;\n          }\n          if ((puVar8[4] == param_6 && puVar8[3] == param_5) &&\n             (iVar10 = strcmp((char *)puVar8[2],(char *)param_7), iVar10 == 0)) break;\n          puVar8 = (undefined4 *)*puVar8;\n        }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n          if (puVar8 == (undefined4 *)0x0) {\n            dcgettext(0,"Undefined N_EXCL",5);\n            FUN_0003df30();\n            *(undefined4 *)(param_2[0x16] + -4 + param_2[0x15] * 4) = 0;\n            return 1;\n          }\n          if ((puVar8[4] == param_6 && puVar8[3] == param_5) &&\n             (iVar10 = strcmp((char *)puVar8[2],(char *)param_7), iVar10 == 0)) break;\n          puVar8 = (undefined4 *)*puVar8;\n        }" ({ "{") (if_statement "if (puVar8 == (undefined4 *)0x0) {\n            dcgettext(0,"Undefined N_EXCL",5);\n            FUN_0003df30();\n            *(undefined4 *)(param_2[0x16] + -4 + param_2[0x15] * 4) = 0;\n            return 1;\n          }" (if "if") (parenthesized_expression "(puVar8 == (undefined4 *)0x0)" (( "(") (binary_expression "puVar8 == (undefined4 *)0x0" (identifier "puVar8") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            dcgettext(0,"Undefined N_EXCL",5);\n            FUN_0003df30();\n            *(undefined4 *)(param_2[0x16] + -4 + param_2[0x15] * 4) = 0;\n            return 1;\n          }" ({ "{") (expression_statement "dcgettext(0,"Undefined N_EXCL",5);" (call_expression "dcgettext(0,"Undefined N_EXCL",5)" (identifier "dcgettext") (argument_list "(0,"Undefined N_EXCL",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Undefined N_EXCL"" (" """) (string_content "Undefined N_EXCL") (" """)) (, ",") (number_literal "5") () ")"))) (; ";")) (expression_statement "FUN_0003df30();" (call_expression "FUN_0003df30()" (identifier "FUN_0003df30") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined4 *)(param_2[0x16] + -4 + param_2[0x15] * 4) = 0;" (assignment_expression "*(undefined4 *)(param_2[0x16] + -4 + param_2[0x15] * 4) = 0" (pointer_expression "*(undefined4 *)(param_2[0x16] + -4 + param_2[0x15] * 4)" (* "*") (cast_expression "(undefined4 *)(param_2[0x16] + -4 + param_2[0x15] * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2[0x16] + -4 + param_2[0x15] * 4)" (( "(") (binary_expression "param_2[0x16] + -4 + param_2[0x15] * 4" (binary_expression "param_2[0x16] + -4" (subscript_expression "param_2[0x16]" (identifier "param_2") ([ "[") (number_literal "0x16") (] "]")) (+ "+") (number_literal "-4")) (+ "+") (binary_expression "param_2[0x15] * 4" (subscript_expression "param_2[0x15]" (identifier "param_2") ([ "[") (number_literal "0x15") (] "]")) (* "*") (number_literal "4"))) () ")")))) (= "=") (number_literal "0")) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (if_statement "if ((puVar8[4] == param_6 && puVar8[3] == param_5) &&\n             (iVar10 = strcmp((char *)puVar8[2],(char *)param_7), iVar10 == 0)) break;" (if "if") (parenthesized_expression "((puVar8[4] == param_6 && puVar8[3] == param_5) &&\n             (iVar10 = strcmp((char *)puVar8[2],(char *)param_7), iVar10 == 0))" (( "(") (binary_expression "(puVar8[4] == param_6 && puVar8[3] == param_5) &&\n             (iVar10 = strcmp((char *)puVar8[2],(char *)param_7), iVar10 == 0)" (parenthesized_expression "(puVar8[4] == param_6 && puVar8[3] == param_5)" (( "(") (binary_expression "puVar8[4] == param_6 && puVar8[3] == param_5" (binary_expression "puVar8[4] == param_6" (subscript_expression "puVar8[4]" (identifier "puVar8") ([ "[") (number_literal "4") (] "]")) (== "==") (identifier "param_6")) (&& "&&") (binary_expression "puVar8[3] == param_5" (subscript_expression "puVar8[3]" (identifier "puVar8") ([ "[") (number_literal "3") (] "]")) (== "==") (identifier "param_5"))) () ")")) (&& "&&") (parenthesized_expression "(iVar10 = strcmp((char *)puVar8[2],(char *)param_7), iVar10 == 0)" (( "(") (comma_expression "iVar10 = strcmp((char *)puVar8[2],(char *)param_7), iVar10 == 0" (assignment_expression "iVar10 = strcmp((char *)puVar8[2],(char *)param_7)" (identifier "iVar10") (= "=") (call_expression "strcmp((char *)puVar8[2],(char *)param_7)" (identifier "strcmp") (argument_list "((char *)puVar8[2],(char *)param_7)" (( "(") (cast_expression "(char *)puVar8[2]" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar8[2]" (identifier "puVar8") ([ "[") (number_literal "2") (] "]"))) (, ",") (cast_expression "(char *)param_7" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_7")) () ")")))) (, ",") (binary_expression "iVar10 == 0" (identifier "iVar10") (== "==") (number_literal "0"))) () ")"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "puVar8 = (undefined4 *)*puVar8;" (assignment_expression "puVar8 = (undefined4 *)*puVar8" (identifier "puVar8") (= "=") (cast_expression "(undefined4 *)*puVar8" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar8" (* "*") (identifier "puVar8")))) (; ";")) (} "}"))) (expression_statement "*(undefined4 *)(iVar7 + -4 + param_2[0x15] * 4) = puVar8[6];" (assignment_expression "*(undefined4 *)(iVar7 + -4 + param_2[0x15] * 4) = puVar8[6]" (pointer_expression "*(undefined4 *)(iVar7 + -4 + param_2[0x15] * 4)" (* "*") (cast_expression "(undefined4 *)(iVar7 + -4 + param_2[0x15] * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + -4 + param_2[0x15] * 4)" (( "(") (binary_expression "iVar7 + -4 + param_2[0x15] * 4" (binary_expression "iVar7 + -4" (identifier "iVar7") (+ "+") (number_literal "-4")) (+ "+") (binary_expression "param_2[0x15] * 4" (subscript_expression "param_2[0x15]" (identifier "param_2") ([ "[") (number_literal "0x15") (] "]")) (* "*") (number_literal "4"))) () ")")))) (= "=") (subscript_expression "puVar8[6]" (identifier "puVar8") ([ "[") (number_literal "6") (] "]"))) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (goto_statement "goto LAB_00044431;" (goto "goto") (statement_identifier "LAB_00044431") (; ";")) (} "}"))) (if_statement "if (param_3 == 0xe2) {\n      iVar7 = FUN_0003cb60(param_1,param_7);\n    }\n    else {\n      if (param_3 != 0xe4) goto LAB_00044431;\n      iVar7 = FUN_0003cba0(param_1,param_7);\n    }" (if "if") (parenthesized_expression "(param_3 == 0xe2)" (( "(") (binary_expression "param_3 == 0xe2" (identifier "param_3") (== "==") (number_literal "0xe2")) () ")")) (compound_statement "{\n      iVar7 = FUN_0003cb60(param_1,param_7);\n    }" ({ "{") (expression_statement "iVar7 = FUN_0003cb60(param_1,param_7);" (assignment_expression "iVar7 = FUN_0003cb60(param_1,param_7)" (identifier "iVar7") (= "=") (call_expression "FUN_0003cb60(param_1,param_7)" (identifier "FUN_0003cb60") (argument_list "(param_1,param_7)" (( "(") (identifier "param_1") (, ",") (identifier "param_7") () ")")))) (; ";")) (} "}")) (else_clause "else {\n      if (param_3 != 0xe4) goto LAB_00044431;\n      iVar7 = FUN_0003cba0(param_1,param_7);\n    }" (else "else") (compound_statement "{\n      if (param_3 != 0xe4) goto LAB_00044431;\n      iVar7 = FUN_0003cba0(param_1,param_7);\n    }" ({ "{") (if_statement "if (param_3 != 0xe4) goto LAB_00044431;" (if "if") (parenthesized_expression "(param_3 != 0xe4)" (( "(") (binary_expression "param_3 != 0xe4" (identifier "param_3") (!= "!=") (number_literal "0xe4")) () ")")) (goto_statement "goto LAB_00044431;" (goto "goto") (statement_identifier "LAB_00044431") (; ";"))) (expression_statement "iVar7 = FUN_0003cba0(param_1,param_7);" (assignment_expression "iVar7 = FUN_0003cba0(param_1,param_7)" (identifier "iVar7") (= "=") (call_expression "FUN_0003cba0(param_1,param_7)" (identifier "FUN_0003cba0") (argument_list "(param_1,param_7)" (( "(") (identifier "param_1") (, ",") (identifier "param_7") () ")")))) (; ";")) (} "}")))) (goto_statement "goto LAB_0004426d;" (goto "goto") (statement_identifier "LAB_0004426d") (; ";")) (} "}"))) (if_statement "if (param_3 == 0x82) {\n    piVar13 = (int *)xmalloc(0x1c);\n    iVar7 = param_2[0xf];\n    piVar13[4] = param_6;\n    *piVar13 = iVar7;\n    iVar7 = param_2[0xe];\n    piVar13[6] = 0;\n    piVar13[1] = iVar7;\n    param_2[0xf] = (int)piVar13;\n    piVar13[2] = (int)param_7;\n    param_2[0xe] = (int)piVar13;\n    piVar13[3] = param_5;\n    iVar7 = param_2[0x15];\n    piVar13[5] = iVar7;\n    iVar7 = iVar7 + 1;\n    param_2[0x15] = iVar7;\n    iVar10 = xrealloc(param_2[0x16],iVar7 * 4);\n    iVar7 = piVar13[5];\n    param_2[0x16] = iVar10;\n    *(undefined4 *)(iVar10 + iVar7 * 4) = 0;\n  }\n  else {\n    if ((int)param_3 < 0x83) {\n      if (param_3 != 100) goto LAB_00044431;\n      bVar6 = *param_7;\n      if (param_2[0x10] != 0) {\n        if (bVar6 != 0) goto LAB_000448f8;\n        goto LAB_00044916;\n      }\n      goto LAB_00044966;\n    }\n    if (param_3 != 0x84) {\n      if (param_3 != 0xa2) goto LAB_00044431;\n      iVar7 = param_2[0xe];\n      if (iVar7 != 0) {\n        iVar10 = *(int *)(iVar7 + 4);\n        uVar11 = *(uint *)(iVar7 + 0x14);\n        param_2[0xe] = iVar10;\n        if ((uVar11 < (uint)param_2[0x15]) &&\n           (*(undefined4 *)(iVar7 + 0x18) = *(undefined4 *)(param_2[0x16] + uVar11 * 4), iVar10 != 0\n           )) {\n          param_7 = *(byte **)(iVar10 + 8);\n          goto LAB_000445bf;\n        }\n      }\n      param_7 = (byte *)param_2[0xd];\n    }\n  }" (if "if") (parenthesized_expression "(param_3 == 0x82)" (( "(") (binary_expression "param_3 == 0x82" (identifier "param_3") (== "==") (number_literal "0x82")) () ")")) (compound_statement "{\n    piVar13 = (int *)xmalloc(0x1c);\n    iVar7 = param_2[0xf];\n    piVar13[4] = param_6;\n    *piVar13 = iVar7;\n    iVar7 = param_2[0xe];\n    piVar13[6] = 0;\n    piVar13[1] = iVar7;\n    param_2[0xf] = (int)piVar13;\n    piVar13[2] = (int)param_7;\n    param_2[0xe] = (int)piVar13;\n    piVar13[3] = param_5;\n    iVar7 = param_2[0x15];\n    piVar13[5] = iVar7;\n    iVar7 = iVar7 + 1;\n    param_2[0x15] = iVar7;\n    iVar10 = xrealloc(param_2[0x16],iVar7 * 4);\n    iVar7 = piVar13[5];\n    param_2[0x16] = iVar10;\n    *(undefined4 *)(iVar10 + iVar7 * 4) = 0;\n  }" ({ "{") (expression_statement "piVar13 = (int *)xmalloc(0x1c);" (assignment_expression "piVar13 = (int *)xmalloc(0x1c)" (identifier "piVar13") (= "=") (cast_expression "(int *)xmalloc(0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "xmalloc(0x1c)" (identifier "xmalloc") (argument_list "(0x1c)" (( "(") (number_literal "0x1c") () ")"))))) (; ";")) (expression_statement "iVar7 = param_2[0xf];" (assignment_expression "iVar7 = param_2[0xf]" (identifier "iVar7") (= "=") (subscript_expression "param_2[0xf]" (identifier "param_2") ([ "[") (number_literal "0xf") (] "]"))) (; ";")) (expression_statement "piVar13[4] = param_6;" (assignment_expression "piVar13[4] = param_6" (subscript_expression "piVar13[4]" (identifier "piVar13") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "param_6")) (; ";")) (expression_statement "*piVar13 = iVar7;" (assignment_expression "*piVar13 = iVar7" (pointer_expression "*piVar13" (* "*") (identifier "piVar13")) (= "=") (identifier "iVar7")) (; ";")) (expression_statement "iVar7 = param_2[0xe];" (assignment_expression "iVar7 = param_2[0xe]" (identifier "iVar7") (= "=") (subscript_expression "param_2[0xe]" (identifier "param_2") ([ "[") (number_literal "0xe") (] "]"))) (; ";")) (expression_statement "piVar13[6] = 0;" (assignment_expression "piVar13[6] = 0" (subscript_expression "piVar13[6]" (identifier "piVar13") ([ "[") (number_literal "6") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar13[1] = iVar7;" (assignment_expression "piVar13[1] = iVar7" (subscript_expression "piVar13[1]" (identifier "piVar13") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "iVar7")) (; ";")) (expression_statement "param_2[0xf] = (int)piVar13;" (assignment_expression "param_2[0xf] = (int)piVar13" (subscript_expression "param_2[0xf]" (identifier "param_2") ([ "[") (number_literal "0xf") (] "]")) (= "=") (cast_expression "(int)piVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar13"))) (; ";")) (expression_statement "piVar13[2] = (int)param_7;" (assignment_expression "piVar13[2] = (int)param_7" (subscript_expression "piVar13[2]" (identifier "piVar13") ([ "[") (number_literal "2") (] "]")) (= "=") (cast_expression "(int)param_7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_7"))) (; ";")) (expression_statement "param_2[0xe] = (int)piVar13;" (assignment_expression "param_2[0xe] = (int)piVar13" (subscript_expression "param_2[0xe]" (identifier "param_2") ([ "[") (number_literal "0xe") (] "]")) (= "=") (cast_expression "(int)piVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar13"))) (; ";")) (expression_statement "piVar13[3] = param_5;" (assignment_expression "piVar13[3] = param_5" (subscript_expression "piVar13[3]" (identifier "piVar13") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "param_5")) (; ";")) (expression_statement "iVar7 = param_2[0x15];" (assignment_expression "iVar7 = param_2[0x15]" (identifier "iVar7") (= "=") (subscript_expression "param_2[0x15]" (identifier "param_2") ([ "[") (number_literal "0x15") (] "]"))) (; ";")) (expression_statement "piVar13[5] = iVar7;" (assignment_expression "piVar13[5] = iVar7" (subscript_expression "piVar13[5]" (identifier "piVar13") ([ "[") (number_literal "5") (] "]")) (= "=") (identifier "iVar7")) (; ";")) (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" (identifier "iVar7") (= "=") (binary_expression "iVar7 + 1" (identifier "iVar7") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "param_2[0x15] = iVar7;" (assignment_expression "param_2[0x15] = iVar7" (subscript_expression "param_2[0x15]" (identifier "param_2") ([ "[") (number_literal "0x15") (] "]")) (= "=") (identifier "iVar7")) (; ";")) (expression_statement "iVar10 = xrealloc(param_2[0x16],iVar7 * 4);" (assignment_expression "iVar10 = xrealloc(param_2[0x16],iVar7 * 4)" (identifier "iVar10") (= "=") (call_expression "xrealloc(param_2[0x16],iVar7 * 4)" (identifier "xrealloc") (argument_list "(param_2[0x16],iVar7 * 4)" (( "(") (subscript_expression "param_2[0x16]" (identifier "param_2") ([ "[") (number_literal "0x16") (] "]")) (, ",") (binary_expression "iVar7 * 4" (identifier "iVar7") (* "*") (number_literal "4")) () ")")))) (; ";")) (expression_statement "iVar7 = piVar13[5];" (assignment_expression "iVar7 = piVar13[5]" (identifier "iVar7") (= "=") (subscript_expression "piVar13[5]" (identifier "piVar13") ([ "[") (number_literal "5") (] "]"))) (; ";")) (expression_statement "param_2[0x16] = iVar10;" (assignment_expression "param_2[0x16] = iVar10" (subscript_expression "param_2[0x16]" (identifier "param_2") ([ "[") (number_literal "0x16") (] "]")) (= "=") (identifier "iVar10")) (; ";")) (expression_statement "*(undefined4 *)(iVar10 + iVar7 * 4) = 0;" (assignment_expression "*(undefined4 *)(iVar10 + iVar7 * 4) = 0" (pointer_expression "*(undefined4 *)(iVar10 + iVar7 * 4)" (* "*") (cast_expression "(undefined4 *)(iVar10 + iVar7 * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + iVar7 * 4)" (( "(") (binary_expression "iVar10 + iVar7 * 4" (identifier "iVar10") (+ "+") (binary_expression "iVar7 * 4" (identifier "iVar7") (* "*") (number_literal "4"))) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n    if ((int)param_3 < 0x83) {\n      if (param_3 != 100) goto LAB_00044431;\n      bVar6 = *param_7;\n      if (param_2[0x10] != 0) {\n        if (bVar6 != 0) goto LAB_000448f8;\n        goto LAB_00044916;\n      }\n      goto LAB_00044966;\n    }\n    if (param_3 != 0x84) {\n      if (param_3 != 0xa2) goto LAB_00044431;\n      iVar7 = param_2[0xe];\n      if (iVar7 != 0) {\n        iVar10 = *(int *)(iVar7 + 4);\n        uVar11 = *(uint *)(iVar7 + 0x14);\n        param_2[0xe] = iVar10;\n        if ((uVar11 < (uint)param_2[0x15]) &&\n           (*(undefined4 *)(iVar7 + 0x18) = *(undefined4 *)(param_2[0x16] + uVar11 * 4), iVar10 != 0\n           )) {\n          param_7 = *(byte **)(iVar10 + 8);\n          goto LAB_000445bf;\n        }\n      }\n      param_7 = (byte *)param_2[0xd];\n    }\n  }" (else "else") (compound_statement "{\n    if ((int)param_3 < 0x83) {\n      if (param_3 != 100) goto LAB_00044431;\n      bVar6 = *param_7;\n      if (param_2[0x10] != 0) {\n        if (bVar6 != 0) goto LAB_000448f8;\n        goto LAB_00044916;\n      }\n      goto LAB_00044966;\n    }\n    if (param_3 != 0x84) {\n      if (param_3 != 0xa2) goto LAB_00044431;\n      iVar7 = param_2[0xe];\n      if (iVar7 != 0) {\n        iVar10 = *(int *)(iVar7 + 4);\n        uVar11 = *(uint *)(iVar7 + 0x14);\n        param_2[0xe] = iVar10;\n        if ((uVar11 < (uint)param_2[0x15]) &&\n           (*(undefined4 *)(iVar7 + 0x18) = *(undefined4 *)(param_2[0x16] + uVar11 * 4), iVar10 != 0\n           )) {\n          param_7 = *(byte **)(iVar10 + 8);\n          goto LAB_000445bf;\n        }\n      }\n      param_7 = (byte *)param_2[0xd];\n    }\n  }" ({ "{") (if_statement "if ((int)param_3 < 0x83) {\n      if (param_3 != 100) goto LAB_00044431;\n      bVar6 = *param_7;\n      if (param_2[0x10] != 0) {\n        if (bVar6 != 0) goto LAB_000448f8;\n        goto LAB_00044916;\n      }\n      goto LAB_00044966;\n    }" (if "if") (parenthesized_expression "((int)param_3 < 0x83)" (( "(") (binary_expression "(int)param_3 < 0x83" (cast_expression "(int)param_3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_3")) (< "<") (number_literal "0x83")) () ")")) (compound_statement "{\n      if (param_3 != 100) goto LAB_00044431;\n      bVar6 = *param_7;\n      if (param_2[0x10] != 0) {\n        if (bVar6 != 0) goto LAB_000448f8;\n        goto LAB_00044916;\n      }\n      goto LAB_00044966;\n    }" ({ "{") (if_statement "if (param_3 != 100) goto LAB_00044431;" (if "if") (parenthesized_expression "(param_3 != 100)" (( "(") (binary_expression "param_3 != 100" (identifier "param_3") (!= "!=") (number_literal "100")) () ")")) (goto_statement "goto LAB_00044431;" (goto "goto") (statement_identifier "LAB_00044431") (; ";"))) (expression_statement "bVar6 = *param_7;" (assignment_expression "bVar6 = *param_7" (identifier "bVar6") (= "=") (pointer_expression "*param_7" (* "*") (identifier "param_7"))) (; ";")) (if_statement "if (param_2[0x10] != 0) {\n        if (bVar6 != 0) goto LAB_000448f8;\n        goto LAB_00044916;\n      }" (if "if") (parenthesized_expression "(param_2[0x10] != 0)" (( "(") (binary_expression "param_2[0x10] != 0" (subscript_expression "param_2[0x10]" (identifier "param_2") ([ "[") (number_literal "0x10") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        if (bVar6 != 0) goto LAB_000448f8;\n        goto LAB_00044916;\n      }" ({ "{") (if_statement "if (bVar6 != 0) goto LAB_000448f8;" (if "if") (parenthesized_expression "(bVar6 != 0)" (( "(") (binary_expression "bVar6 != 0" (identifier "bVar6") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000448f8;" (goto "goto") (statement_identifier "LAB_000448f8") (; ";"))) (goto_statement "goto LAB_00044916;" (goto "goto") (statement_identifier "LAB_00044916") (; ";")) (} "}"))) (goto_statement "goto LAB_00044966;" (goto "goto") (statement_identifier "LAB_00044966") (; ";")) (} "}"))) (if_statement "if (param_3 != 0x84) {\n      if (param_3 != 0xa2) goto LAB_00044431;\n      iVar7 = param_2[0xe];\n      if (iVar7 != 0) {\n        iVar10 = *(int *)(iVar7 + 4);\n        uVar11 = *(uint *)(iVar7 + 0x14);\n        param_2[0xe] = iVar10;\n        if ((uVar11 < (uint)param_2[0x15]) &&\n           (*(undefined4 *)(iVar7 + 0x18) = *(undefined4 *)(param_2[0x16] + uVar11 * 4), iVar10 != 0\n           )) {\n          param_7 = *(byte **)(iVar10 + 8);\n          goto LAB_000445bf;\n        }\n      }\n      param_7 = (byte *)param_2[0xd];\n    }" (if "if") (parenthesized_expression "(param_3 != 0x84)" (( "(") (binary_expression "param_3 != 0x84" (identifier "param_3") (!= "!=") (number_literal "0x84")) () ")")) (compound_statement "{\n      if (param_3 != 0xa2) goto LAB_00044431;\n      iVar7 = param_2[0xe];\n      if (iVar7 != 0) {\n        iVar10 = *(int *)(iVar7 + 4);\n        uVar11 = *(uint *)(iVar7 + 0x14);\n        param_2[0xe] = iVar10;\n        if ((uVar11 < (uint)param_2[0x15]) &&\n           (*(undefined4 *)(iVar7 + 0x18) = *(undefined4 *)(param_2[0x16] + uVar11 * 4), iVar10 != 0\n           )) {\n          param_7 = *(byte **)(iVar10 + 8);\n          goto LAB_000445bf;\n        }\n      }\n      param_7 = (byte *)param_2[0xd];\n    }" ({ "{") (if_statement "if (param_3 != 0xa2) goto LAB_00044431;" (if "if") (parenthesized_expression "(param_3 != 0xa2)" (( "(") (binary_expression "param_3 != 0xa2" (identifier "param_3") (!= "!=") (number_literal "0xa2")) () ")")) (goto_statement "goto LAB_00044431;" (goto "goto") (statement_identifier "LAB_00044431") (; ";"))) (expression_statement "iVar7 = param_2[0xe];" (assignment_expression "iVar7 = param_2[0xe]" (identifier "iVar7") (= "=") (subscript_expression "param_2[0xe]" (identifier "param_2") ([ "[") (number_literal "0xe") (] "]"))) (; ";")) (if_statement "if (iVar7 != 0) {\n        iVar10 = *(int *)(iVar7 + 4);\n        uVar11 = *(uint *)(iVar7 + 0x14);\n        param_2[0xe] = iVar10;\n        if ((uVar11 < (uint)param_2[0x15]) &&\n           (*(undefined4 *)(iVar7 + 0x18) = *(undefined4 *)(param_2[0x16] + uVar11 * 4), iVar10 != 0\n           )) {\n          param_7 = *(byte **)(iVar10 + 8);\n          goto LAB_000445bf;\n        }\n      }" (if "if") (parenthesized_expression "(iVar7 != 0)" (( "(") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        iVar10 = *(int *)(iVar7 + 4);\n        uVar11 = *(uint *)(iVar7 + 0x14);\n        param_2[0xe] = iVar10;\n        if ((uVar11 < (uint)param_2[0x15]) &&\n           (*(undefined4 *)(iVar7 + 0x18) = *(undefined4 *)(param_2[0x16] + uVar11 * 4), iVar10 != 0\n           )) {\n          param_7 = *(byte **)(iVar10 + 8);\n          goto LAB_000445bf;\n        }\n      }" ({ "{") (expression_statement "iVar10 = *(int *)(iVar7 + 4);" (assignment_expression "iVar10 = *(int *)(iVar7 + 4)" (identifier "iVar10") (= "=") (pointer_expression "*(int *)(iVar7 + 4)" (* "*") (cast_expression "(int *)(iVar7 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 4)" (( "(") (binary_expression "iVar7 + 4" (identifier "iVar7") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "uVar11 = *(uint *)(iVar7 + 0x14);" (assignment_expression "uVar11 = *(uint *)(iVar7 + 0x14)" (identifier "uVar11") (= "=") (pointer_expression "*(uint *)(iVar7 + 0x14)" (* "*") (cast_expression "(uint *)(iVar7 + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x14)" (( "(") (binary_expression "iVar7 + 0x14" (identifier "iVar7") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "param_2[0xe] = iVar10;" (assignment_expression "param_2[0xe] = iVar10" (subscript_expression "param_2[0xe]" (identifier "param_2") ([ "[") (number_literal "0xe") (] "]")) (= "=") (identifier "iVar10")) (; ";")) (if_statement "if ((uVar11 < (uint)param_2[0x15]) &&\n           (*(undefined4 *)(iVar7 + 0x18) = *(undefined4 *)(param_2[0x16] + uVar11 * 4), iVar10 != 0\n           )) {\n          param_7 = *(byte **)(iVar10 + 8);\n          goto LAB_000445bf;\n        }" (if "if") (parenthesized_expression "((uVar11 < (uint)param_2[0x15]) &&\n           (*(undefined4 *)(iVar7 + 0x18) = *(undefined4 *)(param_2[0x16] + uVar11 * 4), iVar10 != 0\n           ))" (( "(") (binary_expression "(uVar11 < (uint)param_2[0x15]) &&\n           (*(undefined4 *)(iVar7 + 0x18) = *(undefined4 *)(param_2[0x16] + uVar11 * 4), iVar10 != 0\n           )" (parenthesized_expression "(uVar11 < (uint)param_2[0x15])" (( "(") (binary_expression "uVar11 < (uint)param_2[0x15]" (identifier "uVar11") (< "<") (cast_expression "(uint)param_2[0x15]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_2[0x15]" (identifier "param_2") ([ "[") (number_literal "0x15") (] "]")))) () ")")) (&& "&&") (parenthesized_expression "(*(undefined4 *)(iVar7 + 0x18) = *(undefined4 *)(param_2[0x16] + uVar11 * 4), iVar10 != 0\n           )" (( "(") (comma_expression "*(undefined4 *)(iVar7 + 0x18) = *(undefined4 *)(param_2[0x16] + uVar11 * 4), iVar10 != 0" (assignment_expression "*(undefined4 *)(iVar7 + 0x18) = *(undefined4 *)(param_2[0x16] + uVar11 * 4)" (pointer_expression "*(undefined4 *)(iVar7 + 0x18)" (* "*") (cast_expression "(undefined4 *)(iVar7 + 0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x18)" (( "(") (binary_expression "iVar7 + 0x18" (identifier "iVar7") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(param_2[0x16] + uVar11 * 4)" (* "*") (cast_expression "(undefined4 *)(param_2[0x16] + uVar11 * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2[0x16] + uVar11 * 4)" (( "(") (binary_expression "param_2[0x16] + uVar11 * 4" (subscript_expression "param_2[0x16]" (identifier "param_2") ([ "[") (number_literal "0x16") (] "]")) (+ "+") (binary_expression "uVar11 * 4" (identifier "uVar11") (* "*") (number_literal "4"))) () ")"))))) (, ",") (binary_expression "iVar10 != 0" (identifier "iVar10") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n          param_7 = *(byte **)(iVar10 + 8);\n          goto LAB_000445bf;\n        }" ({ "{") (expression_statement "param_7 = *(byte **)(iVar10 + 8);" (assignment_expression "param_7 = *(byte **)(iVar10 + 8)" (identifier "param_7") (= "=") (pointer_expression "*(byte **)(iVar10 + 8)" (* "*") (cast_expression "(byte **)(iVar10 + 8)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar10 + 8)" (( "(") (binary_expression "iVar10 + 8" (identifier "iVar10") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (goto_statement "goto LAB_000445bf;" (goto "goto") (statement_identifier "LAB_000445bf") (; ";")) (} "}"))) (} "}"))) (expression_statement "param_7 = (byte *)param_2[0xd];" (assignment_expression "param_7 = (byte *)param_2[0xd]" (identifier "param_7") (= "=") (cast_expression "(byte *)param_2[0xd]" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[0xd]" (identifier "param_2") ([ "[") (number_literal "0xd") (] "]")))) (; ";")) (} "}"))) (} "}")))) (labeled_statement "LAB_000445bf:\n  iVar7 = FUN_0003c4a0(param_1,param_7);" (statement_identifier "LAB_000445bf") (: ":") (expression_statement "iVar7 = FUN_0003c4a0(param_1,param_7);" (assignment_expression "iVar7 = FUN_0003c4a0(param_1,param_7)" (identifier "iVar7") (= "=") (call_expression "FUN_0003c4a0(param_1,param_7)" (identifier "FUN_0003c4a0") (argument_list "(param_1,param_7)" (( "(") (identifier "param_1") (, ",") (identifier "param_7") () ")")))) (; ";"))) (labeled_statement "LAB_0004426d:\n  return (uint)(iVar7 != 0);" (statement_identifier "LAB_0004426d") (: ":") (return_statement "return (uint)(iVar7 != 0);" (return "return") (call_expression "(uint)(iVar7 != 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(iVar7 != 0)" (( "(") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) () ")"))) (; ";"))) (labeled_statement "LAB_00044790:\n  local_24 = local_24 + 2;" (statement_identifier "LAB_00044790") (: ":") (expression_statement "local_24 = local_24 + 2;" (assignment_expression "local_24 = local_24 + 2" (identifier "local_24") (= "=") (binary_expression "local_24 + 2" (identifier "local_24") (+ "+") (number_literal "2"))) (; ";"))) (expression_statement "local_24 = (byte *)strchr((char *)local_24,0x3a);" (assignment_expression "local_24 = (byte *)strchr((char *)local_24,0x3a)" (identifier "local_24") (= "=") (cast_expression "(byte *)strchr((char *)local_24,0x3a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "strchr((char *)local_24,0x3a)" (identifier "strchr") (argument_list "((char *)local_24,0x3a)" (( "(") (cast_expression "(char *)local_24" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_24")) (, ",") (number_literal "0x3a") () ")"))))) (; ";")) (expression_statement "pbVar16 = local_24;" (assignment_expression "pbVar16 = local_24" (identifier "pbVar16") (= "=") (identifier "local_24")) (; ";")) (if_statement "if (local_24 == (byte *)0x0) {\nLAB_000449d0:\n    local_24 = pbVar16;\n    FUN_0003dfb0();\n    return 0;\n  }" (if "if") (parenthesized_expression "(local_24 == (byte *)0x0)" (( "(") (binary_expression "local_24 == (byte *)0x0" (identifier "local_24") (== "==") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_000449d0:\n    local_24 = pbVar16;\n    FUN_0003dfb0();\n    return 0;\n  }" ({ "{") (labeled_statement "LAB_000449d0:\n    local_24 = pbVar16;" (statement_identifier "LAB_000449d0") (: ":") (expression_statement "local_24 = pbVar16;" (assignment_expression "local_24 = pbVar16" (identifier "local_24") (= "=") (identifier "pbVar16")) (; ";"))) (expression_statement "FUN_0003dfb0();" (call_expression "FUN_0003dfb0()" (identifier "FUN_0003dfb0") (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (goto_statement "goto LAB_000447b1;" (goto "goto") (statement_identifier "LAB_000447b1") (; ";")) (labeled_statement "code_r0x00044ecc:\n  piVar13 = (int *)piVar20[1];" (statement_identifier "code_r0x00044ecc") (: ":") (expression_statement "piVar13 = (int *)piVar20[1];" (assignment_expression "piVar13 = (int *)piVar20[1]" (identifier "piVar13") (= "=") (cast_expression "(int *)piVar20[1]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar20[1]" (identifier "piVar20") ([ "[") (number_literal "1") (] "]")))) (; ";"))) (if_statement "if (((char)*piVar13 == cVar3) &&\n     (piVar13 = (int *)strcmp((char *)piVar13,local_3c), piVar13 == (int *)0x0)) {\n    piVar13 = (int *)*piVar20;\n    piVar20[3] = iVar7;\n    *piVar17 = (int)piVar13;\n    goto code_r0x00044efc;\n  }" (if "if") (parenthesized_expression "(((char)*piVar13 == cVar3) &&\n     (piVar13 = (int *)strcmp((char *)piVar13,local_3c), piVar13 == (int *)0x0))" (( "(") (binary_expression "((char)*piVar13 == cVar3) &&\n     (piVar13 = (int *)strcmp((char *)piVar13,local_3c), piVar13 == (int *)0x0)" (parenthesized_expression "((char)*piVar13 == cVar3)" (( "(") (binary_expression "(char)*piVar13 == cVar3" (cast_expression "(char)*piVar13" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (pointer_expression "*piVar13" (* "*") (identifier "piVar13"))) (== "==") (identifier "cVar3")) () ")")) (&& "&&") (parenthesized_expression "(piVar13 = (int *)strcmp((char *)piVar13,local_3c), piVar13 == (int *)0x0)" (( "(") (comma_expression "piVar13 = (int *)strcmp((char *)piVar13,local_3c), piVar13 == (int *)0x0" (assignment_expression "piVar13 = (int *)strcmp((char *)piVar13,local_3c)" (identifier "piVar13") (= "=") (cast_expression "(int *)strcmp((char *)piVar13,local_3c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "strcmp((char *)piVar13,local_3c)" (identifier "strcmp") (argument_list "((char *)piVar13,local_3c)" (( "(") (cast_expression "(char *)piVar13" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "piVar13")) (, ",") (identifier "local_3c") () ")"))))) (, ",") (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    piVar13 = (int *)*piVar20;\n    piVar20[3] = iVar7;\n    *piVar17 = (int)piVar13;\n    goto code_r0x00044efc;\n  }" ({ "{") (expression_statement "piVar13 = (int *)*piVar20;" (assignment_expression "piVar13 = (int *)*piVar20" (identifier "piVar13") (= "=") (cast_expression "(int *)*piVar20" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar20" (* "*") (identifier "piVar20")))) (; ";")) (expression_statement "piVar20[3] = iVar7;" (assignment_expression "piVar20[3] = iVar7" (subscript_expression "piVar20[3]" (identifier "piVar20") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "iVar7")) (; ";")) (expression_statement "*piVar17 = (int)piVar13;" (assignment_expression "*piVar17 = (int)piVar13" (pointer_expression "*piVar17" (* "*") (identifier "piVar17")) (= "=") (cast_expression "(int)piVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar13"))) (; ";")) (goto_statement "goto code_r0x00044efc;" (goto "goto") (statement_identifier "code_r0x00044efc") (; ";")) (} "}"))) (expression_statement "piVar5 = (int *)*piVar20;" (assignment_expression "piVar5 = (int *)*piVar20" (identifier "piVar5") (= "=") (cast_expression "(int *)*piVar20" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar20" (* "*") (identifier "piVar20")))) (; ";")) (expression_statement "piVar17 = piVar20;" (assignment_expression "piVar17 = piVar20" (identifier "piVar17") (= "=") (identifier "piVar20")) (; ";")) (expression_statement "piVar20 = piVar5;" (assignment_expression "piVar20 = piVar5" (identifier "piVar20") (= "=") (identifier "piVar5")) (; ";")) (if_statement "if (piVar5 == (int *)0x0) {\ncode_r0x00044efc:\n    if (uVar11 == 0) {\n      return 1;\n    }\n    iVar7 = FUN_0003d5a0(param_1,local_3c,iVar7,piVar13);\n    if (iVar7 != 0) {\n      if (apiStack_20[0] == (int *)0x0) {\n        return 1;\n      }\n      *apiStack_20[0] = iVar7;\n      return uVar11;\n    }\n    return 0;\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 "{\ncode_r0x00044efc:\n    if (uVar11 == 0) {\n      return 1;\n    }\n    iVar7 = FUN_0003d5a0(param_1,local_3c,iVar7,piVar13);\n    if (iVar7 != 0) {\n      if (apiStack_20[0] == (int *)0x0) {\n        return 1;\n      }\n      *apiStack_20[0] = iVar7;\n      return uVar11;\n    }\n    return 0;\n  }" ({ "{") (labeled_statement "code_r0x00044efc:\n    if (uVar11 == 0) {\n      return 1;\n    }" (statement_identifier "code_r0x00044efc") (: ":") (if_statement "if (uVar11 == 0) {\n      return 1;\n    }" (if "if") (parenthesized_expression "(uVar11 == 0)" (( "(") (binary_expression "uVar11 == 0" (identifier "uVar11") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      return 1;\n    }" ({ "{") (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}")))) (expression_statement "iVar7 = FUN_0003d5a0(param_1,local_3c,iVar7,piVar13);" (assignment_expression "iVar7 = FUN_0003d5a0(param_1,local_3c,iVar7,piVar13)" (identifier "iVar7") (= "=") (call_expression "FUN_0003d5a0(param_1,local_3c,iVar7,piVar13)" (identifier "FUN_0003d5a0") (argument_list "(param_1,local_3c,iVar7,piVar13)" (( "(") (identifier "param_1") (, ",") (identifier "local_3c") (, ",") (identifier "iVar7") (, ",") (identifier "piVar13") () ")")))) (; ";")) (if_statement "if (iVar7 != 0) {\n      if (apiStack_20[0] == (int *)0x0) {\n        return 1;\n      }\n      *apiStack_20[0] = iVar7;\n      return uVar11;\n    }" (if "if") (parenthesized_expression "(iVar7 != 0)" (( "(") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      if (apiStack_20[0] == (int *)0x0) {\n        return 1;\n      }\n      *apiStack_20[0] = iVar7;\n      return uVar11;\n    }" ({ "{") (if_statement "if (apiStack_20[0] == (int *)0x0) {\n        return 1;\n      }" (if "if") (parenthesized_expression "(apiStack_20[0] == (int *)0x0)" (( "(") (binary_expression "apiStack_20[0] == (int *)0x0" (subscript_expression "apiStack_20[0]" (identifier "apiStack_20") ([ "[") (number_literal "0") (] "]")) (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        return 1;\n      }" ({ "{") (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (expression_statement "*apiStack_20[0] = iVar7;" (assignment_expression "*apiStack_20[0] = iVar7" (pointer_expression "*apiStack_20[0]" (* "*") (subscript_expression "apiStack_20[0]" (identifier "apiStack_20") ([ "[") (number_literal "0") (] "]"))) (= "=") (identifier "iVar7")) (; ";")) (return_statement "return uVar11;" (return "return") (identifier "uVar11") (; ";")) (} "}"))) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (goto_statement "goto code_r0x00044ecc;" (goto "goto") (statement_identifier "code_r0x00044ecc") (; ";")) (labeled_statement "code_r0x00044bbc:\n  iVar4 = *piVar13;" (statement_identifier "code_r0x00044bbc") (: ":") (expression_statement "iVar4 = *piVar13;" (assignment_expression "iVar4 = *piVar13" (identifier "iVar4") (= "=") (pointer_expression "*piVar13" (* "*") (identifier "piVar13"))) (; ";"))) (expression_statement "pcVar12 = *(char **)(iVar4 + 4);" (assignment_expression "pcVar12 = *(char **)(iVar4 + 4)" (identifier "pcVar12") (= "=") (pointer_expression "*(char **)(iVar4 + 4)" (* "*") (cast_expression "(char **)(iVar4 + 4)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar4 + 4)" (( "(") (binary_expression "iVar4 + 4" (identifier "iVar4") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (if_statement "if (cVar3 != '\0') {\n    pcVar12 = pcVar12 + (cVar3 == *pcVar12);\n  }" (if "if") (parenthesized_expression "(cVar3 != '\0')" (( "(") (binary_expression "cVar3 != '\0'" (identifier "cVar3") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    pcVar12 = pcVar12 + (cVar3 == *pcVar12);\n  }" ({ "{") (expression_statement "pcVar12 = pcVar12 + (cVar3 == *pcVar12);" (assignment_expression "pcVar12 = pcVar12 + (cVar3 == *pcVar12)" (identifier "pcVar12") (= "=") (binary_expression "pcVar12 + (cVar3 == *pcVar12)" (identifier "pcVar12") (+ "+") (parenthesized_expression "(cVar3 == *pcVar12)" (( "(") (binary_expression "cVar3 == *pcVar12" (identifier "cVar3") (== "==") (pointer_expression "*pcVar12" (* "*") (identifier "pcVar12"))) () ")")))) (; ";")) (} "}"))) (if_statement "if ((*pcVar12 == cVar2) && (iVar14 = strcmp(pcVar12,local_3c), iVar14 == 0)) {\n    puVar1 = (uint *)(*(int *)(iVar4 + 0x14) + 0x1c);\n    param_5 = *(uint *)(iVar4 + 8) + *puVar1;\n    param_6 = *(int *)(iVar4 + 0xc) + *(int *)(*(int *)(iVar4 + 0x14) + 0x20) +\n              (uint)CARRY4(*(uint *)(iVar4 + 8),*puVar1);\n    goto code_r0x00044c0d;\n  }" (if "if") (parenthesized_expression "((*pcVar12 == cVar2) && (iVar14 = strcmp(pcVar12,local_3c), iVar14 == 0))" (( "(") (binary_expression "(*pcVar12 == cVar2) && (iVar14 = strcmp(pcVar12,local_3c), iVar14 == 0)" (parenthesized_expression "(*pcVar12 == cVar2)" (( "(") (binary_expression "*pcVar12 == cVar2" (pointer_expression "*pcVar12" (* "*") (identifier "pcVar12")) (== "==") (identifier "cVar2")) () ")")) (&& "&&") (parenthesized_expression "(iVar14 = strcmp(pcVar12,local_3c), iVar14 == 0)" (( "(") (comma_expression "iVar14 = strcmp(pcVar12,local_3c), iVar14 == 0" (assignment_expression "iVar14 = strcmp(pcVar12,local_3c)" (identifier "iVar14") (= "=") (call_expression "strcmp(pcVar12,local_3c)" (identifier "strcmp") (argument_list "(pcVar12,local_3c)" (( "(") (identifier "pcVar12") (, ",") (identifier "local_3c") () ")")))) (, ",") (binary_expression "iVar14 == 0" (identifier "iVar14") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n    puVar1 = (uint *)(*(int *)(iVar4 + 0x14) + 0x1c);\n    param_5 = *(uint *)(iVar4 + 8) + *puVar1;\n    param_6 = *(int *)(iVar4 + 0xc) + *(int *)(*(int *)(iVar4 + 0x14) + 0x20) +\n              (uint)CARRY4(*(uint *)(iVar4 + 8),*puVar1);\n    goto code_r0x00044c0d;\n  }" ({ "{") (expression_statement "puVar1 = (uint *)(*(int *)(iVar4 + 0x14) + 0x1c);" (assignment_expression "puVar1 = (uint *)(*(int *)(iVar4 + 0x14) + 0x1c)" (identifier "puVar1") (= "=") (cast_expression "(uint *)(*(int *)(iVar4 + 0x14) + 0x1c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar4 + 0x14) + 0x1c)" (( "(") (binary_expression "*(int *)(iVar4 + 0x14) + 0x1c" (pointer_expression "*(int *)(iVar4 + 0x14)" (* "*") (cast_expression "(int *)(iVar4 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x14)" (( "(") (binary_expression "iVar4 + 0x14" (identifier "iVar4") (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (number_literal "0x1c")) () ")")))) (; ";")) (expression_statement "param_5 = *(uint *)(iVar4 + 8) + *puVar1;" (assignment_expression "param_5 = *(uint *)(iVar4 + 8) + *puVar1" (identifier "param_5") (= "=") (binary_expression "*(uint *)(iVar4 + 8) + *puVar1" (pointer_expression "*(uint *)(iVar4 + 8)" (* "*") (cast_expression "(uint *)(iVar4 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 8)" (( "(") (binary_expression "iVar4 + 8" (identifier "iVar4") (+ "+") (number_literal "8")) () ")")))) (+ "+") (pointer_expression "*puVar1" (* "*") (identifier "puVar1")))) (; ";")) (expression_statement "param_6 = *(int *)(iVar4 + 0xc) + *(int *)(*(int *)(iVar4 + 0x14) + 0x20) +\n              (uint)CARRY4(*(uint *)(iVar4 + 8),*puVar1);" (assignment_expression "param_6 = *(int *)(iVar4 + 0xc) + *(int *)(*(int *)(iVar4 + 0x14) + 0x20) +\n              (uint)CARRY4(*(uint *)(iVar4 + 8),*puVar1)" (identifier "param_6") (= "=") (binary_expression "*(int *)(iVar4 + 0xc) + *(int *)(*(int *)(iVar4 + 0x14) + 0x20) +\n              (uint)CARRY4(*(uint *)(iVar4 + 8),*puVar1)" (binary_expression "*(int *)(iVar4 + 0xc) + *(int *)(*(int *)(iVar4 + 0x14) + 0x20)" (pointer_expression "*(int *)(iVar4 + 0xc)" (* "*") (cast_expression "(int *)(iVar4 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0xc)" (( "(") (binary_expression "iVar4 + 0xc" (identifier "iVar4") (+ "+") (number_literal "0xc")) () ")")))) (+ "+") (pointer_expression "*(int *)(*(int *)(iVar4 + 0x14) + 0x20)" (* "*") (cast_expression "(int *)(*(int *)(iVar4 + 0x14) + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar4 + 0x14) + 0x20)" (( "(") (binary_expression "*(int *)(iVar4 + 0x14) + 0x20" (pointer_expression "*(int *)(iVar4 + 0x14)" (* "*") (cast_expression "(int *)(iVar4 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x14)" (( "(") (binary_expression "iVar4 + 0x14" (identifier "iVar4") (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (number_literal "0x20")) () ")"))))) (+ "+") (cast_expression "(uint)CARRY4(*(uint *)(iVar4 + 8),*puVar1)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(*(uint *)(iVar4 + 8),*puVar1)" (identifier "CARRY4") (argument_list "(*(uint *)(iVar4 + 8),*puVar1)" (( "(") (pointer_expression "*(uint *)(iVar4 + 8)" (* "*") (cast_expression "(uint *)(iVar4 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 8)" (( "(") (binary_expression "iVar4 + 8" (identifier "iVar4") (+ "+") (number_literal "8")) () ")")))) (, ",") (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) () ")")))))) (; ";")) (goto_statement "goto code_r0x00044c0d;" (goto "goto") (statement_identifier "code_r0x00044c0d") (; ";")) (} "}"))) (expression_statement "piVar13 = piVar13 + 1;" (assignment_expression "piVar13 = piVar13 + 1" (identifier "piVar13") (= "=") (binary_expression "piVar13 + 1" (identifier "piVar13") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar10 = iVar10 + -1;" (assignment_expression "iVar10 = iVar10 + -1" (identifier "iVar10") (= "=") (binary_expression "iVar10 + -1" (identifier "iVar10") (+ "+") (number_literal "-1"))) (; ";")) (if_statement "if (iVar10 == 0) {\ncode_r0x00044c0d:\n    uVar27 = 1;\ncode_r0x0004486e:\n    iVar7 = FUN_0003e250(iVar7,uVar27,param_5,param_6);\njoined_r0x00044fe7:\n    if (iVar7 != 0) {\n      return 1;\n    }\n    return 0;\n  }" (if "if") (parenthesized_expression "(iVar10 == 0)" (( "(") (binary_expression "iVar10 == 0" (identifier "iVar10") (== "==") (number_literal "0")) () ")")) (compound_statement "{\ncode_r0x00044c0d:\n    uVar27 = 1;\ncode_r0x0004486e:\n    iVar7 = FUN_0003e250(iVar7,uVar27,param_5,param_6);\njoined_r0x00044fe7:\n    if (iVar7 != 0) {\n      return 1;\n    }\n    return 0;\n  }" ({ "{") (labeled_statement "code_r0x00044c0d:\n    uVar27 = 1;" (statement_identifier "code_r0x00044c0d") (: ":") (expression_statement "uVar27 = 1;" (assignment_expression "uVar27 = 1" (identifier "uVar27") (= "=") (number_literal "1")) (; ";"))) (labeled_statement "code_r0x0004486e:\n    iVar7 = FUN_0003e250(iVar7,uVar27,param_5,param_6);" (statement_identifier "code_r0x0004486e") (: ":") (expression_statement "iVar7 = FUN_0003e250(iVar7,uVar27,param_5,param_6);" (assignment_expression "iVar7 = FUN_0003e250(iVar7,uVar27,param_5,param_6)" (identifier "iVar7") (= "=") (call_expression "FUN_0003e250(iVar7,uVar27,param_5,param_6)" (identifier "FUN_0003e250") (argument_list "(iVar7,uVar27,param_5,param_6)" (( "(") (identifier "iVar7") (, ",") (identifier "uVar27") (, ",") (identifier "param_5") (, ",") (identifier "param_6") () ")")))) (; ";"))) (labeled_statement "joined_r0x00044fe7:\n    if (iVar7 != 0) {\n      return 1;\n    }" (statement_identifier "joined_r0x00044fe7") (: ":") (if_statement "if (iVar7 != 0) {\n      return 1;\n    }" (if "if") (parenthesized_expression "(iVar7 != 0)" (( "(") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      return 1;\n    }" ({ "{") (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}")))) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (goto_statement "goto code_r0x00044bbc;" (goto "goto") (statement_identifier "code_r0x00044bbc") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Type propagation algorithm not settling */

type_1 function_1(void *dhandle,void *handle,int var_2,int var_49,type_2 var_4,char *var_21)

{
  type_3 *puVar1;
  char var_63;
  type_3 var_9;
  int *var_62;
  type_2 bVar5;
  char var_3;
  type_4 uVar7;
  type_4 *var_56;
  size_t var_30;
  int var_17;
  int var_58;
  type_5 var_32;
  type_1 var_6;
  int var_64;
  type_6 var_36;
  long lVar16;
  char **pp;
  type_6 *arg_types;
  char *var_1;
  type_3 var_8;
  char **extraout_EDX;
  type_6 type_00;
  type_7 *var_18;
  char **ppcVar20;
  int *var_65;
  type_7 *var_19;
  int *piVar23;
  bool var_20;
  bool var_22;
  bool bVar26;
  type_7 var_26;
  double val;
  type_8 kind;
  type_9 kind_00;
  char **in_stack_ffffffb0;
  char **ppcVar28;
  type_6 **slotp;
  char *p_end;
  type_3 var_10;
  char *var_35;
  char *var_25;
  type_6 *var_38;
  long lStack_14;
  
  var_26 = 0;
  lStack_14 = 0x440f9;
  var_1 = *(char **)((int)handle + 0x10);
  if (var_1 != (char *)0x0) {
    if (((var_2 != 100) || (var_3 = *var_21, var_3 == '\0')) ||
       (var_4 != *(type_2 *)((int)handle + 0x14))) {
      var_6 = var_5(dhandle,var_1);
      if (var_6 == 0) {
        return 0;
      }
      *(type_4 *)((int)handle + 0x2c) = 0;
      *(type_4 *)((int)handle + 0x30) = 0;
      *(type_4 *)((int)handle + 0x34) = *(type_4 *)((int)handle + 0x10);
      if (*(int *)((int)handle + 4) == 0) {
        *(type_4 *)((int)handle + 0x1c) = *(type_4 *)((int)handle + 0x14);
        *(type_4 *)((int)handle + 0x20) = *(type_4 *)((int)handle + 0x18);
      }
      *(type_4 *)((int)handle + 0x54) = 1;
      var_56 = (type_4 *)var_7(4);
      *(type_4 *)((int)handle + 0x10) = 0;
      *(type_4 **)((int)handle + 0x58) = var_56;
      *var_56 = 0;
      goto LAB_00044203;
    }
    if (*(int *)((int)handle + 0x40) == 0) goto LAB_0004414d;
LAB_000448f8:
    var_10 = (type_3)(var_4 >> 0x20);
    var_8 = *(type_3 *)((int)handle + 0x44);
    var_9 = *(type_3 *)((int)handle + 0x48);
    if (((var_8 & var_9) == 0xffffffff) ||
       (bVar5 = *(type_2 *)((int)handle + 0x44),
       var_10 <= var_9 && (type_3)(var_8 < (type_3)var_4) <= var_9 - var_10)) {
LAB_00044916:
      bVar5 = var_4;
    }
    var_6 = var_11(dhandle,(type_10 *)((int)handle + 0x50));
    if (var_6 == 0) {
      return 0;
    }
    var_6 = var_12(dhandle,bVar5);
    if (var_6 == 0) {
      return 0;
    }
    *(type_4 *)((int)handle + 0x40) = 0;
    *(type_4 *)((int)handle + 0x44) = 0xffffffff;
    *(type_4 *)((int)handle + 0x48) = 0xffffffff;
    var_3 = *var_21;
LAB_00044966:
    if (var_3 == '\0') {
      return 1;
    }
    var_1 = *(char **)((int)handle + 0x10);
LAB_0004414d:
    if (var_1 == (char *)0x0) {
      uVar7 = var_13(var_21);
      *(type_4 *)((int)handle + 0x10) = uVar7;
    }
    else {
      if (var_3 == '/') {
        uVar7 = var_13(var_21);
        *(type_4 *)((int)handle + 0x10) = uVar7;
      }
      else {
        uVar7 = var_14(var_1,var_21,0);
        *(type_4 *)((int)handle + 0x10) = uVar7;
      }
      var_15(var_1);
    }
    *(type_2 *)((int)handle + 0x14) = var_4;
    return 1;
  }
LAB_00044203:
  var_30 = var_16(var_21);
  var_8 = (type_3)(var_4 >> 0x20);
  if (var_2 == 0x62) {
    return 1;
  }
  if (var_2 < 99) {
    if (var_2 == 0x24) {
      if (*var_21 == '\0') {
        if (*(int *)((int)handle + 0x40) == 0) {
          return 1;
        }
        if (*(int *)((int)handle + 4) != 0) {
          var_4 = var_4 + *(type_11 *)((int)handle + 0x24);
        }
        var_6 = var_11(dhandle,(type_10 *)((int)handle + 0x50));
        if (var_6 == 0) {
          return 0;
        }
        var_6 = var_12(dhandle,var_4);
        if (var_6 == 0) {
          return 0;
        }
        *(type_4 *)((int)handle + 0x40) = 0;
        *(type_4 *)((int)handle + 0x44) = 0xffffffff;
        *(type_4 *)((int)handle + 0x48) = 0xffffffff;
        return 1;
      }
      if (*(int *)((int)handle + 0x40) != 0) {
        var_9 = *(type_3 *)((int)handle + 0x48);
        if (((*(type_3 *)((int)handle + 0x44) & var_9) == 0xffffffff) ||
           (var_8 < var_9 || var_8 - var_9 < (type_3)((type_3)var_4 < *(type_3 *)((int)handle + 0x44))))
        {
          *(type_2 *)((int)handle + 0x44) = var_4;
        }
      }
    }
    else if (var_2 < 0x25) {
      if (var_2 == 0xc) {
        return 1;
      }
      if ((0xb < var_2) && (var_2 - 0x1eU < 2)) {
        return 1;
      }
    }
    else {
      if (var_2 == 0x38) {
        return 1;
      }
      if (var_2 < 0x39) {
        if (var_2 == 0x2a) {
          return 1;
        }
      }
      else {
        var_20 = (type_3)var_2 < 0x3c;
        bVar26 = var_2 == 0x3c;
        if (bVar26) {
          var_17 = 0xf;
          var_18 = (type_7 *)var_21;
          var_19 = (type_7 *)"gcc2_compiled.";
          do {
            if (var_17 == 0) break;
            var_17 = var_17 + -1;
            var_20 = *var_18 < *var_19;
            bVar26 = *var_18 == *var_19;
            var_18 = var_18 + (type_3)var_26 * -2 + 1;
            var_19 = var_19 + (type_3)var_26 * -2 + 1;
          } while (bVar26);
          var_22 = false;
          var_20 = (!var_20 && !bVar26) == var_20;
          if (var_20) {
            *(type_4 *)((int)handle + 0x2c) = 2;
            return 1;
          }
          var_17 = 0xe;
          var_18 = (type_7 *)"gcc_compiled.";
          do {
            if (var_17 == 0) break;
            var_17 = var_17 + -1;
            var_22 = (type_7)*var_21 < *var_18;
            var_20 = *var_21 == *var_18;
            var_21 = (char *)((type_7 *)var_21 + (type_3)var_26 * -2 + 1);
            var_18 = var_18 + (type_3)var_26 * -2 + 1;
          } while (var_20);
          if ((!var_22 && !var_20) != var_22) {
            *(type_4 *)((int)handle + 0x30) = 1;
            return 1;
          }
          *(type_4 *)((int)handle + 0x2c) = 1;
          return 1;
        }
        if (var_2 == 0x44) {
          if (*(int *)((int)handle + 0x40) != 0) {
            var_4 = var_4 + *(type_11 *)((int)handle + 0x24);
          }
          var_17 = var_23(dhandle,var_49,var_4);
          goto LAB_0004426d;
        }
      }
    }
LAB_00044431:
    var_25 = var_24(var_21,0x3a);
    var_8 = (type_3)(var_4 >> 0x20);
    if (var_25 == (char *)0x0) {
      return 1;
    }
    var_26 = var_25[1];
    if ((var_26 & 0xdf) != 0x46) goto LAB_000447b5;
    if (*(int *)((int)handle + 0x40) != 0) {
      var_9 = *(type_3 *)((int)handle + 0x44);
      var_10 = *(type_3 *)((int)handle + 0x48);
      if (((var_9 & var_10) == 0xffffffff) ||
         (bVar5 = *(type_2 *)((int)handle + 0x44),
         var_8 <= var_10 && (type_3)(var_9 < (type_3)var_4) <= var_10 - var_8)) {
        bVar5 = var_4;
      }
      in_stack_ffffffb0 = (char **)0x444a2;
      var_6 = var_11(dhandle,(type_10 *)((int)handle + 0x50));
      if ((var_6 == 0) || (var_6 = var_12(dhandle,bVar5), var_6 == 0)) {
        return 0;
      }
      *(type_4 *)((int)handle + 0x44) = 0xffffffff;
      *(type_4 *)((int)handle + 0x48) = 0xffffffff;
    }
    if (*(int *)((int)handle + 4) != 0) {
      *(type_2 *)((int)handle + 0x24) = var_4;
    }
    *(type_4 *)((int)handle + 0x40) = 1;
    var_25 = var_24(var_21,0x3a);
    if (var_25 == (char *)0x0) {
      return 1;
    }
LAB_000447b1:
    var_26 = var_25[1];
LAB_000447b5:
    if (var_26 == 0x3a) goto LAB_00044790;
    if (*var_21 != '$') goto _L1810;
    switch(var_21[1]) {
    default:
      var_1 = (char *)var_27(0,"unknown C++ encoded name",5);
      var_28(var_21,var_1);
    case 'X':
    case '_':
    case 'v':
_L1810:
      var_35 = (char *)0x0;
      if ((var_21 != var_25) && ((*var_21 != ' ' || (var_25 != var_21 + 1)))) {
        in_stack_ffffffb0 = (char **)0x447f4;
        var_35 = var_29(var_21,(int)var_25 - (int)var_21);
      }
      break;
    case 'e':
      var_35 = "eh_throw";
      break;
    case 't':
      var_35 = "this";
    }
    p_end = (char *)(var_4 >> 0x20);
    slotp = (type_6 **)var_4;
    var_1 = var_21 + var_30;
    ppcVar28 = (char **)((int)var_25 + 1);
    var_26 = *(type_7 *)((int)var_25 + 1);
    if (((PTR__sch_istable_00071fbc[(type_3)var_26 * 2] & 4) != 0) ||
       (var_26 == 0x28 || var_26 == 0x2d)) {
_L1827:
      var_25 = (char *)ppcVar28;
      var_32 = var_31(&var_25,(type_10 *)0x0,var_1,in_stack_ffffffb0,slotp,p_end);
      if (var_32 == (type_5)0x0) {
        return 0;
      }
      kind_00 = DEBUG_LOCAL;
      goto LAB_0004486e;
    }
    if (var_26 == 0) goto LAB_000449d0;
    ppcVar28 = (char **)((int)var_25 + 2);
    var_26 = *(type_7 *)((int)var_25 + 1);
    ppcVar20 = (char **)(type_3)var_26;
    if (0x33 < (type_7)((int)ppcVar20 - 0x43U)) goto _L1817;
    var_8 = (int)ppcVar20 - 0x43U & 0xff;
    pp = (char **)((int)&_GLOBAL_OFFSET_TABLE_ + (&switchD_00044abe::switchdataD_00057e08)[var_8]);
    switch(var_8) {
    case 0:
      var_25 = (char *)ppcVar28;
      var_32 = var_31(&var_25,(type_10 *)0x0,var_1,ppcVar20,slotp,p_end);
      if (var_32 == (type_5)0x0) {
        return 0;
      }
      var_6 = var_33(dhandle,var_35,var_32,var_4);
      goto joined_r0x00044fe7;
    default:
      goto _L1817;
    case 3:
    case 0x23:
      var_25 = (char *)ppcVar28;
      var_32 = var_31(&var_25,(type_10 *)0x0,var_1,pp,slotp,p_end);
      if (var_32 == (type_5)0x0) {
        return 0;
      }
      ppcVar28 = extraout_EDX;
      var_32 = (type_5)
                var_34(dhandle,var_35,var_32,(type_3)(var_26 == 0x46),var_4);
      while( true ) {
        if (var_32 == (type_5)0x0) {
          return 0;
        }
        if (*var_25 != ';') break;
        var_25 = var_25 + 1;
        var_32 = var_31(&var_25,(type_10 *)0x0,var_1,ppcVar28,
                                  (type_6 **)var_4,(char *)(var_4 >> 0x20));
      }
      return 1;
    case 4:
      var_25 = (char *)ppcVar28;
      var_32 = var_31(&var_25,(type_10 *)0x0,var_1,pp,slotp,p_end);
      if (var_32 == (type_5)0x0) {
        return 0;
      }
      if (var_35 == (char *)0x0) goto LAB_00044c0d;
                    /* WARNING: Load size is inaccurate */
      var_17 = *(int *)((int)handle + 0xc);
      var_65 = *(int **)((int)handle + 8);
      var_3 = *(char *)(*(int *)(*handle + 4) + 0x18);
      if (var_17 < 1) goto LAB_00044c0d;
      var_63 = *var_35;
      goto LAB_00044bbc;
    case 0xd:
      if (var_2 == 0x24) {
        var_25 = (char *)ppcVar28;
        do {
          if (*var_25 != ';') {
            return 1;
          }
          var_25 = var_25 + 1;
          var_32 = var_31(&var_25,(type_10 *)0x0,var_1,in_stack_ffffffb0,
                                    (type_6 **)var_4,(char *)(var_4 >> 0x20));
        } while (var_32 != (type_5)0x0);
        return 0;
      }
    case 0xf:
      var_25 = (char *)ppcVar28;
      var_36 = var_31(&var_25,(type_10 *)0x0,var_1,pp,slotp,p_end);
      if (var_36 == (type_5)0x0) {
        return 0;
      }
      kind = DEBUG_PARM_REG;
      break;
    case 0x10:
      ppcVar20 = (char **)var_25;
      var_25 = (char *)ppcVar28;
      var_32 = var_31(&var_25,(type_10 *)0x0,var_1,ppcVar20,slotp,p_end);
      if (var_32 == (type_5)0x0) {
        return 0;
      }
      kind_00 = DEBUG_STATIC;
      goto LAB_0004486e;
    case 0x11:
      var_20 = *(char *)((int)var_25 + 2) == 't';
      if (var_20) {
        ppcVar28 = (char **)((int)var_25 + 3);
      }
      var_25 = (char *)ppcVar28;
      var_8 = (type_3)var_20;
      var_32 = var_31(&var_25,(type_10 *)&var_38,var_1,(char **)var_2,slotp,p_end);
      if (var_32 == (type_5)0x0) {
        return 0;
      }
      if (var_35 == (char *)0x0) {
        return 1;
      }
      var_17 = *(int *)((int)handle + 0xe8);
      var_36 = var_37(dhandle,var_35,var_32);
      if (var_36 == (type_6)0x0) {
        return 0;
      }
      if (var_38 != (type_6 *)0x0) {
        *var_38 = var_36;
      }
      if (var_17 != 0) goto LAB_00044efc;
      if (*(int **)((int)handle + 0xe4) == (int *)0x0) goto LAB_00044efc;
      var_3 = *var_35;
      var_65 = (int *)((int)handle + 0xe4);
      piVar23 = *(int **)((int)handle + 0xe4);
      goto LAB_00044ecc;
    case 0x13:
      ppcVar20 = (char **)var_25;
      var_25 = (char *)ppcVar28;
      var_32 = var_31(&var_25,(type_10 *)0x0,var_1,ppcVar20,slotp,p_end);
      if (var_32 == (type_5)0x0) {
        return 0;
      }
      kind_00 = DEBUG_LOCAL_STATIC;
      goto LAB_0004486e;
    case 0x15:
    case 0x29:
    case 0x30:
      goto _L1827;
    case 0x16:
      ppcVar28 = (char **)((int)var_25 + 3);
      if ((*(char *)((int)var_25 + 3) == 'n') &&
         (ppcVar28 = (char **)((int)var_25 + 4), ppcVar20 = (char **)((int)var_25 + 4), var_25 = (char *)ppcVar28,
         *(char *)ppcVar20 == '0')) {
        for (; *var_25 != ';'; var_25 = var_25 + 1) {
        }
        return 1;
      }
_L1817:
      var_25 = (char *)ppcVar28;
      var_39(var_21);
      return 0;
    case 0x1e:
      var_25 = (char *)ppcVar28;
      var_36 = var_31(&var_25,(type_10 *)0x0,var_1,ppcVar20,slotp,p_end);
      if (var_36 == (type_5)0x0) {
        return 0;
      }
      kind = DEBUG_PARM_REF_REG;
      break;
    case 0x20:
      if (*(char *)((int)var_25 + 2) == '=') {
        ppcVar28 = (char **)((int)var_25 + 4);
        var_26 = *(type_7 *)((int)var_25 + 3);
        var_25 = (char *)ppcVar28;
        if (var_26 == 0x69) {
          lVar16 = var_40((char *)ppcVar28,(char **)0x0,10);
          var_6 = var_41(dhandle,var_35,(type_11)lVar16);
          goto joined_r0x00044fe7;
        }
        if (var_26 == 0x72) {
          val = var_42((char *)ppcVar28,(char **)0x0);
          var_6 = var_43(dhandle,var_35,val);
          goto joined_r0x00044fe7;
        }
        if (var_26 == 0x65) {
          var_32 = var_31(&var_25,(type_10 *)0x0,var_1,(char **)(type_3)var_26,slotp,p_end)
          ;
          if (var_32 == (type_5)0x0) {
            return 0;
          }
          ppcVar28 = (char **)var_25;
          if (*var_25 == ',') {
            lVar16 = var_40(var_25,(char **)0x0,10);
            var_6 = var_44(dhandle,var_35,var_32,(type_11)lVar16);
            goto joined_r0x00044fe7;
          }
        }
      }
      goto LAB_000449d0;
    case 0x2d:
      if (*(char *)((int)var_25 + 2) == 'F') {
        var_25 = (char *)((int)var_25 + 3);
        var_32 = var_31(&var_25,(type_10 *)0x0,var_1,(char **)var_25,slotp,p_end);
        if (var_32 == (type_5)0x0) {
          return 0;
        }
        var_36 = var_45(var_32,type_00,arg_types,(type_1)dhandle);
        var_36 = var_46(dhandle,var_36);
      }
      else {
        ppcVar20 = (char **)var_25;
        var_25 = (char *)ppcVar28;
        var_36 = var_31(&var_25,(type_10 *)0x0,var_1,ppcVar20,slotp,p_end);
      }
      if (var_36 == (type_6)0x0) {
        return 0;
      }
      kind = DEBUG_PARM_STACK;
      break;
    case 0x2f:
      ppcVar20 = (char **)var_25;
      var_25 = (char *)ppcVar28;
      var_32 = var_31(&var_25,(type_10 *)0x0,var_1,ppcVar20,slotp,p_end);
      if (var_32 == (type_5)0x0) {
        return 0;
      }
      kind_00 = DEBUG_REGISTER;
      goto LAB_0004486e;
    case 0x31:
      ppcVar20 = (char **)var_25;
      var_25 = (char *)ppcVar28;
      var_32 = var_31(&var_25,(type_10 *)&var_38,var_1,ppcVar20,slotp,p_end);
      if (var_32 == (type_5)0x0) {
        return 0;
      }
      if (var_35 == (char *)0x0) {
        return 1;
      }
      var_36 = var_47(dhandle,var_35,var_32);
      if (var_36 == (type_6)0x0) {
        return 0;
      }
      if (var_38 == (type_6 *)0x0) {
        return 1;
      }
      *var_38 = var_36;
      return 1;
    case 0x33:
      ppcVar20 = (char **)var_25;
      var_25 = (char *)ppcVar28;
      var_36 = var_31(&var_25,(type_10 *)0x0,var_1,ppcVar20,slotp,p_end);
      if (var_36 == (type_5)0x0) {
        return 0;
      }
      kind = DEBUG_PARM_REFERENCE;
    }
    var_6 = var_48(dhandle,var_35,var_36,kind,var_4);
    goto joined_r0x00044fe7;
  }
  if (var_2 == 0xc0) {
    if ((*(int *)((int)handle + 0x30) != 0) && (var_49 == 1)) {
      return 1;
    }
    if (*(int *)((int)handle + 0x40) == 0) {
      var_1 = (char *)var_27(0,"N_LBRAC not within function\n",5);
      var_50(*(type_12 **)PTR_stderr_00071fb4,var_1);
      return 0;
    }
    var_6 = var_51(dhandle,var_4 + var_52(*(int *)((int)handle + 0x28) +
                                                        *(int *)((int)handle + 0x20) +
                                                        (type_3)var_53(*(type_3 *)((int)handle + 0x24),
                                                                     *(type_3 *)((int)handle + 0x1c)),
                                                        *(type_3 *)((int)handle + 0x24) +
                                                        *(type_3 *)((int)handle + 0x1c)));
    if (var_6 == 0) {
      return 0;
    }
    var_6 = var_11(dhandle,(type_10 *)((int)handle + 0x50));
    if (var_6 == 0) {
      return 0;
    }
    *(int *)((int)handle + 0x4c) = *(int *)((int)handle + 0x4c) + 1;
    return 1;
  }
  if (0xc0 < var_2) {
    if (var_2 == 0xe0) {
      if ((*(int *)((int)handle + 0x30) != 0) && (var_49 == 1)) {
        return 1;
      }
      var_6 = var_11(dhandle,(type_10 *)((int)handle + 0x50));
      if (var_6 == 0) {
        return 0;
      }
      var_6 = var_54(dhandle,var_4 + var_52(*(int *)((int)handle + 0x28) +
                                                        *(int *)((int)handle + 0x20) +
                                                        (type_3)var_53(*(type_3 *)((int)handle + 0x24),
                                                                     *(type_3 *)((int)handle + 0x1c)),
                                                        *(type_3 *)((int)handle + 0x24) +
                                                        *(type_3 *)((int)handle + 0x1c)));
      if (var_6 == 0) {
        return 0;
      }
      var_65 = (int *)((int)handle + 0x4c);
      *var_65 = *var_65 + -1;
      if (*var_65 < 0) {
        var_1 = (char *)var_27(0,"Too many N_RBRACs\n",5);
        var_50(*(type_12 **)PTR_stderr_00071fb4,var_1);
        return 0;
      }
      return 1;
    }
    if (var_2 < 0xe1) {
      if (var_2 == 0xc2) {
        var_17 = *(int *)((int)handle + 0x54) + 1;
        *(int *)((int)handle + 0x54) = var_17;
        var_17 = var_55(*(type_4 *)((int)handle + 0x58),var_17 * 4);
        var_56 = *(type_4 **)((int)handle + 0x3c);
        *(int *)((int)handle + 0x58) = var_17;
        while( true ) {
          if (var_56 == (type_4 *)0x0) {
            var_1 = (char *)var_27(0,"Undefined N_EXCL",5);
            var_28(var_21,var_1);
            *(type_4 *)(*(int *)((int)handle + 0x58) + -4 + *(int *)((int)handle + 0x54) * 4) =
                 0;
            return 1;
          }
          if ((var_4 == *(type_2 *)(var_56 + 3)) &&
             (var_58 = var_57((char *)var_56[2],var_21), var_58 == 0)) break;
          var_56 = (type_4 *)*var_56;
        }
        *(type_4 *)(var_17 + -4 + *(int *)((int)handle + 0x54) * 4) = var_56[6];
        return 1;
      }
      goto LAB_00044431;
    }
    if (var_2 == 0xe2) {
      var_17 = var_59(dhandle,var_21);
    }
    else {
      if (var_2 != 0xe4) goto LAB_00044431;
      var_17 = var_60(dhandle,var_21);
    }
    goto LAB_0004426d;
  }
  if (var_2 == 0x82) {
    var_56 = (type_4 *)var_7(0x1c);
    uVar7 = *(type_4 *)((int)handle + 0x3c);
    var_56[4] = (int)(var_4 >> 0x20);
    *var_56 = uVar7;
    uVar7 = *(type_4 *)((int)handle + 0x38);
    var_56[6] = 0;
    var_56[1] = uVar7;
    *(type_4 **)((int)handle + 0x3c) = var_56;
    var_56[2] = var_21;
    *(type_4 **)((int)handle + 0x38) = var_56;
    var_56[3] = (int)var_4;
    var_17 = *(int *)((int)handle + 0x54);
    var_56[5] = var_17;
    var_17 = var_17 + 1;
    *(int *)((int)handle + 0x54) = var_17;
    var_58 = var_55(*(type_4 *)((int)handle + 0x58),var_17 * 4);
    var_17 = var_56[5];
    *(int *)((int)handle + 0x58) = var_58;
    *(type_4 *)(var_58 + var_17 * 4) = 0;
  }
  else {
    if (var_2 < 0x83) {
      if (var_2 != 100) goto LAB_00044431;
      var_3 = *var_21;
      if (*(int *)((int)handle + 0x40) != 0) {
        if (var_3 != '\0') goto LAB_000448f8;
        goto LAB_00044916;
      }
      goto LAB_00044966;
    }
    if (var_2 != 0x84) {
      if (var_2 != 0xa2) goto LAB_00044431;
      var_17 = *(int *)((int)handle + 0x38);
      if (var_17 != 0) {
        var_58 = *(int *)(var_17 + 4);
        var_8 = *(type_3 *)(var_17 + 0x14);
        *(int *)((int)handle + 0x38) = var_58;
        if ((var_8 < *(type_3 *)((int)handle + 0x54)) &&
           (*(type_4 *)(var_17 + 0x18) =
                 *(type_4 *)(*(int *)((int)handle + 0x58) + var_8 * 4), var_58 != 0)) {
          var_21 = *(char **)(var_58 + 8);
          goto LAB_000445bf;
        }
      }
      var_21 = *(char **)((int)handle + 0x34);
    }
  }
LAB_000445bf:
  var_17 = var_61(dhandle,var_21);
LAB_0004426d:
  return (type_3)(var_17 != 0);
LAB_00044790:
  var_25 = var_25 + 2;
  var_25 = var_24(var_25,0x3a);
  ppcVar28 = (char **)var_25;
  if (var_25 == (char *)0x0) {
LAB_000449d0:
    var_25 = (char *)ppcVar28;
    var_39(var_21);
    return 0;
  }
  goto LAB_000447b1;
LAB_00044ecc:
  if ((*(char *)piVar23[1] == var_3) && (var_17 = var_57((char *)piVar23[1],var_35), var_17 == 0))
  {
    piVar23[3] = (int)var_36;
    *var_65 = *piVar23;
    goto LAB_00044efc;
  }
  var_62 = (int *)*piVar23;
  var_65 = piVar23;
  piVar23 = var_62;
  if (var_62 == (int *)0x0) {
LAB_00044efc:
    if (var_8 == 0) {
      return 1;
    }
    var_36 = var_47(dhandle,var_35,var_36);
    if (var_36 != (type_6)0x0) {
      if (var_38 == (type_6 *)0x0) {
        return 1;
      }
      *var_38 = var_36;
      return var_8;
    }
    return 0;
  }
  goto LAB_00044ecc;
LAB_00044bbc:
  var_58 = *var_65;
  var_1 = *(char **)(var_58 + 4);
  if (var_3 != '\0') {
    var_1 = var_1 + (var_3 == *var_1);
  }
  if ((*var_1 == var_63) && (var_64 = var_57(var_1,var_35), var_64 == 0)) {
    puVar1 = (type_3 *)(*(int *)(var_58 + 0x14) + 0x1c);
    var_4 = var_52(*(int *)(var_58 + 0xc) + *(int *)(*(int *)(var_58 + 0x14) + 0x20) +
                     (type_3)var_53(*(type_3 *)(var_58 + 8),*puVar1),*(type_3 *)(var_58 + 8) + *puVar1);
    goto LAB_00044c0d;
  }
  var_65 = var_65 + 1;
  var_17 = var_17 + -1;
  if (var_17 == 0) {
LAB_00044c0d:
    kind_00 = DEBUG_GLOBAL;
LAB_0004486e:
    var_6 = var_66(dhandle,(type_10 *)handle,var_35,var_32,kind_00,var_4);
joined_r0x00044fe7:
    if (var_6 != 0) {
      return 1;
    }
    return 0;
  }
  goto LAB_00044bbc;
}


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

/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Type propagation algorithm not settling */

uint MASKED(undefined4 param_1,int *param_2,uint param_3,int param_4,uint param_5,uint param_6
                 ,byte *param_7)

{
  uint *puVar1;
  char cVar2;
  char cVar3;
  int iVar4;
  int *piVar5;
  byte bVar6;
  int iVar7;
  undefined4 *puVar8;
  size_t sVar9;
  int iVar10;
  uint uVar11;
  char *pcVar12;
  int *piVar13;
  int iVar14;
  long lVar15;
  undefined4 extraout_ECX;
  void *__ptr;
  byte *pbVar16;
  int *piVar17;
  byte *pbVar18;
  uint uVar19;
  int *piVar20;
  bool bVar21;
  bool bVar22;
  bool bVar23;
  byte bVar24;
  longdouble lVar25;
  undefined8 uVar26;
  undefined4 uVar27;
  undefined4 uVar28;
  char *local_3c;
  uint local_38;
  byte *local_24;
  int *apiStack_20 [3];
  undefined4 uStack_14;
  
  bVar24 = 0;
  uStack_14 = 0x440f9;
  __ptr = (void *)param_2[4];
  if (__ptr != (void *)0x0) {
    if (((param_3 != 100) || (bVar6 = *param_7, bVar6 == 0)) ||
       (param_6 != param_2[6] || param_5 != param_2[5])) {
      iVar7 = FUN_0003c3e0(param_1,__ptr);
      if (iVar7 == 0) {
        return 0;
      }
      param_2[0xb] = 0;
      param_2[0xc] = 0;
      param_2[0xd] = param_2[4];
      if (param_2[1] == 0) {
        param_2[7] = param_2[5];
        param_2[8] = param_2[6];
      }
      param_2[0x15] = 1;
      puVar8 = (undefined4 *)xmalloc(4);
      param_2[4] = 0;
      param_2[0x16] = (int)puVar8;
      *puVar8 = 0;
      goto LAB_00044203;
    }
    if (param_2[0x10] == 0) goto LAB_0004414d;
LAB_000448f8:
    uVar11 = param_2[0x11];
    uVar19 = param_2[0x12];
    if (((uVar11 & uVar19) == 0xffffffff) ||
       (param_6 <= uVar19 && (uint)(uVar11 < param_5) <= uVar19 - param_6)) {
LAB_00044916:
      uVar19 = param_6;
      uVar11 = param_5;
      param_5 = uVar11;
      param_6 = uVar19;
    }
    iVar7 = FUN_0003e2f0();
    if (iVar7 == 0) {
      return 0;
    }
    iVar7 = FUN_0003c7e0(param_1,uVar11,uVar19);
    if (iVar7 == 0) {
      return 0;
    }
    param_2[0x10] = 0;
    param_2[0x11] = -1;
    param_2[0x12] = -1;
    bVar6 = *param_7;
LAB_00044966:
    if (bVar6 == 0) {
      return 1;
    }
    __ptr = (void *)param_2[4];
LAB_0004414d:
    if (__ptr == (void *)0x0) {
      iVar7 = xstrdup(param_7);
      param_2[4] = iVar7;
    }
    else {
      if (bVar6 == 0x2f) {
        iVar7 = xstrdup(param_7);
        param_2[4] = iVar7;
      }
      else {
        iVar7 = concat(__ptr,param_7,0);
        param_2[4] = iVar7;
      }
      free(__ptr);
    }
    param_2[5] = param_5;
    param_2[6] = param_6;
    return 1;
  }
LAB_00044203:
  sVar9 = strlen((char *)param_7);
  if (param_3 == 0x62) {
    return 1;
  }
  if ((int)param_3 < 99) {
    if (param_3 == 0x24) {
      if (*param_7 == 0) {
        if (param_2[0x10] == 0) {
          return 1;
        }
        if (param_2[1] != 0) {
          bVar21 = CARRY4(param_5,param_2[9]);
          param_5 = param_5 + param_2[9];
          param_6 = param_6 + param_2[10] + (uint)bVar21;
        }
        iVar7 = FUN_0003e2f0(param_5,param_6);
        if (iVar7 == 0) {
          return 0;
        }
        iVar7 = FUN_0003c7e0(param_1,param_5,param_6);
        if (iVar7 == 0) {
          return 0;
        }
        param_2[0x10] = 0;
        param_2[0x11] = -1;
        param_2[0x12] = -1;
        return 1;
      }
      if (param_2[0x10] != 0) {
        uVar11 = param_2[0x12];
        if (((param_2[0x11] & uVar11) == 0xffffffff) ||
           (param_6 < uVar11 || param_6 - uVar11 < (uint)(param_5 < (uint)param_2[0x11]))) {
          param_2[0x11] = param_5;
          param_2[0x12] = param_6;
        }
      }
    }
    else if ((int)param_3 < 0x25) {
      if (param_3 == 0xc) {
        return 1;
      }
      if ((0xb < (int)param_3) && (param_3 - 0x1e < 2)) {
        return 1;
      }
    }
    else {
      if (param_3 == 0x38) {
        return 1;
      }
      if ((int)param_3 < 0x39) {
        if (param_3 == 0x2a) {
          return 1;
        }
      }
      else {
        bVar21 = param_3 < 0x3c;
        bVar23 = param_3 == 0x3c;
        if (bVar23) {
          iVar7 = 0xf;
          pbVar16 = param_7;
          pbVar18 = (byte *)"gcc2_compiled.";
          do {
            if (iVar7 == 0) break;
            iVar7 = iVar7 + -1;
            bVar21 = *pbVar16 < *pbVar18;
            bVar23 = *pbVar16 == *pbVar18;
            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;
            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;
          } while (bVar23);
          bVar22 = false;
          bVar21 = (!bVar21 && !bVar23) == bVar21;
          if (bVar21) {
            param_2[0xb] = 2;
            return 1;
          }
          iVar7 = 0xe;
          pbVar16 = (byte *)"gcc_compiled.";
          do {
            if (iVar7 == 0) break;
            iVar7 = iVar7 + -1;
            bVar22 = *param_7 < *pbVar16;
            bVar21 = *param_7 == *pbVar16;
            param_7 = param_7 + (uint)bVar24 * -2 + 1;
            pbVar16 = pbVar16 + (uint)bVar24 * -2 + 1;
          } while (bVar21);
          if ((!bVar22 && !bVar21) != bVar22) {
            param_2[0xc] = 1;
            return 1;
          }
          param_2[0xb] = 1;
          return 1;
        }
        if (param_3 == 0x44) {
          if (param_2[0x10] != 0) {
            bVar21 = CARRY4(param_5,param_2[9]);
            param_5 = param_5 + param_2[9];
            param_6 = param_6 + param_2[10] + (uint)bVar21;
          }
          iVar7 = FUN_0003ca10(param_1,param_4,param_5,param_6);
          goto LAB_0004426d;
        }
      }
    }
LAB_00044431:
    local_24 = (byte *)strchr((char *)param_7,0x3a);
    if (local_24 == (byte *)0x0) {
      return 1;
    }
    bVar24 = local_24[1];
    if ((bVar24 & 0xdf) != 0x46) goto LAB_000447b5;
    if (param_2[0x10] != 0) {
      local_3c = (char *)param_2[0x11];
      local_38 = param_2[0x12];
      if ((((uint)local_3c & local_38) == 0xffffffff) ||
         (param_6 <= local_38 && (uint)(local_3c < param_5) <= local_38 - param_6)) {
        local_3c = (char *)param_5;
        local_38 = param_6;
      }
      iVar7 = FUN_0003e2f0();
      if ((iVar7 == 0) || (iVar7 = FUN_0003c7e0(param_1,local_3c,local_38), iVar7 == 0)) {
        return 0;
      }
      param_2[0x11] = -1;
      param_2[0x12] = -1;
    }
    if (param_2[1] != 0) {
      param_2[9] = param_5;
      param_2[10] = param_6;
    }
    param_2[0x10] = 1;
    local_24 = (byte *)strchr((char *)param_7,0x3a);
    if (local_24 == (byte *)0x0) {
      return 1;
    }
LAB_000447b1:
    bVar24 = local_24[1];
LAB_000447b5:
    if (bVar24 == 0x3a) goto LAB_00044790;
    if (*param_7 != 0x24) goto LAB_000447c7;
    switch(param_7[1]) {
    default:
      dcgettext(0,"unknown C++ encoded name",5);
      FUN_0003df30();
    case 0x58:
    case 0x5f:
    case 0x76:
LAB_000447c7:
      local_3c = (char *)0x0;
      if ((param_7 != local_24) && ((*param_7 != 0x20 || (local_24 != param_7 + 1)))) {
        local_3c = (char *)FUN_0003e060();
      }
      break;
    case 0x65:
      local_3c = "eh_throw";
      break;
    case 0x74:
      local_3c = "this";
    }
    param_7 = param_7 + sVar9;
    pbVar16 = local_24 + 1;
    bVar24 = local_24[1];
    if (((PTR__sch_istable_00071fbc[(uint)bVar24 * 2] & 4) != 0) ||
       (bVar24 == 0x28 || bVar24 == 0x2d)) {
LAB_0004483d:
      local_24 = pbVar16;
      iVar7 = FUN_00040c70(&local_24,0,param_7);
      if (iVar7 == 0) {
        return 0;
      }
      uVar27 = 4;
      goto code_r0x0004486e;
    }
    if (bVar24 != 0) {
      pbVar16 = local_24 + 2;
      bVar24 = local_24[1];
      if (0x33 < (byte)(bVar24 + 0xbd)) goto LAB_00044e16;
      iVar7 = (int)&__DT_PLTGOT + *(int *)(&DAT_00057e08 + (uint)(byte)(bVar24 + 0xbd) * 4);
      switch(bVar24) {
      case 0x43:
        local_24 = pbVar16;
        iVar7 = FUN_00040c70(&local_24,0,param_7,bVar24);
        if (iVar7 == 0) {
          return 0;
        }
        iVar7 = FUN_0003ccf0(param_1,local_3c,iVar7,param_5,param_6);
        goto joined_r0x00044fe7;
      default:
        goto LAB_00044e16;
      case 0x46:
      case 0x66:
        local_24 = pbVar16;
        uVar26 = FUN_00040c70(&local_24,0,param_7,iVar7);
        uVar27 = (undefined4)((ulonglong)uVar26 >> 0x20);
        if ((int)uVar26 == 0) {
          return 0;
        }
        iVar7 = FUN_0003c5a0(param_1,local_3c,(int)uVar26,bVar24 == 0x46,param_5,param_6,uVar27,
                             uVar27);
        while( true ) {
          if (iVar7 == 0) {
            return 0;
          }
          if (*local_24 != 0x3b) break;
          local_24 = local_24 + 1;
          iVar7 = FUN_00040c70(&local_24,0,param_7);
        }
        return 1;
      case 0x47:
        local_24 = pbVar16;
        iVar7 = FUN_00040c70(&local_24,0,param_7,iVar7);
        if (iVar7 == 0) {
          return 0;
        }
        if (local_3c == (char *)0x0) goto code_r0x00044c0d;
        iVar10 = param_2[3];
        piVar13 = (int *)param_2[2];
        cVar3 = *(char *)(*(int *)(*param_2 + 4) + 0x18);
        if (iVar10 < 1) goto code_r0x00044c0d;
        cVar2 = *local_3c;
        goto code_r0x00044bbc;
      case 0x50:
        if (param_3 == 0x24) {
          local_24 = pbVar16;
          do {
            if (*local_24 != 0x3b) {
              return 1;
            }
            local_24 = local_24 + 1;
            iVar7 = FUN_00040c70(&local_24,0,param_7);
          } while (iVar7 != 0);
          return 0;
        }
      case 0x52:
        local_24 = pbVar16;
        iVar7 = FUN_00040c70(&local_24,0,param_7,iVar7);
joined_r0x00045010:
        if (iVar7 == 0) {
          return 0;
        }
code_r0x00044af0:
        iVar7 = FUN_0003c6e0(param_1,local_3c,iVar7);
        goto joined_r0x00044fe7;
      case 0x53:
        pbVar18 = local_24;
        local_24 = pbVar16;
        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);
        if (iVar7 == 0) {
          return 0;
        }
        uVar27 = 2;
        goto code_r0x0004486e;
      case 0x54:
        pbVar18 = local_24 + 2;
        if (*pbVar18 == 0x74) {
          pbVar16 = local_24 + 3;
        }
        local_24 = pbVar16;
        uVar11 = (uint)(*pbVar18 == 0x74);
        iVar7 = FUN_00040c70(&local_24,apiStack_20,param_7,param_3);
        if (iVar7 == 0) {
          return 0;
        }
        if (local_3c == (char *)0x0) {
          return 1;
        }
        iVar10 = param_2[0x3a];
        iVar7 = FUN_0003d680(param_1,local_3c,iVar7,extraout_ECX);
        if (iVar7 == 0) {
          return 0;
        }
        if (apiStack_20[0] != (int *)0x0) {
          *apiStack_20[0] = iVar7;
        }
        piVar13 = apiStack_20[0];
        if (iVar10 != 0) goto code_r0x00044efc;
        if ((int *)param_2[0x39] == (int *)0x0) goto code_r0x00044efc;
        cVar3 = *local_3c;
        piVar17 = param_2 + 0x39;
        piVar20 = (int *)param_2[0x39];
        goto code_r0x00044ecc;
      case 0x56:
        pbVar18 = local_24;
        local_24 = pbVar16;
        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);
        if (iVar7 == 0) {
          return 0;
        }
        uVar27 = 3;
        goto code_r0x0004486e;
      case 0x58:
      case 0x6c:
      case 0x73:
        goto LAB_0004483d;
      case 0x59:
        pbVar16 = local_24 + 3;
        if ((local_24[3] == 0x6e) &&
           (pbVar16 = local_24 + 4, pbVar18 = local_24 + 4, local_24 = pbVar16, *pbVar18 == 0x30)) {
          for (; *local_24 != 0x3b; local_24 = local_24 + 1) {
          }
          return 1;
        }
LAB_00044e16:
        local_24 = pbVar16;
        FUN_0003dfb0();
        return 0;
      case 0x61:
        local_24 = pbVar16;
        iVar7 = FUN_00040c70(&local_24,0,param_7,bVar24);
        goto joined_r0x00045010;
      case 99:
        if (local_24[2] == 0x3d) {
          pbVar16 = local_24 + 4;
          bVar24 = local_24[3];
          local_24 = pbVar16;
          if (bVar24 == 0x69) {
            lVar15 = strtol((char *)pbVar16,(char **)0x0,10);
            iVar7 = FUN_0003cbe0(param_1,local_3c,lVar15,lVar15 >> 0x1f);
            goto joined_r0x00044fe7;
          }
          if (bVar24 == 0x72) {
            lVar25 = (longdouble)func_0x00013560(pbVar16,0,0x72,0x72);
            iVar7 = FUN_0003cc30(param_1,local_3c,(double)lVar25);
            goto joined_r0x00044fe7;
          }
          if (bVar24 == 0x65) {
            iVar7 = FUN_00040c70(&local_24,0,param_7,0x65);
            if (iVar7 == 0) {
              return 0;
            }
            pbVar16 = local_24;
            if (*local_24 == 0x2c) {
              uVar28 = 10;
              uVar27 = 0;
              lVar15 = strtol((char *)local_24,(char **)0x0,10);
              iVar7 = FUN_0003cc70(param_1,local_3c,iVar7,lVar15,lVar15 >> 0x1f,uVar27,uVar28,
                                   param_3);
              goto joined_r0x00044fe7;
            }
          }
        }
        break;
      case 0x70:
        if (local_24[2] == 0x46) {
          local_24 = local_24 + 3;
          iVar7 = FUN_00040c70(&local_24,0,param_7,local_24);
          if (iVar7 == 0) {
            return 0;
          }
          uVar27 = FUN_0003d080(param_1,iVar7,0,0);
          iVar7 = FUN_0003d030(param_1,uVar27);
        }
        else {
          pbVar18 = local_24;
          local_24 = pbVar16;
          iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);
        }
        goto joined_r0x00044dee;
      case 0x72:
        pbVar18 = local_24;
        local_24 = pbVar16;
        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);
        if (iVar7 == 0) {
          return 0;
        }
        uVar27 = 5;
        goto code_r0x0004486e;
      case 0x74:
        pbVar18 = local_24;
        local_24 = pbVar16;
        iVar7 = FUN_00040c70(&local_24,apiStack_20,param_7,pbVar18);
        if (iVar7 == 0) {
          return 0;
        }
        if (local_3c == (char *)0x0) {
          return 1;
        }
        iVar7 = FUN_0003d5a0(param_1,local_3c,iVar7,param_2);
        if (iVar7 == 0) {
          return 0;
        }
        if (apiStack_20[0] == (int *)0x0) {
          return 1;
        }
        *apiStack_20[0] = iVar7;
        return 1;
      case 0x76:
        pbVar18 = local_24;
        local_24 = pbVar16;
        iVar7 = FUN_00040c70(&local_24,0,param_7,pbVar18);
joined_r0x00044dee:
        if (iVar7 == 0) {
          return 0;
        }
        goto code_r0x00044af0;
      }
    }
    goto LAB_000449d0;
  }
  if (param_3 == 0xc0) {
    if ((param_2[0xc] != 0) && (param_4 == 1)) {
      return 1;
    }
    if (param_2[0x10] == 0) {
      pcVar12 = (char *)dcgettext(0,"N_LBRAC not within function\n",5);
      fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar12);
      return 0;
    }
    uVar11 = param_2[9] + param_2[7];
    iVar7 = FUN_0003c880(param_1,uVar11 + param_5,
                         param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7]) + param_6 +
                         (uint)CARRY4(uVar11,param_5));
    if (iVar7 == 0) {
      return 0;
    }
    iVar7 = FUN_0003e2f0();
    if (iVar7 == 0) {
      return 0;
    }
    param_2[0x13] = param_2[0x13] + 1;
    return 1;
  }
  if (0xc0 < (int)param_3) {
    if (param_3 == 0xe0) {
      if ((param_2[0xc] != 0) && (param_4 == 1)) {
        return 1;
      }
      iVar7 = FUN_0003e2f0();
      if (iVar7 == 0) {
        return 0;
      }
      uVar11 = param_2[9] + param_2[7];
      iVar7 = FUN_0003c980(param_1,uVar11 + param_5,
                           param_2[10] + param_2[8] + (uint)CARRY4(param_2[9],param_2[7]) + param_6
                           + (uint)CARRY4(uVar11,param_5));
      if (iVar7 == 0) {
        return 0;
      }
      param_2 = param_2 + 0x13;
      *param_2 = *param_2 + -1;
      if (*param_2 < 0) {
        pcVar12 = (char *)dcgettext(0,"Too many N_RBRACs\n",5);
        fprintf(*(FILE **)PTR_stderr_00071fb4,pcVar12);
        return 0;
      }
      return 1;
    }
    if ((int)param_3 < 0xe1) {
      if (param_3 == 0xc2) {
        iVar7 = param_2[0x15];
        param_2[0x15] = iVar7 + 1;
        iVar7 = xrealloc(param_2[0x16],(iVar7 + 1) * 4);
        puVar8 = (undefined4 *)param_2[0xf];
        param_2[0x16] = iVar7;
        while( true ) {
          if (puVar8 == (undefined4 *)0x0) {
            dcgettext(0,"Undefined N_EXCL",5);
            FUN_0003df30();
            *(undefined4 *)(param_2[0x16] + -4 + param_2[0x15] * 4) = 0;
            return 1;
          }
          if ((puVar8[4] == param_6 && puVar8[3] == param_5) &&
             (iVar10 = strcmp((char *)puVar8[2],(char *)param_7), iVar10 == 0)) break;
          puVar8 = (undefined4 *)*puVar8;
        }
        *(undefined4 *)(iVar7 + -4 + param_2[0x15] * 4) = puVar8[6];
        return 1;
      }
      goto LAB_00044431;
    }
    if (param_3 == 0xe2) {
      iVar7 = FUN_0003cb60(param_1,param_7);
    }
    else {
      if (param_3 != 0xe4) goto LAB_00044431;
      iVar7 = FUN_0003cba0(param_1,param_7);
    }
    goto LAB_0004426d;
  }
  if (param_3 == 0x82) {
    piVar13 = (int *)xmalloc(0x1c);
    iVar7 = param_2[0xf];
    piVar13[4] = param_6;
    *piVar13 = iVar7;
    iVar7 = param_2[0xe];
    piVar13[6] = 0;
    piVar13[1] = iVar7;
    param_2[0xf] = (int)piVar13;
    piVar13[2] = (int)param_7;
    param_2[0xe] = (int)piVar13;
    piVar13[3] = param_5;
    iVar7 = param_2[0x15];
    piVar13[5] = iVar7;
    iVar7 = iVar7 + 1;
    param_2[0x15] = iVar7;
    iVar10 = xrealloc(param_2[0x16],iVar7 * 4);
    iVar7 = piVar13[5];
    param_2[0x16] = iVar10;
    *(undefined4 *)(iVar10 + iVar7 * 4) = 0;
  }
  else {
    if ((int)param_3 < 0x83) {
      if (param_3 != 100) goto LAB_00044431;
      bVar6 = *param_7;
      if (param_2[0x10] != 0) {
        if (bVar6 != 0) goto LAB_000448f8;
        goto LAB_00044916;
      }
      goto LAB_00044966;
    }
    if (param_3 != 0x84) {
      if (param_3 != 0xa2) goto LAB_00044431;
      iVar7 = param_2[0xe];
      if (iVar7 != 0) {
        iVar10 = *(int *)(iVar7 + 4);
        uVar11 = *(uint *)(iVar7 + 0x14);
        param_2[0xe] = iVar10;
        if ((uVar11 < (uint)param_2[0x15]) &&
           (*(undefined4 *)(iVar7 + 0x18) = *(undefined4 *)(param_2[0x16] + uVar11 * 4), iVar10 != 0
           )) {
          param_7 = *(byte **)(iVar10 + 8);
          goto LAB_000445bf;
        }
      }
      param_7 = (byte *)param_2[0xd];
    }
  }
LAB_000445bf:
  iVar7 = FUN_0003c4a0(param_1,param_7);
LAB_0004426d:
  return (uint)(iVar7 != 0);
LAB_00044790:
  local_24 = local_24 + 2;
  local_24 = (byte *)strchr((char *)local_24,0x3a);
  pbVar16 = local_24;
  if (local_24 == (byte *)0x0) {
LAB_000449d0:
    local_24 = pbVar16;
    FUN_0003dfb0();
    return 0;
  }
  goto LAB_000447b1;
code_r0x00044ecc:
  piVar13 = (int *)piVar20[1];
  if (((char)*piVar13 == cVar3) &&
     (piVar13 = (int *)strcmp((char *)piVar13,local_3c), piVar13 == (int *)0x0)) {
    piVar13 = (int *)*piVar20;
    piVar20[3] = iVar7;
    *piVar17 = (int)piVar13;
    goto code_r0x00044efc;
  }
  piVar5 = (int *)*piVar20;
  piVar17 = piVar20;
  piVar20 = piVar5;
  if (piVar5 == (int *)0x0) {
code_r0x00044efc:
    if (uVar11 == 0) {
      return 1;
    }
    iVar7 = FUN_0003d5a0(param_1,local_3c,iVar7,piVar13);
    if (iVar7 != 0) {
      if (apiStack_20[0] == (int *)0x0) {
        return 1;
      }
      *apiStack_20[0] = iVar7;
      return uVar11;
    }
    return 0;
  }
  goto code_r0x00044ecc;
code_r0x00044bbc:
  iVar4 = *piVar13;
  pcVar12 = *(char **)(iVar4 + 4);
  if (cVar3 != '\0') {
    pcVar12 = pcVar12 + (cVar3 == *pcVar12);
  }
  if ((*pcVar12 == cVar2) && (iVar14 = strcmp(pcVar12,local_3c), iVar14 == 0)) {
    puVar1 = (uint *)(*(int *)(iVar4 + 0x14) + 0x1c);
    param_5 = *(uint *)(iVar4 + 8) + *puVar1;
    param_6 = *(int *)(iVar4 + 0xc) + *(int *)(*(int *)(iVar4 + 0x14) + 0x20) +
              (uint)CARRY4(*(uint *)(iVar4 + 8),*puVar1);
    goto code_r0x00044c0d;
  }
  piVar13 = piVar13 + 1;
  iVar10 = iVar10 + -1;
  if (iVar10 == 0) {
code_r0x00044c0d:
    uVar27 = 1;
code_r0x0004486e:
    iVar7 = FUN_0003e250(iVar7,uVar27,param_5,param_6);
joined_r0x00044fe7:
    if (iVar7 != 0) {
      return 1;
    }
    return 0;
  }
  goto code_r0x00044bbc;
}

