
debug_type
stab_demangle_v3_arg
          (void *dhandle,stab_handle *info,demangle_component *dc,debug_type context,
          bfd_boolean *pvarargs)

{
  demangle_component_type dVar1;
  demangle_component *dc_00;
  int iVar2;
  size_t sVar3;
  byte *__s1;
  debug_field *ppdVar4;
  debug_type pdVar5;
  debug_type_conflict *arg_types;
  debug_type_conflict pdVar6;
  char *pcVar7;
  long lVar8;
  byte *pbVar9;
  byte *pbVar10;
  bool bVar11;
  bool bVar12;
  bool bVar13;
  byte bVar14;
  size_t alc;
  
  bVar14 = 0;
  if (pvarargs != (bfd_boolean *)0x0) {
    *pvarargs = 0;
  }
  dVar1 = dc->type;
  switch(dVar1) {
  case DEMANGLE_COMPONENT_NAME:
    if ((context != (debug_type)0x0) &&
       (ppdVar4 = debug_get_fields(dhandle,context), ppdVar4 != (debug_field *)0x0)) {
      for (; *ppdVar4 != (debug_field)0x0; ppdVar4 = ppdVar4 + 1) {
        pdVar6 = debug_get_field_type(dhandle,*ppdVar4);
        if (pdVar6 == (debug_type_conflict)0x0) {
          return (debug_type)0x0;
        }
        pcVar7 = debug_get_type_name(dhandle,pdVar6);
        if (pcVar7 != (char *)0x0) {
          sVar3 = strlen(pcVar7);
          iVar2 = (dc->u).s_name.len;
          if ((iVar2 == (int)sVar3) &&
             (iVar2 = strncmp(pcVar7,(dc->u).s_name.s,(long)iVar2), iVar2 == 0)) {
            return pdVar6;
          }
        }
      }
    }
  case DEMANGLE_COMPONENT_SUB_STD:
    pdVar5 = stab_find_tagged_type
                       (dhandle,(stab_handle *)&info->tags,(dc->u).s_name.s,(dc->u).s_name.len,
                        DEBUG_KIND_ILLEGAL);
    return pdVar5;
  case DEMANGLE_COMPONENT_QUAL_NAME:
    pdVar5 = stab_demangle_v3_arg(dhandle,info,(dc->u).s_fixed.length,context,(bfd_boolean *)0x0);
    if (pdVar5 != (debug_type)0x0) {
      pdVar5 = stab_demangle_v3_arg
                         (dhandle,info,(dc->u).s_extended_operator.name,pdVar5,(bfd_boolean *)0x0);
      return pdVar5;
    }
    break;
  default:
    pcVar7 = (char *)dcgettext(0,"Unrecognized demangle component %d\n",5);
    fprintf(stderr,pcVar7,(ulong)dVar1);
    return (debug_type)0x0;
  case DEMANGLE_COMPONENT_TEMPLATE:
    pcVar7 = (char *)cplus_demangle_print(3,dc,0x14,&alc);
    if (pcVar7 != (char *)0x0) {
      sVar3 = strlen(pcVar7);
      pdVar5 = stab_find_tagged_type
                         (dhandle,(stab_handle *)&info->tags,pcVar7,(int)sVar3,DEBUG_KIND_CLASS);
      free(pcVar7);
      return pdVar5;
    }
    pcVar7 = "Failed to print demangled template\n";
    goto LAB_0011152c;
  case DEMANGLE_COMPONENT_RESTRICT:
  case DEMANGLE_COMPONENT_VOLATILE:
  case DEMANGLE_COMPONENT_CONST:
  case DEMANGLE_COMPONENT_POINTER:
  case DEMANGLE_COMPONENT_REFERENCE:
    pdVar5 = stab_demangle_v3_arg
                       (dhandle,info,(dc->u).s_fixed.length,(debug_type)0x0,(bfd_boolean *)0x0);
    if (pdVar5 != (debug_type)0x0) {
      switch(dc->type) {
      case DEMANGLE_COMPONENT_RESTRICT:
        return pdVar5;
      case DEMANGLE_COMPONENT_VOLATILE:
        pdVar6 = debug_make_volatile_type(dhandle,pdVar5);
        return pdVar6;
      case DEMANGLE_COMPONENT_CONST:
        pdVar6 = debug_make_const_type(dhandle,pdVar5);
        return pdVar6;
      default:
                    /* WARNING: Subroutine does not return */
        abort();
      case DEMANGLE_COMPONENT_POINTER:
        pdVar6 = debug_make_pointer_type(dhandle,pdVar5);
        return pdVar6;
      case DEMANGLE_COMPONENT_REFERENCE:
        pdVar6 = debug_make_reference_type(dhandle,pdVar5);
        return pdVar6;
      }
    }
    break;
  case DEMANGLE_COMPONENT_BUILTIN_TYPE:
    __s1 = (byte *)cplus_demangle_print(3,dc,0x14,&alc);
    pcVar7 = "Couldn\'t get demangled builtin type\n";
    bVar11 = false;
    bVar13 = __s1 == (byte *)0x0;
    if (!bVar13) {
      lVar8 = 0xc;
      pbVar9 = __s1;
      pbVar10 = (byte *)0x122f71;
      do {
        if (lVar8 == 0) break;
        lVar8 = lVar8 + -1;
        bVar11 = *pbVar9 < *pbVar10;
        bVar13 = *pbVar9 == *pbVar10;
        pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;
        pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;
      } while (bVar13);
      bVar12 = false;
      bVar11 = (!bVar11 && !bVar13) == bVar11;
      if (!bVar11) {
        lVar8 = 5;
        pbVar9 = __s1;
        pbVar10 = &DAT_0012307b;
        do {
          if (lVar8 == 0) break;
          lVar8 = lVar8 + -1;
          bVar12 = *pbVar9 < *pbVar10;
          bVar11 = *pbVar9 == *pbVar10;
          pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;
          pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;
        } while (bVar11);
        bVar13 = false;
        bVar11 = (!bVar12 && !bVar11) == bVar12;
        if (bVar11) {
          pdVar6 = debug_make_bool_type(dhandle,1);
          goto LAB_00111512;
        }
        lVar8 = 5;
        pbVar9 = __s1;
        pbVar10 = (byte *)0x122f78;
        do {
          if (lVar8 == 0) break;
          lVar8 = lVar8 + -1;
          bVar13 = *pbVar9 < *pbVar10;
          bVar11 = *pbVar9 == *pbVar10;
          pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;
          pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;
        } while (bVar11);
        bVar12 = false;
        bVar11 = (!bVar13 && !bVar11) == bVar13;
        if (!bVar11) {
          lVar8 = 7;
          pbVar9 = __s1;
          pbVar10 = (byte *)0x122fb3;
          do {
            if (lVar8 == 0) break;
            lVar8 = lVar8 + -1;
            bVar12 = *pbVar9 < *pbVar10;
            bVar11 = *pbVar9 == *pbVar10;
            pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;
            pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;
          } while (bVar11);
          bVar13 = false;
          bVar11 = (!bVar12 && !bVar11) == bVar12;
          if (!bVar11) {
            lVar8 = 0xc;
            pbVar9 = __s1;
            pbVar10 = (byte *)"long double";
            do {
              if (lVar8 == 0) break;
              lVar8 = lVar8 + -1;
              bVar13 = *pbVar9 < *pbVar10;
              bVar11 = *pbVar9 == *pbVar10;
              pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;
              pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;
            } while (bVar11);
            bVar12 = false;
            bVar11 = (!bVar13 && !bVar11) == bVar13;
            if (!bVar11) {
              lVar8 = 6;
              pbVar9 = __s1;
              pbVar10 = (byte *)"float";
              do {
                if (lVar8 == 0) break;
                lVar8 = lVar8 + -1;
                bVar12 = *pbVar9 < *pbVar10;
                bVar11 = *pbVar9 == *pbVar10;
                pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;
                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;
              } while (bVar11);
              bVar13 = false;
              bVar11 = (!bVar12 && !bVar11) == bVar12;
              if (bVar11) {
                pdVar6 = debug_make_float_type(dhandle,4);
                goto LAB_00111512;
              }
              lVar8 = 0xb;
              pbVar9 = __s1;
              pbVar10 = (byte *)"__float128";
              do {
                if (lVar8 == 0) break;
                lVar8 = lVar8 + -1;
                bVar13 = *pbVar9 < *pbVar10;
                bVar11 = *pbVar9 == *pbVar10;
                pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;
                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;
              } while (bVar11);
              bVar12 = false;
              bVar11 = (!bVar13 && !bVar11) == bVar13;
              if (bVar11) {
                pdVar6 = debug_make_float_type(dhandle,0x10);
                goto LAB_00111512;
              }
              lVar8 = 0xe;
              pbVar9 = __s1;
              pbVar10 = (byte *)"unsigned char";
              do {
                if (lVar8 == 0) break;
                lVar8 = lVar8 + -1;
                bVar12 = *pbVar9 < *pbVar10;
                bVar11 = *pbVar9 == *pbVar10;
                pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;
                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;
              } while (bVar11);
              bVar13 = false;
              bVar11 = (!bVar12 && !bVar11) == bVar12;
              if (bVar11) {
                pdVar6 = debug_make_int_type(dhandle,1,1);
                goto LAB_00111512;
              }
              lVar8 = 4;
              pbVar9 = __s1;
              pbVar10 = (byte *)0x1230d2;
              do {
                if (lVar8 == 0) break;
                lVar8 = lVar8 + -1;
                bVar13 = *pbVar9 < *pbVar10;
                bVar11 = *pbVar9 == *pbVar10;
                pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;
                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;
              } while (bVar11);
              bVar12 = false;
              bVar11 = (!bVar13 && !bVar11) == bVar13;
              if (bVar11) {
LAB_00111631:
                pdVar6 = debug_make_int_type(dhandle,4,0);
              }
              else {
                lVar8 = 0xd;
                pbVar9 = __s1;
                pbVar10 = (byte *)0x1230c9;
                do {
                  if (lVar8 == 0) break;
                  lVar8 = lVar8 + -1;
                  bVar12 = *pbVar9 < *pbVar10;
                  bVar11 = *pbVar9 == *pbVar10;
                  pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;
                  pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;
                } while (bVar11);
                bVar13 = false;
                bVar11 = (!bVar12 && !bVar11) == bVar12;
                if (!bVar11) {
                  lVar8 = 5;
                  pbVar9 = __s1;
                  pbVar10 = (byte *)0x122f9e;
                  do {
                    if (lVar8 == 0) break;
                    lVar8 = lVar8 + -1;
                    bVar13 = *pbVar9 < *pbVar10;
                    bVar11 = *pbVar9 == *pbVar10;
                    pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;
                    pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;
                  } while (bVar11);
                  bVar12 = false;
                  bVar11 = (!bVar13 && !bVar11) == bVar13;
                  if (bVar11) goto LAB_00111631;
                  lVar8 = 0xe;
                  pbVar9 = __s1;
                  pbVar10 = (byte *)"unsigned long";
                  do {
                    if (lVar8 == 0) break;
                    lVar8 = lVar8 + -1;
                    bVar12 = *pbVar9 < *pbVar10;
                    bVar11 = *pbVar9 == *pbVar10;
                    pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;
                    pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;
                  } while (bVar11);
                  if ((!bVar12 && !bVar11) != bVar12) {
                    iVar2 = strcmp((char *)__s1,"__int128");
                    if (iVar2 == 0) {
                      pdVar6 = debug_make_int_type(dhandle,0x10,0);
                      goto LAB_00111512;
                    }
                    iVar2 = strcmp((char *)__s1,"unsigned __int128");
                    if (iVar2 == 0) {
                      pdVar6 = debug_make_int_type(dhandle,0x10,1);
                      goto LAB_00111512;
                    }
                    iVar2 = strcmp((char *)__s1,"short");
                    if (iVar2 == 0) {
                      pdVar6 = debug_make_int_type(dhandle,2,0);
                      goto LAB_00111512;
                    }
                    iVar2 = strcmp((char *)__s1,"unsigned short");
                    if (iVar2 == 0) {
                      pdVar6 = debug_make_int_type(dhandle,2,1);
                      goto LAB_00111512;
                    }
                    iVar2 = strcmp((char *)__s1,"void");
                    if (iVar2 == 0) {
                      pdVar6 = debug_make_void_type(dhandle);
                      goto LAB_00111512;
                    }
                    iVar2 = strcmp((char *)__s1,"wchar_t");
                    if (iVar2 != 0) {
                      iVar2 = strcmp((char *)__s1,"long long");
                      if (iVar2 == 0) {
                        pdVar6 = debug_make_int_type(dhandle,8,0);
                      }
                      else {
                        iVar2 = strcmp((char *)__s1,"unsigned long long");
                        if (iVar2 == 0) {
                          pdVar6 = debug_make_int_type(dhandle,8,1);
                        }
                        else {
                          iVar2 = strcmp((char *)__s1,"...");
                          if (iVar2 == 0) {
                            pcVar7 = "Unexpected demangled varargs\n";
                            if (pvarargs != (bfd_boolean *)0x0) {
                              *pvarargs = 1;
                              pdVar6 = (debug_type)0x0;
                              goto LAB_00111512;
                            }
                          }
                          else {
                            pcVar7 = "Unrecognized demangled builtin type\n";
                          }
                          pdVar6 = (debug_type)0x0;
                          pcVar7 = (char *)dcgettext(0,pcVar7,5);
                          fprintf(stderr,pcVar7);
                        }
                      }
                      goto LAB_00111512;
                    }
                  }
                }
                pdVar6 = debug_make_int_type(dhandle,4,1);
              }
              goto LAB_00111512;
            }
          }
          pdVar6 = debug_make_float_type(dhandle,8);
          goto LAB_00111512;
        }
      }
      pdVar6 = debug_make_int_type(dhandle,1,0);
LAB_00111512:
      free(__s1);
      return pdVar6;
    }
LAB_0011152c:
    pcVar7 = (char *)dcgettext(0,pcVar7,5);
    fprintf(stderr,pcVar7);
    break;
  case DEMANGLE_COMPONENT_FUNCTION_TYPE:
    dc_00 = (dc->u).s_fixed.length;
    if (dc_00 == (demangle_component *)0x0) {
      pdVar5 = debug_make_void_type(dhandle);
    }
    else {
      pdVar5 = stab_demangle_v3_arg(dhandle,info,dc_00,(debug_type)0x0,(bfd_boolean *)0x0);
    }
    if ((pdVar5 != (debug_type_conflict)0x0) &&
       (arg_types = stab_demangle_v3_arglist
                              (dhandle,info,(dc->u).s_extended_operator.name,(bfd_boolean *)&alc),
       arg_types != (debug_type_conflict *)0x0)) {
      pdVar6 = debug_make_function_type(dhandle,pdVar5,arg_types,(bfd_boolean)alc);
      return pdVar6;
    }
  }
  return (debug_type)0x0;
}



long FUN_00110fa0(undefined8 param_1,long param_2,uint *param_3,long param_4,undefined4 *param_5)

{
  uint uVar1;
  int iVar2;
  size_t sVar3;
  byte *__s1;
  long *plVar4;
  long lVar5;
  long lVar6;
  char *pcVar7;
  byte *pbVar8;
  byte *pbVar9;
  bool bVar10;
  bool bVar11;
  bool bVar12;
  byte bVar13;
  undefined4 local_40 [4];
  
  bVar13 = 0;
  if (param_5 != (undefined4 *)0x0) {
    *param_5 = 0;
  }
  uVar1 = *param_3;
  switch(uVar1) {
  case 0:
    if ((param_4 != 0) && (plVar4 = (long *)FUN_001101a0(param_1,param_4), plVar4 != (long *)0x0)) {
      for (; *plVar4 != 0; plVar4 = plVar4 + 1) {
        lVar5 = FUN_001101f0(param_1);
        if (lVar5 == 0) {
          return 0;
        }
        pcVar7 = (char *)FUN_00110000(param_1,lVar5);
        if (pcVar7 != (char *)0x0) {
          sVar3 = strlen(pcVar7);
          if ((param_3[4] == (uint)sVar3) &&
             (iVar2 = strncmp(pcVar7,*(char **)(param_3 + 2),(long)(int)param_3[4]), iVar2 == 0)) {
            return lVar5;
          }
        }
      }
    }
  case 0x18:
    lVar5 = FUN_00110e80(param_1,param_2 + 0x1a0,*(undefined8 *)(param_3 + 2),param_3[4],0);
    return lVar5;
  case 1:
    lVar5 = FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 2),param_4,0);
    if (lVar5 != 0) {
      lVar5 = FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 4),lVar5,0);
      return lVar5;
    }
    break;
  default:
    pcVar7 = (char *)dcgettext(0,"Unrecognized demangle component %d\n",5);
    fprintf(stderr,pcVar7,(ulong)uVar1);
    return 0;
  case 4:
    pcVar7 = (char *)cplus_demangle_print(3,param_3,0x14,local_40);
    if (pcVar7 != (char *)0x0) {
      sVar3 = strlen(pcVar7);
      lVar5 = FUN_00110e80(param_1,param_2 + 0x1a0,pcVar7,sVar3 & 0xffffffff,9);
      free(pcVar7);
      return lVar5;
    }
    pcVar7 = "Failed to print demangled template\n";
    goto LAB_0011152c;
  case 0x19:
  case 0x1a:
  case 0x1b:
  case 0x22:
  case 0x23:
    lVar5 = FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 2),0,0);
    if (lVar5 != 0) {
      switch(*param_3) {
      case 0x19:
        return lVar5;
      case 0x1a:
        lVar5 = FUN_0010f920(param_1,lVar5);
        return lVar5;
      case 0x1b:
        lVar5 = FUN_0010f8f0(param_1,lVar5);
        return lVar5;
      default:
                    /* WARNING: Subroutine does not return */
        abort();
      case 0x22:
        lVar5 = FUN_0010f5f0(param_1,lVar5);
        return lVar5;
      case 0x23:
        lVar5 = FUN_0010f6a0(param_1,lVar5);
        return lVar5;
      }
    }
    break;
  case 0x27:
    __s1 = (byte *)cplus_demangle_print(3,param_3,0x14,local_40);
    pcVar7 = "Couldn\'t get demangled builtin type\n";
    bVar10 = false;
    bVar12 = __s1 == (byte *)0x0;
    if (!bVar12) {
      lVar5 = 0xc;
      pbVar8 = __s1;
      pbVar9 = (byte *)0x122f71;
      do {
        if (lVar5 == 0) break;
        lVar5 = lVar5 + -1;
        bVar10 = *pbVar8 < *pbVar9;
        bVar12 = *pbVar8 == *pbVar9;
        pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;
        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;
      } while (bVar12);
      bVar11 = false;
      bVar10 = (!bVar10 && !bVar12) == bVar10;
      if (!bVar10) {
        lVar5 = 5;
        pbVar8 = __s1;
        pbVar9 = &DAT_0012307b;
        do {
          if (lVar5 == 0) break;
          lVar5 = lVar5 + -1;
          bVar11 = *pbVar8 < *pbVar9;
          bVar10 = *pbVar8 == *pbVar9;
          pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;
          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;
        } while (bVar10);
        bVar12 = false;
        bVar10 = (!bVar11 && !bVar10) == bVar11;
        if (bVar10) {
          lVar5 = FUN_0010f4d0(param_1,1);
          goto LAB_00111512;
        }
        lVar5 = 5;
        pbVar8 = __s1;
        pbVar9 = (byte *)0x122f78;
        do {
          if (lVar5 == 0) break;
          lVar5 = lVar5 + -1;
          bVar12 = *pbVar8 < *pbVar9;
          bVar10 = *pbVar8 == *pbVar9;
          pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;
          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;
        } while (bVar10);
        bVar11 = false;
        bVar10 = (!bVar12 && !bVar10) == bVar12;
        if (!bVar10) {
          lVar5 = 7;
          pbVar8 = __s1;
          pbVar9 = (byte *)0x122fb3;
          do {
            if (lVar5 == 0) break;
            lVar5 = lVar5 + -1;
            bVar11 = *pbVar8 < *pbVar9;
            bVar10 = *pbVar8 == *pbVar9;
            pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;
            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;
          } while (bVar10);
          bVar12 = false;
          bVar10 = (!bVar11 && !bVar10) == bVar11;
          if (!bVar10) {
            lVar5 = 0xc;
            pbVar8 = __s1;
            pbVar9 = (byte *)"long double";
            do {
              if (lVar5 == 0) break;
              lVar5 = lVar5 + -1;
              bVar12 = *pbVar8 < *pbVar9;
              bVar10 = *pbVar8 == *pbVar9;
              pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;
              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;
            } while (bVar10);
            bVar11 = false;
            bVar10 = (!bVar12 && !bVar10) == bVar12;
            if (!bVar10) {
              lVar5 = 6;
              pbVar8 = __s1;
              pbVar9 = (byte *)"float";
              do {
                if (lVar5 == 0) break;
                lVar5 = lVar5 + -1;
                bVar11 = *pbVar8 < *pbVar9;
                bVar10 = *pbVar8 == *pbVar9;
                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;
                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;
              } while (bVar10);
              bVar12 = false;
              bVar10 = (!bVar11 && !bVar10) == bVar11;
              if (bVar10) {
                lVar5 = FUN_0010f4c0(param_1,4);
                goto LAB_00111512;
              }
              lVar5 = 0xb;
              pbVar8 = __s1;
              pbVar9 = (byte *)"__float128";
              do {
                if (lVar5 == 0) break;
                lVar5 = lVar5 + -1;
                bVar12 = *pbVar8 < *pbVar9;
                bVar10 = *pbVar8 == *pbVar9;
                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;
                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;
              } while (bVar10);
              bVar11 = false;
              bVar10 = (!bVar12 && !bVar10) == bVar12;
              if (bVar10) {
                lVar5 = FUN_0010f4c0(param_1,0x10);
                goto LAB_00111512;
              }
              lVar5 = 0xe;
              pbVar8 = __s1;
              pbVar9 = (byte *)"unsigned char";
              do {
                if (lVar5 == 0) break;
                lVar5 = lVar5 + -1;
                bVar11 = *pbVar8 < *pbVar9;
                bVar10 = *pbVar8 == *pbVar9;
                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;
                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;
              } while (bVar10);
              bVar12 = false;
              bVar10 = (!bVar11 && !bVar10) == bVar11;
              if (bVar10) {
                lVar5 = FUN_0010f4a0(param_1,1,1);
                goto LAB_00111512;
              }
              lVar5 = 4;
              pbVar8 = __s1;
              pbVar9 = (byte *)0x1230d2;
              do {
                if (lVar5 == 0) break;
                lVar5 = lVar5 + -1;
                bVar12 = *pbVar8 < *pbVar9;
                bVar10 = *pbVar8 == *pbVar9;
                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;
                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;
              } while (bVar10);
              bVar11 = false;
              bVar10 = (!bVar12 && !bVar10) == bVar12;
              if (bVar10) {
LAB_00111631:
                lVar5 = FUN_0010f4a0(param_1,4,0);
              }
              else {
                lVar5 = 0xd;
                pbVar8 = __s1;
                pbVar9 = (byte *)0x1230c9;
                do {
                  if (lVar5 == 0) break;
                  lVar5 = lVar5 + -1;
                  bVar11 = *pbVar8 < *pbVar9;
                  bVar10 = *pbVar8 == *pbVar9;
                  pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;
                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;
                } while (bVar10);
                bVar12 = false;
                bVar10 = (!bVar11 && !bVar10) == bVar11;
                if (!bVar10) {
                  lVar5 = 5;
                  pbVar8 = __s1;
                  pbVar9 = (byte *)0x122f9e;
                  do {
                    if (lVar5 == 0) break;
                    lVar5 = lVar5 + -1;
                    bVar12 = *pbVar8 < *pbVar9;
                    bVar10 = *pbVar8 == *pbVar9;
                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;
                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;
                  } while (bVar10);
                  bVar11 = false;
                  bVar10 = (!bVar12 && !bVar10) == bVar12;
                  if (bVar10) goto LAB_00111631;
                  lVar5 = 0xe;
                  pbVar8 = __s1;
                  pbVar9 = (byte *)"unsigned long";
                  do {
                    if (lVar5 == 0) break;
                    lVar5 = lVar5 + -1;
                    bVar11 = *pbVar8 < *pbVar9;
                    bVar10 = *pbVar8 == *pbVar9;
                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;
                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;
                  } while (bVar10);
                  if ((!bVar11 && !bVar10) != bVar11) {
                    iVar2 = strcmp((char *)__s1,"__int128");
                    if (iVar2 == 0) {
                      lVar5 = FUN_0010f4a0(param_1,0x10,0);
                      goto LAB_00111512;
                    }
                    iVar2 = strcmp((char *)__s1,"unsigned __int128");
                    if (iVar2 == 0) {
                      lVar5 = FUN_0010f4a0(param_1,0x10,1);
                      goto LAB_00111512;
                    }
                    iVar2 = strcmp((char *)__s1,"short");
                    if (iVar2 == 0) {
                      lVar5 = FUN_0010f4a0(param_1,2,0);
                      goto LAB_00111512;
                    }
                    iVar2 = strcmp((char *)__s1,"unsigned short");
                    if (iVar2 == 0) {
                      lVar5 = FUN_0010f4a0(param_1,2,1);
                      goto LAB_00111512;
                    }
                    iVar2 = strcmp((char *)__s1,"void");
                    if (iVar2 == 0) {
                      lVar5 = FUN_0010f490(param_1);
                      goto LAB_00111512;
                    }
                    iVar2 = strcmp((char *)__s1,"wchar_t");
                    if (iVar2 != 0) {
                      iVar2 = strcmp((char *)__s1,"long long");
                      if (iVar2 == 0) {
                        lVar5 = FUN_0010f4a0(param_1,8,0);
                      }
                      else {
                        iVar2 = strcmp((char *)__s1,"unsigned long long");
                        if (iVar2 == 0) {
                          lVar5 = FUN_0010f4a0(param_1,8,1);
                        }
                        else {
                          iVar2 = strcmp((char *)__s1,"...");
                          if (iVar2 == 0) {
                            pcVar7 = "Unexpected demangled varargs\n";
                            if (param_5 != (undefined4 *)0x0) {
                              *param_5 = 1;
                              lVar5 = 0;
                              goto LAB_00111512;
                            }
                          }
                          else {
                            pcVar7 = "Unrecognized demangled builtin type\n";
                          }
                          lVar5 = 0;
                          pcVar7 = (char *)dcgettext(0,pcVar7,5);
                          fprintf(stderr,pcVar7);
                        }
                      }
                      goto LAB_00111512;
                    }
                  }
                }
                lVar5 = FUN_0010f4a0(param_1,4,1);
              }
              goto LAB_00111512;
            }
          }
          lVar5 = FUN_0010f4c0(param_1,8);
          goto LAB_00111512;
        }
      }
      lVar5 = FUN_0010f4a0(param_1,1,0);
LAB_00111512:
      free(__s1);
      return lVar5;
    }
LAB_0011152c:
    pcVar7 = (char *)dcgettext(0,pcVar7,5);
    fprintf(stderr,pcVar7);
    break;
  case 0x29:
    if (*(long *)(param_3 + 2) == 0) {
      lVar5 = FUN_0010f490(param_1);
    }
    else {
      lVar5 = FUN_00110fa0(param_1,param_2,*(long *)(param_3 + 2),0,0);
    }
    if ((lVar5 != 0) &&
       (lVar6 = FUN_00111730(param_1,param_2,*(undefined8 *)(param_3 + 4),local_40), lVar6 != 0)) {
      lVar5 = FUN_0010f630(param_1,lVar5,lVar6,local_40[0]);
      return lVar5;
    }
  }
  return 0;
}


PUSH R15
PUSH R14
PUSH R13
MOV R13,RSI
PUSH R12
MOV R12,RDI
PUSH RBP
MOV RBP,RDX
PUSH RBX
SUB RSP,0x28
TEST R8,R8
JZ 0x00110fc3
MOV dword ptr [R8],0x0
MOV EBX,dword ptr [RBP]
CMP EBX,0x29
JA 0x001114d0
LEA RDI,[0x123584]
MOV EDX,EBX
MOVSXD RAX,dword ptr [RDI + RDX*0x4]
ADD RAX,RDI
JMP RAX
MOV ECX,dword ptr [RBP + 0x10]
MOV RDX,qword ptr [RBP + 0x8]
XOR R8D,R8D
MOV RDI,R12
LEA RSI,[R13 + 0x1a0]
CALL 0x00110e80
MOV RBX,RAX
ADD RSP,0x28
MOV RAX,RBX
POP RBX
POP RBP
POP R12
POP R13
POP R14
POP R15
RET
MOV RSI,RBP
LEA RCX,[RSP + 0x18]
MOV EDX,0x14
MOV EDI,0x3
CALL 0x00104050
MOV RBP,RAX
TEST RAX,RAX
JZ 0x00111520
MOV RDI,RAX
CALL 0x00104260
MOV RDI,R12
LEA RSI,[R13 + 0x1a0]
MOV RDX,RBP
MOV R8D,0x9
MOV ECX,EAX
CALL 0x00110e80
MOV RDI,RBP
MOV RBX,RAX
CALL 0x00104920
JMP 0x00111004
MOV RDX,qword ptr [RBP + 0x8]
XOR R8D,R8D
XOR ECX,ECX
MOV RSI,R13
MOV RDI,R12
CALL 0x00110fa0
MOV RBX,RAX
TEST RAX,RAX
JZ 0x00111544
MOV EAX,dword ptr [RBP]
SUB EAX,0x19
CMP EAX,0xa
JA 0x00104959
LEA RDX,[0x12362c]
MOVSXD RAX,dword ptr [RDX + RAX*0x4]
ADD RAX,RDX
JMP RAX
MOV RSI,RBP
MOV EDX,0x14
LEA RCX,[RSP + 0x18]
MOV EDI,0x3
MOV qword ptr [RSP + 0x8],R8
CALL 0x00104050
MOV EDX,0x5
MOV R8,qword ptr [RSP + 0x8]
LEA RSI,[0x123358]
TEST RAX,RAX
MOV RBP,RAX
JZ 0x0011152c
MOV RSI,RAX
MOV ECX,0xc
LEA RDI,[0x122f71]
CMPSB.REPE RDI,RSI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x00111500
MOV ECX,0x5
LEA RDI,[0x12307b]
MOV RSI,RBP
CMPSB.REPE RDI,RSI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x001115c0
MOV ECX,0x5
LEA RDI,[0x122f78]
MOV RSI,RBP
CMPSB.REPE RDI,RSI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x00111500
MOV ECX,0x7
LEA RDI,[0x122fb3]
MOV RSI,RBP
CMPSB.REPE RDI,RSI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x001115d8
MOV ECX,0xc
LEA RDI,[0x122fae]
MOV RSI,RBP
CMPSB.REPE RDI,RSI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x001115d8
MOV ECX,0x6
LEA RDI,[0x122fa8]
MOV RSI,RBP
CMPSB.REPE RDI,RSI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x001115ed
MOV ECX,0xb
LEA RDI,[0x123080]
MOV RSI,RBP
CMPSB.REPE RDI,RSI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x00111602
MOV ECX,0xe
LEA RDI,[0x122f6f]
MOV RSI,RBP
CMPSB.REPE RDI,RSI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x00111617
MOV ECX,0x4
LEA RDI,[0x1230d2]
MOV RSI,RBP
CMPSB.REPE RDI,RSI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x00111631
MOV ECX,0xd
LEA RDI,[0x1230c9]
MOV RSI,RBP
CMPSB.REPE RDI,RSI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x00111648
MOV ECX,0x5
LEA RDI,[0x122f9e]
MOV RSI,RBP
MOV qword ptr [RSP + 0x8],R8
CMPSB.REPE RDI,RSI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x00111631
MOV ECX,0xe
LEA RDI,[0x122f95]
MOV RSI,RBP
CMPSB.REPE RDI,RSI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x00111648
LEA RSI,[0x123094]
MOV RDI,RBP
CALL 0x00104460
MOV R8,qword ptr [RSP + 0x8]
TEST EAX,EAX
JZ 0x00111662
LEA RSI,[0x12308b]
MOV RDI,RBP
MOV qword ptr [RSP + 0x8],R8
CALL 0x00104460
MOV R8,qword ptr [RSP + 0x8]
TEST EAX,EAX
JZ 0x00111679
LEA RSI,[0x122f86]
MOV RDI,RBP
MOV qword ptr [RSP + 0x8],R8
CALL 0x00104460
MOV R8,qword ptr [RSP + 0x8]
TEST EAX,EAX
JZ 0x001116bd
LEA RSI,[0x122f7d]
MOV RDI,RBP
MOV qword ptr [RSP + 0x8],R8
CALL 0x00104460
MOV R8,qword ptr [RSP + 0x8]
TEST EAX,EAX
JZ 0x001116a3
LEA RSI,[0x122fa3]
MOV RDI,RBP
MOV qword ptr [RSP + 0x8],R8
CALL 0x00104460
MOV R8,qword ptr [RSP + 0x8]
TEST EAX,EAX
JZ 0x00111693
LEA RSI,[0x123103]
MOV RDI,RBP
MOV qword ptr [RSP + 0x8],R8
CALL 0x00104460
TEST EAX,EAX
JZ 0x00111648
LEA RSI,[0x123041]
MOV RDI,RBP
CALL 0x00104460
MOV R8,qword ptr [RSP + 0x8]
TEST EAX,EAX
JZ 0x001116d4
LEA RSI,[0x123038]
MOV RDI,RBP
MOV qword ptr [RSP + 0x8],R8
CALL 0x00104460
MOV R8,qword ptr [RSP + 0x8]
TEST EAX,EAX
JZ 0x00111716
LEA RSI,[0x12309d]
MOV RDI,RBP
MOV qword ptr [RSP + 0x8],R8
CALL 0x00104460
TEST EAX,EAX
JNZ 0x001116eb
MOV R8,qword ptr [RSP + 0x8]
MOV EDX,0x5
LEA RSI,[0x1230a1]
TEST R8,R8
JZ 0x001116f7
MOV dword ptr [R8],0x1
XOR EBX,EBX
JMP 0x00111512
TEST RCX,RCX
JZ 0x00110fe8
MOV RSI,RCX
MOV RDI,R12
CALL 0x001101a0
MOV R14,RAX
TEST RAX,RAX
JNZ 0x001113d4
JMP 0x00110fe8
ADD R14,0x8
MOV RSI,qword ptr [R14]
TEST RSI,RSI
JZ 0x00110fe8
MOV RDI,R12
CALL 0x001101f0
MOV RBX,RAX
TEST RAX,RAX
JZ 0x00111544
MOV RSI,RAX
MOV RDI,R12
CALL 0x00110000
MOV R15,RAX
TEST RAX,RAX
JZ 0x001113d0
MOV RDI,RAX
CALL 0x00104260
MOVSXD RDX,dword ptr [RBP + 0x10]
CMP EDX,EAX
JNZ 0x001113d0
MOV RSI,qword ptr [RBP + 0x8]
MOV RDI,R15
CALL 0x001040d0
TEST EAX,EAX
JNZ 0x001113d0
JMP 0x00111004
MOV RDX,qword ptr [RBP + 0x8]
TEST RDX,RDX
JZ 0x001115b0
XOR R8D,R8D
XOR ECX,ECX
MOV RSI,R13
MOV RDI,R12
CALL 0x00110fa0
MOV RBX,RAX
TEST RBX,RBX
JZ 0x00111544
MOV RDX,qword ptr [RBP + 0x10]
LEA RCX,[RSP + 0x18]
MOV RSI,R13
MOV RDI,R12
CALL 0x00111730
TEST RAX,RAX
JZ 0x00111544
MOV ECX,dword ptr [RSP + 0x18]
MOV RSI,RBX
MOV RDX,RAX
MOV RDI,R12
CALL 0x0010f630
MOV RBX,RAX
JMP 0x00111004
MOV RDX,qword ptr [RBP + 0x8]
XOR R8D,R8D
MOV RSI,R13
MOV RDI,R12
CALL 0x00110fa0
TEST RAX,RAX
JZ 0x00111544
MOV RDX,qword ptr [RBP + 0x10]
XOR R8D,R8D
MOV RCX,RAX
MOV RSI,R13
MOV RDI,R12
CALL 0x00110fa0
MOV RBX,RAX
JMP 0x00111004
MOV EDX,0x5
LEA RSI,[0x123308]
XOR EDI,EDI
CALL 0x00104240
MOV RDI,qword ptr [0x0012c9e0]
MOV EDX,EBX
XOR EBX,EBX
MOV RSI,RAX
XOR EAX,EAX
CALL 0x001044a0
JMP 0x00111004
XOR EDX,EDX
MOV ESI,0x1
MOV RDI,R12
CALL 0x0010f4a0
MOV RBX,RAX
MOV RDI,RBP
CALL 0x00104920
JMP 0x00111004
MOV EDX,0x5
LEA RSI,[0x123330]
XOR EDI,EDI
CALL 0x00104240
MOV RDI,qword ptr [0x0012c9e0]
MOV RSI,RAX
XOR EAX,EAX
CALL 0x001044a0
XOR EBX,EBX
JMP 0x00111004
MOV RSI,RBX
MOV RDI,R12
CALL 0x0010f6a0
MOV RBX,RAX
JMP 0x00111004
MOV RSI,RBX
MOV RDI,R12
CALL 0x0010f5f0
MOV RBX,RAX
JMP 0x00111004
MOV RSI,RBX
MOV RDI,R12
CALL 0x0010f8f0
MOV RBX,RAX
JMP 0x00111004
MOV RSI,RBX
MOV RDI,R12
CALL 0x0010f920
MOV RBX,RAX
JMP 0x00111004
MOV RDI,R12
CALL 0x0010f490
MOV RBX,RAX
JMP 0x00111450
MOV ESI,0x1
MOV RDI,R12
CALL 0x0010f4d0
MOV RBX,RAX
JMP 0x00111512
MOV ESI,0x8
MOV RDI,R12
CALL 0x0010f4c0
MOV RBX,RAX
JMP 0x00111512
MOV ESI,0x4
MOV RDI,R12
CALL 0x0010f4c0
MOV RBX,RAX
JMP 0x00111512
MOV ESI,0x10
MOV RDI,R12
CALL 0x0010f4c0
MOV RBX,RAX
JMP 0x00111512
MOV EDX,0x1
MOV ESI,0x1
MOV RDI,R12
CALL 0x0010f4a0
MOV RBX,RAX
JMP 0x00111512
XOR EDX,EDX
MOV ESI,0x4
MOV RDI,R12
CALL 0x0010f4a0
MOV RBX,RAX
JMP 0x00111512
MOV EDX,0x1
MOV ESI,0x4
MOV RDI,R12
CALL 0x0010f4a0
MOV RBX,RAX
JMP 0x00111512
XOR EDX,EDX
MOV ESI,0x10
MOV RDI,R12
CALL 0x0010f4a0
MOV RBX,RAX
JMP 0x00111512
MOV EDX,0x1
MOV ESI,0x10
MOV RDI,R12
CALL 0x0010f4a0
MOV RBX,RAX
JMP 0x00111512
MOV RDI,R12
CALL 0x0010f490
MOV RBX,RAX
JMP 0x00111512
MOV EDX,0x1
MOV ESI,0x2
MOV RDI,R12
CALL 0x0010f4a0
MOV RBX,RAX
JMP 0x00111512
XOR EDX,EDX
MOV ESI,0x2
MOV RDI,R12
CALL 0x0010f4a0
MOV RBX,RAX
JMP 0x00111512
XOR EDX,EDX
MOV ESI,0x8
MOV RDI,R12
CALL 0x0010f4a0
MOV RBX,RAX
JMP 0x00111512
MOV EDX,0x5
LEA RSI,[0x123380]
XOR EDI,EDI
XOR EBX,EBX
CALL 0x00104240
MOV RDI,qword ptr [0x0012c9e0]
MOV RSI,RAX
XOR EAX,EAX
CALL 0x001044a0
JMP 0x00111512
MOV EDX,0x1
MOV ESI,0x8
MOV RDI,R12
CALL 0x0010f4a0
MOV RBX,RAX
JMP 0x00111512
(translation_unit "long FUN_00110fa0(undefined8 param_1,long param_2,uint *param_3,long param_4,undefined4 *param_5)\n\n{\n  uint uVar1;\n  int iVar2;\n  size_t sVar3;\n  byte *__s1;\n  long *plVar4;\n  long lVar5;\n  long lVar6;\n  char *pcVar7;\n  byte *pbVar8;\n  byte *pbVar9;\n  bool bVar10;\n  bool bVar11;\n  bool bVar12;\n  byte bVar13;\n  undefined4 local_40 [4];\n  \n  bVar13 = 0;\n  if (param_5 != (undefined4 *)0x0) {\n    *param_5 = 0;\n  }\n  uVar1 = *param_3;\n  switch(uVar1) {\n  case 0:\n    if ((param_4 != 0) && (plVar4 = (long *)FUN_001101a0(param_1,param_4), plVar4 != (long *)0x0)) {\n      for (; *plVar4 != 0; plVar4 = plVar4 + 1) {\n        lVar5 = FUN_001101f0(param_1);\n        if (lVar5 == 0) {\n          return 0;\n        }\n        pcVar7 = (char *)FUN_00110000(param_1,lVar5);\n        if (pcVar7 != (char *)0x0) {\n          sVar3 = strlen(pcVar7);\n          if ((param_3[4] == (uint)sVar3) &&\n             (iVar2 = strncmp(pcVar7,*(char **)(param_3 + 2),(long)(int)param_3[4]), iVar2 == 0)) {\n            return lVar5;\n          }\n        }\n      }\n    }\n  case 0x18:\n    lVar5 = FUN_00110e80(param_1,param_2 + 0x1a0,*(undefined8 *)(param_3 + 2),param_3[4],0);\n    return lVar5;\n  case 1:\n    lVar5 = FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 2),param_4,0);\n    if (lVar5 != 0) {\n      lVar5 = FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 4),lVar5,0);\n      return lVar5;\n    }\n    break;\n  default:\n    pcVar7 = (char *)dcgettext(0,"Unrecognized demangle component %d\n",5);\n    fprintf(stderr,pcVar7,(ulong)uVar1);\n    return 0;\n  case 4:\n    pcVar7 = (char *)cplus_demangle_print(3,param_3,0x14,local_40);\n    if (pcVar7 != (char *)0x0) {\n      sVar3 = strlen(pcVar7);\n      lVar5 = FUN_00110e80(param_1,param_2 + 0x1a0,pcVar7,sVar3 & 0xffffffff,9);\n      free(pcVar7);\n      return lVar5;\n    }\n    pcVar7 = "Failed to print demangled template\n";\n    goto LAB_0011152c;\n  case 0x19:\n  case 0x1a:\n  case 0x1b:\n  case 0x22:\n  case 0x23:\n    lVar5 = FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 2),0,0);\n    if (lVar5 != 0) {\n      switch(*param_3) {\n      case 0x19:\n        return lVar5;\n      case 0x1a:\n        lVar5 = FUN_0010f920(param_1,lVar5);\n        return lVar5;\n      case 0x1b:\n        lVar5 = FUN_0010f8f0(param_1,lVar5);\n        return lVar5;\n      default:\n                    /* WARNING: Subroutine does not return */\n        abort();\n      case 0x22:\n        lVar5 = FUN_0010f5f0(param_1,lVar5);\n        return lVar5;\n      case 0x23:\n        lVar5 = FUN_0010f6a0(param_1,lVar5);\n        return lVar5;\n      }\n    }\n    break;\n  case 0x27:\n    __s1 = (byte *)cplus_demangle_print(3,param_3,0x14,local_40);\n    pcVar7 = "Couldn\'t get demangled builtin type\n";\n    bVar10 = false;\n    bVar12 = __s1 == (byte *)0x0;\n    if (!bVar12) {\n      lVar5 = 0xc;\n      pbVar8 = __s1;\n      pbVar9 = (byte *)0x122f71;\n      do {\n        if (lVar5 == 0) break;\n        lVar5 = lVar5 + -1;\n        bVar10 = *pbVar8 < *pbVar9;\n        bVar12 = *pbVar8 == *pbVar9;\n        pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n      } while (bVar12);\n      bVar11 = false;\n      bVar10 = (!bVar10 && !bVar12) == bVar10;\n      if (!bVar10) {\n        lVar5 = 5;\n        pbVar8 = __s1;\n        pbVar9 = &DAT_0012307b;\n        do {\n          if (lVar5 == 0) break;\n          lVar5 = lVar5 + -1;\n          bVar11 = *pbVar8 < *pbVar9;\n          bVar10 = *pbVar8 == *pbVar9;\n          pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar12 = false;\n        bVar10 = (!bVar11 && !bVar10) == bVar11;\n        if (bVar10) {\n          lVar5 = FUN_0010f4d0(param_1,1);\n          goto LAB_00111512;\n        }\n        lVar5 = 5;\n        pbVar8 = __s1;\n        pbVar9 = (byte *)0x122f78;\n        do {\n          if (lVar5 == 0) break;\n          lVar5 = lVar5 + -1;\n          bVar12 = *pbVar8 < *pbVar9;\n          bVar10 = *pbVar8 == *pbVar9;\n          pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar11 = false;\n        bVar10 = (!bVar12 && !bVar10) == bVar12;\n        if (!bVar10) {\n          lVar5 = 7;\n          pbVar8 = __s1;\n          pbVar9 = (byte *)0x122fb3;\n          do {\n            if (lVar5 == 0) break;\n            lVar5 = lVar5 + -1;\n            bVar11 = *pbVar8 < *pbVar9;\n            bVar10 = *pbVar8 == *pbVar9;\n            pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n          } while (bVar10);\n          bVar12 = false;\n          bVar10 = (!bVar11 && !bVar10) == bVar11;\n          if (!bVar10) {\n            lVar5 = 0xc;\n            pbVar8 = __s1;\n            pbVar9 = (byte *)"long double";\n            do {\n              if (lVar5 == 0) break;\n              lVar5 = lVar5 + -1;\n              bVar12 = *pbVar8 < *pbVar9;\n              bVar10 = *pbVar8 == *pbVar9;\n              pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n            } while (bVar10);\n            bVar11 = false;\n            bVar10 = (!bVar12 && !bVar10) == bVar12;\n            if (!bVar10) {\n              lVar5 = 6;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"float";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,4);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xb;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"__float128";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,0x10);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xe;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"unsigned char";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4a0(param_1,1,1);\n                goto LAB_00111512;\n              }\n              lVar5 = 4;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)0x1230d2;\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\nLAB_00111631:\n                lVar5 = FUN_0010f4a0(param_1,4,0);\n              }\n              else {\n                lVar5 = 0xd;\n                pbVar8 = __s1;\n                pbVar9 = (byte *)0x1230c9;\n                do {\n                  if (lVar5 == 0) break;\n                  lVar5 = lVar5 + -1;\n                  bVar11 = *pbVar8 < *pbVar9;\n                  bVar10 = *pbVar8 == *pbVar9;\n                  pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar10);\n                bVar12 = false;\n                bVar10 = (!bVar11 && !bVar10) == bVar11;\n                if (!bVar10) {\n                  lVar5 = 5;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)0x122f9e;\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar12 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar11 = false;\n                  bVar10 = (!bVar12 && !bVar10) == bVar12;\n                  if (bVar10) goto LAB_00111631;\n                  lVar5 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)"unsigned long";\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar11 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  if ((!bVar11 && !bVar10) != bVar11) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f490(param_1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }\n                lVar5 = FUN_0010f4a0(param_1,4,1);\n              }\n              goto LAB_00111512;\n            }\n          }\n          lVar5 = FUN_0010f4c0(param_1,8);\n          goto LAB_00111512;\n        }\n      }\n      lVar5 = FUN_0010f4a0(param_1,1,0);\nLAB_00111512:\n      free(__s1);\n      return lVar5;\n    }\nLAB_0011152c:\n    pcVar7 = (char *)dcgettext(0,pcVar7,5);\n    fprintf(stderr,pcVar7);\n    break;\n  case 0x29:\n    if (*(long *)(param_3 + 2) == 0) {\n      lVar5 = FUN_0010f490(param_1);\n    }\n    else {\n      lVar5 = FUN_00110fa0(param_1,param_2,*(long *)(param_3 + 2),0,0);\n    }\n    if ((lVar5 != 0) &&\n       (lVar6 = FUN_00111730(param_1,param_2,*(undefined8 *)(param_3 + 4),local_40), lVar6 != 0)) {\n      lVar5 = FUN_0010f630(param_1,lVar5,lVar6,local_40[0]);\n      return lVar5;\n    }\n  }\n  return 0;\n}\n\n" (function_definition "long FUN_00110fa0(undefined8 param_1,long param_2,uint *param_3,long param_4,undefined4 *param_5)\n\n{\n  uint uVar1;\n  int iVar2;\n  size_t sVar3;\n  byte *__s1;\n  long *plVar4;\n  long lVar5;\n  long lVar6;\n  char *pcVar7;\n  byte *pbVar8;\n  byte *pbVar9;\n  bool bVar10;\n  bool bVar11;\n  bool bVar12;\n  byte bVar13;\n  undefined4 local_40 [4];\n  \n  bVar13 = 0;\n  if (param_5 != (undefined4 *)0x0) {\n    *param_5 = 0;\n  }\n  uVar1 = *param_3;\n  switch(uVar1) {\n  case 0:\n    if ((param_4 != 0) && (plVar4 = (long *)FUN_001101a0(param_1,param_4), plVar4 != (long *)0x0)) {\n      for (; *plVar4 != 0; plVar4 = plVar4 + 1) {\n        lVar5 = FUN_001101f0(param_1);\n        if (lVar5 == 0) {\n          return 0;\n        }\n        pcVar7 = (char *)FUN_00110000(param_1,lVar5);\n        if (pcVar7 != (char *)0x0) {\n          sVar3 = strlen(pcVar7);\n          if ((param_3[4] == (uint)sVar3) &&\n             (iVar2 = strncmp(pcVar7,*(char **)(param_3 + 2),(long)(int)param_3[4]), iVar2 == 0)) {\n            return lVar5;\n          }\n        }\n      }\n    }\n  case 0x18:\n    lVar5 = FUN_00110e80(param_1,param_2 + 0x1a0,*(undefined8 *)(param_3 + 2),param_3[4],0);\n    return lVar5;\n  case 1:\n    lVar5 = FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 2),param_4,0);\n    if (lVar5 != 0) {\n      lVar5 = FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 4),lVar5,0);\n      return lVar5;\n    }\n    break;\n  default:\n    pcVar7 = (char *)dcgettext(0,"Unrecognized demangle component %d\n",5);\n    fprintf(stderr,pcVar7,(ulong)uVar1);\n    return 0;\n  case 4:\n    pcVar7 = (char *)cplus_demangle_print(3,param_3,0x14,local_40);\n    if (pcVar7 != (char *)0x0) {\n      sVar3 = strlen(pcVar7);\n      lVar5 = FUN_00110e80(param_1,param_2 + 0x1a0,pcVar7,sVar3 & 0xffffffff,9);\n      free(pcVar7);\n      return lVar5;\n    }\n    pcVar7 = "Failed to print demangled template\n";\n    goto LAB_0011152c;\n  case 0x19:\n  case 0x1a:\n  case 0x1b:\n  case 0x22:\n  case 0x23:\n    lVar5 = FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 2),0,0);\n    if (lVar5 != 0) {\n      switch(*param_3) {\n      case 0x19:\n        return lVar5;\n      case 0x1a:\n        lVar5 = FUN_0010f920(param_1,lVar5);\n        return lVar5;\n      case 0x1b:\n        lVar5 = FUN_0010f8f0(param_1,lVar5);\n        return lVar5;\n      default:\n                    /* WARNING: Subroutine does not return */\n        abort();\n      case 0x22:\n        lVar5 = FUN_0010f5f0(param_1,lVar5);\n        return lVar5;\n      case 0x23:\n        lVar5 = FUN_0010f6a0(param_1,lVar5);\n        return lVar5;\n      }\n    }\n    break;\n  case 0x27:\n    __s1 = (byte *)cplus_demangle_print(3,param_3,0x14,local_40);\n    pcVar7 = "Couldn\'t get demangled builtin type\n";\n    bVar10 = false;\n    bVar12 = __s1 == (byte *)0x0;\n    if (!bVar12) {\n      lVar5 = 0xc;\n      pbVar8 = __s1;\n      pbVar9 = (byte *)0x122f71;\n      do {\n        if (lVar5 == 0) break;\n        lVar5 = lVar5 + -1;\n        bVar10 = *pbVar8 < *pbVar9;\n        bVar12 = *pbVar8 == *pbVar9;\n        pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n      } while (bVar12);\n      bVar11 = false;\n      bVar10 = (!bVar10 && !bVar12) == bVar10;\n      if (!bVar10) {\n        lVar5 = 5;\n        pbVar8 = __s1;\n        pbVar9 = &DAT_0012307b;\n        do {\n          if (lVar5 == 0) break;\n          lVar5 = lVar5 + -1;\n          bVar11 = *pbVar8 < *pbVar9;\n          bVar10 = *pbVar8 == *pbVar9;\n          pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar12 = false;\n        bVar10 = (!bVar11 && !bVar10) == bVar11;\n        if (bVar10) {\n          lVar5 = FUN_0010f4d0(param_1,1);\n          goto LAB_00111512;\n        }\n        lVar5 = 5;\n        pbVar8 = __s1;\n        pbVar9 = (byte *)0x122f78;\n        do {\n          if (lVar5 == 0) break;\n          lVar5 = lVar5 + -1;\n          bVar12 = *pbVar8 < *pbVar9;\n          bVar10 = *pbVar8 == *pbVar9;\n          pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar11 = false;\n        bVar10 = (!bVar12 && !bVar10) == bVar12;\n        if (!bVar10) {\n          lVar5 = 7;\n          pbVar8 = __s1;\n          pbVar9 = (byte *)0x122fb3;\n          do {\n            if (lVar5 == 0) break;\n            lVar5 = lVar5 + -1;\n            bVar11 = *pbVar8 < *pbVar9;\n            bVar10 = *pbVar8 == *pbVar9;\n            pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n          } while (bVar10);\n          bVar12 = false;\n          bVar10 = (!bVar11 && !bVar10) == bVar11;\n          if (!bVar10) {\n            lVar5 = 0xc;\n            pbVar8 = __s1;\n            pbVar9 = (byte *)"long double";\n            do {\n              if (lVar5 == 0) break;\n              lVar5 = lVar5 + -1;\n              bVar12 = *pbVar8 < *pbVar9;\n              bVar10 = *pbVar8 == *pbVar9;\n              pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n            } while (bVar10);\n            bVar11 = false;\n            bVar10 = (!bVar12 && !bVar10) == bVar12;\n            if (!bVar10) {\n              lVar5 = 6;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"float";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,4);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xb;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"__float128";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,0x10);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xe;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"unsigned char";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4a0(param_1,1,1);\n                goto LAB_00111512;\n              }\n              lVar5 = 4;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)0x1230d2;\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\nLAB_00111631:\n                lVar5 = FUN_0010f4a0(param_1,4,0);\n              }\n              else {\n                lVar5 = 0xd;\n                pbVar8 = __s1;\n                pbVar9 = (byte *)0x1230c9;\n                do {\n                  if (lVar5 == 0) break;\n                  lVar5 = lVar5 + -1;\n                  bVar11 = *pbVar8 < *pbVar9;\n                  bVar10 = *pbVar8 == *pbVar9;\n                  pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar10);\n                bVar12 = false;\n                bVar10 = (!bVar11 && !bVar10) == bVar11;\n                if (!bVar10) {\n                  lVar5 = 5;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)0x122f9e;\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar12 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar11 = false;\n                  bVar10 = (!bVar12 && !bVar10) == bVar12;\n                  if (bVar10) goto LAB_00111631;\n                  lVar5 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)"unsigned long";\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar11 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  if ((!bVar11 && !bVar10) != bVar11) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f490(param_1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }\n                lVar5 = FUN_0010f4a0(param_1,4,1);\n              }\n              goto LAB_00111512;\n            }\n          }\n          lVar5 = FUN_0010f4c0(param_1,8);\n          goto LAB_00111512;\n        }\n      }\n      lVar5 = FUN_0010f4a0(param_1,1,0);\nLAB_00111512:\n      free(__s1);\n      return lVar5;\n    }\nLAB_0011152c:\n    pcVar7 = (char *)dcgettext(0,pcVar7,5);\n    fprintf(stderr,pcVar7);\n    break;\n  case 0x29:\n    if (*(long *)(param_3 + 2) == 0) {\n      lVar5 = FUN_0010f490(param_1);\n    }\n    else {\n      lVar5 = FUN_00110fa0(param_1,param_2,*(long *)(param_3 + 2),0,0);\n    }\n    if ((lVar5 != 0) &&\n       (lVar6 = FUN_00111730(param_1,param_2,*(undefined8 *)(param_3 + 4),local_40), lVar6 != 0)) {\n      lVar5 = FUN_0010f630(param_1,lVar5,lVar6,local_40[0]);\n      return lVar5;\n    }\n  }\n  return 0;\n}" (sized_type_specifier "long" long) (function_declarator "FUN_00110fa0(undefined8 param_1,long param_2,uint *param_3,long param_4,undefined4 *param_5)" identifier (parameter_list "(undefined8 param_1,long param_2,uint *param_3,long param_4,undefined4 *param_5)" ( (parameter_declaration "undefined8 param_1" type_identifier identifier) , (parameter_declaration "long param_2" (sized_type_specifier "long" long) identifier) , (parameter_declaration "uint *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "long param_4" (sized_type_specifier "long" long) identifier) , (parameter_declaration "undefined4 *param_5" type_identifier (pointer_declarator "*param_5" * identifier)) ))) (compound_statement "{\n  uint uVar1;\n  int iVar2;\n  size_t sVar3;\n  byte *__s1;\n  long *plVar4;\n  long lVar5;\n  long lVar6;\n  char *pcVar7;\n  byte *pbVar8;\n  byte *pbVar9;\n  bool bVar10;\n  bool bVar11;\n  bool bVar12;\n  byte bVar13;\n  undefined4 local_40 [4];\n  \n  bVar13 = 0;\n  if (param_5 != (undefined4 *)0x0) {\n    *param_5 = 0;\n  }\n  uVar1 = *param_3;\n  switch(uVar1) {\n  case 0:\n    if ((param_4 != 0) && (plVar4 = (long *)FUN_001101a0(param_1,param_4), plVar4 != (long *)0x0)) {\n      for (; *plVar4 != 0; plVar4 = plVar4 + 1) {\n        lVar5 = FUN_001101f0(param_1);\n        if (lVar5 == 0) {\n          return 0;\n        }\n        pcVar7 = (char *)FUN_00110000(param_1,lVar5);\n        if (pcVar7 != (char *)0x0) {\n          sVar3 = strlen(pcVar7);\n          if ((param_3[4] == (uint)sVar3) &&\n             (iVar2 = strncmp(pcVar7,*(char **)(param_3 + 2),(long)(int)param_3[4]), iVar2 == 0)) {\n            return lVar5;\n          }\n        }\n      }\n    }\n  case 0x18:\n    lVar5 = FUN_00110e80(param_1,param_2 + 0x1a0,*(undefined8 *)(param_3 + 2),param_3[4],0);\n    return lVar5;\n  case 1:\n    lVar5 = FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 2),param_4,0);\n    if (lVar5 != 0) {\n      lVar5 = FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 4),lVar5,0);\n      return lVar5;\n    }\n    break;\n  default:\n    pcVar7 = (char *)dcgettext(0,"Unrecognized demangle component %d\n",5);\n    fprintf(stderr,pcVar7,(ulong)uVar1);\n    return 0;\n  case 4:\n    pcVar7 = (char *)cplus_demangle_print(3,param_3,0x14,local_40);\n    if (pcVar7 != (char *)0x0) {\n      sVar3 = strlen(pcVar7);\n      lVar5 = FUN_00110e80(param_1,param_2 + 0x1a0,pcVar7,sVar3 & 0xffffffff,9);\n      free(pcVar7);\n      return lVar5;\n    }\n    pcVar7 = "Failed to print demangled template\n";\n    goto LAB_0011152c;\n  case 0x19:\n  case 0x1a:\n  case 0x1b:\n  case 0x22:\n  case 0x23:\n    lVar5 = FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 2),0,0);\n    if (lVar5 != 0) {\n      switch(*param_3) {\n      case 0x19:\n        return lVar5;\n      case 0x1a:\n        lVar5 = FUN_0010f920(param_1,lVar5);\n        return lVar5;\n      case 0x1b:\n        lVar5 = FUN_0010f8f0(param_1,lVar5);\n        return lVar5;\n      default:\n                    /* WARNING: Subroutine does not return */\n        abort();\n      case 0x22:\n        lVar5 = FUN_0010f5f0(param_1,lVar5);\n        return lVar5;\n      case 0x23:\n        lVar5 = FUN_0010f6a0(param_1,lVar5);\n        return lVar5;\n      }\n    }\n    break;\n  case 0x27:\n    __s1 = (byte *)cplus_demangle_print(3,param_3,0x14,local_40);\n    pcVar7 = "Couldn\'t get demangled builtin type\n";\n    bVar10 = false;\n    bVar12 = __s1 == (byte *)0x0;\n    if (!bVar12) {\n      lVar5 = 0xc;\n      pbVar8 = __s1;\n      pbVar9 = (byte *)0x122f71;\n      do {\n        if (lVar5 == 0) break;\n        lVar5 = lVar5 + -1;\n        bVar10 = *pbVar8 < *pbVar9;\n        bVar12 = *pbVar8 == *pbVar9;\n        pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n      } while (bVar12);\n      bVar11 = false;\n      bVar10 = (!bVar10 && !bVar12) == bVar10;\n      if (!bVar10) {\n        lVar5 = 5;\n        pbVar8 = __s1;\n        pbVar9 = &DAT_0012307b;\n        do {\n          if (lVar5 == 0) break;\n          lVar5 = lVar5 + -1;\n          bVar11 = *pbVar8 < *pbVar9;\n          bVar10 = *pbVar8 == *pbVar9;\n          pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar12 = false;\n        bVar10 = (!bVar11 && !bVar10) == bVar11;\n        if (bVar10) {\n          lVar5 = FUN_0010f4d0(param_1,1);\n          goto LAB_00111512;\n        }\n        lVar5 = 5;\n        pbVar8 = __s1;\n        pbVar9 = (byte *)0x122f78;\n        do {\n          if (lVar5 == 0) break;\n          lVar5 = lVar5 + -1;\n          bVar12 = *pbVar8 < *pbVar9;\n          bVar10 = *pbVar8 == *pbVar9;\n          pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar11 = false;\n        bVar10 = (!bVar12 && !bVar10) == bVar12;\n        if (!bVar10) {\n          lVar5 = 7;\n          pbVar8 = __s1;\n          pbVar9 = (byte *)0x122fb3;\n          do {\n            if (lVar5 == 0) break;\n            lVar5 = lVar5 + -1;\n            bVar11 = *pbVar8 < *pbVar9;\n            bVar10 = *pbVar8 == *pbVar9;\n            pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n          } while (bVar10);\n          bVar12 = false;\n          bVar10 = (!bVar11 && !bVar10) == bVar11;\n          if (!bVar10) {\n            lVar5 = 0xc;\n            pbVar8 = __s1;\n            pbVar9 = (byte *)"long double";\n            do {\n              if (lVar5 == 0) break;\n              lVar5 = lVar5 + -1;\n              bVar12 = *pbVar8 < *pbVar9;\n              bVar10 = *pbVar8 == *pbVar9;\n              pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n            } while (bVar10);\n            bVar11 = false;\n            bVar10 = (!bVar12 && !bVar10) == bVar12;\n            if (!bVar10) {\n              lVar5 = 6;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"float";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,4);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xb;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"__float128";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,0x10);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xe;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"unsigned char";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4a0(param_1,1,1);\n                goto LAB_00111512;\n              }\n              lVar5 = 4;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)0x1230d2;\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\nLAB_00111631:\n                lVar5 = FUN_0010f4a0(param_1,4,0);\n              }\n              else {\n                lVar5 = 0xd;\n                pbVar8 = __s1;\n                pbVar9 = (byte *)0x1230c9;\n                do {\n                  if (lVar5 == 0) break;\n                  lVar5 = lVar5 + -1;\n                  bVar11 = *pbVar8 < *pbVar9;\n                  bVar10 = *pbVar8 == *pbVar9;\n                  pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar10);\n                bVar12 = false;\n                bVar10 = (!bVar11 && !bVar10) == bVar11;\n                if (!bVar10) {\n                  lVar5 = 5;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)0x122f9e;\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar12 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar11 = false;\n                  bVar10 = (!bVar12 && !bVar10) == bVar12;\n                  if (bVar10) goto LAB_00111631;\n                  lVar5 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)"unsigned long";\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar11 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  if ((!bVar11 && !bVar10) != bVar11) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f490(param_1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }\n                lVar5 = FUN_0010f4a0(param_1,4,1);\n              }\n              goto LAB_00111512;\n            }\n          }\n          lVar5 = FUN_0010f4c0(param_1,8);\n          goto LAB_00111512;\n        }\n      }\n      lVar5 = FUN_0010f4a0(param_1,1,0);\nLAB_00111512:\n      free(__s1);\n      return lVar5;\n    }\nLAB_0011152c:\n    pcVar7 = (char *)dcgettext(0,pcVar7,5);\n    fprintf(stderr,pcVar7);\n    break;\n  case 0x29:\n    if (*(long *)(param_3 + 2) == 0) {\n      lVar5 = FUN_0010f490(param_1);\n    }\n    else {\n      lVar5 = FUN_00110fa0(param_1,param_2,*(long *)(param_3 + 2),0,0);\n    }\n    if ((lVar5 != 0) &&\n       (lVar6 = FUN_00111730(param_1,param_2,*(undefined8 *)(param_3 + 4),local_40), lVar6 != 0)) {\n      lVar5 = FUN_0010f630(param_1,lVar5,lVar6,local_40[0]);\n      return lVar5;\n    }\n  }\n  return 0;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "size_t sVar3;" primitive_type identifier ;) (declaration "byte *__s1;" type_identifier (pointer_declarator "*__s1" * identifier) ;) (declaration "long *plVar4;" (sized_type_specifier "long" long) (pointer_declarator "*plVar4" * identifier) ;) (declaration "long lVar5;" (sized_type_specifier "long" long) identifier ;) (declaration "long lVar6;" (sized_type_specifier "long" long) identifier ;) (declaration "char *pcVar7;" primitive_type (pointer_declarator "*pcVar7" * identifier) ;) (declaration "byte *pbVar8;" type_identifier (pointer_declarator "*pbVar8" * identifier) ;) (declaration "byte *pbVar9;" type_identifier (pointer_declarator "*pbVar9" * identifier) ;) (declaration "bool bVar10;" primitive_type identifier ;) (declaration "bool bVar11;" primitive_type identifier ;) (declaration "bool bVar12;" primitive_type identifier ;) (declaration "byte bVar13;" type_identifier identifier ;) (declaration "undefined4 local_40 [4];" type_identifier (array_declarator "local_40 [4]" identifier [ number_literal ]) ;) (expression_statement "bVar13 = 0;" (assignment_expression "bVar13 = 0" identifier = number_literal) ;) (if_statement "if (param_5 != (undefined4 *)0x0) {\n    *param_5 = 0;\n  }" if (parenthesized_expression "(param_5 != (undefined4 *)0x0)" ( (binary_expression "param_5 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    *param_5 = 0;\n  }" { (expression_statement "*param_5 = 0;" (assignment_expression "*param_5 = 0" (pointer_expression "*param_5" * identifier) = number_literal) ;) })) (expression_statement "uVar1 = *param_3;" (assignment_expression "uVar1 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;) (switch_statement "switch(uVar1) {\n  case 0:\n    if ((param_4 != 0) && (plVar4 = (long *)FUN_001101a0(param_1,param_4), plVar4 != (long *)0x0)) {\n      for (; *plVar4 != 0; plVar4 = plVar4 + 1) {\n        lVar5 = FUN_001101f0(param_1);\n        if (lVar5 == 0) {\n          return 0;\n        }\n        pcVar7 = (char *)FUN_00110000(param_1,lVar5);\n        if (pcVar7 != (char *)0x0) {\n          sVar3 = strlen(pcVar7);\n          if ((param_3[4] == (uint)sVar3) &&\n             (iVar2 = strncmp(pcVar7,*(char **)(param_3 + 2),(long)(int)param_3[4]), iVar2 == 0)) {\n            return lVar5;\n          }\n        }\n      }\n    }\n  case 0x18:\n    lVar5 = FUN_00110e80(param_1,param_2 + 0x1a0,*(undefined8 *)(param_3 + 2),param_3[4],0);\n    return lVar5;\n  case 1:\n    lVar5 = FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 2),param_4,0);\n    if (lVar5 != 0) {\n      lVar5 = FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 4),lVar5,0);\n      return lVar5;\n    }\n    break;\n  default:\n    pcVar7 = (char *)dcgettext(0,"Unrecognized demangle component %d\n",5);\n    fprintf(stderr,pcVar7,(ulong)uVar1);\n    return 0;\n  case 4:\n    pcVar7 = (char *)cplus_demangle_print(3,param_3,0x14,local_40);\n    if (pcVar7 != (char *)0x0) {\n      sVar3 = strlen(pcVar7);\n      lVar5 = FUN_00110e80(param_1,param_2 + 0x1a0,pcVar7,sVar3 & 0xffffffff,9);\n      free(pcVar7);\n      return lVar5;\n    }\n    pcVar7 = "Failed to print demangled template\n";\n    goto LAB_0011152c;\n  case 0x19:\n  case 0x1a:\n  case 0x1b:\n  case 0x22:\n  case 0x23:\n    lVar5 = FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 2),0,0);\n    if (lVar5 != 0) {\n      switch(*param_3) {\n      case 0x19:\n        return lVar5;\n      case 0x1a:\n        lVar5 = FUN_0010f920(param_1,lVar5);\n        return lVar5;\n      case 0x1b:\n        lVar5 = FUN_0010f8f0(param_1,lVar5);\n        return lVar5;\n      default:\n                    /* WARNING: Subroutine does not return */\n        abort();\n      case 0x22:\n        lVar5 = FUN_0010f5f0(param_1,lVar5);\n        return lVar5;\n      case 0x23:\n        lVar5 = FUN_0010f6a0(param_1,lVar5);\n        return lVar5;\n      }\n    }\n    break;\n  case 0x27:\n    __s1 = (byte *)cplus_demangle_print(3,param_3,0x14,local_40);\n    pcVar7 = "Couldn\'t get demangled builtin type\n";\n    bVar10 = false;\n    bVar12 = __s1 == (byte *)0x0;\n    if (!bVar12) {\n      lVar5 = 0xc;\n      pbVar8 = __s1;\n      pbVar9 = (byte *)0x122f71;\n      do {\n        if (lVar5 == 0) break;\n        lVar5 = lVar5 + -1;\n        bVar10 = *pbVar8 < *pbVar9;\n        bVar12 = *pbVar8 == *pbVar9;\n        pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n      } while (bVar12);\n      bVar11 = false;\n      bVar10 = (!bVar10 && !bVar12) == bVar10;\n      if (!bVar10) {\n        lVar5 = 5;\n        pbVar8 = __s1;\n        pbVar9 = &DAT_0012307b;\n        do {\n          if (lVar5 == 0) break;\n          lVar5 = lVar5 + -1;\n          bVar11 = *pbVar8 < *pbVar9;\n          bVar10 = *pbVar8 == *pbVar9;\n          pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar12 = false;\n        bVar10 = (!bVar11 && !bVar10) == bVar11;\n        if (bVar10) {\n          lVar5 = FUN_0010f4d0(param_1,1);\n          goto LAB_00111512;\n        }\n        lVar5 = 5;\n        pbVar8 = __s1;\n        pbVar9 = (byte *)0x122f78;\n        do {\n          if (lVar5 == 0) break;\n          lVar5 = lVar5 + -1;\n          bVar12 = *pbVar8 < *pbVar9;\n          bVar10 = *pbVar8 == *pbVar9;\n          pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar11 = false;\n        bVar10 = (!bVar12 && !bVar10) == bVar12;\n        if (!bVar10) {\n          lVar5 = 7;\n          pbVar8 = __s1;\n          pbVar9 = (byte *)0x122fb3;\n          do {\n            if (lVar5 == 0) break;\n            lVar5 = lVar5 + -1;\n            bVar11 = *pbVar8 < *pbVar9;\n            bVar10 = *pbVar8 == *pbVar9;\n            pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n          } while (bVar10);\n          bVar12 = false;\n          bVar10 = (!bVar11 && !bVar10) == bVar11;\n          if (!bVar10) {\n            lVar5 = 0xc;\n            pbVar8 = __s1;\n            pbVar9 = (byte *)"long double";\n            do {\n              if (lVar5 == 0) break;\n              lVar5 = lVar5 + -1;\n              bVar12 = *pbVar8 < *pbVar9;\n              bVar10 = *pbVar8 == *pbVar9;\n              pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n            } while (bVar10);\n            bVar11 = false;\n            bVar10 = (!bVar12 && !bVar10) == bVar12;\n            if (!bVar10) {\n              lVar5 = 6;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"float";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,4);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xb;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"__float128";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,0x10);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xe;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"unsigned char";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4a0(param_1,1,1);\n                goto LAB_00111512;\n              }\n              lVar5 = 4;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)0x1230d2;\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\nLAB_00111631:\n                lVar5 = FUN_0010f4a0(param_1,4,0);\n              }\n              else {\n                lVar5 = 0xd;\n                pbVar8 = __s1;\n                pbVar9 = (byte *)0x1230c9;\n                do {\n                  if (lVar5 == 0) break;\n                  lVar5 = lVar5 + -1;\n                  bVar11 = *pbVar8 < *pbVar9;\n                  bVar10 = *pbVar8 == *pbVar9;\n                  pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar10);\n                bVar12 = false;\n                bVar10 = (!bVar11 && !bVar10) == bVar11;\n                if (!bVar10) {\n                  lVar5 = 5;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)0x122f9e;\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar12 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar11 = false;\n                  bVar10 = (!bVar12 && !bVar10) == bVar12;\n                  if (bVar10) goto LAB_00111631;\n                  lVar5 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)"unsigned long";\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar11 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  if ((!bVar11 && !bVar10) != bVar11) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f490(param_1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }\n                lVar5 = FUN_0010f4a0(param_1,4,1);\n              }\n              goto LAB_00111512;\n            }\n          }\n          lVar5 = FUN_0010f4c0(param_1,8);\n          goto LAB_00111512;\n        }\n      }\n      lVar5 = FUN_0010f4a0(param_1,1,0);\nLAB_00111512:\n      free(__s1);\n      return lVar5;\n    }\nLAB_0011152c:\n    pcVar7 = (char *)dcgettext(0,pcVar7,5);\n    fprintf(stderr,pcVar7);\n    break;\n  case 0x29:\n    if (*(long *)(param_3 + 2) == 0) {\n      lVar5 = FUN_0010f490(param_1);\n    }\n    else {\n      lVar5 = FUN_00110fa0(param_1,param_2,*(long *)(param_3 + 2),0,0);\n    }\n    if ((lVar5 != 0) &&\n       (lVar6 = FUN_00111730(param_1,param_2,*(undefined8 *)(param_3 + 4),local_40), lVar6 != 0)) {\n      lVar5 = FUN_0010f630(param_1,lVar5,lVar6,local_40[0]);\n      return lVar5;\n    }\n  }" switch (parenthesized_expression "(uVar1)" ( identifier )) (compound_statement "{\n  case 0:\n    if ((param_4 != 0) && (plVar4 = (long *)FUN_001101a0(param_1,param_4), plVar4 != (long *)0x0)) {\n      for (; *plVar4 != 0; plVar4 = plVar4 + 1) {\n        lVar5 = FUN_001101f0(param_1);\n        if (lVar5 == 0) {\n          return 0;\n        }\n        pcVar7 = (char *)FUN_00110000(param_1,lVar5);\n        if (pcVar7 != (char *)0x0) {\n          sVar3 = strlen(pcVar7);\n          if ((param_3[4] == (uint)sVar3) &&\n             (iVar2 = strncmp(pcVar7,*(char **)(param_3 + 2),(long)(int)param_3[4]), iVar2 == 0)) {\n            return lVar5;\n          }\n        }\n      }\n    }\n  case 0x18:\n    lVar5 = FUN_00110e80(param_1,param_2 + 0x1a0,*(undefined8 *)(param_3 + 2),param_3[4],0);\n    return lVar5;\n  case 1:\n    lVar5 = FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 2),param_4,0);\n    if (lVar5 != 0) {\n      lVar5 = FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 4),lVar5,0);\n      return lVar5;\n    }\n    break;\n  default:\n    pcVar7 = (char *)dcgettext(0,"Unrecognized demangle component %d\n",5);\n    fprintf(stderr,pcVar7,(ulong)uVar1);\n    return 0;\n  case 4:\n    pcVar7 = (char *)cplus_demangle_print(3,param_3,0x14,local_40);\n    if (pcVar7 != (char *)0x0) {\n      sVar3 = strlen(pcVar7);\n      lVar5 = FUN_00110e80(param_1,param_2 + 0x1a0,pcVar7,sVar3 & 0xffffffff,9);\n      free(pcVar7);\n      return lVar5;\n    }\n    pcVar7 = "Failed to print demangled template\n";\n    goto LAB_0011152c;\n  case 0x19:\n  case 0x1a:\n  case 0x1b:\n  case 0x22:\n  case 0x23:\n    lVar5 = FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 2),0,0);\n    if (lVar5 != 0) {\n      switch(*param_3) {\n      case 0x19:\n        return lVar5;\n      case 0x1a:\n        lVar5 = FUN_0010f920(param_1,lVar5);\n        return lVar5;\n      case 0x1b:\n        lVar5 = FUN_0010f8f0(param_1,lVar5);\n        return lVar5;\n      default:\n                    /* WARNING: Subroutine does not return */\n        abort();\n      case 0x22:\n        lVar5 = FUN_0010f5f0(param_1,lVar5);\n        return lVar5;\n      case 0x23:\n        lVar5 = FUN_0010f6a0(param_1,lVar5);\n        return lVar5;\n      }\n    }\n    break;\n  case 0x27:\n    __s1 = (byte *)cplus_demangle_print(3,param_3,0x14,local_40);\n    pcVar7 = "Couldn\'t get demangled builtin type\n";\n    bVar10 = false;\n    bVar12 = __s1 == (byte *)0x0;\n    if (!bVar12) {\n      lVar5 = 0xc;\n      pbVar8 = __s1;\n      pbVar9 = (byte *)0x122f71;\n      do {\n        if (lVar5 == 0) break;\n        lVar5 = lVar5 + -1;\n        bVar10 = *pbVar8 < *pbVar9;\n        bVar12 = *pbVar8 == *pbVar9;\n        pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n      } while (bVar12);\n      bVar11 = false;\n      bVar10 = (!bVar10 && !bVar12) == bVar10;\n      if (!bVar10) {\n        lVar5 = 5;\n        pbVar8 = __s1;\n        pbVar9 = &DAT_0012307b;\n        do {\n          if (lVar5 == 0) break;\n          lVar5 = lVar5 + -1;\n          bVar11 = *pbVar8 < *pbVar9;\n          bVar10 = *pbVar8 == *pbVar9;\n          pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar12 = false;\n        bVar10 = (!bVar11 && !bVar10) == bVar11;\n        if (bVar10) {\n          lVar5 = FUN_0010f4d0(param_1,1);\n          goto LAB_00111512;\n        }\n        lVar5 = 5;\n        pbVar8 = __s1;\n        pbVar9 = (byte *)0x122f78;\n        do {\n          if (lVar5 == 0) break;\n          lVar5 = lVar5 + -1;\n          bVar12 = *pbVar8 < *pbVar9;\n          bVar10 = *pbVar8 == *pbVar9;\n          pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar11 = false;\n        bVar10 = (!bVar12 && !bVar10) == bVar12;\n        if (!bVar10) {\n          lVar5 = 7;\n          pbVar8 = __s1;\n          pbVar9 = (byte *)0x122fb3;\n          do {\n            if (lVar5 == 0) break;\n            lVar5 = lVar5 + -1;\n            bVar11 = *pbVar8 < *pbVar9;\n            bVar10 = *pbVar8 == *pbVar9;\n            pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n          } while (bVar10);\n          bVar12 = false;\n          bVar10 = (!bVar11 && !bVar10) == bVar11;\n          if (!bVar10) {\n            lVar5 = 0xc;\n            pbVar8 = __s1;\n            pbVar9 = (byte *)"long double";\n            do {\n              if (lVar5 == 0) break;\n              lVar5 = lVar5 + -1;\n              bVar12 = *pbVar8 < *pbVar9;\n              bVar10 = *pbVar8 == *pbVar9;\n              pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n            } while (bVar10);\n            bVar11 = false;\n            bVar10 = (!bVar12 && !bVar10) == bVar12;\n            if (!bVar10) {\n              lVar5 = 6;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"float";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,4);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xb;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"__float128";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,0x10);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xe;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"unsigned char";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4a0(param_1,1,1);\n                goto LAB_00111512;\n              }\n              lVar5 = 4;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)0x1230d2;\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\nLAB_00111631:\n                lVar5 = FUN_0010f4a0(param_1,4,0);\n              }\n              else {\n                lVar5 = 0xd;\n                pbVar8 = __s1;\n                pbVar9 = (byte *)0x1230c9;\n                do {\n                  if (lVar5 == 0) break;\n                  lVar5 = lVar5 + -1;\n                  bVar11 = *pbVar8 < *pbVar9;\n                  bVar10 = *pbVar8 == *pbVar9;\n                  pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar10);\n                bVar12 = false;\n                bVar10 = (!bVar11 && !bVar10) == bVar11;\n                if (!bVar10) {\n                  lVar5 = 5;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)0x122f9e;\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar12 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar11 = false;\n                  bVar10 = (!bVar12 && !bVar10) == bVar12;\n                  if (bVar10) goto LAB_00111631;\n                  lVar5 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)"unsigned long";\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar11 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  if ((!bVar11 && !bVar10) != bVar11) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f490(param_1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }\n                lVar5 = FUN_0010f4a0(param_1,4,1);\n              }\n              goto LAB_00111512;\n            }\n          }\n          lVar5 = FUN_0010f4c0(param_1,8);\n          goto LAB_00111512;\n        }\n      }\n      lVar5 = FUN_0010f4a0(param_1,1,0);\nLAB_00111512:\n      free(__s1);\n      return lVar5;\n    }\nLAB_0011152c:\n    pcVar7 = (char *)dcgettext(0,pcVar7,5);\n    fprintf(stderr,pcVar7);\n    break;\n  case 0x29:\n    if (*(long *)(param_3 + 2) == 0) {\n      lVar5 = FUN_0010f490(param_1);\n    }\n    else {\n      lVar5 = FUN_00110fa0(param_1,param_2,*(long *)(param_3 + 2),0,0);\n    }\n    if ((lVar5 != 0) &&\n       (lVar6 = FUN_00111730(param_1,param_2,*(undefined8 *)(param_3 + 4),local_40), lVar6 != 0)) {\n      lVar5 = FUN_0010f630(param_1,lVar5,lVar6,local_40[0]);\n      return lVar5;\n    }\n  }" { (case_statement "case 0:\n    if ((param_4 != 0) && (plVar4 = (long *)FUN_001101a0(param_1,param_4), plVar4 != (long *)0x0)) {\n      for (; *plVar4 != 0; plVar4 = plVar4 + 1) {\n        lVar5 = FUN_001101f0(param_1);\n        if (lVar5 == 0) {\n          return 0;\n        }\n        pcVar7 = (char *)FUN_00110000(param_1,lVar5);\n        if (pcVar7 != (char *)0x0) {\n          sVar3 = strlen(pcVar7);\n          if ((param_3[4] == (uint)sVar3) &&\n             (iVar2 = strncmp(pcVar7,*(char **)(param_3 + 2),(long)(int)param_3[4]), iVar2 == 0)) {\n            return lVar5;\n          }\n        }\n      }\n    }" case number_literal : (if_statement "if ((param_4 != 0) && (plVar4 = (long *)FUN_001101a0(param_1,param_4), plVar4 != (long *)0x0)) {\n      for (; *plVar4 != 0; plVar4 = plVar4 + 1) {\n        lVar5 = FUN_001101f0(param_1);\n        if (lVar5 == 0) {\n          return 0;\n        }\n        pcVar7 = (char *)FUN_00110000(param_1,lVar5);\n        if (pcVar7 != (char *)0x0) {\n          sVar3 = strlen(pcVar7);\n          if ((param_3[4] == (uint)sVar3) &&\n             (iVar2 = strncmp(pcVar7,*(char **)(param_3 + 2),(long)(int)param_3[4]), iVar2 == 0)) {\n            return lVar5;\n          }\n        }\n      }\n    }" if (parenthesized_expression "((param_4 != 0) && (plVar4 = (long *)FUN_001101a0(param_1,param_4), plVar4 != (long *)0x0))" ( (binary_expression "(param_4 != 0) && (plVar4 = (long *)FUN_001101a0(param_1,param_4), plVar4 != (long *)0x0)" (parenthesized_expression "(param_4 != 0)" ( (binary_expression "param_4 != 0" identifier != number_literal) )) && (parenthesized_expression "(plVar4 = (long *)FUN_001101a0(param_1,param_4), plVar4 != (long *)0x0)" ( (comma_expression "plVar4 = (long *)FUN_001101a0(param_1,param_4), plVar4 != (long *)0x0" (assignment_expression "plVar4 = (long *)FUN_001101a0(param_1,param_4)" identifier = (cast_expression "(long *)FUN_001101a0(param_1,param_4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001101a0(param_1,param_4)" identifier (argument_list "(param_1,param_4)" ( identifier , identifier ))))) , (binary_expression "plVar4 != (long *)0x0" identifier != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n      for (; *plVar4 != 0; plVar4 = plVar4 + 1) {\n        lVar5 = FUN_001101f0(param_1);\n        if (lVar5 == 0) {\n          return 0;\n        }\n        pcVar7 = (char *)FUN_00110000(param_1,lVar5);\n        if (pcVar7 != (char *)0x0) {\n          sVar3 = strlen(pcVar7);\n          if ((param_3[4] == (uint)sVar3) &&\n             (iVar2 = strncmp(pcVar7,*(char **)(param_3 + 2),(long)(int)param_3[4]), iVar2 == 0)) {\n            return lVar5;\n          }\n        }\n      }\n    }" { (for_statement "for (; *plVar4 != 0; plVar4 = plVar4 + 1) {\n        lVar5 = FUN_001101f0(param_1);\n        if (lVar5 == 0) {\n          return 0;\n        }\n        pcVar7 = (char *)FUN_00110000(param_1,lVar5);\n        if (pcVar7 != (char *)0x0) {\n          sVar3 = strlen(pcVar7);\n          if ((param_3[4] == (uint)sVar3) &&\n             (iVar2 = strncmp(pcVar7,*(char **)(param_3 + 2),(long)(int)param_3[4]), iVar2 == 0)) {\n            return lVar5;\n          }\n        }\n      }" for ( ; (binary_expression "*plVar4 != 0" (pointer_expression "*plVar4" * identifier) != number_literal) ; (assignment_expression "plVar4 = plVar4 + 1" identifier = (binary_expression "plVar4 + 1" identifier + number_literal)) ) (compound_statement "{\n        lVar5 = FUN_001101f0(param_1);\n        if (lVar5 == 0) {\n          return 0;\n        }\n        pcVar7 = (char *)FUN_00110000(param_1,lVar5);\n        if (pcVar7 != (char *)0x0) {\n          sVar3 = strlen(pcVar7);\n          if ((param_3[4] == (uint)sVar3) &&\n             (iVar2 = strncmp(pcVar7,*(char **)(param_3 + 2),(long)(int)param_3[4]), iVar2 == 0)) {\n            return lVar5;\n          }\n        }\n      }" { (expression_statement "lVar5 = FUN_001101f0(param_1);" (assignment_expression "lVar5 = FUN_001101f0(param_1)" identifier = (call_expression "FUN_001101f0(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (if_statement "if (lVar5 == 0) {\n          return 0;\n        }" if (parenthesized_expression "(lVar5 == 0)" ( (binary_expression "lVar5 == 0" identifier == number_literal) )) (compound_statement "{\n          return 0;\n        }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "pcVar7 = (char *)FUN_00110000(param_1,lVar5);" (assignment_expression "pcVar7 = (char *)FUN_00110000(param_1,lVar5)" identifier = (cast_expression "(char *)FUN_00110000(param_1,lVar5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00110000(param_1,lVar5)" identifier (argument_list "(param_1,lVar5)" ( identifier , identifier ))))) ;) (if_statement "if (pcVar7 != (char *)0x0) {\n          sVar3 = strlen(pcVar7);\n          if ((param_3[4] == (uint)sVar3) &&\n             (iVar2 = strncmp(pcVar7,*(char **)(param_3 + 2),(long)(int)param_3[4]), iVar2 == 0)) {\n            return lVar5;\n          }\n        }" if (parenthesized_expression "(pcVar7 != (char *)0x0)" ( (binary_expression "pcVar7 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          sVar3 = strlen(pcVar7);\n          if ((param_3[4] == (uint)sVar3) &&\n             (iVar2 = strncmp(pcVar7,*(char **)(param_3 + 2),(long)(int)param_3[4]), iVar2 == 0)) {\n            return lVar5;\n          }\n        }" { (expression_statement "sVar3 = strlen(pcVar7);" (assignment_expression "sVar3 = strlen(pcVar7)" identifier = (call_expression "strlen(pcVar7)" identifier (argument_list "(pcVar7)" ( identifier )))) ;) (if_statement "if ((param_3[4] == (uint)sVar3) &&\n             (iVar2 = strncmp(pcVar7,*(char **)(param_3 + 2),(long)(int)param_3[4]), iVar2 == 0)) {\n            return lVar5;\n          }" if (parenthesized_expression "((param_3[4] == (uint)sVar3) &&\n             (iVar2 = strncmp(pcVar7,*(char **)(param_3 + 2),(long)(int)param_3[4]), iVar2 == 0))" ( (binary_expression "(param_3[4] == (uint)sVar3) &&\n             (iVar2 = strncmp(pcVar7,*(char **)(param_3 + 2),(long)(int)param_3[4]), iVar2 == 0)" (parenthesized_expression "(param_3[4] == (uint)sVar3)" ( (binary_expression "param_3[4] == (uint)sVar3" (subscript_expression "param_3[4]" identifier [ number_literal ]) == (cast_expression "(uint)sVar3" ( (type_descriptor "uint" type_identifier) ) identifier)) )) && (parenthesized_expression "(iVar2 = strncmp(pcVar7,*(char **)(param_3 + 2),(long)(int)param_3[4]), iVar2 == 0)" ( (comma_expression "iVar2 = strncmp(pcVar7,*(char **)(param_3 + 2),(long)(int)param_3[4]), iVar2 == 0" (assignment_expression "iVar2 = strncmp(pcVar7,*(char **)(param_3 + 2),(long)(int)param_3[4])" identifier = (call_expression "strncmp(pcVar7,*(char **)(param_3 + 2),(long)(int)param_3[4])" identifier (argument_list "(pcVar7,*(char **)(param_3 + 2),(long)(int)param_3[4])" ( identifier , (pointer_expression "*(char **)(param_3 + 2)" * (cast_expression "(char **)(param_3 + 2)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 2)" ( (binary_expression "param_3 + 2" identifier + number_literal) )))) , (cast_expression "(long)(int)param_3[4]" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)param_3[4]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_3[4]" identifier [ number_literal ]))) )))) , (binary_expression "iVar2 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n            return lVar5;\n          }" { (return_statement "return lVar5;" return identifier ;) })) })) })) }))) (case_statement "case 0x18:\n    lVar5 = FUN_00110e80(param_1,param_2 + 0x1a0,*(undefined8 *)(param_3 + 2),param_3[4],0);\n    return lVar5;" case number_literal : (expression_statement "lVar5 = FUN_00110e80(param_1,param_2 + 0x1a0,*(undefined8 *)(param_3 + 2),param_3[4],0);" (assignment_expression "lVar5 = FUN_00110e80(param_1,param_2 + 0x1a0,*(undefined8 *)(param_3 + 2),param_3[4],0)" identifier = (call_expression "FUN_00110e80(param_1,param_2 + 0x1a0,*(undefined8 *)(param_3 + 2),param_3[4],0)" identifier (argument_list "(param_1,param_2 + 0x1a0,*(undefined8 *)(param_3 + 2),param_3[4],0)" ( identifier , (binary_expression "param_2 + 0x1a0" identifier + number_literal) , (pointer_expression "*(undefined8 *)(param_3 + 2)" * (cast_expression "(undefined8 *)(param_3 + 2)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 2)" ( (binary_expression "param_3 + 2" identifier + number_literal) )))) , (subscript_expression "param_3[4]" identifier [ number_literal ]) , number_literal )))) ;) (return_statement "return lVar5;" return identifier ;)) (case_statement "case 1:\n    lVar5 = FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 2),param_4,0);\n    if (lVar5 != 0) {\n      lVar5 = FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 4),lVar5,0);\n      return lVar5;\n    }\n    break;" case number_literal : (expression_statement "lVar5 = FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 2),param_4,0);" (assignment_expression "lVar5 = FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 2),param_4,0)" identifier = (call_expression "FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 2),param_4,0)" identifier (argument_list "(param_1,param_2,*(undefined8 *)(param_3 + 2),param_4,0)" ( identifier , identifier , (pointer_expression "*(undefined8 *)(param_3 + 2)" * (cast_expression "(undefined8 *)(param_3 + 2)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 2)" ( (binary_expression "param_3 + 2" identifier + number_literal) )))) , identifier , number_literal )))) ;) (if_statement "if (lVar5 != 0) {\n      lVar5 = FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 4),lVar5,0);\n      return lVar5;\n    }" if (parenthesized_expression "(lVar5 != 0)" ( (binary_expression "lVar5 != 0" identifier != number_literal) )) (compound_statement "{\n      lVar5 = FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 4),lVar5,0);\n      return lVar5;\n    }" { (expression_statement "lVar5 = FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 4),lVar5,0);" (assignment_expression "lVar5 = FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 4),lVar5,0)" identifier = (call_expression "FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 4),lVar5,0)" identifier (argument_list "(param_1,param_2,*(undefined8 *)(param_3 + 4),lVar5,0)" ( identifier , identifier , (pointer_expression "*(undefined8 *)(param_3 + 4)" * (cast_expression "(undefined8 *)(param_3 + 4)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 4)" ( (binary_expression "param_3 + 4" identifier + number_literal) )))) , identifier , number_literal )))) ;) (return_statement "return lVar5;" return identifier ;) })) (break_statement "break;" break ;)) (case_statement "default:\n    pcVar7 = (char *)dcgettext(0,"Unrecognized demangle component %d\n",5);\n    fprintf(stderr,pcVar7,(ulong)uVar1);\n    return 0;" default : (expression_statement "pcVar7 = (char *)dcgettext(0,"Unrecognized demangle component %d\n",5);" (assignment_expression "pcVar7 = (char *)dcgettext(0,"Unrecognized demangle component %d\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"Unrecognized demangle component %d\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Unrecognized demangle component %d\n",5)" identifier (argument_list "(0,"Unrecognized demangle component %d\n",5)" ( number_literal , (string_literal ""Unrecognized demangle component %d\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "fprintf(stderr,pcVar7,(ulong)uVar1);" (call_expression "fprintf(stderr,pcVar7,(ulong)uVar1)" identifier (argument_list "(stderr,pcVar7,(ulong)uVar1)" ( identifier , identifier , (cast_expression "(ulong)uVar1" ( (type_descriptor "ulong" type_identifier) ) identifier) ))) ;) (return_statement "return 0;" return number_literal ;)) (case_statement "case 4:\n    pcVar7 = (char *)cplus_demangle_print(3,param_3,0x14,local_40);\n    if (pcVar7 != (char *)0x0) {\n      sVar3 = strlen(pcVar7);\n      lVar5 = FUN_00110e80(param_1,param_2 + 0x1a0,pcVar7,sVar3 & 0xffffffff,9);\n      free(pcVar7);\n      return lVar5;\n    }\n    pcVar7 = "Failed to print demangled template\n";\n    goto LAB_0011152c;" case number_literal : (expression_statement "pcVar7 = (char *)cplus_demangle_print(3,param_3,0x14,local_40);" (assignment_expression "pcVar7 = (char *)cplus_demangle_print(3,param_3,0x14,local_40)" identifier = (cast_expression "(char *)cplus_demangle_print(3,param_3,0x14,local_40)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "cplus_demangle_print(3,param_3,0x14,local_40)" identifier (argument_list "(3,param_3,0x14,local_40)" ( number_literal , identifier , number_literal , identifier ))))) ;) (if_statement "if (pcVar7 != (char *)0x0) {\n      sVar3 = strlen(pcVar7);\n      lVar5 = FUN_00110e80(param_1,param_2 + 0x1a0,pcVar7,sVar3 & 0xffffffff,9);\n      free(pcVar7);\n      return lVar5;\n    }" if (parenthesized_expression "(pcVar7 != (char *)0x0)" ( (binary_expression "pcVar7 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      sVar3 = strlen(pcVar7);\n      lVar5 = FUN_00110e80(param_1,param_2 + 0x1a0,pcVar7,sVar3 & 0xffffffff,9);\n      free(pcVar7);\n      return lVar5;\n    }" { (expression_statement "sVar3 = strlen(pcVar7);" (assignment_expression "sVar3 = strlen(pcVar7)" identifier = (call_expression "strlen(pcVar7)" identifier (argument_list "(pcVar7)" ( identifier )))) ;) (expression_statement "lVar5 = FUN_00110e80(param_1,param_2 + 0x1a0,pcVar7,sVar3 & 0xffffffff,9);" (assignment_expression "lVar5 = FUN_00110e80(param_1,param_2 + 0x1a0,pcVar7,sVar3 & 0xffffffff,9)" identifier = (call_expression "FUN_00110e80(param_1,param_2 + 0x1a0,pcVar7,sVar3 & 0xffffffff,9)" identifier (argument_list "(param_1,param_2 + 0x1a0,pcVar7,sVar3 & 0xffffffff,9)" ( identifier , (binary_expression "param_2 + 0x1a0" identifier + number_literal) , identifier , (binary_expression "sVar3 & 0xffffffff" identifier & number_literal) , number_literal )))) ;) (expression_statement "free(pcVar7);" (call_expression "free(pcVar7)" identifier (argument_list "(pcVar7)" ( identifier ))) ;) (return_statement "return lVar5;" return identifier ;) })) (expression_statement "pcVar7 = "Failed to print demangled template\n";" (assignment_expression "pcVar7 = "Failed to print demangled template\n"" identifier = (string_literal ""Failed to print demangled template\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_0011152c;" goto statement_identifier ;)) (case_statement "case 0x19:" case number_literal :) (case_statement "case 0x1a:" case number_literal :) (case_statement "case 0x1b:" case number_literal :) (case_statement "case 0x22:" case number_literal :) (case_statement "case 0x23:\n    lVar5 = FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 2),0,0);\n    if (lVar5 != 0) {\n      switch(*param_3) {\n      case 0x19:\n        return lVar5;\n      case 0x1a:\n        lVar5 = FUN_0010f920(param_1,lVar5);\n        return lVar5;\n      case 0x1b:\n        lVar5 = FUN_0010f8f0(param_1,lVar5);\n        return lVar5;\n      default:\n                    /* WARNING: Subroutine does not return */\n        abort();\n      case 0x22:\n        lVar5 = FUN_0010f5f0(param_1,lVar5);\n        return lVar5;\n      case 0x23:\n        lVar5 = FUN_0010f6a0(param_1,lVar5);\n        return lVar5;\n      }\n    }\n    break;" case number_literal : (expression_statement "lVar5 = FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 2),0,0);" (assignment_expression "lVar5 = FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 2),0,0)" identifier = (call_expression "FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 2),0,0)" identifier (argument_list "(param_1,param_2,*(undefined8 *)(param_3 + 2),0,0)" ( identifier , identifier , (pointer_expression "*(undefined8 *)(param_3 + 2)" * (cast_expression "(undefined8 *)(param_3 + 2)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 2)" ( (binary_expression "param_3 + 2" identifier + number_literal) )))) , number_literal , number_literal )))) ;) (if_statement "if (lVar5 != 0) {\n      switch(*param_3) {\n      case 0x19:\n        return lVar5;\n      case 0x1a:\n        lVar5 = FUN_0010f920(param_1,lVar5);\n        return lVar5;\n      case 0x1b:\n        lVar5 = FUN_0010f8f0(param_1,lVar5);\n        return lVar5;\n      default:\n                    /* WARNING: Subroutine does not return */\n        abort();\n      case 0x22:\n        lVar5 = FUN_0010f5f0(param_1,lVar5);\n        return lVar5;\n      case 0x23:\n        lVar5 = FUN_0010f6a0(param_1,lVar5);\n        return lVar5;\n      }\n    }" if (parenthesized_expression "(lVar5 != 0)" ( (binary_expression "lVar5 != 0" identifier != number_literal) )) (compound_statement "{\n      switch(*param_3) {\n      case 0x19:\n        return lVar5;\n      case 0x1a:\n        lVar5 = FUN_0010f920(param_1,lVar5);\n        return lVar5;\n      case 0x1b:\n        lVar5 = FUN_0010f8f0(param_1,lVar5);\n        return lVar5;\n      default:\n                    /* WARNING: Subroutine does not return */\n        abort();\n      case 0x22:\n        lVar5 = FUN_0010f5f0(param_1,lVar5);\n        return lVar5;\n      case 0x23:\n        lVar5 = FUN_0010f6a0(param_1,lVar5);\n        return lVar5;\n      }\n    }" { (switch_statement "switch(*param_3) {\n      case 0x19:\n        return lVar5;\n      case 0x1a:\n        lVar5 = FUN_0010f920(param_1,lVar5);\n        return lVar5;\n      case 0x1b:\n        lVar5 = FUN_0010f8f0(param_1,lVar5);\n        return lVar5;\n      default:\n                    /* WARNING: Subroutine does not return */\n        abort();\n      case 0x22:\n        lVar5 = FUN_0010f5f0(param_1,lVar5);\n        return lVar5;\n      case 0x23:\n        lVar5 = FUN_0010f6a0(param_1,lVar5);\n        return lVar5;\n      }" switch (parenthesized_expression "(*param_3)" ( (pointer_expression "*param_3" * identifier) )) (compound_statement "{\n      case 0x19:\n        return lVar5;\n      case 0x1a:\n        lVar5 = FUN_0010f920(param_1,lVar5);\n        return lVar5;\n      case 0x1b:\n        lVar5 = FUN_0010f8f0(param_1,lVar5);\n        return lVar5;\n      default:\n                    /* WARNING: Subroutine does not return */\n        abort();\n      case 0x22:\n        lVar5 = FUN_0010f5f0(param_1,lVar5);\n        return lVar5;\n      case 0x23:\n        lVar5 = FUN_0010f6a0(param_1,lVar5);\n        return lVar5;\n      }" { (case_statement "case 0x19:\n        return lVar5;" case number_literal : (return_statement "return lVar5;" return identifier ;)) (case_statement "case 0x1a:\n        lVar5 = FUN_0010f920(param_1,lVar5);\n        return lVar5;" case number_literal : (expression_statement "lVar5 = FUN_0010f920(param_1,lVar5);" (assignment_expression "lVar5 = FUN_0010f920(param_1,lVar5)" identifier = (call_expression "FUN_0010f920(param_1,lVar5)" identifier (argument_list "(param_1,lVar5)" ( identifier , identifier )))) ;) (return_statement "return lVar5;" return identifier ;)) (case_statement "case 0x1b:\n        lVar5 = FUN_0010f8f0(param_1,lVar5);\n        return lVar5;" case number_literal : (expression_statement "lVar5 = FUN_0010f8f0(param_1,lVar5);" (assignment_expression "lVar5 = FUN_0010f8f0(param_1,lVar5)" identifier = (call_expression "FUN_0010f8f0(param_1,lVar5)" identifier (argument_list "(param_1,lVar5)" ( identifier , identifier )))) ;) (return_statement "return lVar5;" return identifier ;)) (case_statement "default:\n                    /* WARNING: Subroutine does not return */\n        abort();" default : comment (expression_statement "abort();" (call_expression "abort()" identifier (argument_list "()" ( ))) ;)) (case_statement "case 0x22:\n        lVar5 = FUN_0010f5f0(param_1,lVar5);\n        return lVar5;" case number_literal : (expression_statement "lVar5 = FUN_0010f5f0(param_1,lVar5);" (assignment_expression "lVar5 = FUN_0010f5f0(param_1,lVar5)" identifier = (call_expression "FUN_0010f5f0(param_1,lVar5)" identifier (argument_list "(param_1,lVar5)" ( identifier , identifier )))) ;) (return_statement "return lVar5;" return identifier ;)) (case_statement "case 0x23:\n        lVar5 = FUN_0010f6a0(param_1,lVar5);\n        return lVar5;" case number_literal : (expression_statement "lVar5 = FUN_0010f6a0(param_1,lVar5);" (assignment_expression "lVar5 = FUN_0010f6a0(param_1,lVar5)" identifier = (call_expression "FUN_0010f6a0(param_1,lVar5)" identifier (argument_list "(param_1,lVar5)" ( identifier , identifier )))) ;) (return_statement "return lVar5;" return identifier ;)) })) })) (break_statement "break;" break ;)) (case_statement "case 0x27:\n    __s1 = (byte *)cplus_demangle_print(3,param_3,0x14,local_40);\n    pcVar7 = "Couldn\'t get demangled builtin type\n";\n    bVar10 = false;\n    bVar12 = __s1 == (byte *)0x0;\n    if (!bVar12) {\n      lVar5 = 0xc;\n      pbVar8 = __s1;\n      pbVar9 = (byte *)0x122f71;\n      do {\n        if (lVar5 == 0) break;\n        lVar5 = lVar5 + -1;\n        bVar10 = *pbVar8 < *pbVar9;\n        bVar12 = *pbVar8 == *pbVar9;\n        pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n      } while (bVar12);\n      bVar11 = false;\n      bVar10 = (!bVar10 && !bVar12) == bVar10;\n      if (!bVar10) {\n        lVar5 = 5;\n        pbVar8 = __s1;\n        pbVar9 = &DAT_0012307b;\n        do {\n          if (lVar5 == 0) break;\n          lVar5 = lVar5 + -1;\n          bVar11 = *pbVar8 < *pbVar9;\n          bVar10 = *pbVar8 == *pbVar9;\n          pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar12 = false;\n        bVar10 = (!bVar11 && !bVar10) == bVar11;\n        if (bVar10) {\n          lVar5 = FUN_0010f4d0(param_1,1);\n          goto LAB_00111512;\n        }\n        lVar5 = 5;\n        pbVar8 = __s1;\n        pbVar9 = (byte *)0x122f78;\n        do {\n          if (lVar5 == 0) break;\n          lVar5 = lVar5 + -1;\n          bVar12 = *pbVar8 < *pbVar9;\n          bVar10 = *pbVar8 == *pbVar9;\n          pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar11 = false;\n        bVar10 = (!bVar12 && !bVar10) == bVar12;\n        if (!bVar10) {\n          lVar5 = 7;\n          pbVar8 = __s1;\n          pbVar9 = (byte *)0x122fb3;\n          do {\n            if (lVar5 == 0) break;\n            lVar5 = lVar5 + -1;\n            bVar11 = *pbVar8 < *pbVar9;\n            bVar10 = *pbVar8 == *pbVar9;\n            pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n          } while (bVar10);\n          bVar12 = false;\n          bVar10 = (!bVar11 && !bVar10) == bVar11;\n          if (!bVar10) {\n            lVar5 = 0xc;\n            pbVar8 = __s1;\n            pbVar9 = (byte *)"long double";\n            do {\n              if (lVar5 == 0) break;\n              lVar5 = lVar5 + -1;\n              bVar12 = *pbVar8 < *pbVar9;\n              bVar10 = *pbVar8 == *pbVar9;\n              pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n            } while (bVar10);\n            bVar11 = false;\n            bVar10 = (!bVar12 && !bVar10) == bVar12;\n            if (!bVar10) {\n              lVar5 = 6;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"float";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,4);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xb;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"__float128";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,0x10);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xe;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"unsigned char";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4a0(param_1,1,1);\n                goto LAB_00111512;\n              }\n              lVar5 = 4;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)0x1230d2;\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\nLAB_00111631:\n                lVar5 = FUN_0010f4a0(param_1,4,0);\n              }\n              else {\n                lVar5 = 0xd;\n                pbVar8 = __s1;\n                pbVar9 = (byte *)0x1230c9;\n                do {\n                  if (lVar5 == 0) break;\n                  lVar5 = lVar5 + -1;\n                  bVar11 = *pbVar8 < *pbVar9;\n                  bVar10 = *pbVar8 == *pbVar9;\n                  pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar10);\n                bVar12 = false;\n                bVar10 = (!bVar11 && !bVar10) == bVar11;\n                if (!bVar10) {\n                  lVar5 = 5;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)0x122f9e;\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar12 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar11 = false;\n                  bVar10 = (!bVar12 && !bVar10) == bVar12;\n                  if (bVar10) goto LAB_00111631;\n                  lVar5 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)"unsigned long";\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar11 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  if ((!bVar11 && !bVar10) != bVar11) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f490(param_1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }\n                lVar5 = FUN_0010f4a0(param_1,4,1);\n              }\n              goto LAB_00111512;\n            }\n          }\n          lVar5 = FUN_0010f4c0(param_1,8);\n          goto LAB_00111512;\n        }\n      }\n      lVar5 = FUN_0010f4a0(param_1,1,0);\nLAB_00111512:\n      free(__s1);\n      return lVar5;\n    }\nLAB_0011152c:\n    pcVar7 = (char *)dcgettext(0,pcVar7,5);\n    fprintf(stderr,pcVar7);\n    break;" case number_literal : (expression_statement "__s1 = (byte *)cplus_demangle_print(3,param_3,0x14,local_40);" (assignment_expression "__s1 = (byte *)cplus_demangle_print(3,param_3,0x14,local_40)" identifier = (cast_expression "(byte *)cplus_demangle_print(3,param_3,0x14,local_40)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "cplus_demangle_print(3,param_3,0x14,local_40)" identifier (argument_list "(3,param_3,0x14,local_40)" ( number_literal , identifier , number_literal , identifier ))))) ;) (expression_statement "pcVar7 = "Couldn\'t get demangled builtin type\n";" (assignment_expression "pcVar7 = "Couldn\'t get demangled builtin type\n"" identifier = (string_literal ""Couldn\'t get demangled builtin type\n"" " string_content escape_sequence string_content escape_sequence ")) ;) (expression_statement "bVar10 = false;" (assignment_expression "bVar10 = false" identifier = false) ;) (expression_statement "bVar12 = __s1 == (byte *)0x0;" (assignment_expression "bVar12 = __s1 == (byte *)0x0" identifier = (binary_expression "__s1 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (if_statement "if (!bVar12) {\n      lVar5 = 0xc;\n      pbVar8 = __s1;\n      pbVar9 = (byte *)0x122f71;\n      do {\n        if (lVar5 == 0) break;\n        lVar5 = lVar5 + -1;\n        bVar10 = *pbVar8 < *pbVar9;\n        bVar12 = *pbVar8 == *pbVar9;\n        pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n      } while (bVar12);\n      bVar11 = false;\n      bVar10 = (!bVar10 && !bVar12) == bVar10;\n      if (!bVar10) {\n        lVar5 = 5;\n        pbVar8 = __s1;\n        pbVar9 = &DAT_0012307b;\n        do {\n          if (lVar5 == 0) break;\n          lVar5 = lVar5 + -1;\n          bVar11 = *pbVar8 < *pbVar9;\n          bVar10 = *pbVar8 == *pbVar9;\n          pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar12 = false;\n        bVar10 = (!bVar11 && !bVar10) == bVar11;\n        if (bVar10) {\n          lVar5 = FUN_0010f4d0(param_1,1);\n          goto LAB_00111512;\n        }\n        lVar5 = 5;\n        pbVar8 = __s1;\n        pbVar9 = (byte *)0x122f78;\n        do {\n          if (lVar5 == 0) break;\n          lVar5 = lVar5 + -1;\n          bVar12 = *pbVar8 < *pbVar9;\n          bVar10 = *pbVar8 == *pbVar9;\n          pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar11 = false;\n        bVar10 = (!bVar12 && !bVar10) == bVar12;\n        if (!bVar10) {\n          lVar5 = 7;\n          pbVar8 = __s1;\n          pbVar9 = (byte *)0x122fb3;\n          do {\n            if (lVar5 == 0) break;\n            lVar5 = lVar5 + -1;\n            bVar11 = *pbVar8 < *pbVar9;\n            bVar10 = *pbVar8 == *pbVar9;\n            pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n          } while (bVar10);\n          bVar12 = false;\n          bVar10 = (!bVar11 && !bVar10) == bVar11;\n          if (!bVar10) {\n            lVar5 = 0xc;\n            pbVar8 = __s1;\n            pbVar9 = (byte *)"long double";\n            do {\n              if (lVar5 == 0) break;\n              lVar5 = lVar5 + -1;\n              bVar12 = *pbVar8 < *pbVar9;\n              bVar10 = *pbVar8 == *pbVar9;\n              pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n            } while (bVar10);\n            bVar11 = false;\n            bVar10 = (!bVar12 && !bVar10) == bVar12;\n            if (!bVar10) {\n              lVar5 = 6;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"float";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,4);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xb;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"__float128";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,0x10);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xe;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"unsigned char";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4a0(param_1,1,1);\n                goto LAB_00111512;\n              }\n              lVar5 = 4;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)0x1230d2;\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\nLAB_00111631:\n                lVar5 = FUN_0010f4a0(param_1,4,0);\n              }\n              else {\n                lVar5 = 0xd;\n                pbVar8 = __s1;\n                pbVar9 = (byte *)0x1230c9;\n                do {\n                  if (lVar5 == 0) break;\n                  lVar5 = lVar5 + -1;\n                  bVar11 = *pbVar8 < *pbVar9;\n                  bVar10 = *pbVar8 == *pbVar9;\n                  pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar10);\n                bVar12 = false;\n                bVar10 = (!bVar11 && !bVar10) == bVar11;\n                if (!bVar10) {\n                  lVar5 = 5;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)0x122f9e;\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar12 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar11 = false;\n                  bVar10 = (!bVar12 && !bVar10) == bVar12;\n                  if (bVar10) goto LAB_00111631;\n                  lVar5 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)"unsigned long";\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar11 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  if ((!bVar11 && !bVar10) != bVar11) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f490(param_1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }\n                lVar5 = FUN_0010f4a0(param_1,4,1);\n              }\n              goto LAB_00111512;\n            }\n          }\n          lVar5 = FUN_0010f4c0(param_1,8);\n          goto LAB_00111512;\n        }\n      }\n      lVar5 = FUN_0010f4a0(param_1,1,0);\nLAB_00111512:\n      free(__s1);\n      return lVar5;\n    }" if (parenthesized_expression "(!bVar12)" ( (unary_expression "!bVar12" ! identifier) )) (compound_statement "{\n      lVar5 = 0xc;\n      pbVar8 = __s1;\n      pbVar9 = (byte *)0x122f71;\n      do {\n        if (lVar5 == 0) break;\n        lVar5 = lVar5 + -1;\n        bVar10 = *pbVar8 < *pbVar9;\n        bVar12 = *pbVar8 == *pbVar9;\n        pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n      } while (bVar12);\n      bVar11 = false;\n      bVar10 = (!bVar10 && !bVar12) == bVar10;\n      if (!bVar10) {\n        lVar5 = 5;\n        pbVar8 = __s1;\n        pbVar9 = &DAT_0012307b;\n        do {\n          if (lVar5 == 0) break;\n          lVar5 = lVar5 + -1;\n          bVar11 = *pbVar8 < *pbVar9;\n          bVar10 = *pbVar8 == *pbVar9;\n          pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar12 = false;\n        bVar10 = (!bVar11 && !bVar10) == bVar11;\n        if (bVar10) {\n          lVar5 = FUN_0010f4d0(param_1,1);\n          goto LAB_00111512;\n        }\n        lVar5 = 5;\n        pbVar8 = __s1;\n        pbVar9 = (byte *)0x122f78;\n        do {\n          if (lVar5 == 0) break;\n          lVar5 = lVar5 + -1;\n          bVar12 = *pbVar8 < *pbVar9;\n          bVar10 = *pbVar8 == *pbVar9;\n          pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar11 = false;\n        bVar10 = (!bVar12 && !bVar10) == bVar12;\n        if (!bVar10) {\n          lVar5 = 7;\n          pbVar8 = __s1;\n          pbVar9 = (byte *)0x122fb3;\n          do {\n            if (lVar5 == 0) break;\n            lVar5 = lVar5 + -1;\n            bVar11 = *pbVar8 < *pbVar9;\n            bVar10 = *pbVar8 == *pbVar9;\n            pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n          } while (bVar10);\n          bVar12 = false;\n          bVar10 = (!bVar11 && !bVar10) == bVar11;\n          if (!bVar10) {\n            lVar5 = 0xc;\n            pbVar8 = __s1;\n            pbVar9 = (byte *)"long double";\n            do {\n              if (lVar5 == 0) break;\n              lVar5 = lVar5 + -1;\n              bVar12 = *pbVar8 < *pbVar9;\n              bVar10 = *pbVar8 == *pbVar9;\n              pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n            } while (bVar10);\n            bVar11 = false;\n            bVar10 = (!bVar12 && !bVar10) == bVar12;\n            if (!bVar10) {\n              lVar5 = 6;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"float";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,4);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xb;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"__float128";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,0x10);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xe;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"unsigned char";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4a0(param_1,1,1);\n                goto LAB_00111512;\n              }\n              lVar5 = 4;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)0x1230d2;\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\nLAB_00111631:\n                lVar5 = FUN_0010f4a0(param_1,4,0);\n              }\n              else {\n                lVar5 = 0xd;\n                pbVar8 = __s1;\n                pbVar9 = (byte *)0x1230c9;\n                do {\n                  if (lVar5 == 0) break;\n                  lVar5 = lVar5 + -1;\n                  bVar11 = *pbVar8 < *pbVar9;\n                  bVar10 = *pbVar8 == *pbVar9;\n                  pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar10);\n                bVar12 = false;\n                bVar10 = (!bVar11 && !bVar10) == bVar11;\n                if (!bVar10) {\n                  lVar5 = 5;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)0x122f9e;\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar12 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar11 = false;\n                  bVar10 = (!bVar12 && !bVar10) == bVar12;\n                  if (bVar10) goto LAB_00111631;\n                  lVar5 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)"unsigned long";\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar11 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  if ((!bVar11 && !bVar10) != bVar11) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f490(param_1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }\n                lVar5 = FUN_0010f4a0(param_1,4,1);\n              }\n              goto LAB_00111512;\n            }\n          }\n          lVar5 = FUN_0010f4c0(param_1,8);\n          goto LAB_00111512;\n        }\n      }\n      lVar5 = FUN_0010f4a0(param_1,1,0);\nLAB_00111512:\n      free(__s1);\n      return lVar5;\n    }" { (expression_statement "lVar5 = 0xc;" (assignment_expression "lVar5 = 0xc" identifier = number_literal) ;) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __s1" identifier = identifier) ;) (expression_statement "pbVar9 = (byte *)0x122f71;" (assignment_expression "pbVar9 = (byte *)0x122f71" identifier = (cast_expression "(byte *)0x122f71" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n        if (lVar5 == 0) break;\n        lVar5 = lVar5 + -1;\n        bVar10 = *pbVar8 < *pbVar9;\n        bVar12 = *pbVar8 == *pbVar9;\n        pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n      } while (bVar12);" do (compound_statement "{\n        if (lVar5 == 0) break;\n        lVar5 = lVar5 + -1;\n        bVar10 = *pbVar8 < *pbVar9;\n        bVar12 = *pbVar8 == *pbVar9;\n        pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n      }" { (if_statement "if (lVar5 == 0) break;" if (parenthesized_expression "(lVar5 == 0)" ( (binary_expression "lVar5 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar5 = lVar5 + -1;" (assignment_expression "lVar5 = lVar5 + -1" identifier = (binary_expression "lVar5 + -1" identifier + number_literal)) ;) (expression_statement "bVar10 = *pbVar8 < *pbVar9;" (assignment_expression "bVar10 = *pbVar8 < *pbVar9" identifier = (binary_expression "*pbVar8 < *pbVar9" (pointer_expression "*pbVar8" * identifier) < (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "bVar12 = *pbVar8 == *pbVar9;" (assignment_expression "bVar12 = *pbVar8 == *pbVar9" identifier = (binary_expression "*pbVar8 == *pbVar9" (pointer_expression "*pbVar8" * identifier) == (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar8 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar8 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar9 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar12)" ( identifier )) ;) (expression_statement "bVar11 = false;" (assignment_expression "bVar11 = false" identifier = false) ;) (expression_statement "bVar10 = (!bVar10 && !bVar12) == bVar10;" (assignment_expression "bVar10 = (!bVar10 && !bVar12) == bVar10" identifier = (binary_expression "(!bVar10 && !bVar12) == bVar10" (parenthesized_expression "(!bVar10 && !bVar12)" ( (binary_expression "!bVar10 && !bVar12" (unary_expression "!bVar10" ! identifier) && (unary_expression "!bVar12" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar10) {\n        lVar5 = 5;\n        pbVar8 = __s1;\n        pbVar9 = &DAT_0012307b;\n        do {\n          if (lVar5 == 0) break;\n          lVar5 = lVar5 + -1;\n          bVar11 = *pbVar8 < *pbVar9;\n          bVar10 = *pbVar8 == *pbVar9;\n          pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar12 = false;\n        bVar10 = (!bVar11 && !bVar10) == bVar11;\n        if (bVar10) {\n          lVar5 = FUN_0010f4d0(param_1,1);\n          goto LAB_00111512;\n        }\n        lVar5 = 5;\n        pbVar8 = __s1;\n        pbVar9 = (byte *)0x122f78;\n        do {\n          if (lVar5 == 0) break;\n          lVar5 = lVar5 + -1;\n          bVar12 = *pbVar8 < *pbVar9;\n          bVar10 = *pbVar8 == *pbVar9;\n          pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar11 = false;\n        bVar10 = (!bVar12 && !bVar10) == bVar12;\n        if (!bVar10) {\n          lVar5 = 7;\n          pbVar8 = __s1;\n          pbVar9 = (byte *)0x122fb3;\n          do {\n            if (lVar5 == 0) break;\n            lVar5 = lVar5 + -1;\n            bVar11 = *pbVar8 < *pbVar9;\n            bVar10 = *pbVar8 == *pbVar9;\n            pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n          } while (bVar10);\n          bVar12 = false;\n          bVar10 = (!bVar11 && !bVar10) == bVar11;\n          if (!bVar10) {\n            lVar5 = 0xc;\n            pbVar8 = __s1;\n            pbVar9 = (byte *)"long double";\n            do {\n              if (lVar5 == 0) break;\n              lVar5 = lVar5 + -1;\n              bVar12 = *pbVar8 < *pbVar9;\n              bVar10 = *pbVar8 == *pbVar9;\n              pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n            } while (bVar10);\n            bVar11 = false;\n            bVar10 = (!bVar12 && !bVar10) == bVar12;\n            if (!bVar10) {\n              lVar5 = 6;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"float";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,4);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xb;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"__float128";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,0x10);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xe;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"unsigned char";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4a0(param_1,1,1);\n                goto LAB_00111512;\n              }\n              lVar5 = 4;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)0x1230d2;\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\nLAB_00111631:\n                lVar5 = FUN_0010f4a0(param_1,4,0);\n              }\n              else {\n                lVar5 = 0xd;\n                pbVar8 = __s1;\n                pbVar9 = (byte *)0x1230c9;\n                do {\n                  if (lVar5 == 0) break;\n                  lVar5 = lVar5 + -1;\n                  bVar11 = *pbVar8 < *pbVar9;\n                  bVar10 = *pbVar8 == *pbVar9;\n                  pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar10);\n                bVar12 = false;\n                bVar10 = (!bVar11 && !bVar10) == bVar11;\n                if (!bVar10) {\n                  lVar5 = 5;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)0x122f9e;\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar12 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar11 = false;\n                  bVar10 = (!bVar12 && !bVar10) == bVar12;\n                  if (bVar10) goto LAB_00111631;\n                  lVar5 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)"unsigned long";\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar11 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  if ((!bVar11 && !bVar10) != bVar11) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f490(param_1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }\n                lVar5 = FUN_0010f4a0(param_1,4,1);\n              }\n              goto LAB_00111512;\n            }\n          }\n          lVar5 = FUN_0010f4c0(param_1,8);\n          goto LAB_00111512;\n        }\n      }" if (parenthesized_expression "(!bVar10)" ( (unary_expression "!bVar10" ! identifier) )) (compound_statement "{\n        lVar5 = 5;\n        pbVar8 = __s1;\n        pbVar9 = &DAT_0012307b;\n        do {\n          if (lVar5 == 0) break;\n          lVar5 = lVar5 + -1;\n          bVar11 = *pbVar8 < *pbVar9;\n          bVar10 = *pbVar8 == *pbVar9;\n          pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar12 = false;\n        bVar10 = (!bVar11 && !bVar10) == bVar11;\n        if (bVar10) {\n          lVar5 = FUN_0010f4d0(param_1,1);\n          goto LAB_00111512;\n        }\n        lVar5 = 5;\n        pbVar8 = __s1;\n        pbVar9 = (byte *)0x122f78;\n        do {\n          if (lVar5 == 0) break;\n          lVar5 = lVar5 + -1;\n          bVar12 = *pbVar8 < *pbVar9;\n          bVar10 = *pbVar8 == *pbVar9;\n          pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar11 = false;\n        bVar10 = (!bVar12 && !bVar10) == bVar12;\n        if (!bVar10) {\n          lVar5 = 7;\n          pbVar8 = __s1;\n          pbVar9 = (byte *)0x122fb3;\n          do {\n            if (lVar5 == 0) break;\n            lVar5 = lVar5 + -1;\n            bVar11 = *pbVar8 < *pbVar9;\n            bVar10 = *pbVar8 == *pbVar9;\n            pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n          } while (bVar10);\n          bVar12 = false;\n          bVar10 = (!bVar11 && !bVar10) == bVar11;\n          if (!bVar10) {\n            lVar5 = 0xc;\n            pbVar8 = __s1;\n            pbVar9 = (byte *)"long double";\n            do {\n              if (lVar5 == 0) break;\n              lVar5 = lVar5 + -1;\n              bVar12 = *pbVar8 < *pbVar9;\n              bVar10 = *pbVar8 == *pbVar9;\n              pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n            } while (bVar10);\n            bVar11 = false;\n            bVar10 = (!bVar12 && !bVar10) == bVar12;\n            if (!bVar10) {\n              lVar5 = 6;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"float";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,4);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xb;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"__float128";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,0x10);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xe;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"unsigned char";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4a0(param_1,1,1);\n                goto LAB_00111512;\n              }\n              lVar5 = 4;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)0x1230d2;\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\nLAB_00111631:\n                lVar5 = FUN_0010f4a0(param_1,4,0);\n              }\n              else {\n                lVar5 = 0xd;\n                pbVar8 = __s1;\n                pbVar9 = (byte *)0x1230c9;\n                do {\n                  if (lVar5 == 0) break;\n                  lVar5 = lVar5 + -1;\n                  bVar11 = *pbVar8 < *pbVar9;\n                  bVar10 = *pbVar8 == *pbVar9;\n                  pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar10);\n                bVar12 = false;\n                bVar10 = (!bVar11 && !bVar10) == bVar11;\n                if (!bVar10) {\n                  lVar5 = 5;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)0x122f9e;\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar12 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar11 = false;\n                  bVar10 = (!bVar12 && !bVar10) == bVar12;\n                  if (bVar10) goto LAB_00111631;\n                  lVar5 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)"unsigned long";\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar11 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  if ((!bVar11 && !bVar10) != bVar11) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f490(param_1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }\n                lVar5 = FUN_0010f4a0(param_1,4,1);\n              }\n              goto LAB_00111512;\n            }\n          }\n          lVar5 = FUN_0010f4c0(param_1,8);\n          goto LAB_00111512;\n        }\n      }" { (expression_statement "lVar5 = 5;" (assignment_expression "lVar5 = 5" identifier = number_literal) ;) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __s1" identifier = identifier) ;) (expression_statement "pbVar9 = &DAT_0012307b;" (assignment_expression "pbVar9 = &DAT_0012307b" identifier = (pointer_expression "&DAT_0012307b" & identifier)) ;) (do_statement "do {\n          if (lVar5 == 0) break;\n          lVar5 = lVar5 + -1;\n          bVar11 = *pbVar8 < *pbVar9;\n          bVar10 = *pbVar8 == *pbVar9;\n          pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n        } while (bVar10);" do (compound_statement "{\n          if (lVar5 == 0) break;\n          lVar5 = lVar5 + -1;\n          bVar11 = *pbVar8 < *pbVar9;\n          bVar10 = *pbVar8 == *pbVar9;\n          pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n        }" { (if_statement "if (lVar5 == 0) break;" if (parenthesized_expression "(lVar5 == 0)" ( (binary_expression "lVar5 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar5 = lVar5 + -1;" (assignment_expression "lVar5 = lVar5 + -1" identifier = (binary_expression "lVar5 + -1" identifier + number_literal)) ;) (expression_statement "bVar11 = *pbVar8 < *pbVar9;" (assignment_expression "bVar11 = *pbVar8 < *pbVar9" identifier = (binary_expression "*pbVar8 < *pbVar9" (pointer_expression "*pbVar8" * identifier) < (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "bVar10 = *pbVar8 == *pbVar9;" (assignment_expression "bVar10 = *pbVar8 == *pbVar9" identifier = (binary_expression "*pbVar8 == *pbVar9" (pointer_expression "*pbVar8" * identifier) == (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar8 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar8 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar9 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar10)" ( identifier )) ;) (expression_statement "bVar12 = false;" (assignment_expression "bVar12 = false" identifier = false) ;) (expression_statement "bVar10 = (!bVar11 && !bVar10) == bVar11;" (assignment_expression "bVar10 = (!bVar11 && !bVar10) == bVar11" identifier = (binary_expression "(!bVar11 && !bVar10) == bVar11" (parenthesized_expression "(!bVar11 && !bVar10)" ( (binary_expression "!bVar11 && !bVar10" (unary_expression "!bVar11" ! identifier) && (unary_expression "!bVar10" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar10) {\n          lVar5 = FUN_0010f4d0(param_1,1);\n          goto LAB_00111512;\n        }" if (parenthesized_expression "(bVar10)" ( identifier )) (compound_statement "{\n          lVar5 = FUN_0010f4d0(param_1,1);\n          goto LAB_00111512;\n        }" { (expression_statement "lVar5 = FUN_0010f4d0(param_1,1);" (assignment_expression "lVar5 = FUN_0010f4d0(param_1,1)" identifier = (call_expression "FUN_0010f4d0(param_1,1)" identifier (argument_list "(param_1,1)" ( identifier , number_literal )))) ;) (goto_statement "goto LAB_00111512;" goto statement_identifier ;) })) (expression_statement "lVar5 = 5;" (assignment_expression "lVar5 = 5" identifier = number_literal) ;) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __s1" identifier = identifier) ;) (expression_statement "pbVar9 = (byte *)0x122f78;" (assignment_expression "pbVar9 = (byte *)0x122f78" identifier = (cast_expression "(byte *)0x122f78" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n          if (lVar5 == 0) break;\n          lVar5 = lVar5 + -1;\n          bVar12 = *pbVar8 < *pbVar9;\n          bVar10 = *pbVar8 == *pbVar9;\n          pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n        } while (bVar10);" do (compound_statement "{\n          if (lVar5 == 0) break;\n          lVar5 = lVar5 + -1;\n          bVar12 = *pbVar8 < *pbVar9;\n          bVar10 = *pbVar8 == *pbVar9;\n          pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n        }" { (if_statement "if (lVar5 == 0) break;" if (parenthesized_expression "(lVar5 == 0)" ( (binary_expression "lVar5 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar5 = lVar5 + -1;" (assignment_expression "lVar5 = lVar5 + -1" identifier = (binary_expression "lVar5 + -1" identifier + number_literal)) ;) (expression_statement "bVar12 = *pbVar8 < *pbVar9;" (assignment_expression "bVar12 = *pbVar8 < *pbVar9" identifier = (binary_expression "*pbVar8 < *pbVar9" (pointer_expression "*pbVar8" * identifier) < (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "bVar10 = *pbVar8 == *pbVar9;" (assignment_expression "bVar10 = *pbVar8 == *pbVar9" identifier = (binary_expression "*pbVar8 == *pbVar9" (pointer_expression "*pbVar8" * identifier) == (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar8 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar8 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar9 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar10)" ( identifier )) ;) (expression_statement "bVar11 = false;" (assignment_expression "bVar11 = false" identifier = false) ;) (expression_statement "bVar10 = (!bVar12 && !bVar10) == bVar12;" (assignment_expression "bVar10 = (!bVar12 && !bVar10) == bVar12" identifier = (binary_expression "(!bVar12 && !bVar10) == bVar12" (parenthesized_expression "(!bVar12 && !bVar10)" ( (binary_expression "!bVar12 && !bVar10" (unary_expression "!bVar12" ! identifier) && (unary_expression "!bVar10" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar10) {\n          lVar5 = 7;\n          pbVar8 = __s1;\n          pbVar9 = (byte *)0x122fb3;\n          do {\n            if (lVar5 == 0) break;\n            lVar5 = lVar5 + -1;\n            bVar11 = *pbVar8 < *pbVar9;\n            bVar10 = *pbVar8 == *pbVar9;\n            pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n          } while (bVar10);\n          bVar12 = false;\n          bVar10 = (!bVar11 && !bVar10) == bVar11;\n          if (!bVar10) {\n            lVar5 = 0xc;\n            pbVar8 = __s1;\n            pbVar9 = (byte *)"long double";\n            do {\n              if (lVar5 == 0) break;\n              lVar5 = lVar5 + -1;\n              bVar12 = *pbVar8 < *pbVar9;\n              bVar10 = *pbVar8 == *pbVar9;\n              pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n            } while (bVar10);\n            bVar11 = false;\n            bVar10 = (!bVar12 && !bVar10) == bVar12;\n            if (!bVar10) {\n              lVar5 = 6;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"float";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,4);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xb;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"__float128";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,0x10);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xe;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"unsigned char";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4a0(param_1,1,1);\n                goto LAB_00111512;\n              }\n              lVar5 = 4;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)0x1230d2;\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\nLAB_00111631:\n                lVar5 = FUN_0010f4a0(param_1,4,0);\n              }\n              else {\n                lVar5 = 0xd;\n                pbVar8 = __s1;\n                pbVar9 = (byte *)0x1230c9;\n                do {\n                  if (lVar5 == 0) break;\n                  lVar5 = lVar5 + -1;\n                  bVar11 = *pbVar8 < *pbVar9;\n                  bVar10 = *pbVar8 == *pbVar9;\n                  pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar10);\n                bVar12 = false;\n                bVar10 = (!bVar11 && !bVar10) == bVar11;\n                if (!bVar10) {\n                  lVar5 = 5;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)0x122f9e;\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar12 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar11 = false;\n                  bVar10 = (!bVar12 && !bVar10) == bVar12;\n                  if (bVar10) goto LAB_00111631;\n                  lVar5 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)"unsigned long";\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar11 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  if ((!bVar11 && !bVar10) != bVar11) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f490(param_1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }\n                lVar5 = FUN_0010f4a0(param_1,4,1);\n              }\n              goto LAB_00111512;\n            }\n          }\n          lVar5 = FUN_0010f4c0(param_1,8);\n          goto LAB_00111512;\n        }" if (parenthesized_expression "(!bVar10)" ( (unary_expression "!bVar10" ! identifier) )) (compound_statement "{\n          lVar5 = 7;\n          pbVar8 = __s1;\n          pbVar9 = (byte *)0x122fb3;\n          do {\n            if (lVar5 == 0) break;\n            lVar5 = lVar5 + -1;\n            bVar11 = *pbVar8 < *pbVar9;\n            bVar10 = *pbVar8 == *pbVar9;\n            pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n          } while (bVar10);\n          bVar12 = false;\n          bVar10 = (!bVar11 && !bVar10) == bVar11;\n          if (!bVar10) {\n            lVar5 = 0xc;\n            pbVar8 = __s1;\n            pbVar9 = (byte *)"long double";\n            do {\n              if (lVar5 == 0) break;\n              lVar5 = lVar5 + -1;\n              bVar12 = *pbVar8 < *pbVar9;\n              bVar10 = *pbVar8 == *pbVar9;\n              pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n            } while (bVar10);\n            bVar11 = false;\n            bVar10 = (!bVar12 && !bVar10) == bVar12;\n            if (!bVar10) {\n              lVar5 = 6;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"float";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,4);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xb;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"__float128";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,0x10);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xe;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"unsigned char";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4a0(param_1,1,1);\n                goto LAB_00111512;\n              }\n              lVar5 = 4;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)0x1230d2;\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\nLAB_00111631:\n                lVar5 = FUN_0010f4a0(param_1,4,0);\n              }\n              else {\n                lVar5 = 0xd;\n                pbVar8 = __s1;\n                pbVar9 = (byte *)0x1230c9;\n                do {\n                  if (lVar5 == 0) break;\n                  lVar5 = lVar5 + -1;\n                  bVar11 = *pbVar8 < *pbVar9;\n                  bVar10 = *pbVar8 == *pbVar9;\n                  pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar10);\n                bVar12 = false;\n                bVar10 = (!bVar11 && !bVar10) == bVar11;\n                if (!bVar10) {\n                  lVar5 = 5;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)0x122f9e;\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar12 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar11 = false;\n                  bVar10 = (!bVar12 && !bVar10) == bVar12;\n                  if (bVar10) goto LAB_00111631;\n                  lVar5 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)"unsigned long";\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar11 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  if ((!bVar11 && !bVar10) != bVar11) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f490(param_1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }\n                lVar5 = FUN_0010f4a0(param_1,4,1);\n              }\n              goto LAB_00111512;\n            }\n          }\n          lVar5 = FUN_0010f4c0(param_1,8);\n          goto LAB_00111512;\n        }" { (expression_statement "lVar5 = 7;" (assignment_expression "lVar5 = 7" identifier = number_literal) ;) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __s1" identifier = identifier) ;) (expression_statement "pbVar9 = (byte *)0x122fb3;" (assignment_expression "pbVar9 = (byte *)0x122fb3" identifier = (cast_expression "(byte *)0x122fb3" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n            if (lVar5 == 0) break;\n            lVar5 = lVar5 + -1;\n            bVar11 = *pbVar8 < *pbVar9;\n            bVar10 = *pbVar8 == *pbVar9;\n            pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n          } while (bVar10);" do (compound_statement "{\n            if (lVar5 == 0) break;\n            lVar5 = lVar5 + -1;\n            bVar11 = *pbVar8 < *pbVar9;\n            bVar10 = *pbVar8 == *pbVar9;\n            pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n          }" { (if_statement "if (lVar5 == 0) break;" if (parenthesized_expression "(lVar5 == 0)" ( (binary_expression "lVar5 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar5 = lVar5 + -1;" (assignment_expression "lVar5 = lVar5 + -1" identifier = (binary_expression "lVar5 + -1" identifier + number_literal)) ;) (expression_statement "bVar11 = *pbVar8 < *pbVar9;" (assignment_expression "bVar11 = *pbVar8 < *pbVar9" identifier = (binary_expression "*pbVar8 < *pbVar9" (pointer_expression "*pbVar8" * identifier) < (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "bVar10 = *pbVar8 == *pbVar9;" (assignment_expression "bVar10 = *pbVar8 == *pbVar9" identifier = (binary_expression "*pbVar8 == *pbVar9" (pointer_expression "*pbVar8" * identifier) == (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar8 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar8 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar9 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar10)" ( identifier )) ;) (expression_statement "bVar12 = false;" (assignment_expression "bVar12 = false" identifier = false) ;) (expression_statement "bVar10 = (!bVar11 && !bVar10) == bVar11;" (assignment_expression "bVar10 = (!bVar11 && !bVar10) == bVar11" identifier = (binary_expression "(!bVar11 && !bVar10) == bVar11" (parenthesized_expression "(!bVar11 && !bVar10)" ( (binary_expression "!bVar11 && !bVar10" (unary_expression "!bVar11" ! identifier) && (unary_expression "!bVar10" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar10) {\n            lVar5 = 0xc;\n            pbVar8 = __s1;\n            pbVar9 = (byte *)"long double";\n            do {\n              if (lVar5 == 0) break;\n              lVar5 = lVar5 + -1;\n              bVar12 = *pbVar8 < *pbVar9;\n              bVar10 = *pbVar8 == *pbVar9;\n              pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n            } while (bVar10);\n            bVar11 = false;\n            bVar10 = (!bVar12 && !bVar10) == bVar12;\n            if (!bVar10) {\n              lVar5 = 6;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"float";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,4);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xb;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"__float128";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,0x10);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xe;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"unsigned char";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4a0(param_1,1,1);\n                goto LAB_00111512;\n              }\n              lVar5 = 4;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)0x1230d2;\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\nLAB_00111631:\n                lVar5 = FUN_0010f4a0(param_1,4,0);\n              }\n              else {\n                lVar5 = 0xd;\n                pbVar8 = __s1;\n                pbVar9 = (byte *)0x1230c9;\n                do {\n                  if (lVar5 == 0) break;\n                  lVar5 = lVar5 + -1;\n                  bVar11 = *pbVar8 < *pbVar9;\n                  bVar10 = *pbVar8 == *pbVar9;\n                  pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar10);\n                bVar12 = false;\n                bVar10 = (!bVar11 && !bVar10) == bVar11;\n                if (!bVar10) {\n                  lVar5 = 5;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)0x122f9e;\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar12 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar11 = false;\n                  bVar10 = (!bVar12 && !bVar10) == bVar12;\n                  if (bVar10) goto LAB_00111631;\n                  lVar5 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)"unsigned long";\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar11 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  if ((!bVar11 && !bVar10) != bVar11) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f490(param_1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }\n                lVar5 = FUN_0010f4a0(param_1,4,1);\n              }\n              goto LAB_00111512;\n            }\n          }" if (parenthesized_expression "(!bVar10)" ( (unary_expression "!bVar10" ! identifier) )) (compound_statement "{\n            lVar5 = 0xc;\n            pbVar8 = __s1;\n            pbVar9 = (byte *)"long double";\n            do {\n              if (lVar5 == 0) break;\n              lVar5 = lVar5 + -1;\n              bVar12 = *pbVar8 < *pbVar9;\n              bVar10 = *pbVar8 == *pbVar9;\n              pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n            } while (bVar10);\n            bVar11 = false;\n            bVar10 = (!bVar12 && !bVar10) == bVar12;\n            if (!bVar10) {\n              lVar5 = 6;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"float";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,4);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xb;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"__float128";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,0x10);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xe;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"unsigned char";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4a0(param_1,1,1);\n                goto LAB_00111512;\n              }\n              lVar5 = 4;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)0x1230d2;\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\nLAB_00111631:\n                lVar5 = FUN_0010f4a0(param_1,4,0);\n              }\n              else {\n                lVar5 = 0xd;\n                pbVar8 = __s1;\n                pbVar9 = (byte *)0x1230c9;\n                do {\n                  if (lVar5 == 0) break;\n                  lVar5 = lVar5 + -1;\n                  bVar11 = *pbVar8 < *pbVar9;\n                  bVar10 = *pbVar8 == *pbVar9;\n                  pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar10);\n                bVar12 = false;\n                bVar10 = (!bVar11 && !bVar10) == bVar11;\n                if (!bVar10) {\n                  lVar5 = 5;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)0x122f9e;\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar12 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar11 = false;\n                  bVar10 = (!bVar12 && !bVar10) == bVar12;\n                  if (bVar10) goto LAB_00111631;\n                  lVar5 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)"unsigned long";\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar11 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  if ((!bVar11 && !bVar10) != bVar11) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f490(param_1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }\n                lVar5 = FUN_0010f4a0(param_1,4,1);\n              }\n              goto LAB_00111512;\n            }\n          }" { (expression_statement "lVar5 = 0xc;" (assignment_expression "lVar5 = 0xc" identifier = number_literal) ;) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __s1" identifier = identifier) ;) (expression_statement "pbVar9 = (byte *)"long double";" (assignment_expression "pbVar9 = (byte *)"long double"" identifier = (cast_expression "(byte *)"long double"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""long double"" " string_content "))) ;) (do_statement "do {\n              if (lVar5 == 0) break;\n              lVar5 = lVar5 + -1;\n              bVar12 = *pbVar8 < *pbVar9;\n              bVar10 = *pbVar8 == *pbVar9;\n              pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n            } while (bVar10);" do (compound_statement "{\n              if (lVar5 == 0) break;\n              lVar5 = lVar5 + -1;\n              bVar12 = *pbVar8 < *pbVar9;\n              bVar10 = *pbVar8 == *pbVar9;\n              pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n            }" { (if_statement "if (lVar5 == 0) break;" if (parenthesized_expression "(lVar5 == 0)" ( (binary_expression "lVar5 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar5 = lVar5 + -1;" (assignment_expression "lVar5 = lVar5 + -1" identifier = (binary_expression "lVar5 + -1" identifier + number_literal)) ;) (expression_statement "bVar12 = *pbVar8 < *pbVar9;" (assignment_expression "bVar12 = *pbVar8 < *pbVar9" identifier = (binary_expression "*pbVar8 < *pbVar9" (pointer_expression "*pbVar8" * identifier) < (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "bVar10 = *pbVar8 == *pbVar9;" (assignment_expression "bVar10 = *pbVar8 == *pbVar9" identifier = (binary_expression "*pbVar8 == *pbVar9" (pointer_expression "*pbVar8" * identifier) == (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar8 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar8 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar9 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar10)" ( identifier )) ;) (expression_statement "bVar11 = false;" (assignment_expression "bVar11 = false" identifier = false) ;) (expression_statement "bVar10 = (!bVar12 && !bVar10) == bVar12;" (assignment_expression "bVar10 = (!bVar12 && !bVar10) == bVar12" identifier = (binary_expression "(!bVar12 && !bVar10) == bVar12" (parenthesized_expression "(!bVar12 && !bVar10)" ( (binary_expression "!bVar12 && !bVar10" (unary_expression "!bVar12" ! identifier) && (unary_expression "!bVar10" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar10) {\n              lVar5 = 6;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"float";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,4);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xb;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"__float128";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,0x10);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xe;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"unsigned char";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4a0(param_1,1,1);\n                goto LAB_00111512;\n              }\n              lVar5 = 4;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)0x1230d2;\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\nLAB_00111631:\n                lVar5 = FUN_0010f4a0(param_1,4,0);\n              }\n              else {\n                lVar5 = 0xd;\n                pbVar8 = __s1;\n                pbVar9 = (byte *)0x1230c9;\n                do {\n                  if (lVar5 == 0) break;\n                  lVar5 = lVar5 + -1;\n                  bVar11 = *pbVar8 < *pbVar9;\n                  bVar10 = *pbVar8 == *pbVar9;\n                  pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar10);\n                bVar12 = false;\n                bVar10 = (!bVar11 && !bVar10) == bVar11;\n                if (!bVar10) {\n                  lVar5 = 5;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)0x122f9e;\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar12 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar11 = false;\n                  bVar10 = (!bVar12 && !bVar10) == bVar12;\n                  if (bVar10) goto LAB_00111631;\n                  lVar5 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)"unsigned long";\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar11 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  if ((!bVar11 && !bVar10) != bVar11) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f490(param_1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }\n                lVar5 = FUN_0010f4a0(param_1,4,1);\n              }\n              goto LAB_00111512;\n            }" if (parenthesized_expression "(!bVar10)" ( (unary_expression "!bVar10" ! identifier) )) (compound_statement "{\n              lVar5 = 6;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"float";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,4);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xb;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"__float128";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,0x10);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xe;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"unsigned char";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4a0(param_1,1,1);\n                goto LAB_00111512;\n              }\n              lVar5 = 4;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)0x1230d2;\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\nLAB_00111631:\n                lVar5 = FUN_0010f4a0(param_1,4,0);\n              }\n              else {\n                lVar5 = 0xd;\n                pbVar8 = __s1;\n                pbVar9 = (byte *)0x1230c9;\n                do {\n                  if (lVar5 == 0) break;\n                  lVar5 = lVar5 + -1;\n                  bVar11 = *pbVar8 < *pbVar9;\n                  bVar10 = *pbVar8 == *pbVar9;\n                  pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar10);\n                bVar12 = false;\n                bVar10 = (!bVar11 && !bVar10) == bVar11;\n                if (!bVar10) {\n                  lVar5 = 5;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)0x122f9e;\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar12 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar11 = false;\n                  bVar10 = (!bVar12 && !bVar10) == bVar12;\n                  if (bVar10) goto LAB_00111631;\n                  lVar5 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)"unsigned long";\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar11 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  if ((!bVar11 && !bVar10) != bVar11) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f490(param_1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }\n                lVar5 = FUN_0010f4a0(param_1,4,1);\n              }\n              goto LAB_00111512;\n            }" { (expression_statement "lVar5 = 6;" (assignment_expression "lVar5 = 6" identifier = number_literal) ;) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __s1" identifier = identifier) ;) (expression_statement "pbVar9 = (byte *)"float";" (assignment_expression "pbVar9 = (byte *)"float"" identifier = (cast_expression "(byte *)"float"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""float"" " string_content "))) ;) (do_statement "do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);" do (compound_statement "{\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              }" { (if_statement "if (lVar5 == 0) break;" if (parenthesized_expression "(lVar5 == 0)" ( (binary_expression "lVar5 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar5 = lVar5 + -1;" (assignment_expression "lVar5 = lVar5 + -1" identifier = (binary_expression "lVar5 + -1" identifier + number_literal)) ;) (expression_statement "bVar11 = *pbVar8 < *pbVar9;" (assignment_expression "bVar11 = *pbVar8 < *pbVar9" identifier = (binary_expression "*pbVar8 < *pbVar9" (pointer_expression "*pbVar8" * identifier) < (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "bVar10 = *pbVar8 == *pbVar9;" (assignment_expression "bVar10 = *pbVar8 == *pbVar9" identifier = (binary_expression "*pbVar8 == *pbVar9" (pointer_expression "*pbVar8" * identifier) == (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar8 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar8 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar9 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar10)" ( identifier )) ;) (expression_statement "bVar12 = false;" (assignment_expression "bVar12 = false" identifier = false) ;) (expression_statement "bVar10 = (!bVar11 && !bVar10) == bVar11;" (assignment_expression "bVar10 = (!bVar11 && !bVar10) == bVar11" identifier = (binary_expression "(!bVar11 && !bVar10) == bVar11" (parenthesized_expression "(!bVar11 && !bVar10)" ( (binary_expression "!bVar11 && !bVar10" (unary_expression "!bVar11" ! identifier) && (unary_expression "!bVar10" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,4);\n                goto LAB_00111512;\n              }" if (parenthesized_expression "(bVar10)" ( identifier )) (compound_statement "{\n                lVar5 = FUN_0010f4c0(param_1,4);\n                goto LAB_00111512;\n              }" { (expression_statement "lVar5 = FUN_0010f4c0(param_1,4);" (assignment_expression "lVar5 = FUN_0010f4c0(param_1,4)" identifier = (call_expression "FUN_0010f4c0(param_1,4)" identifier (argument_list "(param_1,4)" ( identifier , number_literal )))) ;) (goto_statement "goto LAB_00111512;" goto statement_identifier ;) })) (expression_statement "lVar5 = 0xb;" (assignment_expression "lVar5 = 0xb" identifier = number_literal) ;) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __s1" identifier = identifier) ;) (expression_statement "pbVar9 = (byte *)"__float128";" (assignment_expression "pbVar9 = (byte *)"__float128"" identifier = (cast_expression "(byte *)"__float128"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""__float128"" " string_content "))) ;) (do_statement "do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);" do (compound_statement "{\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              }" { (if_statement "if (lVar5 == 0) break;" if (parenthesized_expression "(lVar5 == 0)" ( (binary_expression "lVar5 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar5 = lVar5 + -1;" (assignment_expression "lVar5 = lVar5 + -1" identifier = (binary_expression "lVar5 + -1" identifier + number_literal)) ;) (expression_statement "bVar12 = *pbVar8 < *pbVar9;" (assignment_expression "bVar12 = *pbVar8 < *pbVar9" identifier = (binary_expression "*pbVar8 < *pbVar9" (pointer_expression "*pbVar8" * identifier) < (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "bVar10 = *pbVar8 == *pbVar9;" (assignment_expression "bVar10 = *pbVar8 == *pbVar9" identifier = (binary_expression "*pbVar8 == *pbVar9" (pointer_expression "*pbVar8" * identifier) == (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar8 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar8 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar9 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar10)" ( identifier )) ;) (expression_statement "bVar11 = false;" (assignment_expression "bVar11 = false" identifier = false) ;) (expression_statement "bVar10 = (!bVar12 && !bVar10) == bVar12;" (assignment_expression "bVar10 = (!bVar12 && !bVar10) == bVar12" identifier = (binary_expression "(!bVar12 && !bVar10) == bVar12" (parenthesized_expression "(!bVar12 && !bVar10)" ( (binary_expression "!bVar12 && !bVar10" (unary_expression "!bVar12" ! identifier) && (unary_expression "!bVar10" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,0x10);\n                goto LAB_00111512;\n              }" if (parenthesized_expression "(bVar10)" ( identifier )) (compound_statement "{\n                lVar5 = FUN_0010f4c0(param_1,0x10);\n                goto LAB_00111512;\n              }" { (expression_statement "lVar5 = FUN_0010f4c0(param_1,0x10);" (assignment_expression "lVar5 = FUN_0010f4c0(param_1,0x10)" identifier = (call_expression "FUN_0010f4c0(param_1,0x10)" identifier (argument_list "(param_1,0x10)" ( identifier , number_literal )))) ;) (goto_statement "goto LAB_00111512;" goto statement_identifier ;) })) (expression_statement "lVar5 = 0xe;" (assignment_expression "lVar5 = 0xe" identifier = number_literal) ;) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __s1" identifier = identifier) ;) (expression_statement "pbVar9 = (byte *)"unsigned char";" (assignment_expression "pbVar9 = (byte *)"unsigned char"" identifier = (cast_expression "(byte *)"unsigned char"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""unsigned char"" " string_content "))) ;) (do_statement "do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);" do (compound_statement "{\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              }" { (if_statement "if (lVar5 == 0) break;" if (parenthesized_expression "(lVar5 == 0)" ( (binary_expression "lVar5 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar5 = lVar5 + -1;" (assignment_expression "lVar5 = lVar5 + -1" identifier = (binary_expression "lVar5 + -1" identifier + number_literal)) ;) (expression_statement "bVar11 = *pbVar8 < *pbVar9;" (assignment_expression "bVar11 = *pbVar8 < *pbVar9" identifier = (binary_expression "*pbVar8 < *pbVar9" (pointer_expression "*pbVar8" * identifier) < (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "bVar10 = *pbVar8 == *pbVar9;" (assignment_expression "bVar10 = *pbVar8 == *pbVar9" identifier = (binary_expression "*pbVar8 == *pbVar9" (pointer_expression "*pbVar8" * identifier) == (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar8 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar8 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar9 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar10)" ( identifier )) ;) (expression_statement "bVar12 = false;" (assignment_expression "bVar12 = false" identifier = false) ;) (expression_statement "bVar10 = (!bVar11 && !bVar10) == bVar11;" (assignment_expression "bVar10 = (!bVar11 && !bVar10) == bVar11" identifier = (binary_expression "(!bVar11 && !bVar10) == bVar11" (parenthesized_expression "(!bVar11 && !bVar10)" ( (binary_expression "!bVar11 && !bVar10" (unary_expression "!bVar11" ! identifier) && (unary_expression "!bVar10" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar10) {\n                lVar5 = FUN_0010f4a0(param_1,1,1);\n                goto LAB_00111512;\n              }" if (parenthesized_expression "(bVar10)" ( identifier )) (compound_statement "{\n                lVar5 = FUN_0010f4a0(param_1,1,1);\n                goto LAB_00111512;\n              }" { (expression_statement "lVar5 = FUN_0010f4a0(param_1,1,1);" (assignment_expression "lVar5 = FUN_0010f4a0(param_1,1,1)" identifier = (call_expression "FUN_0010f4a0(param_1,1,1)" identifier (argument_list "(param_1,1,1)" ( identifier , number_literal , number_literal )))) ;) (goto_statement "goto LAB_00111512;" goto statement_identifier ;) })) (expression_statement "lVar5 = 4;" (assignment_expression "lVar5 = 4" identifier = number_literal) ;) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __s1" identifier = identifier) ;) (expression_statement "pbVar9 = (byte *)0x1230d2;" (assignment_expression "pbVar9 = (byte *)0x1230d2" identifier = (cast_expression "(byte *)0x1230d2" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);" do (compound_statement "{\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              }" { (if_statement "if (lVar5 == 0) break;" if (parenthesized_expression "(lVar5 == 0)" ( (binary_expression "lVar5 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar5 = lVar5 + -1;" (assignment_expression "lVar5 = lVar5 + -1" identifier = (binary_expression "lVar5 + -1" identifier + number_literal)) ;) (expression_statement "bVar12 = *pbVar8 < *pbVar9;" (assignment_expression "bVar12 = *pbVar8 < *pbVar9" identifier = (binary_expression "*pbVar8 < *pbVar9" (pointer_expression "*pbVar8" * identifier) < (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "bVar10 = *pbVar8 == *pbVar9;" (assignment_expression "bVar10 = *pbVar8 == *pbVar9" identifier = (binary_expression "*pbVar8 == *pbVar9" (pointer_expression "*pbVar8" * identifier) == (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar8 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar8 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar9 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar10)" ( identifier )) ;) (expression_statement "bVar11 = false;" (assignment_expression "bVar11 = false" identifier = false) ;) (expression_statement "bVar10 = (!bVar12 && !bVar10) == bVar12;" (assignment_expression "bVar10 = (!bVar12 && !bVar10) == bVar12" identifier = (binary_expression "(!bVar12 && !bVar10) == bVar12" (parenthesized_expression "(!bVar12 && !bVar10)" ( (binary_expression "!bVar12 && !bVar10" (unary_expression "!bVar12" ! identifier) && (unary_expression "!bVar10" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar10) {\nLAB_00111631:\n                lVar5 = FUN_0010f4a0(param_1,4,0);\n              }\n              else {\n                lVar5 = 0xd;\n                pbVar8 = __s1;\n                pbVar9 = (byte *)0x1230c9;\n                do {\n                  if (lVar5 == 0) break;\n                  lVar5 = lVar5 + -1;\n                  bVar11 = *pbVar8 < *pbVar9;\n                  bVar10 = *pbVar8 == *pbVar9;\n                  pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar10);\n                bVar12 = false;\n                bVar10 = (!bVar11 && !bVar10) == bVar11;\n                if (!bVar10) {\n                  lVar5 = 5;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)0x122f9e;\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar12 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar11 = false;\n                  bVar10 = (!bVar12 && !bVar10) == bVar12;\n                  if (bVar10) goto LAB_00111631;\n                  lVar5 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)"unsigned long";\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar11 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  if ((!bVar11 && !bVar10) != bVar11) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f490(param_1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }\n                lVar5 = FUN_0010f4a0(param_1,4,1);\n              }" if (parenthesized_expression "(bVar10)" ( identifier )) (compound_statement "{\nLAB_00111631:\n                lVar5 = FUN_0010f4a0(param_1,4,0);\n              }" { (labeled_statement "LAB_00111631:\n                lVar5 = FUN_0010f4a0(param_1,4,0);" statement_identifier : (expression_statement "lVar5 = FUN_0010f4a0(param_1,4,0);" (assignment_expression "lVar5 = FUN_0010f4a0(param_1,4,0)" identifier = (call_expression "FUN_0010f4a0(param_1,4,0)" identifier (argument_list "(param_1,4,0)" ( identifier , number_literal , number_literal )))) ;)) }) (else_clause "else {\n                lVar5 = 0xd;\n                pbVar8 = __s1;\n                pbVar9 = (byte *)0x1230c9;\n                do {\n                  if (lVar5 == 0) break;\n                  lVar5 = lVar5 + -1;\n                  bVar11 = *pbVar8 < *pbVar9;\n                  bVar10 = *pbVar8 == *pbVar9;\n                  pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar10);\n                bVar12 = false;\n                bVar10 = (!bVar11 && !bVar10) == bVar11;\n                if (!bVar10) {\n                  lVar5 = 5;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)0x122f9e;\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar12 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar11 = false;\n                  bVar10 = (!bVar12 && !bVar10) == bVar12;\n                  if (bVar10) goto LAB_00111631;\n                  lVar5 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)"unsigned long";\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar11 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  if ((!bVar11 && !bVar10) != bVar11) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f490(param_1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }\n                lVar5 = FUN_0010f4a0(param_1,4,1);\n              }" else (compound_statement "{\n                lVar5 = 0xd;\n                pbVar8 = __s1;\n                pbVar9 = (byte *)0x1230c9;\n                do {\n                  if (lVar5 == 0) break;\n                  lVar5 = lVar5 + -1;\n                  bVar11 = *pbVar8 < *pbVar9;\n                  bVar10 = *pbVar8 == *pbVar9;\n                  pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar10);\n                bVar12 = false;\n                bVar10 = (!bVar11 && !bVar10) == bVar11;\n                if (!bVar10) {\n                  lVar5 = 5;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)0x122f9e;\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar12 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar11 = false;\n                  bVar10 = (!bVar12 && !bVar10) == bVar12;\n                  if (bVar10) goto LAB_00111631;\n                  lVar5 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)"unsigned long";\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar11 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  if ((!bVar11 && !bVar10) != bVar11) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f490(param_1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }\n                lVar5 = FUN_0010f4a0(param_1,4,1);\n              }" { (expression_statement "lVar5 = 0xd;" (assignment_expression "lVar5 = 0xd" identifier = number_literal) ;) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __s1" identifier = identifier) ;) (expression_statement "pbVar9 = (byte *)0x1230c9;" (assignment_expression "pbVar9 = (byte *)0x1230c9" identifier = (cast_expression "(byte *)0x1230c9" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n                  if (lVar5 == 0) break;\n                  lVar5 = lVar5 + -1;\n                  bVar11 = *pbVar8 < *pbVar9;\n                  bVar10 = *pbVar8 == *pbVar9;\n                  pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar10);" do (compound_statement "{\n                  if (lVar5 == 0) break;\n                  lVar5 = lVar5 + -1;\n                  bVar11 = *pbVar8 < *pbVar9;\n                  bVar10 = *pbVar8 == *pbVar9;\n                  pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                }" { (if_statement "if (lVar5 == 0) break;" if (parenthesized_expression "(lVar5 == 0)" ( (binary_expression "lVar5 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar5 = lVar5 + -1;" (assignment_expression "lVar5 = lVar5 + -1" identifier = (binary_expression "lVar5 + -1" identifier + number_literal)) ;) (expression_statement "bVar11 = *pbVar8 < *pbVar9;" (assignment_expression "bVar11 = *pbVar8 < *pbVar9" identifier = (binary_expression "*pbVar8 < *pbVar9" (pointer_expression "*pbVar8" * identifier) < (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "bVar10 = *pbVar8 == *pbVar9;" (assignment_expression "bVar10 = *pbVar8 == *pbVar9" identifier = (binary_expression "*pbVar8 == *pbVar9" (pointer_expression "*pbVar8" * identifier) == (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar8 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar8 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar9 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar10)" ( identifier )) ;) (expression_statement "bVar12 = false;" (assignment_expression "bVar12 = false" identifier = false) ;) (expression_statement "bVar10 = (!bVar11 && !bVar10) == bVar11;" (assignment_expression "bVar10 = (!bVar11 && !bVar10) == bVar11" identifier = (binary_expression "(!bVar11 && !bVar10) == bVar11" (parenthesized_expression "(!bVar11 && !bVar10)" ( (binary_expression "!bVar11 && !bVar10" (unary_expression "!bVar11" ! identifier) && (unary_expression "!bVar10" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar10) {\n                  lVar5 = 5;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)0x122f9e;\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar12 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar11 = false;\n                  bVar10 = (!bVar12 && !bVar10) == bVar12;\n                  if (bVar10) goto LAB_00111631;\n                  lVar5 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)"unsigned long";\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar11 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  if ((!bVar11 && !bVar10) != bVar11) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f490(param_1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }" if (parenthesized_expression "(!bVar10)" ( (unary_expression "!bVar10" ! identifier) )) (compound_statement "{\n                  lVar5 = 5;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)0x122f9e;\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar12 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar11 = false;\n                  bVar10 = (!bVar12 && !bVar10) == bVar12;\n                  if (bVar10) goto LAB_00111631;\n                  lVar5 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)"unsigned long";\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar11 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  if ((!bVar11 && !bVar10) != bVar11) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f490(param_1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }" { (expression_statement "lVar5 = 5;" (assignment_expression "lVar5 = 5" identifier = number_literal) ;) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __s1" identifier = identifier) ;) (expression_statement "pbVar9 = (byte *)0x122f9e;" (assignment_expression "pbVar9 = (byte *)0x122f9e" identifier = (cast_expression "(byte *)0x122f9e" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar12 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);" do (compound_statement "{\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar12 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  }" { (if_statement "if (lVar5 == 0) break;" if (parenthesized_expression "(lVar5 == 0)" ( (binary_expression "lVar5 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar5 = lVar5 + -1;" (assignment_expression "lVar5 = lVar5 + -1" identifier = (binary_expression "lVar5 + -1" identifier + number_literal)) ;) (expression_statement "bVar12 = *pbVar8 < *pbVar9;" (assignment_expression "bVar12 = *pbVar8 < *pbVar9" identifier = (binary_expression "*pbVar8 < *pbVar9" (pointer_expression "*pbVar8" * identifier) < (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "bVar10 = *pbVar8 == *pbVar9;" (assignment_expression "bVar10 = *pbVar8 == *pbVar9" identifier = (binary_expression "*pbVar8 == *pbVar9" (pointer_expression "*pbVar8" * identifier) == (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar8 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar8 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar9 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar10)" ( identifier )) ;) (expression_statement "bVar11 = false;" (assignment_expression "bVar11 = false" identifier = false) ;) (expression_statement "bVar10 = (!bVar12 && !bVar10) == bVar12;" (assignment_expression "bVar10 = (!bVar12 && !bVar10) == bVar12" identifier = (binary_expression "(!bVar12 && !bVar10) == bVar12" (parenthesized_expression "(!bVar12 && !bVar10)" ( (binary_expression "!bVar12 && !bVar10" (unary_expression "!bVar12" ! identifier) && (unary_expression "!bVar10" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar10) goto LAB_00111631;" if (parenthesized_expression "(bVar10)" ( identifier )) (goto_statement "goto LAB_00111631;" goto statement_identifier ;)) (expression_statement "lVar5 = 0xe;" (assignment_expression "lVar5 = 0xe" identifier = number_literal) ;) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __s1" identifier = identifier) ;) (expression_statement "pbVar9 = (byte *)"unsigned long";" (assignment_expression "pbVar9 = (byte *)"unsigned long"" identifier = (cast_expression "(byte *)"unsigned long"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""unsigned long"" " string_content "))) ;) (do_statement "do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar11 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);" do (compound_statement "{\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar11 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  }" { (if_statement "if (lVar5 == 0) break;" if (parenthesized_expression "(lVar5 == 0)" ( (binary_expression "lVar5 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar5 = lVar5 + -1;" (assignment_expression "lVar5 = lVar5 + -1" identifier = (binary_expression "lVar5 + -1" identifier + number_literal)) ;) (expression_statement "bVar11 = *pbVar8 < *pbVar9;" (assignment_expression "bVar11 = *pbVar8 < *pbVar9" identifier = (binary_expression "*pbVar8 < *pbVar9" (pointer_expression "*pbVar8" * identifier) < (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "bVar10 = *pbVar8 == *pbVar9;" (assignment_expression "bVar10 = *pbVar8 == *pbVar9" identifier = (binary_expression "*pbVar8 == *pbVar9" (pointer_expression "*pbVar8" * identifier) == (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar8 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar8 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar9 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar10)" ( identifier )) ;) (if_statement "if ((!bVar11 && !bVar10) != bVar11) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f490(param_1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }" if (parenthesized_expression "((!bVar11 && !bVar10) != bVar11)" ( (binary_expression "(!bVar11 && !bVar10) != bVar11" (parenthesized_expression "(!bVar11 && !bVar10)" ( (binary_expression "!bVar11 && !bVar10" (unary_expression "!bVar11" ! identifier) && (unary_expression "!bVar10" ! identifier)) )) != identifier) )) (compound_statement "{\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f490(param_1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }" { (expression_statement "iVar2 = strcmp((char *)__s1,"__int128");" (assignment_expression "iVar2 = strcmp((char *)__s1,"__int128")" identifier = (call_expression "strcmp((char *)__s1,"__int128")" identifier (argument_list "((char *)__s1,"__int128")" ( (cast_expression "(char *)__s1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""__int128"" " string_content ") )))) ;) (if_statement "if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,0);\n                      goto LAB_00111512;\n                    }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n                      lVar5 = FUN_0010f4a0(param_1,0x10,0);\n                      goto LAB_00111512;\n                    }" { (expression_statement "lVar5 = FUN_0010f4a0(param_1,0x10,0);" (assignment_expression "lVar5 = FUN_0010f4a0(param_1,0x10,0)" identifier = (call_expression "FUN_0010f4a0(param_1,0x10,0)" identifier (argument_list "(param_1,0x10,0)" ( identifier , number_literal , number_literal )))) ;) (goto_statement "goto LAB_00111512;" goto statement_identifier ;) })) (expression_statement "iVar2 = strcmp((char *)__s1,"unsigned __int128");" (assignment_expression "iVar2 = strcmp((char *)__s1,"unsigned __int128")" identifier = (call_expression "strcmp((char *)__s1,"unsigned __int128")" identifier (argument_list "((char *)__s1,"unsigned __int128")" ( (cast_expression "(char *)__s1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""unsigned __int128"" " string_content ") )))) ;) (if_statement "if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,1);\n                      goto LAB_00111512;\n                    }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n                      lVar5 = FUN_0010f4a0(param_1,0x10,1);\n                      goto LAB_00111512;\n                    }" { (expression_statement "lVar5 = FUN_0010f4a0(param_1,0x10,1);" (assignment_expression "lVar5 = FUN_0010f4a0(param_1,0x10,1)" identifier = (call_expression "FUN_0010f4a0(param_1,0x10,1)" identifier (argument_list "(param_1,0x10,1)" ( identifier , number_literal , number_literal )))) ;) (goto_statement "goto LAB_00111512;" goto statement_identifier ;) })) (expression_statement "iVar2 = strcmp((char *)__s1,"short");" (assignment_expression "iVar2 = strcmp((char *)__s1,"short")" identifier = (call_expression "strcmp((char *)__s1,"short")" identifier (argument_list "((char *)__s1,"short")" ( (cast_expression "(char *)__s1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""short"" " string_content ") )))) ;) (if_statement "if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,0);\n                      goto LAB_00111512;\n                    }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n                      lVar5 = FUN_0010f4a0(param_1,2,0);\n                      goto LAB_00111512;\n                    }" { (expression_statement "lVar5 = FUN_0010f4a0(param_1,2,0);" (assignment_expression "lVar5 = FUN_0010f4a0(param_1,2,0)" identifier = (call_expression "FUN_0010f4a0(param_1,2,0)" identifier (argument_list "(param_1,2,0)" ( identifier , number_literal , number_literal )))) ;) (goto_statement "goto LAB_00111512;" goto statement_identifier ;) })) (expression_statement "iVar2 = strcmp((char *)__s1,"unsigned short");" (assignment_expression "iVar2 = strcmp((char *)__s1,"unsigned short")" identifier = (call_expression "strcmp((char *)__s1,"unsigned short")" identifier (argument_list "((char *)__s1,"unsigned short")" ( (cast_expression "(char *)__s1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""unsigned short"" " string_content ") )))) ;) (if_statement "if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,1);\n                      goto LAB_00111512;\n                    }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n                      lVar5 = FUN_0010f4a0(param_1,2,1);\n                      goto LAB_00111512;\n                    }" { (expression_statement "lVar5 = FUN_0010f4a0(param_1,2,1);" (assignment_expression "lVar5 = FUN_0010f4a0(param_1,2,1)" identifier = (call_expression "FUN_0010f4a0(param_1,2,1)" identifier (argument_list "(param_1,2,1)" ( identifier , number_literal , number_literal )))) ;) (goto_statement "goto LAB_00111512;" goto statement_identifier ;) })) (expression_statement "iVar2 = strcmp((char *)__s1,"void");" (assignment_expression "iVar2 = strcmp((char *)__s1,"void")" identifier = (call_expression "strcmp((char *)__s1,"void")" identifier (argument_list "((char *)__s1,"void")" ( (cast_expression "(char *)__s1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""void"" " string_content ") )))) ;) (if_statement "if (iVar2 == 0) {\n                      lVar5 = FUN_0010f490(param_1);\n                      goto LAB_00111512;\n                    }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n                      lVar5 = FUN_0010f490(param_1);\n                      goto LAB_00111512;\n                    }" { (expression_statement "lVar5 = FUN_0010f490(param_1);" (assignment_expression "lVar5 = FUN_0010f490(param_1)" identifier = (call_expression "FUN_0010f490(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (goto_statement "goto LAB_00111512;" goto statement_identifier ;) })) (expression_statement "iVar2 = strcmp((char *)__s1,"wchar_t");" (assignment_expression "iVar2 = strcmp((char *)__s1,"wchar_t")" identifier = (call_expression "strcmp((char *)__s1,"wchar_t")" identifier (argument_list "((char *)__s1,"wchar_t")" ( (cast_expression "(char *)__s1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""wchar_t"" " string_content ") )))) ;) (if_statement "if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }" { (expression_statement "iVar2 = strcmp((char *)__s1,"long long");" (assignment_expression "iVar2 = strcmp((char *)__s1,"long long")" identifier = (call_expression "strcmp((char *)__s1,"long long")" identifier (argument_list "((char *)__s1,"long long")" ( (cast_expression "(char *)__s1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""long long"" " string_content ") )))) ;) (if_statement "if (iVar2 == 0) {\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }" { (expression_statement "lVar5 = FUN_0010f4a0(param_1,8,0);" (assignment_expression "lVar5 = FUN_0010f4a0(param_1,8,0)" identifier = (call_expression "FUN_0010f4a0(param_1,8,0)" identifier (argument_list "(param_1,8,0)" ( identifier , number_literal , number_literal )))) ;) }) (else_clause "else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }" else (compound_statement "{\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }" { (expression_statement "iVar2 = strcmp((char *)__s1,"unsigned long long");" (assignment_expression "iVar2 = strcmp((char *)__s1,"unsigned long long")" identifier = (call_expression "strcmp((char *)__s1,"unsigned long long")" identifier (argument_list "((char *)__s1,"unsigned long long")" ( (cast_expression "(char *)__s1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""unsigned long long"" " string_content ") )))) ;) (if_statement "if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }" { (expression_statement "lVar5 = FUN_0010f4a0(param_1,8,1);" (assignment_expression "lVar5 = FUN_0010f4a0(param_1,8,1)" identifier = (call_expression "FUN_0010f4a0(param_1,8,1)" identifier (argument_list "(param_1,8,1)" ( identifier , number_literal , number_literal )))) ;) }) (else_clause "else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }" else (compound_statement "{\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }" { (expression_statement "iVar2 = strcmp((char *)__s1,"...");" (assignment_expression "iVar2 = strcmp((char *)__s1,"...")" identifier = (call_expression "strcmp((char *)__s1,"...")" identifier (argument_list "((char *)__s1,"...")" ( (cast_expression "(char *)__s1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""..."" " string_content ") )))) ;) (if_statement "if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }" { (expression_statement "pcVar7 = "Unexpected demangled varargs\n";" (assignment_expression "pcVar7 = "Unexpected demangled varargs\n"" identifier = (string_literal ""Unexpected demangled varargs\n"" " string_content escape_sequence ")) ;) (if_statement "if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }" if (parenthesized_expression "(param_5 != (undefined4 *)0x0)" ( (binary_expression "param_5 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }" { (expression_statement "*param_5 = 1;" (assignment_expression "*param_5 = 1" (pointer_expression "*param_5" * identifier) = number_literal) ;) (expression_statement "lVar5 = 0;" (assignment_expression "lVar5 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_00111512;" goto statement_identifier ;) })) }) (else_clause "else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }" else (compound_statement "{\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }" { (expression_statement "pcVar7 = "Unrecognized demangled builtin type\n";" (assignment_expression "pcVar7 = "Unrecognized demangled builtin type\n"" identifier = (string_literal ""Unrecognized demangled builtin type\n"" " string_content escape_sequence ")) ;) }))) (expression_statement "lVar5 = 0;" (assignment_expression "lVar5 = 0" identifier = number_literal) ;) (expression_statement "pcVar7 = (char *)dcgettext(0,pcVar7,5);" (assignment_expression "pcVar7 = (char *)dcgettext(0,pcVar7,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar7,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar7,5)" identifier (argument_list "(0,pcVar7,5)" ( number_literal , identifier , number_literal ))))) ;) (expression_statement "fprintf(stderr,pcVar7);" (call_expression "fprintf(stderr,pcVar7)" identifier (argument_list "(stderr,pcVar7)" ( identifier , identifier ))) ;) }))) }))) (goto_statement "goto LAB_00111512;" goto statement_identifier ;) })) })) })) (expression_statement "lVar5 = FUN_0010f4a0(param_1,4,1);" (assignment_expression "lVar5 = FUN_0010f4a0(param_1,4,1)" identifier = (call_expression "FUN_0010f4a0(param_1,4,1)" identifier (argument_list "(param_1,4,1)" ( identifier , number_literal , number_literal )))) ;) }))) (goto_statement "goto LAB_00111512;" goto statement_identifier ;) })) })) (expression_statement "lVar5 = FUN_0010f4c0(param_1,8);" (assignment_expression "lVar5 = FUN_0010f4c0(param_1,8)" identifier = (call_expression "FUN_0010f4c0(param_1,8)" identifier (argument_list "(param_1,8)" ( identifier , number_literal )))) ;) (goto_statement "goto LAB_00111512;" goto statement_identifier ;) })) })) (expression_statement "lVar5 = FUN_0010f4a0(param_1,1,0);" (assignment_expression "lVar5 = FUN_0010f4a0(param_1,1,0)" identifier = (call_expression "FUN_0010f4a0(param_1,1,0)" identifier (argument_list "(param_1,1,0)" ( identifier , number_literal , number_literal )))) ;) (labeled_statement "LAB_00111512:\n      free(__s1);" statement_identifier : (expression_statement "free(__s1);" (call_expression "free(__s1)" identifier (argument_list "(__s1)" ( identifier ))) ;)) (return_statement "return lVar5;" return identifier ;) })) (labeled_statement "LAB_0011152c:\n    pcVar7 = (char *)dcgettext(0,pcVar7,5);" statement_identifier : (expression_statement "pcVar7 = (char *)dcgettext(0,pcVar7,5);" (assignment_expression "pcVar7 = (char *)dcgettext(0,pcVar7,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar7,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar7,5)" identifier (argument_list "(0,pcVar7,5)" ( number_literal , identifier , number_literal ))))) ;)) (expression_statement "fprintf(stderr,pcVar7);" (call_expression "fprintf(stderr,pcVar7)" identifier (argument_list "(stderr,pcVar7)" ( identifier , identifier ))) ;) (break_statement "break;" break ;)) (case_statement "case 0x29:\n    if (*(long *)(param_3 + 2) == 0) {\n      lVar5 = FUN_0010f490(param_1);\n    }\n    else {\n      lVar5 = FUN_00110fa0(param_1,param_2,*(long *)(param_3 + 2),0,0);\n    }\n    if ((lVar5 != 0) &&\n       (lVar6 = FUN_00111730(param_1,param_2,*(undefined8 *)(param_3 + 4),local_40), lVar6 != 0)) {\n      lVar5 = FUN_0010f630(param_1,lVar5,lVar6,local_40[0]);\n      return lVar5;\n    }" case number_literal : (if_statement "if (*(long *)(param_3 + 2) == 0) {\n      lVar5 = FUN_0010f490(param_1);\n    }\n    else {\n      lVar5 = FUN_00110fa0(param_1,param_2,*(long *)(param_3 + 2),0,0);\n    }" if (parenthesized_expression "(*(long *)(param_3 + 2) == 0)" ( (binary_expression "*(long *)(param_3 + 2) == 0" (pointer_expression "*(long *)(param_3 + 2)" * (cast_expression "(long *)(param_3 + 2)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 2)" ( (binary_expression "param_3 + 2" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      lVar5 = FUN_0010f490(param_1);\n    }" { (expression_statement "lVar5 = FUN_0010f490(param_1);" (assignment_expression "lVar5 = FUN_0010f490(param_1)" identifier = (call_expression "FUN_0010f490(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) }) (else_clause "else {\n      lVar5 = FUN_00110fa0(param_1,param_2,*(long *)(param_3 + 2),0,0);\n    }" else (compound_statement "{\n      lVar5 = FUN_00110fa0(param_1,param_2,*(long *)(param_3 + 2),0,0);\n    }" { (expression_statement "lVar5 = FUN_00110fa0(param_1,param_2,*(long *)(param_3 + 2),0,0);" (assignment_expression "lVar5 = FUN_00110fa0(param_1,param_2,*(long *)(param_3 + 2),0,0)" identifier = (call_expression "FUN_00110fa0(param_1,param_2,*(long *)(param_3 + 2),0,0)" identifier (argument_list "(param_1,param_2,*(long *)(param_3 + 2),0,0)" ( identifier , identifier , (pointer_expression "*(long *)(param_3 + 2)" * (cast_expression "(long *)(param_3 + 2)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 2)" ( (binary_expression "param_3 + 2" identifier + number_literal) )))) , number_literal , number_literal )))) ;) }))) (if_statement "if ((lVar5 != 0) &&\n       (lVar6 = FUN_00111730(param_1,param_2,*(undefined8 *)(param_3 + 4),local_40), lVar6 != 0)) {\n      lVar5 = FUN_0010f630(param_1,lVar5,lVar6,local_40[0]);\n      return lVar5;\n    }" if (parenthesized_expression "((lVar5 != 0) &&\n       (lVar6 = FUN_00111730(param_1,param_2,*(undefined8 *)(param_3 + 4),local_40), lVar6 != 0))" ( (binary_expression "(lVar5 != 0) &&\n       (lVar6 = FUN_00111730(param_1,param_2,*(undefined8 *)(param_3 + 4),local_40), lVar6 != 0)" (parenthesized_expression "(lVar5 != 0)" ( (binary_expression "lVar5 != 0" identifier != number_literal) )) && (parenthesized_expression "(lVar6 = FUN_00111730(param_1,param_2,*(undefined8 *)(param_3 + 4),local_40), lVar6 != 0)" ( (comma_expression "lVar6 = FUN_00111730(param_1,param_2,*(undefined8 *)(param_3 + 4),local_40), lVar6 != 0" (assignment_expression "lVar6 = FUN_00111730(param_1,param_2,*(undefined8 *)(param_3 + 4),local_40)" identifier = (call_expression "FUN_00111730(param_1,param_2,*(undefined8 *)(param_3 + 4),local_40)" identifier (argument_list "(param_1,param_2,*(undefined8 *)(param_3 + 4),local_40)" ( identifier , identifier , (pointer_expression "*(undefined8 *)(param_3 + 4)" * (cast_expression "(undefined8 *)(param_3 + 4)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 4)" ( (binary_expression "param_3 + 4" identifier + number_literal) )))) , identifier )))) , (binary_expression "lVar6 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n      lVar5 = FUN_0010f630(param_1,lVar5,lVar6,local_40[0]);\n      return lVar5;\n    }" { (expression_statement "lVar5 = FUN_0010f630(param_1,lVar5,lVar6,local_40[0]);" (assignment_expression "lVar5 = FUN_0010f630(param_1,lVar5,lVar6,local_40[0])" identifier = (call_expression "FUN_0010f630(param_1,lVar5,lVar6,local_40[0])" identifier (argument_list "(param_1,lVar5,lVar6,local_40[0])" ( identifier , identifier , identifier , (subscript_expression "local_40[0]" identifier [ number_literal ]) )))) ;) (return_statement "return lVar5;" return identifier ;) }))) })) (return_statement "return 0;" return number_literal ;) })))
(translation_unit "debug_type\nstab_demangle_v3_arg\n          (void *dhandle,stab_handle *info,demangle_component *dc,debug_type context,\n          bfd_boolean *pvarargs)\n\n{\n  demangle_component_type dVar1;\n  demangle_component *dc_00;\n  int iVar2;\n  size_t sVar3;\n  byte *__s1;\n  debug_field *ppdVar4;\n  debug_type pdVar5;\n  debug_type_conflict *arg_types;\n  debug_type_conflict pdVar6;\n  char *pcVar7;\n  long lVar8;\n  byte *pbVar9;\n  byte *pbVar10;\n  bool bVar11;\n  bool bVar12;\n  bool bVar13;\n  byte bVar14;\n  size_t alc;\n  \n  bVar14 = 0;\n  if (pvarargs != (bfd_boolean *)0x0) {\n    *pvarargs = 0;\n  }\n  dVar1 = dc->type;\n  switch(dVar1) {\n  case DEMANGLE_COMPONENT_NAME:\n    if ((context != (debug_type)0x0) &&\n       (ppdVar4 = debug_get_fields(dhandle,context), ppdVar4 != (debug_field *)0x0)) {\n      for (; *ppdVar4 != (debug_field)0x0; ppdVar4 = ppdVar4 + 1) {\n        pdVar6 = debug_get_field_type(dhandle,*ppdVar4);\n        if (pdVar6 == (debug_type_conflict)0x0) {\n          return (debug_type)0x0;\n        }\n        pcVar7 = debug_get_type_name(dhandle,pdVar6);\n        if (pcVar7 != (char *)0x0) {\n          sVar3 = strlen(pcVar7);\n          iVar2 = (dc->u).s_name.len;\n          if ((iVar2 == (int)sVar3) &&\n             (iVar2 = strncmp(pcVar7,(dc->u).s_name.s,(long)iVar2), iVar2 == 0)) {\n            return pdVar6;\n          }\n        }\n      }\n    }\n  case DEMANGLE_COMPONENT_SUB_STD:\n    pdVar5 = stab_find_tagged_type\n                       (dhandle,(stab_handle *)&info->tags,(dc->u).s_name.s,(dc->u).s_name.len,\n                        DEBUG_KIND_ILLEGAL);\n    return pdVar5;\n  case DEMANGLE_COMPONENT_QUAL_NAME:\n    pdVar5 = stab_demangle_v3_arg(dhandle,info,(dc->u).s_fixed.length,context,(bfd_boolean *)0x0);\n    if (pdVar5 != (debug_type)0x0) {\n      pdVar5 = stab_demangle_v3_arg\n                         (dhandle,info,(dc->u).s_extended_operator.name,pdVar5,(bfd_boolean *)0x0);\n      return pdVar5;\n    }\n    break;\n  default:\n    pcVar7 = (char *)dcgettext(0,"Unrecognized demangle component %d\n",5);\n    fprintf(stderr,pcVar7,(ulong)dVar1);\n    return (debug_type)0x0;\n  case DEMANGLE_COMPONENT_TEMPLATE:\n    pcVar7 = (char *)cplus_demangle_print(3,dc,0x14,&alc);\n    if (pcVar7 != (char *)0x0) {\n      sVar3 = strlen(pcVar7);\n      pdVar5 = stab_find_tagged_type\n                         (dhandle,(stab_handle *)&info->tags,pcVar7,(int)sVar3,DEBUG_KIND_CLASS);\n      free(pcVar7);\n      return pdVar5;\n    }\n    pcVar7 = "Failed to print demangled template\n";\n    goto LAB_0011152c;\n  case DEMANGLE_COMPONENT_RESTRICT:\n  case DEMANGLE_COMPONENT_VOLATILE:\n  case DEMANGLE_COMPONENT_CONST:\n  case DEMANGLE_COMPONENT_POINTER:\n  case DEMANGLE_COMPONENT_REFERENCE:\n    pdVar5 = stab_demangle_v3_arg\n                       (dhandle,info,(dc->u).s_fixed.length,(debug_type)0x0,(bfd_boolean *)0x0);\n    if (pdVar5 != (debug_type)0x0) {\n      switch(dc->type) {\n      case DEMANGLE_COMPONENT_RESTRICT:\n        return pdVar5;\n      case DEMANGLE_COMPONENT_VOLATILE:\n        pdVar6 = debug_make_volatile_type(dhandle,pdVar5);\n        return pdVar6;\n      case DEMANGLE_COMPONENT_CONST:\n        pdVar6 = debug_make_const_type(dhandle,pdVar5);\n        return pdVar6;\n      default:\n                    /* WARNING: Subroutine does not return */\n        abort();\n      case DEMANGLE_COMPONENT_POINTER:\n        pdVar6 = debug_make_pointer_type(dhandle,pdVar5);\n        return pdVar6;\n      case DEMANGLE_COMPONENT_REFERENCE:\n        pdVar6 = debug_make_reference_type(dhandle,pdVar5);\n        return pdVar6;\n      }\n    }\n    break;\n  case DEMANGLE_COMPONENT_BUILTIN_TYPE:\n    __s1 = (byte *)cplus_demangle_print(3,dc,0x14,&alc);\n    pcVar7 = "Couldn\'t get demangled builtin type\n";\n    bVar11 = false;\n    bVar13 = __s1 == (byte *)0x0;\n    if (!bVar13) {\n      lVar8 = 0xc;\n      pbVar9 = __s1;\n      pbVar10 = (byte *)0x122f71;\n      do {\n        if (lVar8 == 0) break;\n        lVar8 = lVar8 + -1;\n        bVar11 = *pbVar9 < *pbVar10;\n        bVar13 = *pbVar9 == *pbVar10;\n        pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n      } while (bVar13);\n      bVar12 = false;\n      bVar11 = (!bVar11 && !bVar13) == bVar11;\n      if (!bVar11) {\n        lVar8 = 5;\n        pbVar9 = __s1;\n        pbVar10 = &DAT_0012307b;\n        do {\n          if (lVar8 == 0) break;\n          lVar8 = lVar8 + -1;\n          bVar12 = *pbVar9 < *pbVar10;\n          bVar11 = *pbVar9 == *pbVar10;\n          pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar13 = false;\n        bVar11 = (!bVar12 && !bVar11) == bVar12;\n        if (bVar11) {\n          pdVar6 = debug_make_bool_type(dhandle,1);\n          goto LAB_00111512;\n        }\n        lVar8 = 5;\n        pbVar9 = __s1;\n        pbVar10 = (byte *)0x122f78;\n        do {\n          if (lVar8 == 0) break;\n          lVar8 = lVar8 + -1;\n          bVar13 = *pbVar9 < *pbVar10;\n          bVar11 = *pbVar9 == *pbVar10;\n          pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar12 = false;\n        bVar11 = (!bVar13 && !bVar11) == bVar13;\n        if (!bVar11) {\n          lVar8 = 7;\n          pbVar9 = __s1;\n          pbVar10 = (byte *)0x122fb3;\n          do {\n            if (lVar8 == 0) break;\n            lVar8 = lVar8 + -1;\n            bVar12 = *pbVar9 < *pbVar10;\n            bVar11 = *pbVar9 == *pbVar10;\n            pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n            pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n          } while (bVar11);\n          bVar13 = false;\n          bVar11 = (!bVar12 && !bVar11) == bVar12;\n          if (!bVar11) {\n            lVar8 = 0xc;\n            pbVar9 = __s1;\n            pbVar10 = (byte *)"long double";\n            do {\n              if (lVar8 == 0) break;\n              lVar8 = lVar8 + -1;\n              bVar13 = *pbVar9 < *pbVar10;\n              bVar11 = *pbVar9 == *pbVar10;\n              pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n            } while (bVar11);\n            bVar12 = false;\n            bVar11 = (!bVar13 && !bVar11) == bVar13;\n            if (!bVar11) {\n              lVar8 = 6;\n              pbVar9 = __s1;\n              pbVar10 = (byte *)"float";\n              do {\n                if (lVar8 == 0) break;\n                lVar8 = lVar8 + -1;\n                bVar12 = *pbVar9 < *pbVar10;\n                bVar11 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar13 = false;\n              bVar11 = (!bVar12 && !bVar11) == bVar12;\n              if (bVar11) {\n                pdVar6 = debug_make_float_type(dhandle,4);\n                goto LAB_00111512;\n              }\n              lVar8 = 0xb;\n              pbVar9 = __s1;\n              pbVar10 = (byte *)"__float128";\n              do {\n                if (lVar8 == 0) break;\n                lVar8 = lVar8 + -1;\n                bVar13 = *pbVar9 < *pbVar10;\n                bVar11 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\n                pdVar6 = debug_make_float_type(dhandle,0x10);\n                goto LAB_00111512;\n              }\n              lVar8 = 0xe;\n              pbVar9 = __s1;\n              pbVar10 = (byte *)"unsigned char";\n              do {\n                if (lVar8 == 0) break;\n                lVar8 = lVar8 + -1;\n                bVar12 = *pbVar9 < *pbVar10;\n                bVar11 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar13 = false;\n              bVar11 = (!bVar12 && !bVar11) == bVar12;\n              if (bVar11) {\n                pdVar6 = debug_make_int_type(dhandle,1,1);\n                goto LAB_00111512;\n              }\n              lVar8 = 4;\n              pbVar9 = __s1;\n              pbVar10 = (byte *)0x1230d2;\n              do {\n                if (lVar8 == 0) break;\n                lVar8 = lVar8 + -1;\n                bVar13 = *pbVar9 < *pbVar10;\n                bVar11 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\nLAB_00111631:\n                pdVar6 = debug_make_int_type(dhandle,4,0);\n              }\n              else {\n                lVar8 = 0xd;\n                pbVar9 = __s1;\n                pbVar10 = (byte *)0x1230c9;\n                do {\n                  if (lVar8 == 0) break;\n                  lVar8 = lVar8 + -1;\n                  bVar12 = *pbVar9 < *pbVar10;\n                  bVar11 = *pbVar9 == *pbVar10;\n                  pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  lVar8 = 5;\n                  pbVar9 = __s1;\n                  pbVar10 = (byte *)0x122f9e;\n                  do {\n                    if (lVar8 == 0) break;\n                    lVar8 = lVar8 + -1;\n                    bVar13 = *pbVar9 < *pbVar10;\n                    bVar11 = *pbVar9 == *pbVar10;\n                    pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto LAB_00111631;\n                  lVar8 = 0xe;\n                  pbVar9 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    if (lVar8 == 0) break;\n                    lVar8 = lVar8 + -1;\n                    bVar12 = *pbVar9 < *pbVar10;\n                    bVar11 = *pbVar9 == *pbVar10;\n                    pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_void_type(dhandle);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        pdVar6 = debug_make_int_type(dhandle,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          pdVar6 = debug_make_int_type(dhandle,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (pvarargs != (bfd_boolean *)0x0) {\n                              *pvarargs = 1;\n                              pdVar6 = (debug_type)0x0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          pdVar6 = (debug_type)0x0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }\n                pdVar6 = debug_make_int_type(dhandle,4,1);\n              }\n              goto LAB_00111512;\n            }\n          }\n          pdVar6 = debug_make_float_type(dhandle,8);\n          goto LAB_00111512;\n        }\n      }\n      pdVar6 = debug_make_int_type(dhandle,1,0);\nLAB_00111512:\n      free(__s1);\n      return pdVar6;\n    }\nLAB_0011152c:\n    pcVar7 = (char *)dcgettext(0,pcVar7,5);\n    fprintf(stderr,pcVar7);\n    break;\n  case DEMANGLE_COMPONENT_FUNCTION_TYPE:\n    dc_00 = (dc->u).s_fixed.length;\n    if (dc_00 == (demangle_component *)0x0) {\n      pdVar5 = debug_make_void_type(dhandle);\n    }\n    else {\n      pdVar5 = stab_demangle_v3_arg(dhandle,info,dc_00,(debug_type)0x0,(bfd_boolean *)0x0);\n    }\n    if ((pdVar5 != (debug_type_conflict)0x0) &&\n       (arg_types = stab_demangle_v3_arglist\n                              (dhandle,info,(dc->u).s_extended_operator.name,(bfd_boolean *)&alc),\n       arg_types != (debug_type_conflict *)0x0)) {\n      pdVar6 = debug_make_function_type(dhandle,pdVar5,arg_types,(bfd_boolean)alc);\n      return pdVar6;\n    }\n  }\n  return (debug_type)0x0;\n}\n\n" (function_definition "debug_type\nstab_demangle_v3_arg\n          (void *dhandle,stab_handle *info,demangle_component *dc,debug_type context,\n          bfd_boolean *pvarargs)\n\n{\n  demangle_component_type dVar1;\n  demangle_component *dc_00;\n  int iVar2;\n  size_t sVar3;\n  byte *__s1;\n  debug_field *ppdVar4;\n  debug_type pdVar5;\n  debug_type_conflict *arg_types;\n  debug_type_conflict pdVar6;\n  char *pcVar7;\n  long lVar8;\n  byte *pbVar9;\n  byte *pbVar10;\n  bool bVar11;\n  bool bVar12;\n  bool bVar13;\n  byte bVar14;\n  size_t alc;\n  \n  bVar14 = 0;\n  if (pvarargs != (bfd_boolean *)0x0) {\n    *pvarargs = 0;\n  }\n  dVar1 = dc->type;\n  switch(dVar1) {\n  case DEMANGLE_COMPONENT_NAME:\n    if ((context != (debug_type)0x0) &&\n       (ppdVar4 = debug_get_fields(dhandle,context), ppdVar4 != (debug_field *)0x0)) {\n      for (; *ppdVar4 != (debug_field)0x0; ppdVar4 = ppdVar4 + 1) {\n        pdVar6 = debug_get_field_type(dhandle,*ppdVar4);\n        if (pdVar6 == (debug_type_conflict)0x0) {\n          return (debug_type)0x0;\n        }\n        pcVar7 = debug_get_type_name(dhandle,pdVar6);\n        if (pcVar7 != (char *)0x0) {\n          sVar3 = strlen(pcVar7);\n          iVar2 = (dc->u).s_name.len;\n          if ((iVar2 == (int)sVar3) &&\n             (iVar2 = strncmp(pcVar7,(dc->u).s_name.s,(long)iVar2), iVar2 == 0)) {\n            return pdVar6;\n          }\n        }\n      }\n    }\n  case DEMANGLE_COMPONENT_SUB_STD:\n    pdVar5 = stab_find_tagged_type\n                       (dhandle,(stab_handle *)&info->tags,(dc->u).s_name.s,(dc->u).s_name.len,\n                        DEBUG_KIND_ILLEGAL);\n    return pdVar5;\n  case DEMANGLE_COMPONENT_QUAL_NAME:\n    pdVar5 = stab_demangle_v3_arg(dhandle,info,(dc->u).s_fixed.length,context,(bfd_boolean *)0x0);\n    if (pdVar5 != (debug_type)0x0) {\n      pdVar5 = stab_demangle_v3_arg\n                         (dhandle,info,(dc->u).s_extended_operator.name,pdVar5,(bfd_boolean *)0x0);\n      return pdVar5;\n    }\n    break;\n  default:\n    pcVar7 = (char *)dcgettext(0,"Unrecognized demangle component %d\n",5);\n    fprintf(stderr,pcVar7,(ulong)dVar1);\n    return (debug_type)0x0;\n  case DEMANGLE_COMPONENT_TEMPLATE:\n    pcVar7 = (char *)cplus_demangle_print(3,dc,0x14,&alc);\n    if (pcVar7 != (char *)0x0) {\n      sVar3 = strlen(pcVar7);\n      pdVar5 = stab_find_tagged_type\n                         (dhandle,(stab_handle *)&info->tags,pcVar7,(int)sVar3,DEBUG_KIND_CLASS);\n      free(pcVar7);\n      return pdVar5;\n    }\n    pcVar7 = "Failed to print demangled template\n";\n    goto LAB_0011152c;\n  case DEMANGLE_COMPONENT_RESTRICT:\n  case DEMANGLE_COMPONENT_VOLATILE:\n  case DEMANGLE_COMPONENT_CONST:\n  case DEMANGLE_COMPONENT_POINTER:\n  case DEMANGLE_COMPONENT_REFERENCE:\n    pdVar5 = stab_demangle_v3_arg\n                       (dhandle,info,(dc->u).s_fixed.length,(debug_type)0x0,(bfd_boolean *)0x0);\n    if (pdVar5 != (debug_type)0x0) {\n      switch(dc->type) {\n      case DEMANGLE_COMPONENT_RESTRICT:\n        return pdVar5;\n      case DEMANGLE_COMPONENT_VOLATILE:\n        pdVar6 = debug_make_volatile_type(dhandle,pdVar5);\n        return pdVar6;\n      case DEMANGLE_COMPONENT_CONST:\n        pdVar6 = debug_make_const_type(dhandle,pdVar5);\n        return pdVar6;\n      default:\n                    /* WARNING: Subroutine does not return */\n        abort();\n      case DEMANGLE_COMPONENT_POINTER:\n        pdVar6 = debug_make_pointer_type(dhandle,pdVar5);\n        return pdVar6;\n      case DEMANGLE_COMPONENT_REFERENCE:\n        pdVar6 = debug_make_reference_type(dhandle,pdVar5);\n        return pdVar6;\n      }\n    }\n    break;\n  case DEMANGLE_COMPONENT_BUILTIN_TYPE:\n    __s1 = (byte *)cplus_demangle_print(3,dc,0x14,&alc);\n    pcVar7 = "Couldn\'t get demangled builtin type\n";\n    bVar11 = false;\n    bVar13 = __s1 == (byte *)0x0;\n    if (!bVar13) {\n      lVar8 = 0xc;\n      pbVar9 = __s1;\n      pbVar10 = (byte *)0x122f71;\n      do {\n        if (lVar8 == 0) break;\n        lVar8 = lVar8 + -1;\n        bVar11 = *pbVar9 < *pbVar10;\n        bVar13 = *pbVar9 == *pbVar10;\n        pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n      } while (bVar13);\n      bVar12 = false;\n      bVar11 = (!bVar11 && !bVar13) == bVar11;\n      if (!bVar11) {\n        lVar8 = 5;\n        pbVar9 = __s1;\n        pbVar10 = &DAT_0012307b;\n        do {\n          if (lVar8 == 0) break;\n          lVar8 = lVar8 + -1;\n          bVar12 = *pbVar9 < *pbVar10;\n          bVar11 = *pbVar9 == *pbVar10;\n          pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar13 = false;\n        bVar11 = (!bVar12 && !bVar11) == bVar12;\n        if (bVar11) {\n          pdVar6 = debug_make_bool_type(dhandle,1);\n          goto LAB_00111512;\n        }\n        lVar8 = 5;\n        pbVar9 = __s1;\n        pbVar10 = (byte *)0x122f78;\n        do {\n          if (lVar8 == 0) break;\n          lVar8 = lVar8 + -1;\n          bVar13 = *pbVar9 < *pbVar10;\n          bVar11 = *pbVar9 == *pbVar10;\n          pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar12 = false;\n        bVar11 = (!bVar13 && !bVar11) == bVar13;\n        if (!bVar11) {\n          lVar8 = 7;\n          pbVar9 = __s1;\n          pbVar10 = (byte *)0x122fb3;\n          do {\n            if (lVar8 == 0) break;\n            lVar8 = lVar8 + -1;\n            bVar12 = *pbVar9 < *pbVar10;\n            bVar11 = *pbVar9 == *pbVar10;\n            pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n            pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n          } while (bVar11);\n          bVar13 = false;\n          bVar11 = (!bVar12 && !bVar11) == bVar12;\n          if (!bVar11) {\n            lVar8 = 0xc;\n            pbVar9 = __s1;\n            pbVar10 = (byte *)"long double";\n            do {\n              if (lVar8 == 0) break;\n              lVar8 = lVar8 + -1;\n              bVar13 = *pbVar9 < *pbVar10;\n              bVar11 = *pbVar9 == *pbVar10;\n              pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n            } while (bVar11);\n            bVar12 = false;\n            bVar11 = (!bVar13 && !bVar11) == bVar13;\n            if (!bVar11) {\n              lVar8 = 6;\n              pbVar9 = __s1;\n              pbVar10 = (byte *)"float";\n              do {\n                if (lVar8 == 0) break;\n                lVar8 = lVar8 + -1;\n                bVar12 = *pbVar9 < *pbVar10;\n                bVar11 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar13 = false;\n              bVar11 = (!bVar12 && !bVar11) == bVar12;\n              if (bVar11) {\n                pdVar6 = debug_make_float_type(dhandle,4);\n                goto LAB_00111512;\n              }\n              lVar8 = 0xb;\n              pbVar9 = __s1;\n              pbVar10 = (byte *)"__float128";\n              do {\n                if (lVar8 == 0) break;\n                lVar8 = lVar8 + -1;\n                bVar13 = *pbVar9 < *pbVar10;\n                bVar11 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\n                pdVar6 = debug_make_float_type(dhandle,0x10);\n                goto LAB_00111512;\n              }\n              lVar8 = 0xe;\n              pbVar9 = __s1;\n              pbVar10 = (byte *)"unsigned char";\n              do {\n                if (lVar8 == 0) break;\n                lVar8 = lVar8 + -1;\n                bVar12 = *pbVar9 < *pbVar10;\n                bVar11 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar13 = false;\n              bVar11 = (!bVar12 && !bVar11) == bVar12;\n              if (bVar11) {\n                pdVar6 = debug_make_int_type(dhandle,1,1);\n                goto LAB_00111512;\n              }\n              lVar8 = 4;\n              pbVar9 = __s1;\n              pbVar10 = (byte *)0x1230d2;\n              do {\n                if (lVar8 == 0) break;\n                lVar8 = lVar8 + -1;\n                bVar13 = *pbVar9 < *pbVar10;\n                bVar11 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\nLAB_00111631:\n                pdVar6 = debug_make_int_type(dhandle,4,0);\n              }\n              else {\n                lVar8 = 0xd;\n                pbVar9 = __s1;\n                pbVar10 = (byte *)0x1230c9;\n                do {\n                  if (lVar8 == 0) break;\n                  lVar8 = lVar8 + -1;\n                  bVar12 = *pbVar9 < *pbVar10;\n                  bVar11 = *pbVar9 == *pbVar10;\n                  pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  lVar8 = 5;\n                  pbVar9 = __s1;\n                  pbVar10 = (byte *)0x122f9e;\n                  do {\n                    if (lVar8 == 0) break;\n                    lVar8 = lVar8 + -1;\n                    bVar13 = *pbVar9 < *pbVar10;\n                    bVar11 = *pbVar9 == *pbVar10;\n                    pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto LAB_00111631;\n                  lVar8 = 0xe;\n                  pbVar9 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    if (lVar8 == 0) break;\n                    lVar8 = lVar8 + -1;\n                    bVar12 = *pbVar9 < *pbVar10;\n                    bVar11 = *pbVar9 == *pbVar10;\n                    pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_void_type(dhandle);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        pdVar6 = debug_make_int_type(dhandle,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          pdVar6 = debug_make_int_type(dhandle,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (pvarargs != (bfd_boolean *)0x0) {\n                              *pvarargs = 1;\n                              pdVar6 = (debug_type)0x0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          pdVar6 = (debug_type)0x0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }\n                pdVar6 = debug_make_int_type(dhandle,4,1);\n              }\n              goto LAB_00111512;\n            }\n          }\n          pdVar6 = debug_make_float_type(dhandle,8);\n          goto LAB_00111512;\n        }\n      }\n      pdVar6 = debug_make_int_type(dhandle,1,0);\nLAB_00111512:\n      free(__s1);\n      return pdVar6;\n    }\nLAB_0011152c:\n    pcVar7 = (char *)dcgettext(0,pcVar7,5);\n    fprintf(stderr,pcVar7);\n    break;\n  case DEMANGLE_COMPONENT_FUNCTION_TYPE:\n    dc_00 = (dc->u).s_fixed.length;\n    if (dc_00 == (demangle_component *)0x0) {\n      pdVar5 = debug_make_void_type(dhandle);\n    }\n    else {\n      pdVar5 = stab_demangle_v3_arg(dhandle,info,dc_00,(debug_type)0x0,(bfd_boolean *)0x0);\n    }\n    if ((pdVar5 != (debug_type_conflict)0x0) &&\n       (arg_types = stab_demangle_v3_arglist\n                              (dhandle,info,(dc->u).s_extended_operator.name,(bfd_boolean *)&alc),\n       arg_types != (debug_type_conflict *)0x0)) {\n      pdVar6 = debug_make_function_type(dhandle,pdVar5,arg_types,(bfd_boolean)alc);\n      return pdVar6;\n    }\n  }\n  return (debug_type)0x0;\n}" type_identifier (function_declarator "stab_demangle_v3_arg\n          (void *dhandle,stab_handle *info,demangle_component *dc,debug_type context,\n          bfd_boolean *pvarargs)" identifier (parameter_list "(void *dhandle,stab_handle *info,demangle_component *dc,debug_type context,\n          bfd_boolean *pvarargs)" ( (parameter_declaration "void *dhandle" primitive_type (pointer_declarator "*dhandle" * identifier)) , (parameter_declaration "stab_handle *info" type_identifier (pointer_declarator "*info" * identifier)) , (parameter_declaration "demangle_component *dc" type_identifier (pointer_declarator "*dc" * identifier)) , (parameter_declaration "debug_type context" type_identifier identifier) , (parameter_declaration "bfd_boolean *pvarargs" type_identifier (pointer_declarator "*pvarargs" * identifier)) ))) (compound_statement "{\n  demangle_component_type dVar1;\n  demangle_component *dc_00;\n  int iVar2;\n  size_t sVar3;\n  byte *__s1;\n  debug_field *ppdVar4;\n  debug_type pdVar5;\n  debug_type_conflict *arg_types;\n  debug_type_conflict pdVar6;\n  char *pcVar7;\n  long lVar8;\n  byte *pbVar9;\n  byte *pbVar10;\n  bool bVar11;\n  bool bVar12;\n  bool bVar13;\n  byte bVar14;\n  size_t alc;\n  \n  bVar14 = 0;\n  if (pvarargs != (bfd_boolean *)0x0) {\n    *pvarargs = 0;\n  }\n  dVar1 = dc->type;\n  switch(dVar1) {\n  case DEMANGLE_COMPONENT_NAME:\n    if ((context != (debug_type)0x0) &&\n       (ppdVar4 = debug_get_fields(dhandle,context), ppdVar4 != (debug_field *)0x0)) {\n      for (; *ppdVar4 != (debug_field)0x0; ppdVar4 = ppdVar4 + 1) {\n        pdVar6 = debug_get_field_type(dhandle,*ppdVar4);\n        if (pdVar6 == (debug_type_conflict)0x0) {\n          return (debug_type)0x0;\n        }\n        pcVar7 = debug_get_type_name(dhandle,pdVar6);\n        if (pcVar7 != (char *)0x0) {\n          sVar3 = strlen(pcVar7);\n          iVar2 = (dc->u).s_name.len;\n          if ((iVar2 == (int)sVar3) &&\n             (iVar2 = strncmp(pcVar7,(dc->u).s_name.s,(long)iVar2), iVar2 == 0)) {\n            return pdVar6;\n          }\n        }\n      }\n    }\n  case DEMANGLE_COMPONENT_SUB_STD:\n    pdVar5 = stab_find_tagged_type\n                       (dhandle,(stab_handle *)&info->tags,(dc->u).s_name.s,(dc->u).s_name.len,\n                        DEBUG_KIND_ILLEGAL);\n    return pdVar5;\n  case DEMANGLE_COMPONENT_QUAL_NAME:\n    pdVar5 = stab_demangle_v3_arg(dhandle,info,(dc->u).s_fixed.length,context,(bfd_boolean *)0x0);\n    if (pdVar5 != (debug_type)0x0) {\n      pdVar5 = stab_demangle_v3_arg\n                         (dhandle,info,(dc->u).s_extended_operator.name,pdVar5,(bfd_boolean *)0x0);\n      return pdVar5;\n    }\n    break;\n  default:\n    pcVar7 = (char *)dcgettext(0,"Unrecognized demangle component %d\n",5);\n    fprintf(stderr,pcVar7,(ulong)dVar1);\n    return (debug_type)0x0;\n  case DEMANGLE_COMPONENT_TEMPLATE:\n    pcVar7 = (char *)cplus_demangle_print(3,dc,0x14,&alc);\n    if (pcVar7 != (char *)0x0) {\n      sVar3 = strlen(pcVar7);\n      pdVar5 = stab_find_tagged_type\n                         (dhandle,(stab_handle *)&info->tags,pcVar7,(int)sVar3,DEBUG_KIND_CLASS);\n      free(pcVar7);\n      return pdVar5;\n    }\n    pcVar7 = "Failed to print demangled template\n";\n    goto LAB_0011152c;\n  case DEMANGLE_COMPONENT_RESTRICT:\n  case DEMANGLE_COMPONENT_VOLATILE:\n  case DEMANGLE_COMPONENT_CONST:\n  case DEMANGLE_COMPONENT_POINTER:\n  case DEMANGLE_COMPONENT_REFERENCE:\n    pdVar5 = stab_demangle_v3_arg\n                       (dhandle,info,(dc->u).s_fixed.length,(debug_type)0x0,(bfd_boolean *)0x0);\n    if (pdVar5 != (debug_type)0x0) {\n      switch(dc->type) {\n      case DEMANGLE_COMPONENT_RESTRICT:\n        return pdVar5;\n      case DEMANGLE_COMPONENT_VOLATILE:\n        pdVar6 = debug_make_volatile_type(dhandle,pdVar5);\n        return pdVar6;\n      case DEMANGLE_COMPONENT_CONST:\n        pdVar6 = debug_make_const_type(dhandle,pdVar5);\n        return pdVar6;\n      default:\n                    /* WARNING: Subroutine does not return */\n        abort();\n      case DEMANGLE_COMPONENT_POINTER:\n        pdVar6 = debug_make_pointer_type(dhandle,pdVar5);\n        return pdVar6;\n      case DEMANGLE_COMPONENT_REFERENCE:\n        pdVar6 = debug_make_reference_type(dhandle,pdVar5);\n        return pdVar6;\n      }\n    }\n    break;\n  case DEMANGLE_COMPONENT_BUILTIN_TYPE:\n    __s1 = (byte *)cplus_demangle_print(3,dc,0x14,&alc);\n    pcVar7 = "Couldn\'t get demangled builtin type\n";\n    bVar11 = false;\n    bVar13 = __s1 == (byte *)0x0;\n    if (!bVar13) {\n      lVar8 = 0xc;\n      pbVar9 = __s1;\n      pbVar10 = (byte *)0x122f71;\n      do {\n        if (lVar8 == 0) break;\n        lVar8 = lVar8 + -1;\n        bVar11 = *pbVar9 < *pbVar10;\n        bVar13 = *pbVar9 == *pbVar10;\n        pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n      } while (bVar13);\n      bVar12 = false;\n      bVar11 = (!bVar11 && !bVar13) == bVar11;\n      if (!bVar11) {\n        lVar8 = 5;\n        pbVar9 = __s1;\n        pbVar10 = &DAT_0012307b;\n        do {\n          if (lVar8 == 0) break;\n          lVar8 = lVar8 + -1;\n          bVar12 = *pbVar9 < *pbVar10;\n          bVar11 = *pbVar9 == *pbVar10;\n          pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar13 = false;\n        bVar11 = (!bVar12 && !bVar11) == bVar12;\n        if (bVar11) {\n          pdVar6 = debug_make_bool_type(dhandle,1);\n          goto LAB_00111512;\n        }\n        lVar8 = 5;\n        pbVar9 = __s1;\n        pbVar10 = (byte *)0x122f78;\n        do {\n          if (lVar8 == 0) break;\n          lVar8 = lVar8 + -1;\n          bVar13 = *pbVar9 < *pbVar10;\n          bVar11 = *pbVar9 == *pbVar10;\n          pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar12 = false;\n        bVar11 = (!bVar13 && !bVar11) == bVar13;\n        if (!bVar11) {\n          lVar8 = 7;\n          pbVar9 = __s1;\n          pbVar10 = (byte *)0x122fb3;\n          do {\n            if (lVar8 == 0) break;\n            lVar8 = lVar8 + -1;\n            bVar12 = *pbVar9 < *pbVar10;\n            bVar11 = *pbVar9 == *pbVar10;\n            pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n            pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n          } while (bVar11);\n          bVar13 = false;\n          bVar11 = (!bVar12 && !bVar11) == bVar12;\n          if (!bVar11) {\n            lVar8 = 0xc;\n            pbVar9 = __s1;\n            pbVar10 = (byte *)"long double";\n            do {\n              if (lVar8 == 0) break;\n              lVar8 = lVar8 + -1;\n              bVar13 = *pbVar9 < *pbVar10;\n              bVar11 = *pbVar9 == *pbVar10;\n              pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n            } while (bVar11);\n            bVar12 = false;\n            bVar11 = (!bVar13 && !bVar11) == bVar13;\n            if (!bVar11) {\n              lVar8 = 6;\n              pbVar9 = __s1;\n              pbVar10 = (byte *)"float";\n              do {\n                if (lVar8 == 0) break;\n                lVar8 = lVar8 + -1;\n                bVar12 = *pbVar9 < *pbVar10;\n                bVar11 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar13 = false;\n              bVar11 = (!bVar12 && !bVar11) == bVar12;\n              if (bVar11) {\n                pdVar6 = debug_make_float_type(dhandle,4);\n                goto LAB_00111512;\n              }\n              lVar8 = 0xb;\n              pbVar9 = __s1;\n              pbVar10 = (byte *)"__float128";\n              do {\n                if (lVar8 == 0) break;\n                lVar8 = lVar8 + -1;\n                bVar13 = *pbVar9 < *pbVar10;\n                bVar11 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\n                pdVar6 = debug_make_float_type(dhandle,0x10);\n                goto LAB_00111512;\n              }\n              lVar8 = 0xe;\n              pbVar9 = __s1;\n              pbVar10 = (byte *)"unsigned char";\n              do {\n                if (lVar8 == 0) break;\n                lVar8 = lVar8 + -1;\n                bVar12 = *pbVar9 < *pbVar10;\n                bVar11 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar13 = false;\n              bVar11 = (!bVar12 && !bVar11) == bVar12;\n              if (bVar11) {\n                pdVar6 = debug_make_int_type(dhandle,1,1);\n                goto LAB_00111512;\n              }\n              lVar8 = 4;\n              pbVar9 = __s1;\n              pbVar10 = (byte *)0x1230d2;\n              do {\n                if (lVar8 == 0) break;\n                lVar8 = lVar8 + -1;\n                bVar13 = *pbVar9 < *pbVar10;\n                bVar11 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\nLAB_00111631:\n                pdVar6 = debug_make_int_type(dhandle,4,0);\n              }\n              else {\n                lVar8 = 0xd;\n                pbVar9 = __s1;\n                pbVar10 = (byte *)0x1230c9;\n                do {\n                  if (lVar8 == 0) break;\n                  lVar8 = lVar8 + -1;\n                  bVar12 = *pbVar9 < *pbVar10;\n                  bVar11 = *pbVar9 == *pbVar10;\n                  pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  lVar8 = 5;\n                  pbVar9 = __s1;\n                  pbVar10 = (byte *)0x122f9e;\n                  do {\n                    if (lVar8 == 0) break;\n                    lVar8 = lVar8 + -1;\n                    bVar13 = *pbVar9 < *pbVar10;\n                    bVar11 = *pbVar9 == *pbVar10;\n                    pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto LAB_00111631;\n                  lVar8 = 0xe;\n                  pbVar9 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    if (lVar8 == 0) break;\n                    lVar8 = lVar8 + -1;\n                    bVar12 = *pbVar9 < *pbVar10;\n                    bVar11 = *pbVar9 == *pbVar10;\n                    pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_void_type(dhandle);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        pdVar6 = debug_make_int_type(dhandle,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          pdVar6 = debug_make_int_type(dhandle,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (pvarargs != (bfd_boolean *)0x0) {\n                              *pvarargs = 1;\n                              pdVar6 = (debug_type)0x0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          pdVar6 = (debug_type)0x0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }\n                pdVar6 = debug_make_int_type(dhandle,4,1);\n              }\n              goto LAB_00111512;\n            }\n          }\n          pdVar6 = debug_make_float_type(dhandle,8);\n          goto LAB_00111512;\n        }\n      }\n      pdVar6 = debug_make_int_type(dhandle,1,0);\nLAB_00111512:\n      free(__s1);\n      return pdVar6;\n    }\nLAB_0011152c:\n    pcVar7 = (char *)dcgettext(0,pcVar7,5);\n    fprintf(stderr,pcVar7);\n    break;\n  case DEMANGLE_COMPONENT_FUNCTION_TYPE:\n    dc_00 = (dc->u).s_fixed.length;\n    if (dc_00 == (demangle_component *)0x0) {\n      pdVar5 = debug_make_void_type(dhandle);\n    }\n    else {\n      pdVar5 = stab_demangle_v3_arg(dhandle,info,dc_00,(debug_type)0x0,(bfd_boolean *)0x0);\n    }\n    if ((pdVar5 != (debug_type_conflict)0x0) &&\n       (arg_types = stab_demangle_v3_arglist\n                              (dhandle,info,(dc->u).s_extended_operator.name,(bfd_boolean *)&alc),\n       arg_types != (debug_type_conflict *)0x0)) {\n      pdVar6 = debug_make_function_type(dhandle,pdVar5,arg_types,(bfd_boolean)alc);\n      return pdVar6;\n    }\n  }\n  return (debug_type)0x0;\n}" { (declaration "demangle_component_type dVar1;" type_identifier identifier ;) (declaration "demangle_component *dc_00;" type_identifier (pointer_declarator "*dc_00" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "size_t sVar3;" primitive_type identifier ;) (declaration "byte *__s1;" type_identifier (pointer_declarator "*__s1" * identifier) ;) (declaration "debug_field *ppdVar4;" type_identifier (pointer_declarator "*ppdVar4" * identifier) ;) (declaration "debug_type pdVar5;" type_identifier identifier ;) (declaration "debug_type_conflict *arg_types;" type_identifier (pointer_declarator "*arg_types" * identifier) ;) (declaration "debug_type_conflict pdVar6;" type_identifier identifier ;) (declaration "char *pcVar7;" primitive_type (pointer_declarator "*pcVar7" * identifier) ;) (declaration "long lVar8;" (sized_type_specifier "long" long) identifier ;) (declaration "byte *pbVar9;" type_identifier (pointer_declarator "*pbVar9" * identifier) ;) (declaration "byte *pbVar10;" type_identifier (pointer_declarator "*pbVar10" * identifier) ;) (declaration "bool bVar11;" primitive_type identifier ;) (declaration "bool bVar12;" primitive_type identifier ;) (declaration "bool bVar13;" primitive_type identifier ;) (declaration "byte bVar14;" type_identifier identifier ;) (declaration "size_t alc;" primitive_type identifier ;) (expression_statement "bVar14 = 0;" (assignment_expression "bVar14 = 0" identifier = number_literal) ;) (if_statement "if (pvarargs != (bfd_boolean *)0x0) {\n    *pvarargs = 0;\n  }" if (parenthesized_expression "(pvarargs != (bfd_boolean *)0x0)" ( (binary_expression "pvarargs != (bfd_boolean *)0x0" identifier != (cast_expression "(bfd_boolean *)0x0" ( (type_descriptor "bfd_boolean *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    *pvarargs = 0;\n  }" { (expression_statement "*pvarargs = 0;" (assignment_expression "*pvarargs = 0" (pointer_expression "*pvarargs" * identifier) = number_literal) ;) })) (expression_statement "dVar1 = dc->type;" (assignment_expression "dVar1 = dc->type" identifier = (field_expression "dc->type" identifier -> field_identifier)) ;) (switch_statement "switch(dVar1) {\n  case DEMANGLE_COMPONENT_NAME:\n    if ((context != (debug_type)0x0) &&\n       (ppdVar4 = debug_get_fields(dhandle,context), ppdVar4 != (debug_field *)0x0)) {\n      for (; *ppdVar4 != (debug_field)0x0; ppdVar4 = ppdVar4 + 1) {\n        pdVar6 = debug_get_field_type(dhandle,*ppdVar4);\n        if (pdVar6 == (debug_type_conflict)0x0) {\n          return (debug_type)0x0;\n        }\n        pcVar7 = debug_get_type_name(dhandle,pdVar6);\n        if (pcVar7 != (char *)0x0) {\n          sVar3 = strlen(pcVar7);\n          iVar2 = (dc->u).s_name.len;\n          if ((iVar2 == (int)sVar3) &&\n             (iVar2 = strncmp(pcVar7,(dc->u).s_name.s,(long)iVar2), iVar2 == 0)) {\n            return pdVar6;\n          }\n        }\n      }\n    }\n  case DEMANGLE_COMPONENT_SUB_STD:\n    pdVar5 = stab_find_tagged_type\n                       (dhandle,(stab_handle *)&info->tags,(dc->u).s_name.s,(dc->u).s_name.len,\n                        DEBUG_KIND_ILLEGAL);\n    return pdVar5;\n  case DEMANGLE_COMPONENT_QUAL_NAME:\n    pdVar5 = stab_demangle_v3_arg(dhandle,info,(dc->u).s_fixed.length,context,(bfd_boolean *)0x0);\n    if (pdVar5 != (debug_type)0x0) {\n      pdVar5 = stab_demangle_v3_arg\n                         (dhandle,info,(dc->u).s_extended_operator.name,pdVar5,(bfd_boolean *)0x0);\n      return pdVar5;\n    }\n    break;\n  default:\n    pcVar7 = (char *)dcgettext(0,"Unrecognized demangle component %d\n",5);\n    fprintf(stderr,pcVar7,(ulong)dVar1);\n    return (debug_type)0x0;\n  case DEMANGLE_COMPONENT_TEMPLATE:\n    pcVar7 = (char *)cplus_demangle_print(3,dc,0x14,&alc);\n    if (pcVar7 != (char *)0x0) {\n      sVar3 = strlen(pcVar7);\n      pdVar5 = stab_find_tagged_type\n                         (dhandle,(stab_handle *)&info->tags,pcVar7,(int)sVar3,DEBUG_KIND_CLASS);\n      free(pcVar7);\n      return pdVar5;\n    }\n    pcVar7 = "Failed to print demangled template\n";\n    goto LAB_0011152c;\n  case DEMANGLE_COMPONENT_RESTRICT:\n  case DEMANGLE_COMPONENT_VOLATILE:\n  case DEMANGLE_COMPONENT_CONST:\n  case DEMANGLE_COMPONENT_POINTER:\n  case DEMANGLE_COMPONENT_REFERENCE:\n    pdVar5 = stab_demangle_v3_arg\n                       (dhandle,info,(dc->u).s_fixed.length,(debug_type)0x0,(bfd_boolean *)0x0);\n    if (pdVar5 != (debug_type)0x0) {\n      switch(dc->type) {\n      case DEMANGLE_COMPONENT_RESTRICT:\n        return pdVar5;\n      case DEMANGLE_COMPONENT_VOLATILE:\n        pdVar6 = debug_make_volatile_type(dhandle,pdVar5);\n        return pdVar6;\n      case DEMANGLE_COMPONENT_CONST:\n        pdVar6 = debug_make_const_type(dhandle,pdVar5);\n        return pdVar6;\n      default:\n                    /* WARNING: Subroutine does not return */\n        abort();\n      case DEMANGLE_COMPONENT_POINTER:\n        pdVar6 = debug_make_pointer_type(dhandle,pdVar5);\n        return pdVar6;\n      case DEMANGLE_COMPONENT_REFERENCE:\n        pdVar6 = debug_make_reference_type(dhandle,pdVar5);\n        return pdVar6;\n      }\n    }\n    break;\n  case DEMANGLE_COMPONENT_BUILTIN_TYPE:\n    __s1 = (byte *)cplus_demangle_print(3,dc,0x14,&alc);\n    pcVar7 = "Couldn\'t get demangled builtin type\n";\n    bVar11 = false;\n    bVar13 = __s1 == (byte *)0x0;\n    if (!bVar13) {\n      lVar8 = 0xc;\n      pbVar9 = __s1;\n      pbVar10 = (byte *)0x122f71;\n      do {\n        if (lVar8 == 0) break;\n        lVar8 = lVar8 + -1;\n        bVar11 = *pbVar9 < *pbVar10;\n        bVar13 = *pbVar9 == *pbVar10;\n        pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n      } while (bVar13);\n      bVar12 = false;\n      bVar11 = (!bVar11 && !bVar13) == bVar11;\n      if (!bVar11) {\n        lVar8 = 5;\n        pbVar9 = __s1;\n        pbVar10 = &DAT_0012307b;\n        do {\n          if (lVar8 == 0) break;\n          lVar8 = lVar8 + -1;\n          bVar12 = *pbVar9 < *pbVar10;\n          bVar11 = *pbVar9 == *pbVar10;\n          pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar13 = false;\n        bVar11 = (!bVar12 && !bVar11) == bVar12;\n        if (bVar11) {\n          pdVar6 = debug_make_bool_type(dhandle,1);\n          goto LAB_00111512;\n        }\n        lVar8 = 5;\n        pbVar9 = __s1;\n        pbVar10 = (byte *)0x122f78;\n        do {\n          if (lVar8 == 0) break;\n          lVar8 = lVar8 + -1;\n          bVar13 = *pbVar9 < *pbVar10;\n          bVar11 = *pbVar9 == *pbVar10;\n          pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar12 = false;\n        bVar11 = (!bVar13 && !bVar11) == bVar13;\n        if (!bVar11) {\n          lVar8 = 7;\n          pbVar9 = __s1;\n          pbVar10 = (byte *)0x122fb3;\n          do {\n            if (lVar8 == 0) break;\n            lVar8 = lVar8 + -1;\n            bVar12 = *pbVar9 < *pbVar10;\n            bVar11 = *pbVar9 == *pbVar10;\n            pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n            pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n          } while (bVar11);\n          bVar13 = false;\n          bVar11 = (!bVar12 && !bVar11) == bVar12;\n          if (!bVar11) {\n            lVar8 = 0xc;\n            pbVar9 = __s1;\n            pbVar10 = (byte *)"long double";\n            do {\n              if (lVar8 == 0) break;\n              lVar8 = lVar8 + -1;\n              bVar13 = *pbVar9 < *pbVar10;\n              bVar11 = *pbVar9 == *pbVar10;\n              pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n            } while (bVar11);\n            bVar12 = false;\n            bVar11 = (!bVar13 && !bVar11) == bVar13;\n            if (!bVar11) {\n              lVar8 = 6;\n              pbVar9 = __s1;\n              pbVar10 = (byte *)"float";\n              do {\n                if (lVar8 == 0) break;\n                lVar8 = lVar8 + -1;\n                bVar12 = *pbVar9 < *pbVar10;\n                bVar11 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar13 = false;\n              bVar11 = (!bVar12 && !bVar11) == bVar12;\n              if (bVar11) {\n                pdVar6 = debug_make_float_type(dhandle,4);\n                goto LAB_00111512;\n              }\n              lVar8 = 0xb;\n              pbVar9 = __s1;\n              pbVar10 = (byte *)"__float128";\n              do {\n                if (lVar8 == 0) break;\n                lVar8 = lVar8 + -1;\n                bVar13 = *pbVar9 < *pbVar10;\n                bVar11 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\n                pdVar6 = debug_make_float_type(dhandle,0x10);\n                goto LAB_00111512;\n              }\n              lVar8 = 0xe;\n              pbVar9 = __s1;\n              pbVar10 = (byte *)"unsigned char";\n              do {\n                if (lVar8 == 0) break;\n                lVar8 = lVar8 + -1;\n                bVar12 = *pbVar9 < *pbVar10;\n                bVar11 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar13 = false;\n              bVar11 = (!bVar12 && !bVar11) == bVar12;\n              if (bVar11) {\n                pdVar6 = debug_make_int_type(dhandle,1,1);\n                goto LAB_00111512;\n              }\n              lVar8 = 4;\n              pbVar9 = __s1;\n              pbVar10 = (byte *)0x1230d2;\n              do {\n                if (lVar8 == 0) break;\n                lVar8 = lVar8 + -1;\n                bVar13 = *pbVar9 < *pbVar10;\n                bVar11 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\nLAB_00111631:\n                pdVar6 = debug_make_int_type(dhandle,4,0);\n              }\n              else {\n                lVar8 = 0xd;\n                pbVar9 = __s1;\n                pbVar10 = (byte *)0x1230c9;\n                do {\n                  if (lVar8 == 0) break;\n                  lVar8 = lVar8 + -1;\n                  bVar12 = *pbVar9 < *pbVar10;\n                  bVar11 = *pbVar9 == *pbVar10;\n                  pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  lVar8 = 5;\n                  pbVar9 = __s1;\n                  pbVar10 = (byte *)0x122f9e;\n                  do {\n                    if (lVar8 == 0) break;\n                    lVar8 = lVar8 + -1;\n                    bVar13 = *pbVar9 < *pbVar10;\n                    bVar11 = *pbVar9 == *pbVar10;\n                    pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto LAB_00111631;\n                  lVar8 = 0xe;\n                  pbVar9 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    if (lVar8 == 0) break;\n                    lVar8 = lVar8 + -1;\n                    bVar12 = *pbVar9 < *pbVar10;\n                    bVar11 = *pbVar9 == *pbVar10;\n                    pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_void_type(dhandle);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        pdVar6 = debug_make_int_type(dhandle,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          pdVar6 = debug_make_int_type(dhandle,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (pvarargs != (bfd_boolean *)0x0) {\n                              *pvarargs = 1;\n                              pdVar6 = (debug_type)0x0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          pdVar6 = (debug_type)0x0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }\n                pdVar6 = debug_make_int_type(dhandle,4,1);\n              }\n              goto LAB_00111512;\n            }\n          }\n          pdVar6 = debug_make_float_type(dhandle,8);\n          goto LAB_00111512;\n        }\n      }\n      pdVar6 = debug_make_int_type(dhandle,1,0);\nLAB_00111512:\n      free(__s1);\n      return pdVar6;\n    }\nLAB_0011152c:\n    pcVar7 = (char *)dcgettext(0,pcVar7,5);\n    fprintf(stderr,pcVar7);\n    break;\n  case DEMANGLE_COMPONENT_FUNCTION_TYPE:\n    dc_00 = (dc->u).s_fixed.length;\n    if (dc_00 == (demangle_component *)0x0) {\n      pdVar5 = debug_make_void_type(dhandle);\n    }\n    else {\n      pdVar5 = stab_demangle_v3_arg(dhandle,info,dc_00,(debug_type)0x0,(bfd_boolean *)0x0);\n    }\n    if ((pdVar5 != (debug_type_conflict)0x0) &&\n       (arg_types = stab_demangle_v3_arglist\n                              (dhandle,info,(dc->u).s_extended_operator.name,(bfd_boolean *)&alc),\n       arg_types != (debug_type_conflict *)0x0)) {\n      pdVar6 = debug_make_function_type(dhandle,pdVar5,arg_types,(bfd_boolean)alc);\n      return pdVar6;\n    }\n  }" switch (parenthesized_expression "(dVar1)" ( identifier )) (compound_statement "{\n  case DEMANGLE_COMPONENT_NAME:\n    if ((context != (debug_type)0x0) &&\n       (ppdVar4 = debug_get_fields(dhandle,context), ppdVar4 != (debug_field *)0x0)) {\n      for (; *ppdVar4 != (debug_field)0x0; ppdVar4 = ppdVar4 + 1) {\n        pdVar6 = debug_get_field_type(dhandle,*ppdVar4);\n        if (pdVar6 == (debug_type_conflict)0x0) {\n          return (debug_type)0x0;\n        }\n        pcVar7 = debug_get_type_name(dhandle,pdVar6);\n        if (pcVar7 != (char *)0x0) {\n          sVar3 = strlen(pcVar7);\n          iVar2 = (dc->u).s_name.len;\n          if ((iVar2 == (int)sVar3) &&\n             (iVar2 = strncmp(pcVar7,(dc->u).s_name.s,(long)iVar2), iVar2 == 0)) {\n            return pdVar6;\n          }\n        }\n      }\n    }\n  case DEMANGLE_COMPONENT_SUB_STD:\n    pdVar5 = stab_find_tagged_type\n                       (dhandle,(stab_handle *)&info->tags,(dc->u).s_name.s,(dc->u).s_name.len,\n                        DEBUG_KIND_ILLEGAL);\n    return pdVar5;\n  case DEMANGLE_COMPONENT_QUAL_NAME:\n    pdVar5 = stab_demangle_v3_arg(dhandle,info,(dc->u).s_fixed.length,context,(bfd_boolean *)0x0);\n    if (pdVar5 != (debug_type)0x0) {\n      pdVar5 = stab_demangle_v3_arg\n                         (dhandle,info,(dc->u).s_extended_operator.name,pdVar5,(bfd_boolean *)0x0);\n      return pdVar5;\n    }\n    break;\n  default:\n    pcVar7 = (char *)dcgettext(0,"Unrecognized demangle component %d\n",5);\n    fprintf(stderr,pcVar7,(ulong)dVar1);\n    return (debug_type)0x0;\n  case DEMANGLE_COMPONENT_TEMPLATE:\n    pcVar7 = (char *)cplus_demangle_print(3,dc,0x14,&alc);\n    if (pcVar7 != (char *)0x0) {\n      sVar3 = strlen(pcVar7);\n      pdVar5 = stab_find_tagged_type\n                         (dhandle,(stab_handle *)&info->tags,pcVar7,(int)sVar3,DEBUG_KIND_CLASS);\n      free(pcVar7);\n      return pdVar5;\n    }\n    pcVar7 = "Failed to print demangled template\n";\n    goto LAB_0011152c;\n  case DEMANGLE_COMPONENT_RESTRICT:\n  case DEMANGLE_COMPONENT_VOLATILE:\n  case DEMANGLE_COMPONENT_CONST:\n  case DEMANGLE_COMPONENT_POINTER:\n  case DEMANGLE_COMPONENT_REFERENCE:\n    pdVar5 = stab_demangle_v3_arg\n                       (dhandle,info,(dc->u).s_fixed.length,(debug_type)0x0,(bfd_boolean *)0x0);\n    if (pdVar5 != (debug_type)0x0) {\n      switch(dc->type) {\n      case DEMANGLE_COMPONENT_RESTRICT:\n        return pdVar5;\n      case DEMANGLE_COMPONENT_VOLATILE:\n        pdVar6 = debug_make_volatile_type(dhandle,pdVar5);\n        return pdVar6;\n      case DEMANGLE_COMPONENT_CONST:\n        pdVar6 = debug_make_const_type(dhandle,pdVar5);\n        return pdVar6;\n      default:\n                    /* WARNING: Subroutine does not return */\n        abort();\n      case DEMANGLE_COMPONENT_POINTER:\n        pdVar6 = debug_make_pointer_type(dhandle,pdVar5);\n        return pdVar6;\n      case DEMANGLE_COMPONENT_REFERENCE:\n        pdVar6 = debug_make_reference_type(dhandle,pdVar5);\n        return pdVar6;\n      }\n    }\n    break;\n  case DEMANGLE_COMPONENT_BUILTIN_TYPE:\n    __s1 = (byte *)cplus_demangle_print(3,dc,0x14,&alc);\n    pcVar7 = "Couldn\'t get demangled builtin type\n";\n    bVar11 = false;\n    bVar13 = __s1 == (byte *)0x0;\n    if (!bVar13) {\n      lVar8 = 0xc;\n      pbVar9 = __s1;\n      pbVar10 = (byte *)0x122f71;\n      do {\n        if (lVar8 == 0) break;\n        lVar8 = lVar8 + -1;\n        bVar11 = *pbVar9 < *pbVar10;\n        bVar13 = *pbVar9 == *pbVar10;\n        pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n      } while (bVar13);\n      bVar12 = false;\n      bVar11 = (!bVar11 && !bVar13) == bVar11;\n      if (!bVar11) {\n        lVar8 = 5;\n        pbVar9 = __s1;\n        pbVar10 = &DAT_0012307b;\n        do {\n          if (lVar8 == 0) break;\n          lVar8 = lVar8 + -1;\n          bVar12 = *pbVar9 < *pbVar10;\n          bVar11 = *pbVar9 == *pbVar10;\n          pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar13 = false;\n        bVar11 = (!bVar12 && !bVar11) == bVar12;\n        if (bVar11) {\n          pdVar6 = debug_make_bool_type(dhandle,1);\n          goto LAB_00111512;\n        }\n        lVar8 = 5;\n        pbVar9 = __s1;\n        pbVar10 = (byte *)0x122f78;\n        do {\n          if (lVar8 == 0) break;\n          lVar8 = lVar8 + -1;\n          bVar13 = *pbVar9 < *pbVar10;\n          bVar11 = *pbVar9 == *pbVar10;\n          pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar12 = false;\n        bVar11 = (!bVar13 && !bVar11) == bVar13;\n        if (!bVar11) {\n          lVar8 = 7;\n          pbVar9 = __s1;\n          pbVar10 = (byte *)0x122fb3;\n          do {\n            if (lVar8 == 0) break;\n            lVar8 = lVar8 + -1;\n            bVar12 = *pbVar9 < *pbVar10;\n            bVar11 = *pbVar9 == *pbVar10;\n            pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n            pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n          } while (bVar11);\n          bVar13 = false;\n          bVar11 = (!bVar12 && !bVar11) == bVar12;\n          if (!bVar11) {\n            lVar8 = 0xc;\n            pbVar9 = __s1;\n            pbVar10 = (byte *)"long double";\n            do {\n              if (lVar8 == 0) break;\n              lVar8 = lVar8 + -1;\n              bVar13 = *pbVar9 < *pbVar10;\n              bVar11 = *pbVar9 == *pbVar10;\n              pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n            } while (bVar11);\n            bVar12 = false;\n            bVar11 = (!bVar13 && !bVar11) == bVar13;\n            if (!bVar11) {\n              lVar8 = 6;\n              pbVar9 = __s1;\n              pbVar10 = (byte *)"float";\n              do {\n                if (lVar8 == 0) break;\n                lVar8 = lVar8 + -1;\n                bVar12 = *pbVar9 < *pbVar10;\n                bVar11 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar13 = false;\n              bVar11 = (!bVar12 && !bVar11) == bVar12;\n              if (bVar11) {\n                pdVar6 = debug_make_float_type(dhandle,4);\n                goto LAB_00111512;\n              }\n              lVar8 = 0xb;\n              pbVar9 = __s1;\n              pbVar10 = (byte *)"__float128";\n              do {\n                if (lVar8 == 0) break;\n                lVar8 = lVar8 + -1;\n                bVar13 = *pbVar9 < *pbVar10;\n                bVar11 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\n                pdVar6 = debug_make_float_type(dhandle,0x10);\n                goto LAB_00111512;\n              }\n              lVar8 = 0xe;\n              pbVar9 = __s1;\n              pbVar10 = (byte *)"unsigned char";\n              do {\n                if (lVar8 == 0) break;\n                lVar8 = lVar8 + -1;\n                bVar12 = *pbVar9 < *pbVar10;\n                bVar11 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar13 = false;\n              bVar11 = (!bVar12 && !bVar11) == bVar12;\n              if (bVar11) {\n                pdVar6 = debug_make_int_type(dhandle,1,1);\n                goto LAB_00111512;\n              }\n              lVar8 = 4;\n              pbVar9 = __s1;\n              pbVar10 = (byte *)0x1230d2;\n              do {\n                if (lVar8 == 0) break;\n                lVar8 = lVar8 + -1;\n                bVar13 = *pbVar9 < *pbVar10;\n                bVar11 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\nLAB_00111631:\n                pdVar6 = debug_make_int_type(dhandle,4,0);\n              }\n              else {\n                lVar8 = 0xd;\n                pbVar9 = __s1;\n                pbVar10 = (byte *)0x1230c9;\n                do {\n                  if (lVar8 == 0) break;\n                  lVar8 = lVar8 + -1;\n                  bVar12 = *pbVar9 < *pbVar10;\n                  bVar11 = *pbVar9 == *pbVar10;\n                  pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  lVar8 = 5;\n                  pbVar9 = __s1;\n                  pbVar10 = (byte *)0x122f9e;\n                  do {\n                    if (lVar8 == 0) break;\n                    lVar8 = lVar8 + -1;\n                    bVar13 = *pbVar9 < *pbVar10;\n                    bVar11 = *pbVar9 == *pbVar10;\n                    pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto LAB_00111631;\n                  lVar8 = 0xe;\n                  pbVar9 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    if (lVar8 == 0) break;\n                    lVar8 = lVar8 + -1;\n                    bVar12 = *pbVar9 < *pbVar10;\n                    bVar11 = *pbVar9 == *pbVar10;\n                    pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_void_type(dhandle);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        pdVar6 = debug_make_int_type(dhandle,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          pdVar6 = debug_make_int_type(dhandle,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (pvarargs != (bfd_boolean *)0x0) {\n                              *pvarargs = 1;\n                              pdVar6 = (debug_type)0x0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          pdVar6 = (debug_type)0x0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }\n                pdVar6 = debug_make_int_type(dhandle,4,1);\n              }\n              goto LAB_00111512;\n            }\n          }\n          pdVar6 = debug_make_float_type(dhandle,8);\n          goto LAB_00111512;\n        }\n      }\n      pdVar6 = debug_make_int_type(dhandle,1,0);\nLAB_00111512:\n      free(__s1);\n      return pdVar6;\n    }\nLAB_0011152c:\n    pcVar7 = (char *)dcgettext(0,pcVar7,5);\n    fprintf(stderr,pcVar7);\n    break;\n  case DEMANGLE_COMPONENT_FUNCTION_TYPE:\n    dc_00 = (dc->u).s_fixed.length;\n    if (dc_00 == (demangle_component *)0x0) {\n      pdVar5 = debug_make_void_type(dhandle);\n    }\n    else {\n      pdVar5 = stab_demangle_v3_arg(dhandle,info,dc_00,(debug_type)0x0,(bfd_boolean *)0x0);\n    }\n    if ((pdVar5 != (debug_type_conflict)0x0) &&\n       (arg_types = stab_demangle_v3_arglist\n                              (dhandle,info,(dc->u).s_extended_operator.name,(bfd_boolean *)&alc),\n       arg_types != (debug_type_conflict *)0x0)) {\n      pdVar6 = debug_make_function_type(dhandle,pdVar5,arg_types,(bfd_boolean)alc);\n      return pdVar6;\n    }\n  }" { (case_statement "case DEMANGLE_COMPONENT_NAME:\n    if ((context != (debug_type)0x0) &&\n       (ppdVar4 = debug_get_fields(dhandle,context), ppdVar4 != (debug_field *)0x0)) {\n      for (; *ppdVar4 != (debug_field)0x0; ppdVar4 = ppdVar4 + 1) {\n        pdVar6 = debug_get_field_type(dhandle,*ppdVar4);\n        if (pdVar6 == (debug_type_conflict)0x0) {\n          return (debug_type)0x0;\n        }\n        pcVar7 = debug_get_type_name(dhandle,pdVar6);\n        if (pcVar7 != (char *)0x0) {\n          sVar3 = strlen(pcVar7);\n          iVar2 = (dc->u).s_name.len;\n          if ((iVar2 == (int)sVar3) &&\n             (iVar2 = strncmp(pcVar7,(dc->u).s_name.s,(long)iVar2), iVar2 == 0)) {\n            return pdVar6;\n          }\n        }\n      }\n    }" case identifier : (if_statement "if ((context != (debug_type)0x0) &&\n       (ppdVar4 = debug_get_fields(dhandle,context), ppdVar4 != (debug_field *)0x0)) {\n      for (; *ppdVar4 != (debug_field)0x0; ppdVar4 = ppdVar4 + 1) {\n        pdVar6 = debug_get_field_type(dhandle,*ppdVar4);\n        if (pdVar6 == (debug_type_conflict)0x0) {\n          return (debug_type)0x0;\n        }\n        pcVar7 = debug_get_type_name(dhandle,pdVar6);\n        if (pcVar7 != (char *)0x0) {\n          sVar3 = strlen(pcVar7);\n          iVar2 = (dc->u).s_name.len;\n          if ((iVar2 == (int)sVar3) &&\n             (iVar2 = strncmp(pcVar7,(dc->u).s_name.s,(long)iVar2), iVar2 == 0)) {\n            return pdVar6;\n          }\n        }\n      }\n    }" if (parenthesized_expression "((context != (debug_type)0x0) &&\n       (ppdVar4 = debug_get_fields(dhandle,context), ppdVar4 != (debug_field *)0x0))" ( (binary_expression "(context != (debug_type)0x0) &&\n       (ppdVar4 = debug_get_fields(dhandle,context), ppdVar4 != (debug_field *)0x0)" (parenthesized_expression "(context != (debug_type)0x0)" ( (binary_expression "context != (debug_type)0x0" identifier != (cast_expression "(debug_type)0x0" ( (type_descriptor "debug_type" type_identifier) ) number_literal)) )) && (parenthesized_expression "(ppdVar4 = debug_get_fields(dhandle,context), ppdVar4 != (debug_field *)0x0)" ( (comma_expression "ppdVar4 = debug_get_fields(dhandle,context), ppdVar4 != (debug_field *)0x0" (assignment_expression "ppdVar4 = debug_get_fields(dhandle,context)" identifier = (call_expression "debug_get_fields(dhandle,context)" identifier (argument_list "(dhandle,context)" ( identifier , identifier )))) , (binary_expression "ppdVar4 != (debug_field *)0x0" identifier != (cast_expression "(debug_field *)0x0" ( (type_descriptor "debug_field *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n      for (; *ppdVar4 != (debug_field)0x0; ppdVar4 = ppdVar4 + 1) {\n        pdVar6 = debug_get_field_type(dhandle,*ppdVar4);\n        if (pdVar6 == (debug_type_conflict)0x0) {\n          return (debug_type)0x0;\n        }\n        pcVar7 = debug_get_type_name(dhandle,pdVar6);\n        if (pcVar7 != (char *)0x0) {\n          sVar3 = strlen(pcVar7);\n          iVar2 = (dc->u).s_name.len;\n          if ((iVar2 == (int)sVar3) &&\n             (iVar2 = strncmp(pcVar7,(dc->u).s_name.s,(long)iVar2), iVar2 == 0)) {\n            return pdVar6;\n          }\n        }\n      }\n    }" { (for_statement "for (; *ppdVar4 != (debug_field)0x0; ppdVar4 = ppdVar4 + 1) {\n        pdVar6 = debug_get_field_type(dhandle,*ppdVar4);\n        if (pdVar6 == (debug_type_conflict)0x0) {\n          return (debug_type)0x0;\n        }\n        pcVar7 = debug_get_type_name(dhandle,pdVar6);\n        if (pcVar7 != (char *)0x0) {\n          sVar3 = strlen(pcVar7);\n          iVar2 = (dc->u).s_name.len;\n          if ((iVar2 == (int)sVar3) &&\n             (iVar2 = strncmp(pcVar7,(dc->u).s_name.s,(long)iVar2), iVar2 == 0)) {\n            return pdVar6;\n          }\n        }\n      }" for ( ; (binary_expression "*ppdVar4 != (debug_field)0x0" (pointer_expression "*ppdVar4" * identifier) != (cast_expression "(debug_field)0x0" ( (type_descriptor "debug_field" type_identifier) ) number_literal)) ; (assignment_expression "ppdVar4 = ppdVar4 + 1" identifier = (binary_expression "ppdVar4 + 1" identifier + number_literal)) ) (compound_statement "{\n        pdVar6 = debug_get_field_type(dhandle,*ppdVar4);\n        if (pdVar6 == (debug_type_conflict)0x0) {\n          return (debug_type)0x0;\n        }\n        pcVar7 = debug_get_type_name(dhandle,pdVar6);\n        if (pcVar7 != (char *)0x0) {\n          sVar3 = strlen(pcVar7);\n          iVar2 = (dc->u).s_name.len;\n          if ((iVar2 == (int)sVar3) &&\n             (iVar2 = strncmp(pcVar7,(dc->u).s_name.s,(long)iVar2), iVar2 == 0)) {\n            return pdVar6;\n          }\n        }\n      }" { (expression_statement "pdVar6 = debug_get_field_type(dhandle,*ppdVar4);" (assignment_expression "pdVar6 = debug_get_field_type(dhandle,*ppdVar4)" identifier = (call_expression "debug_get_field_type(dhandle,*ppdVar4)" identifier (argument_list "(dhandle,*ppdVar4)" ( identifier , (pointer_expression "*ppdVar4" * identifier) )))) ;) (if_statement "if (pdVar6 == (debug_type_conflict)0x0) {\n          return (debug_type)0x0;\n        }" if (parenthesized_expression "(pdVar6 == (debug_type_conflict)0x0)" ( (binary_expression "pdVar6 == (debug_type_conflict)0x0" identifier == (cast_expression "(debug_type_conflict)0x0" ( (type_descriptor "debug_type_conflict" type_identifier) ) number_literal)) )) (compound_statement "{\n          return (debug_type)0x0;\n        }" { (return_statement "return (debug_type)0x0;" return (cast_expression "(debug_type)0x0" ( (type_descriptor "debug_type" type_identifier) ) number_literal) ;) })) (expression_statement "pcVar7 = debug_get_type_name(dhandle,pdVar6);" (assignment_expression "pcVar7 = debug_get_type_name(dhandle,pdVar6)" identifier = (call_expression "debug_get_type_name(dhandle,pdVar6)" identifier (argument_list "(dhandle,pdVar6)" ( identifier , identifier )))) ;) (if_statement "if (pcVar7 != (char *)0x0) {\n          sVar3 = strlen(pcVar7);\n          iVar2 = (dc->u).s_name.len;\n          if ((iVar2 == (int)sVar3) &&\n             (iVar2 = strncmp(pcVar7,(dc->u).s_name.s,(long)iVar2), iVar2 == 0)) {\n            return pdVar6;\n          }\n        }" if (parenthesized_expression "(pcVar7 != (char *)0x0)" ( (binary_expression "pcVar7 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          sVar3 = strlen(pcVar7);\n          iVar2 = (dc->u).s_name.len;\n          if ((iVar2 == (int)sVar3) &&\n             (iVar2 = strncmp(pcVar7,(dc->u).s_name.s,(long)iVar2), iVar2 == 0)) {\n            return pdVar6;\n          }\n        }" { (expression_statement "sVar3 = strlen(pcVar7);" (assignment_expression "sVar3 = strlen(pcVar7)" identifier = (call_expression "strlen(pcVar7)" identifier (argument_list "(pcVar7)" ( identifier )))) ;) (expression_statement "iVar2 = (dc->u).s_name.len;" (assignment_expression "iVar2 = (dc->u).s_name.len" identifier = (field_expression "(dc->u).s_name.len" (field_expression "(dc->u).s_name" (parenthesized_expression "(dc->u)" ( (field_expression "dc->u" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (if_statement "if ((iVar2 == (int)sVar3) &&\n             (iVar2 = strncmp(pcVar7,(dc->u).s_name.s,(long)iVar2), iVar2 == 0)) {\n            return pdVar6;\n          }" if (parenthesized_expression "((iVar2 == (int)sVar3) &&\n             (iVar2 = strncmp(pcVar7,(dc->u).s_name.s,(long)iVar2), iVar2 == 0))" ( (binary_expression "(iVar2 == (int)sVar3) &&\n             (iVar2 = strncmp(pcVar7,(dc->u).s_name.s,(long)iVar2), iVar2 == 0)" (parenthesized_expression "(iVar2 == (int)sVar3)" ( (binary_expression "iVar2 == (int)sVar3" identifier == (cast_expression "(int)sVar3" ( (type_descriptor "int" primitive_type) ) identifier)) )) && (parenthesized_expression "(iVar2 = strncmp(pcVar7,(dc->u).s_name.s,(long)iVar2), iVar2 == 0)" ( (comma_expression "iVar2 = strncmp(pcVar7,(dc->u).s_name.s,(long)iVar2), iVar2 == 0" (assignment_expression "iVar2 = strncmp(pcVar7,(dc->u).s_name.s,(long)iVar2)" identifier = (call_expression "strncmp(pcVar7,(dc->u).s_name.s,(long)iVar2)" identifier (argument_list "(pcVar7,(dc->u).s_name.s,(long)iVar2)" ( identifier , (field_expression "(dc->u).s_name.s" (field_expression "(dc->u).s_name" (parenthesized_expression "(dc->u)" ( (field_expression "dc->u" identifier -> field_identifier) )) . field_identifier) . field_identifier) , (cast_expression "(long)iVar2" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) )))) , (binary_expression "iVar2 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n            return pdVar6;\n          }" { (return_statement "return pdVar6;" return identifier ;) })) })) })) }))) (case_statement "case DEMANGLE_COMPONENT_SUB_STD:\n    pdVar5 = stab_find_tagged_type\n                       (dhandle,(stab_handle *)&info->tags,(dc->u).s_name.s,(dc->u).s_name.len,\n                        DEBUG_KIND_ILLEGAL);\n    return pdVar5;" case identifier : (expression_statement "pdVar5 = stab_find_tagged_type\n                       (dhandle,(stab_handle *)&info->tags,(dc->u).s_name.s,(dc->u).s_name.len,\n                        DEBUG_KIND_ILLEGAL);" (assignment_expression "pdVar5 = stab_find_tagged_type\n                       (dhandle,(stab_handle *)&info->tags,(dc->u).s_name.s,(dc->u).s_name.len,\n                        DEBUG_KIND_ILLEGAL)" identifier = (call_expression "stab_find_tagged_type\n                       (dhandle,(stab_handle *)&info->tags,(dc->u).s_name.s,(dc->u).s_name.len,\n                        DEBUG_KIND_ILLEGAL)" identifier (argument_list "(dhandle,(stab_handle *)&info->tags,(dc->u).s_name.s,(dc->u).s_name.len,\n                        DEBUG_KIND_ILLEGAL)" ( identifier , (cast_expression "(stab_handle *)&info->tags" ( (type_descriptor "stab_handle *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&info->tags" & (field_expression "info->tags" identifier -> field_identifier))) , (field_expression "(dc->u).s_name.s" (field_expression "(dc->u).s_name" (parenthesized_expression "(dc->u)" ( (field_expression "dc->u" identifier -> field_identifier) )) . field_identifier) . field_identifier) , (field_expression "(dc->u).s_name.len" (field_expression "(dc->u).s_name" (parenthesized_expression "(dc->u)" ( (field_expression "dc->u" identifier -> field_identifier) )) . field_identifier) . field_identifier) , identifier )))) ;) (return_statement "return pdVar5;" return identifier ;)) (case_statement "case DEMANGLE_COMPONENT_QUAL_NAME:\n    pdVar5 = stab_demangle_v3_arg(dhandle,info,(dc->u).s_fixed.length,context,(bfd_boolean *)0x0);\n    if (pdVar5 != (debug_type)0x0) {\n      pdVar5 = stab_demangle_v3_arg\n                         (dhandle,info,(dc->u).s_extended_operator.name,pdVar5,(bfd_boolean *)0x0);\n      return pdVar5;\n    }\n    break;" case identifier : (expression_statement "pdVar5 = stab_demangle_v3_arg(dhandle,info,(dc->u).s_fixed.length,context,(bfd_boolean *)0x0);" (assignment_expression "pdVar5 = stab_demangle_v3_arg(dhandle,info,(dc->u).s_fixed.length,context,(bfd_boolean *)0x0)" identifier = (call_expression "stab_demangle_v3_arg(dhandle,info,(dc->u).s_fixed.length,context,(bfd_boolean *)0x0)" identifier (argument_list "(dhandle,info,(dc->u).s_fixed.length,context,(bfd_boolean *)0x0)" ( identifier , identifier , (field_expression "(dc->u).s_fixed.length" (field_expression "(dc->u).s_fixed" (parenthesized_expression "(dc->u)" ( (field_expression "dc->u" identifier -> field_identifier) )) . field_identifier) . field_identifier) , identifier , (cast_expression "(bfd_boolean *)0x0" ( (type_descriptor "bfd_boolean *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) )))) ;) (if_statement "if (pdVar5 != (debug_type)0x0) {\n      pdVar5 = stab_demangle_v3_arg\n                         (dhandle,info,(dc->u).s_extended_operator.name,pdVar5,(bfd_boolean *)0x0);\n      return pdVar5;\n    }" if (parenthesized_expression "(pdVar5 != (debug_type)0x0)" ( (binary_expression "pdVar5 != (debug_type)0x0" identifier != (cast_expression "(debug_type)0x0" ( (type_descriptor "debug_type" type_identifier) ) number_literal)) )) (compound_statement "{\n      pdVar5 = stab_demangle_v3_arg\n                         (dhandle,info,(dc->u).s_extended_operator.name,pdVar5,(bfd_boolean *)0x0);\n      return pdVar5;\n    }" { (expression_statement "pdVar5 = stab_demangle_v3_arg\n                         (dhandle,info,(dc->u).s_extended_operator.name,pdVar5,(bfd_boolean *)0x0);" (assignment_expression "pdVar5 = stab_demangle_v3_arg\n                         (dhandle,info,(dc->u).s_extended_operator.name,pdVar5,(bfd_boolean *)0x0)" identifier = (call_expression "stab_demangle_v3_arg\n                         (dhandle,info,(dc->u).s_extended_operator.name,pdVar5,(bfd_boolean *)0x0)" identifier (argument_list "(dhandle,info,(dc->u).s_extended_operator.name,pdVar5,(bfd_boolean *)0x0)" ( identifier , identifier , (field_expression "(dc->u).s_extended_operator.name" (field_expression "(dc->u).s_extended_operator" (parenthesized_expression "(dc->u)" ( (field_expression "dc->u" identifier -> field_identifier) )) . field_identifier) . field_identifier) , identifier , (cast_expression "(bfd_boolean *)0x0" ( (type_descriptor "bfd_boolean *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) )))) ;) (return_statement "return pdVar5;" return identifier ;) })) (break_statement "break;" break ;)) (case_statement "default:\n    pcVar7 = (char *)dcgettext(0,"Unrecognized demangle component %d\n",5);\n    fprintf(stderr,pcVar7,(ulong)dVar1);\n    return (debug_type)0x0;" default : (expression_statement "pcVar7 = (char *)dcgettext(0,"Unrecognized demangle component %d\n",5);" (assignment_expression "pcVar7 = (char *)dcgettext(0,"Unrecognized demangle component %d\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"Unrecognized demangle component %d\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Unrecognized demangle component %d\n",5)" identifier (argument_list "(0,"Unrecognized demangle component %d\n",5)" ( number_literal , (string_literal ""Unrecognized demangle component %d\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "fprintf(stderr,pcVar7,(ulong)dVar1);" (call_expression "fprintf(stderr,pcVar7,(ulong)dVar1)" identifier (argument_list "(stderr,pcVar7,(ulong)dVar1)" ( identifier , identifier , (cast_expression "(ulong)dVar1" ( (type_descriptor "ulong" type_identifier) ) identifier) ))) ;) (return_statement "return (debug_type)0x0;" return (cast_expression "(debug_type)0x0" ( (type_descriptor "debug_type" type_identifier) ) number_literal) ;)) (case_statement "case DEMANGLE_COMPONENT_TEMPLATE:\n    pcVar7 = (char *)cplus_demangle_print(3,dc,0x14,&alc);\n    if (pcVar7 != (char *)0x0) {\n      sVar3 = strlen(pcVar7);\n      pdVar5 = stab_find_tagged_type\n                         (dhandle,(stab_handle *)&info->tags,pcVar7,(int)sVar3,DEBUG_KIND_CLASS);\n      free(pcVar7);\n      return pdVar5;\n    }\n    pcVar7 = "Failed to print demangled template\n";\n    goto LAB_0011152c;" case identifier : (expression_statement "pcVar7 = (char *)cplus_demangle_print(3,dc,0x14,&alc);" (assignment_expression "pcVar7 = (char *)cplus_demangle_print(3,dc,0x14,&alc)" identifier = (cast_expression "(char *)cplus_demangle_print(3,dc,0x14,&alc)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "cplus_demangle_print(3,dc,0x14,&alc)" identifier (argument_list "(3,dc,0x14,&alc)" ( number_literal , identifier , number_literal , (pointer_expression "&alc" & identifier) ))))) ;) (if_statement "if (pcVar7 != (char *)0x0) {\n      sVar3 = strlen(pcVar7);\n      pdVar5 = stab_find_tagged_type\n                         (dhandle,(stab_handle *)&info->tags,pcVar7,(int)sVar3,DEBUG_KIND_CLASS);\n      free(pcVar7);\n      return pdVar5;\n    }" if (parenthesized_expression "(pcVar7 != (char *)0x0)" ( (binary_expression "pcVar7 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      sVar3 = strlen(pcVar7);\n      pdVar5 = stab_find_tagged_type\n                         (dhandle,(stab_handle *)&info->tags,pcVar7,(int)sVar3,DEBUG_KIND_CLASS);\n      free(pcVar7);\n      return pdVar5;\n    }" { (expression_statement "sVar3 = strlen(pcVar7);" (assignment_expression "sVar3 = strlen(pcVar7)" identifier = (call_expression "strlen(pcVar7)" identifier (argument_list "(pcVar7)" ( identifier )))) ;) (expression_statement "pdVar5 = stab_find_tagged_type\n                         (dhandle,(stab_handle *)&info->tags,pcVar7,(int)sVar3,DEBUG_KIND_CLASS);" (assignment_expression "pdVar5 = stab_find_tagged_type\n                         (dhandle,(stab_handle *)&info->tags,pcVar7,(int)sVar3,DEBUG_KIND_CLASS)" identifier = (call_expression "stab_find_tagged_type\n                         (dhandle,(stab_handle *)&info->tags,pcVar7,(int)sVar3,DEBUG_KIND_CLASS)" identifier (argument_list "(dhandle,(stab_handle *)&info->tags,pcVar7,(int)sVar3,DEBUG_KIND_CLASS)" ( identifier , (cast_expression "(stab_handle *)&info->tags" ( (type_descriptor "stab_handle *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&info->tags" & (field_expression "info->tags" identifier -> field_identifier))) , identifier , (cast_expression "(int)sVar3" ( (type_descriptor "int" primitive_type) ) identifier) , identifier )))) ;) (expression_statement "free(pcVar7);" (call_expression "free(pcVar7)" identifier (argument_list "(pcVar7)" ( identifier ))) ;) (return_statement "return pdVar5;" return identifier ;) })) (expression_statement "pcVar7 = "Failed to print demangled template\n";" (assignment_expression "pcVar7 = "Failed to print demangled template\n"" identifier = (string_literal ""Failed to print demangled template\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_0011152c;" goto statement_identifier ;)) (case_statement "case DEMANGLE_COMPONENT_RESTRICT:" case identifier :) (case_statement "case DEMANGLE_COMPONENT_VOLATILE:" case identifier :) (case_statement "case DEMANGLE_COMPONENT_CONST:" case identifier :) (case_statement "case DEMANGLE_COMPONENT_POINTER:" case identifier :) (case_statement "case DEMANGLE_COMPONENT_REFERENCE:\n    pdVar5 = stab_demangle_v3_arg\n                       (dhandle,info,(dc->u).s_fixed.length,(debug_type)0x0,(bfd_boolean *)0x0);\n    if (pdVar5 != (debug_type)0x0) {\n      switch(dc->type) {\n      case DEMANGLE_COMPONENT_RESTRICT:\n        return pdVar5;\n      case DEMANGLE_COMPONENT_VOLATILE:\n        pdVar6 = debug_make_volatile_type(dhandle,pdVar5);\n        return pdVar6;\n      case DEMANGLE_COMPONENT_CONST:\n        pdVar6 = debug_make_const_type(dhandle,pdVar5);\n        return pdVar6;\n      default:\n                    /* WARNING: Subroutine does not return */\n        abort();\n      case DEMANGLE_COMPONENT_POINTER:\n        pdVar6 = debug_make_pointer_type(dhandle,pdVar5);\n        return pdVar6;\n      case DEMANGLE_COMPONENT_REFERENCE:\n        pdVar6 = debug_make_reference_type(dhandle,pdVar5);\n        return pdVar6;\n      }\n    }\n    break;" case identifier : (expression_statement "pdVar5 = stab_demangle_v3_arg\n                       (dhandle,info,(dc->u).s_fixed.length,(debug_type)0x0,(bfd_boolean *)0x0);" (assignment_expression "pdVar5 = stab_demangle_v3_arg\n                       (dhandle,info,(dc->u).s_fixed.length,(debug_type)0x0,(bfd_boolean *)0x0)" identifier = (call_expression "stab_demangle_v3_arg\n                       (dhandle,info,(dc->u).s_fixed.length,(debug_type)0x0,(bfd_boolean *)0x0)" identifier (argument_list "(dhandle,info,(dc->u).s_fixed.length,(debug_type)0x0,(bfd_boolean *)0x0)" ( identifier , identifier , (field_expression "(dc->u).s_fixed.length" (field_expression "(dc->u).s_fixed" (parenthesized_expression "(dc->u)" ( (field_expression "dc->u" identifier -> field_identifier) )) . field_identifier) . field_identifier) , (cast_expression "(debug_type)0x0" ( (type_descriptor "debug_type" type_identifier) ) number_literal) , (cast_expression "(bfd_boolean *)0x0" ( (type_descriptor "bfd_boolean *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) )))) ;) (if_statement "if (pdVar5 != (debug_type)0x0) {\n      switch(dc->type) {\n      case DEMANGLE_COMPONENT_RESTRICT:\n        return pdVar5;\n      case DEMANGLE_COMPONENT_VOLATILE:\n        pdVar6 = debug_make_volatile_type(dhandle,pdVar5);\n        return pdVar6;\n      case DEMANGLE_COMPONENT_CONST:\n        pdVar6 = debug_make_const_type(dhandle,pdVar5);\n        return pdVar6;\n      default:\n                    /* WARNING: Subroutine does not return */\n        abort();\n      case DEMANGLE_COMPONENT_POINTER:\n        pdVar6 = debug_make_pointer_type(dhandle,pdVar5);\n        return pdVar6;\n      case DEMANGLE_COMPONENT_REFERENCE:\n        pdVar6 = debug_make_reference_type(dhandle,pdVar5);\n        return pdVar6;\n      }\n    }" if (parenthesized_expression "(pdVar5 != (debug_type)0x0)" ( (binary_expression "pdVar5 != (debug_type)0x0" identifier != (cast_expression "(debug_type)0x0" ( (type_descriptor "debug_type" type_identifier) ) number_literal)) )) (compound_statement "{\n      switch(dc->type) {\n      case DEMANGLE_COMPONENT_RESTRICT:\n        return pdVar5;\n      case DEMANGLE_COMPONENT_VOLATILE:\n        pdVar6 = debug_make_volatile_type(dhandle,pdVar5);\n        return pdVar6;\n      case DEMANGLE_COMPONENT_CONST:\n        pdVar6 = debug_make_const_type(dhandle,pdVar5);\n        return pdVar6;\n      default:\n                    /* WARNING: Subroutine does not return */\n        abort();\n      case DEMANGLE_COMPONENT_POINTER:\n        pdVar6 = debug_make_pointer_type(dhandle,pdVar5);\n        return pdVar6;\n      case DEMANGLE_COMPONENT_REFERENCE:\n        pdVar6 = debug_make_reference_type(dhandle,pdVar5);\n        return pdVar6;\n      }\n    }" { (switch_statement "switch(dc->type) {\n      case DEMANGLE_COMPONENT_RESTRICT:\n        return pdVar5;\n      case DEMANGLE_COMPONENT_VOLATILE:\n        pdVar6 = debug_make_volatile_type(dhandle,pdVar5);\n        return pdVar6;\n      case DEMANGLE_COMPONENT_CONST:\n        pdVar6 = debug_make_const_type(dhandle,pdVar5);\n        return pdVar6;\n      default:\n                    /* WARNING: Subroutine does not return */\n        abort();\n      case DEMANGLE_COMPONENT_POINTER:\n        pdVar6 = debug_make_pointer_type(dhandle,pdVar5);\n        return pdVar6;\n      case DEMANGLE_COMPONENT_REFERENCE:\n        pdVar6 = debug_make_reference_type(dhandle,pdVar5);\n        return pdVar6;\n      }" switch (parenthesized_expression "(dc->type)" ( (field_expression "dc->type" identifier -> field_identifier) )) (compound_statement "{\n      case DEMANGLE_COMPONENT_RESTRICT:\n        return pdVar5;\n      case DEMANGLE_COMPONENT_VOLATILE:\n        pdVar6 = debug_make_volatile_type(dhandle,pdVar5);\n        return pdVar6;\n      case DEMANGLE_COMPONENT_CONST:\n        pdVar6 = debug_make_const_type(dhandle,pdVar5);\n        return pdVar6;\n      default:\n                    /* WARNING: Subroutine does not return */\n        abort();\n      case DEMANGLE_COMPONENT_POINTER:\n        pdVar6 = debug_make_pointer_type(dhandle,pdVar5);\n        return pdVar6;\n      case DEMANGLE_COMPONENT_REFERENCE:\n        pdVar6 = debug_make_reference_type(dhandle,pdVar5);\n        return pdVar6;\n      }" { (case_statement "case DEMANGLE_COMPONENT_RESTRICT:\n        return pdVar5;" case identifier : (return_statement "return pdVar5;" return identifier ;)) (case_statement "case DEMANGLE_COMPONENT_VOLATILE:\n        pdVar6 = debug_make_volatile_type(dhandle,pdVar5);\n        return pdVar6;" case identifier : (expression_statement "pdVar6 = debug_make_volatile_type(dhandle,pdVar5);" (assignment_expression "pdVar6 = debug_make_volatile_type(dhandle,pdVar5)" identifier = (call_expression "debug_make_volatile_type(dhandle,pdVar5)" identifier (argument_list "(dhandle,pdVar5)" ( identifier , identifier )))) ;) (return_statement "return pdVar6;" return identifier ;)) (case_statement "case DEMANGLE_COMPONENT_CONST:\n        pdVar6 = debug_make_const_type(dhandle,pdVar5);\n        return pdVar6;" case identifier : (expression_statement "pdVar6 = debug_make_const_type(dhandle,pdVar5);" (assignment_expression "pdVar6 = debug_make_const_type(dhandle,pdVar5)" identifier = (call_expression "debug_make_const_type(dhandle,pdVar5)" identifier (argument_list "(dhandle,pdVar5)" ( identifier , identifier )))) ;) (return_statement "return pdVar6;" return identifier ;)) (case_statement "default:\n                    /* WARNING: Subroutine does not return */\n        abort();" default : comment (expression_statement "abort();" (call_expression "abort()" identifier (argument_list "()" ( ))) ;)) (case_statement "case DEMANGLE_COMPONENT_POINTER:\n        pdVar6 = debug_make_pointer_type(dhandle,pdVar5);\n        return pdVar6;" case identifier : (expression_statement "pdVar6 = debug_make_pointer_type(dhandle,pdVar5);" (assignment_expression "pdVar6 = debug_make_pointer_type(dhandle,pdVar5)" identifier = (call_expression "debug_make_pointer_type(dhandle,pdVar5)" identifier (argument_list "(dhandle,pdVar5)" ( identifier , identifier )))) ;) (return_statement "return pdVar6;" return identifier ;)) (case_statement "case DEMANGLE_COMPONENT_REFERENCE:\n        pdVar6 = debug_make_reference_type(dhandle,pdVar5);\n        return pdVar6;" case identifier : (expression_statement "pdVar6 = debug_make_reference_type(dhandle,pdVar5);" (assignment_expression "pdVar6 = debug_make_reference_type(dhandle,pdVar5)" identifier = (call_expression "debug_make_reference_type(dhandle,pdVar5)" identifier (argument_list "(dhandle,pdVar5)" ( identifier , identifier )))) ;) (return_statement "return pdVar6;" return identifier ;)) })) })) (break_statement "break;" break ;)) (case_statement "case DEMANGLE_COMPONENT_BUILTIN_TYPE:\n    __s1 = (byte *)cplus_demangle_print(3,dc,0x14,&alc);\n    pcVar7 = "Couldn\'t get demangled builtin type\n";\n    bVar11 = false;\n    bVar13 = __s1 == (byte *)0x0;\n    if (!bVar13) {\n      lVar8 = 0xc;\n      pbVar9 = __s1;\n      pbVar10 = (byte *)0x122f71;\n      do {\n        if (lVar8 == 0) break;\n        lVar8 = lVar8 + -1;\n        bVar11 = *pbVar9 < *pbVar10;\n        bVar13 = *pbVar9 == *pbVar10;\n        pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n      } while (bVar13);\n      bVar12 = false;\n      bVar11 = (!bVar11 && !bVar13) == bVar11;\n      if (!bVar11) {\n        lVar8 = 5;\n        pbVar9 = __s1;\n        pbVar10 = &DAT_0012307b;\n        do {\n          if (lVar8 == 0) break;\n          lVar8 = lVar8 + -1;\n          bVar12 = *pbVar9 < *pbVar10;\n          bVar11 = *pbVar9 == *pbVar10;\n          pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar13 = false;\n        bVar11 = (!bVar12 && !bVar11) == bVar12;\n        if (bVar11) {\n          pdVar6 = debug_make_bool_type(dhandle,1);\n          goto LAB_00111512;\n        }\n        lVar8 = 5;\n        pbVar9 = __s1;\n        pbVar10 = (byte *)0x122f78;\n        do {\n          if (lVar8 == 0) break;\n          lVar8 = lVar8 + -1;\n          bVar13 = *pbVar9 < *pbVar10;\n          bVar11 = *pbVar9 == *pbVar10;\n          pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar12 = false;\n        bVar11 = (!bVar13 && !bVar11) == bVar13;\n        if (!bVar11) {\n          lVar8 = 7;\n          pbVar9 = __s1;\n          pbVar10 = (byte *)0x122fb3;\n          do {\n            if (lVar8 == 0) break;\n            lVar8 = lVar8 + -1;\n            bVar12 = *pbVar9 < *pbVar10;\n            bVar11 = *pbVar9 == *pbVar10;\n            pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n            pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n          } while (bVar11);\n          bVar13 = false;\n          bVar11 = (!bVar12 && !bVar11) == bVar12;\n          if (!bVar11) {\n            lVar8 = 0xc;\n            pbVar9 = __s1;\n            pbVar10 = (byte *)"long double";\n            do {\n              if (lVar8 == 0) break;\n              lVar8 = lVar8 + -1;\n              bVar13 = *pbVar9 < *pbVar10;\n              bVar11 = *pbVar9 == *pbVar10;\n              pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n            } while (bVar11);\n            bVar12 = false;\n            bVar11 = (!bVar13 && !bVar11) == bVar13;\n            if (!bVar11) {\n              lVar8 = 6;\n              pbVar9 = __s1;\n              pbVar10 = (byte *)"float";\n              do {\n                if (lVar8 == 0) break;\n                lVar8 = lVar8 + -1;\n                bVar12 = *pbVar9 < *pbVar10;\n                bVar11 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar13 = false;\n              bVar11 = (!bVar12 && !bVar11) == bVar12;\n              if (bVar11) {\n                pdVar6 = debug_make_float_type(dhandle,4);\n                goto LAB_00111512;\n              }\n              lVar8 = 0xb;\n              pbVar9 = __s1;\n              pbVar10 = (byte *)"__float128";\n              do {\n                if (lVar8 == 0) break;\n                lVar8 = lVar8 + -1;\n                bVar13 = *pbVar9 < *pbVar10;\n                bVar11 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\n                pdVar6 = debug_make_float_type(dhandle,0x10);\n                goto LAB_00111512;\n              }\n              lVar8 = 0xe;\n              pbVar9 = __s1;\n              pbVar10 = (byte *)"unsigned char";\n              do {\n                if (lVar8 == 0) break;\n                lVar8 = lVar8 + -1;\n                bVar12 = *pbVar9 < *pbVar10;\n                bVar11 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar13 = false;\n              bVar11 = (!bVar12 && !bVar11) == bVar12;\n              if (bVar11) {\n                pdVar6 = debug_make_int_type(dhandle,1,1);\n                goto LAB_00111512;\n              }\n              lVar8 = 4;\n              pbVar9 = __s1;\n              pbVar10 = (byte *)0x1230d2;\n              do {\n                if (lVar8 == 0) break;\n                lVar8 = lVar8 + -1;\n                bVar13 = *pbVar9 < *pbVar10;\n                bVar11 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\nLAB_00111631:\n                pdVar6 = debug_make_int_type(dhandle,4,0);\n              }\n              else {\n                lVar8 = 0xd;\n                pbVar9 = __s1;\n                pbVar10 = (byte *)0x1230c9;\n                do {\n                  if (lVar8 == 0) break;\n                  lVar8 = lVar8 + -1;\n                  bVar12 = *pbVar9 < *pbVar10;\n                  bVar11 = *pbVar9 == *pbVar10;\n                  pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  lVar8 = 5;\n                  pbVar9 = __s1;\n                  pbVar10 = (byte *)0x122f9e;\n                  do {\n                    if (lVar8 == 0) break;\n                    lVar8 = lVar8 + -1;\n                    bVar13 = *pbVar9 < *pbVar10;\n                    bVar11 = *pbVar9 == *pbVar10;\n                    pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto LAB_00111631;\n                  lVar8 = 0xe;\n                  pbVar9 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    if (lVar8 == 0) break;\n                    lVar8 = lVar8 + -1;\n                    bVar12 = *pbVar9 < *pbVar10;\n                    bVar11 = *pbVar9 == *pbVar10;\n                    pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_void_type(dhandle);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        pdVar6 = debug_make_int_type(dhandle,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          pdVar6 = debug_make_int_type(dhandle,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (pvarargs != (bfd_boolean *)0x0) {\n                              *pvarargs = 1;\n                              pdVar6 = (debug_type)0x0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          pdVar6 = (debug_type)0x0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }\n                pdVar6 = debug_make_int_type(dhandle,4,1);\n              }\n              goto LAB_00111512;\n            }\n          }\n          pdVar6 = debug_make_float_type(dhandle,8);\n          goto LAB_00111512;\n        }\n      }\n      pdVar6 = debug_make_int_type(dhandle,1,0);\nLAB_00111512:\n      free(__s1);\n      return pdVar6;\n    }\nLAB_0011152c:\n    pcVar7 = (char *)dcgettext(0,pcVar7,5);\n    fprintf(stderr,pcVar7);\n    break;" case identifier : (expression_statement "__s1 = (byte *)cplus_demangle_print(3,dc,0x14,&alc);" (assignment_expression "__s1 = (byte *)cplus_demangle_print(3,dc,0x14,&alc)" identifier = (cast_expression "(byte *)cplus_demangle_print(3,dc,0x14,&alc)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "cplus_demangle_print(3,dc,0x14,&alc)" identifier (argument_list "(3,dc,0x14,&alc)" ( number_literal , identifier , number_literal , (pointer_expression "&alc" & identifier) ))))) ;) (expression_statement "pcVar7 = "Couldn\'t get demangled builtin type\n";" (assignment_expression "pcVar7 = "Couldn\'t get demangled builtin type\n"" identifier = (string_literal ""Couldn\'t get demangled builtin type\n"" " string_content escape_sequence string_content escape_sequence ")) ;) (expression_statement "bVar11 = false;" (assignment_expression "bVar11 = false" identifier = false) ;) (expression_statement "bVar13 = __s1 == (byte *)0x0;" (assignment_expression "bVar13 = __s1 == (byte *)0x0" identifier = (binary_expression "__s1 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (if_statement "if (!bVar13) {\n      lVar8 = 0xc;\n      pbVar9 = __s1;\n      pbVar10 = (byte *)0x122f71;\n      do {\n        if (lVar8 == 0) break;\n        lVar8 = lVar8 + -1;\n        bVar11 = *pbVar9 < *pbVar10;\n        bVar13 = *pbVar9 == *pbVar10;\n        pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n      } while (bVar13);\n      bVar12 = false;\n      bVar11 = (!bVar11 && !bVar13) == bVar11;\n      if (!bVar11) {\n        lVar8 = 5;\n        pbVar9 = __s1;\n        pbVar10 = &DAT_0012307b;\n        do {\n          if (lVar8 == 0) break;\n          lVar8 = lVar8 + -1;\n          bVar12 = *pbVar9 < *pbVar10;\n          bVar11 = *pbVar9 == *pbVar10;\n          pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar13 = false;\n        bVar11 = (!bVar12 && !bVar11) == bVar12;\n        if (bVar11) {\n          pdVar6 = debug_make_bool_type(dhandle,1);\n          goto LAB_00111512;\n        }\n        lVar8 = 5;\n        pbVar9 = __s1;\n        pbVar10 = (byte *)0x122f78;\n        do {\n          if (lVar8 == 0) break;\n          lVar8 = lVar8 + -1;\n          bVar13 = *pbVar9 < *pbVar10;\n          bVar11 = *pbVar9 == *pbVar10;\n          pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar12 = false;\n        bVar11 = (!bVar13 && !bVar11) == bVar13;\n        if (!bVar11) {\n          lVar8 = 7;\n          pbVar9 = __s1;\n          pbVar10 = (byte *)0x122fb3;\n          do {\n            if (lVar8 == 0) break;\n            lVar8 = lVar8 + -1;\n            bVar12 = *pbVar9 < *pbVar10;\n            bVar11 = *pbVar9 == *pbVar10;\n            pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n            pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n          } while (bVar11);\n          bVar13 = false;\n          bVar11 = (!bVar12 && !bVar11) == bVar12;\n          if (!bVar11) {\n            lVar8 = 0xc;\n            pbVar9 = __s1;\n            pbVar10 = (byte *)"long double";\n            do {\n              if (lVar8 == 0) break;\n              lVar8 = lVar8 + -1;\n              bVar13 = *pbVar9 < *pbVar10;\n              bVar11 = *pbVar9 == *pbVar10;\n              pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n            } while (bVar11);\n            bVar12 = false;\n            bVar11 = (!bVar13 && !bVar11) == bVar13;\n            if (!bVar11) {\n              lVar8 = 6;\n              pbVar9 = __s1;\n              pbVar10 = (byte *)"float";\n              do {\n                if (lVar8 == 0) break;\n                lVar8 = lVar8 + -1;\n                bVar12 = *pbVar9 < *pbVar10;\n                bVar11 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar13 = false;\n              bVar11 = (!bVar12 && !bVar11) == bVar12;\n              if (bVar11) {\n                pdVar6 = debug_make_float_type(dhandle,4);\n                goto LAB_00111512;\n              }\n              lVar8 = 0xb;\n              pbVar9 = __s1;\n              pbVar10 = (byte *)"__float128";\n              do {\n                if (lVar8 == 0) break;\n                lVar8 = lVar8 + -1;\n                bVar13 = *pbVar9 < *pbVar10;\n                bVar11 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\n                pdVar6 = debug_make_float_type(dhandle,0x10);\n                goto LAB_00111512;\n              }\n              lVar8 = 0xe;\n              pbVar9 = __s1;\n              pbVar10 = (byte *)"unsigned char";\n              do {\n                if (lVar8 == 0) break;\n                lVar8 = lVar8 + -1;\n                bVar12 = *pbVar9 < *pbVar10;\n                bVar11 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar13 = false;\n              bVar11 = (!bVar12 && !bVar11) == bVar12;\n              if (bVar11) {\n                pdVar6 = debug_make_int_type(dhandle,1,1);\n                goto LAB_00111512;\n              }\n              lVar8 = 4;\n              pbVar9 = __s1;\n              pbVar10 = (byte *)0x1230d2;\n              do {\n                if (lVar8 == 0) break;\n                lVar8 = lVar8 + -1;\n                bVar13 = *pbVar9 < *pbVar10;\n                bVar11 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\nLAB_00111631:\n                pdVar6 = debug_make_int_type(dhandle,4,0);\n              }\n              else {\n                lVar8 = 0xd;\n                pbVar9 = __s1;\n                pbVar10 = (byte *)0x1230c9;\n                do {\n                  if (lVar8 == 0) break;\n                  lVar8 = lVar8 + -1;\n                  bVar12 = *pbVar9 < *pbVar10;\n                  bVar11 = *pbVar9 == *pbVar10;\n                  pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  lVar8 = 5;\n                  pbVar9 = __s1;\n                  pbVar10 = (byte *)0x122f9e;\n                  do {\n                    if (lVar8 == 0) break;\n                    lVar8 = lVar8 + -1;\n                    bVar13 = *pbVar9 < *pbVar10;\n                    bVar11 = *pbVar9 == *pbVar10;\n                    pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto LAB_00111631;\n                  lVar8 = 0xe;\n                  pbVar9 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    if (lVar8 == 0) break;\n                    lVar8 = lVar8 + -1;\n                    bVar12 = *pbVar9 < *pbVar10;\n                    bVar11 = *pbVar9 == *pbVar10;\n                    pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_void_type(dhandle);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        pdVar6 = debug_make_int_type(dhandle,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          pdVar6 = debug_make_int_type(dhandle,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (pvarargs != (bfd_boolean *)0x0) {\n                              *pvarargs = 1;\n                              pdVar6 = (debug_type)0x0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          pdVar6 = (debug_type)0x0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }\n                pdVar6 = debug_make_int_type(dhandle,4,1);\n              }\n              goto LAB_00111512;\n            }\n          }\n          pdVar6 = debug_make_float_type(dhandle,8);\n          goto LAB_00111512;\n        }\n      }\n      pdVar6 = debug_make_int_type(dhandle,1,0);\nLAB_00111512:\n      free(__s1);\n      return pdVar6;\n    }" if (parenthesized_expression "(!bVar13)" ( (unary_expression "!bVar13" ! identifier) )) (compound_statement "{\n      lVar8 = 0xc;\n      pbVar9 = __s1;\n      pbVar10 = (byte *)0x122f71;\n      do {\n        if (lVar8 == 0) break;\n        lVar8 = lVar8 + -1;\n        bVar11 = *pbVar9 < *pbVar10;\n        bVar13 = *pbVar9 == *pbVar10;\n        pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n      } while (bVar13);\n      bVar12 = false;\n      bVar11 = (!bVar11 && !bVar13) == bVar11;\n      if (!bVar11) {\n        lVar8 = 5;\n        pbVar9 = __s1;\n        pbVar10 = &DAT_0012307b;\n        do {\n          if (lVar8 == 0) break;\n          lVar8 = lVar8 + -1;\n          bVar12 = *pbVar9 < *pbVar10;\n          bVar11 = *pbVar9 == *pbVar10;\n          pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar13 = false;\n        bVar11 = (!bVar12 && !bVar11) == bVar12;\n        if (bVar11) {\n          pdVar6 = debug_make_bool_type(dhandle,1);\n          goto LAB_00111512;\n        }\n        lVar8 = 5;\n        pbVar9 = __s1;\n        pbVar10 = (byte *)0x122f78;\n        do {\n          if (lVar8 == 0) break;\n          lVar8 = lVar8 + -1;\n          bVar13 = *pbVar9 < *pbVar10;\n          bVar11 = *pbVar9 == *pbVar10;\n          pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar12 = false;\n        bVar11 = (!bVar13 && !bVar11) == bVar13;\n        if (!bVar11) {\n          lVar8 = 7;\n          pbVar9 = __s1;\n          pbVar10 = (byte *)0x122fb3;\n          do {\n            if (lVar8 == 0) break;\n            lVar8 = lVar8 + -1;\n            bVar12 = *pbVar9 < *pbVar10;\n            bVar11 = *pbVar9 == *pbVar10;\n            pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n            pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n          } while (bVar11);\n          bVar13 = false;\n          bVar11 = (!bVar12 && !bVar11) == bVar12;\n          if (!bVar11) {\n            lVar8 = 0xc;\n            pbVar9 = __s1;\n            pbVar10 = (byte *)"long double";\n            do {\n              if (lVar8 == 0) break;\n              lVar8 = lVar8 + -1;\n              bVar13 = *pbVar9 < *pbVar10;\n              bVar11 = *pbVar9 == *pbVar10;\n              pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n            } while (bVar11);\n            bVar12 = false;\n            bVar11 = (!bVar13 && !bVar11) == bVar13;\n            if (!bVar11) {\n              lVar8 = 6;\n              pbVar9 = __s1;\n              pbVar10 = (byte *)"float";\n              do {\n                if (lVar8 == 0) break;\n                lVar8 = lVar8 + -1;\n                bVar12 = *pbVar9 < *pbVar10;\n                bVar11 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar13 = false;\n              bVar11 = (!bVar12 && !bVar11) == bVar12;\n              if (bVar11) {\n                pdVar6 = debug_make_float_type(dhandle,4);\n                goto LAB_00111512;\n              }\n              lVar8 = 0xb;\n              pbVar9 = __s1;\n              pbVar10 = (byte *)"__float128";\n              do {\n                if (lVar8 == 0) break;\n                lVar8 = lVar8 + -1;\n                bVar13 = *pbVar9 < *pbVar10;\n                bVar11 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\n                pdVar6 = debug_make_float_type(dhandle,0x10);\n                goto LAB_00111512;\n              }\n              lVar8 = 0xe;\n              pbVar9 = __s1;\n              pbVar10 = (byte *)"unsigned char";\n              do {\n                if (lVar8 == 0) break;\n                lVar8 = lVar8 + -1;\n                bVar12 = *pbVar9 < *pbVar10;\n                bVar11 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar13 = false;\n              bVar11 = (!bVar12 && !bVar11) == bVar12;\n              if (bVar11) {\n                pdVar6 = debug_make_int_type(dhandle,1,1);\n                goto LAB_00111512;\n              }\n              lVar8 = 4;\n              pbVar9 = __s1;\n              pbVar10 = (byte *)0x1230d2;\n              do {\n                if (lVar8 == 0) break;\n                lVar8 = lVar8 + -1;\n                bVar13 = *pbVar9 < *pbVar10;\n                bVar11 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\nLAB_00111631:\n                pdVar6 = debug_make_int_type(dhandle,4,0);\n              }\n              else {\n                lVar8 = 0xd;\n                pbVar9 = __s1;\n                pbVar10 = (byte *)0x1230c9;\n                do {\n                  if (lVar8 == 0) break;\n                  lVar8 = lVar8 + -1;\n                  bVar12 = *pbVar9 < *pbVar10;\n                  bVar11 = *pbVar9 == *pbVar10;\n                  pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  lVar8 = 5;\n                  pbVar9 = __s1;\n                  pbVar10 = (byte *)0x122f9e;\n                  do {\n                    if (lVar8 == 0) break;\n                    lVar8 = lVar8 + -1;\n                    bVar13 = *pbVar9 < *pbVar10;\n                    bVar11 = *pbVar9 == *pbVar10;\n                    pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto LAB_00111631;\n                  lVar8 = 0xe;\n                  pbVar9 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    if (lVar8 == 0) break;\n                    lVar8 = lVar8 + -1;\n                    bVar12 = *pbVar9 < *pbVar10;\n                    bVar11 = *pbVar9 == *pbVar10;\n                    pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_void_type(dhandle);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        pdVar6 = debug_make_int_type(dhandle,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          pdVar6 = debug_make_int_type(dhandle,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (pvarargs != (bfd_boolean *)0x0) {\n                              *pvarargs = 1;\n                              pdVar6 = (debug_type)0x0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          pdVar6 = (debug_type)0x0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }\n                pdVar6 = debug_make_int_type(dhandle,4,1);\n              }\n              goto LAB_00111512;\n            }\n          }\n          pdVar6 = debug_make_float_type(dhandle,8);\n          goto LAB_00111512;\n        }\n      }\n      pdVar6 = debug_make_int_type(dhandle,1,0);\nLAB_00111512:\n      free(__s1);\n      return pdVar6;\n    }" { (expression_statement "lVar8 = 0xc;" (assignment_expression "lVar8 = 0xc" identifier = number_literal) ;) (expression_statement "pbVar9 = __s1;" (assignment_expression "pbVar9 = __s1" identifier = identifier) ;) (expression_statement "pbVar10 = (byte *)0x122f71;" (assignment_expression "pbVar10 = (byte *)0x122f71" identifier = (cast_expression "(byte *)0x122f71" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n        if (lVar8 == 0) break;\n        lVar8 = lVar8 + -1;\n        bVar11 = *pbVar9 < *pbVar10;\n        bVar13 = *pbVar9 == *pbVar10;\n        pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n      } while (bVar13);" do (compound_statement "{\n        if (lVar8 == 0) break;\n        lVar8 = lVar8 + -1;\n        bVar11 = *pbVar9 < *pbVar10;\n        bVar13 = *pbVar9 == *pbVar10;\n        pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n        pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n      }" { (if_statement "if (lVar8 == 0) break;" if (parenthesized_expression "(lVar8 == 0)" ( (binary_expression "lVar8 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar8 = lVar8 + -1;" (assignment_expression "lVar8 = lVar8 + -1" identifier = (binary_expression "lVar8 + -1" identifier + number_literal)) ;) (expression_statement "bVar11 = *pbVar9 < *pbVar10;" (assignment_expression "bVar11 = *pbVar9 < *pbVar10" identifier = (binary_expression "*pbVar9 < *pbVar10" (pointer_expression "*pbVar9" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar13 = *pbVar9 == *pbVar10;" (assignment_expression "bVar13 = *pbVar9 == *pbVar10" identifier = (binary_expression "*pbVar9 == *pbVar10" (pointer_expression "*pbVar9" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1" identifier = (binary_expression "pbVar9 + (ulong)bVar14 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar14 * -2" identifier + (binary_expression "(ulong)bVar14 * -2" (cast_expression "(ulong)bVar14" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1" identifier = (binary_expression "pbVar10 + (ulong)bVar14 * -2 + 1" (binary_expression "pbVar10 + (ulong)bVar14 * -2" identifier + (binary_expression "(ulong)bVar14 * -2" (cast_expression "(ulong)bVar14" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar13)" ( identifier )) ;) (expression_statement "bVar12 = false;" (assignment_expression "bVar12 = false" identifier = false) ;) (expression_statement "bVar11 = (!bVar11 && !bVar13) == bVar11;" (assignment_expression "bVar11 = (!bVar11 && !bVar13) == bVar11" identifier = (binary_expression "(!bVar11 && !bVar13) == bVar11" (parenthesized_expression "(!bVar11 && !bVar13)" ( (binary_expression "!bVar11 && !bVar13" (unary_expression "!bVar11" ! identifier) && (unary_expression "!bVar13" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar11) {\n        lVar8 = 5;\n        pbVar9 = __s1;\n        pbVar10 = &DAT_0012307b;\n        do {\n          if (lVar8 == 0) break;\n          lVar8 = lVar8 + -1;\n          bVar12 = *pbVar9 < *pbVar10;\n          bVar11 = *pbVar9 == *pbVar10;\n          pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar13 = false;\n        bVar11 = (!bVar12 && !bVar11) == bVar12;\n        if (bVar11) {\n          pdVar6 = debug_make_bool_type(dhandle,1);\n          goto LAB_00111512;\n        }\n        lVar8 = 5;\n        pbVar9 = __s1;\n        pbVar10 = (byte *)0x122f78;\n        do {\n          if (lVar8 == 0) break;\n          lVar8 = lVar8 + -1;\n          bVar13 = *pbVar9 < *pbVar10;\n          bVar11 = *pbVar9 == *pbVar10;\n          pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar12 = false;\n        bVar11 = (!bVar13 && !bVar11) == bVar13;\n        if (!bVar11) {\n          lVar8 = 7;\n          pbVar9 = __s1;\n          pbVar10 = (byte *)0x122fb3;\n          do {\n            if (lVar8 == 0) break;\n            lVar8 = lVar8 + -1;\n            bVar12 = *pbVar9 < *pbVar10;\n            bVar11 = *pbVar9 == *pbVar10;\n            pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n            pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n          } while (bVar11);\n          bVar13 = false;\n          bVar11 = (!bVar12 && !bVar11) == bVar12;\n          if (!bVar11) {\n            lVar8 = 0xc;\n            pbVar9 = __s1;\n            pbVar10 = (byte *)"long double";\n            do {\n              if (lVar8 == 0) break;\n              lVar8 = lVar8 + -1;\n              bVar13 = *pbVar9 < *pbVar10;\n              bVar11 = *pbVar9 == *pbVar10;\n              pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n            } while (bVar11);\n            bVar12 = false;\n            bVar11 = (!bVar13 && !bVar11) == bVar13;\n            if (!bVar11) {\n              lVar8 = 6;\n              pbVar9 = __s1;\n              pbVar10 = (byte *)"float";\n              do {\n                if (lVar8 == 0) break;\n                lVar8 = lVar8 + -1;\n                bVar12 = *pbVar9 < *pbVar10;\n                bVar11 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar13 = false;\n              bVar11 = (!bVar12 && !bVar11) == bVar12;\n              if (bVar11) {\n                pdVar6 = debug_make_float_type(dhandle,4);\n                goto LAB_00111512;\n              }\n              lVar8 = 0xb;\n              pbVar9 = __s1;\n              pbVar10 = (byte *)"__float128";\n              do {\n                if (lVar8 == 0) break;\n                lVar8 = lVar8 + -1;\n                bVar13 = *pbVar9 < *pbVar10;\n                bVar11 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\n                pdVar6 = debug_make_float_type(dhandle,0x10);\n                goto LAB_00111512;\n              }\n              lVar8 = 0xe;\n              pbVar9 = __s1;\n              pbVar10 = (byte *)"unsigned char";\n              do {\n                if (lVar8 == 0) break;\n                lVar8 = lVar8 + -1;\n                bVar12 = *pbVar9 < *pbVar10;\n                bVar11 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar13 = false;\n              bVar11 = (!bVar12 && !bVar11) == bVar12;\n              if (bVar11) {\n                pdVar6 = debug_make_int_type(dhandle,1,1);\n                goto LAB_00111512;\n              }\n              lVar8 = 4;\n              pbVar9 = __s1;\n              pbVar10 = (byte *)0x1230d2;\n              do {\n                if (lVar8 == 0) break;\n                lVar8 = lVar8 + -1;\n                bVar13 = *pbVar9 < *pbVar10;\n                bVar11 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\nLAB_00111631:\n                pdVar6 = debug_make_int_type(dhandle,4,0);\n              }\n              else {\n                lVar8 = 0xd;\n                pbVar9 = __s1;\n                pbVar10 = (byte *)0x1230c9;\n                do {\n                  if (lVar8 == 0) break;\n                  lVar8 = lVar8 + -1;\n                  bVar12 = *pbVar9 < *pbVar10;\n                  bVar11 = *pbVar9 == *pbVar10;\n                  pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  lVar8 = 5;\n                  pbVar9 = __s1;\n                  pbVar10 = (byte *)0x122f9e;\n                  do {\n                    if (lVar8 == 0) break;\n                    lVar8 = lVar8 + -1;\n                    bVar13 = *pbVar9 < *pbVar10;\n                    bVar11 = *pbVar9 == *pbVar10;\n                    pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto LAB_00111631;\n                  lVar8 = 0xe;\n                  pbVar9 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    if (lVar8 == 0) break;\n                    lVar8 = lVar8 + -1;\n                    bVar12 = *pbVar9 < *pbVar10;\n                    bVar11 = *pbVar9 == *pbVar10;\n                    pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_void_type(dhandle);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        pdVar6 = debug_make_int_type(dhandle,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          pdVar6 = debug_make_int_type(dhandle,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (pvarargs != (bfd_boolean *)0x0) {\n                              *pvarargs = 1;\n                              pdVar6 = (debug_type)0x0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          pdVar6 = (debug_type)0x0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }\n                pdVar6 = debug_make_int_type(dhandle,4,1);\n              }\n              goto LAB_00111512;\n            }\n          }\n          pdVar6 = debug_make_float_type(dhandle,8);\n          goto LAB_00111512;\n        }\n      }" if (parenthesized_expression "(!bVar11)" ( (unary_expression "!bVar11" ! identifier) )) (compound_statement "{\n        lVar8 = 5;\n        pbVar9 = __s1;\n        pbVar10 = &DAT_0012307b;\n        do {\n          if (lVar8 == 0) break;\n          lVar8 = lVar8 + -1;\n          bVar12 = *pbVar9 < *pbVar10;\n          bVar11 = *pbVar9 == *pbVar10;\n          pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar13 = false;\n        bVar11 = (!bVar12 && !bVar11) == bVar12;\n        if (bVar11) {\n          pdVar6 = debug_make_bool_type(dhandle,1);\n          goto LAB_00111512;\n        }\n        lVar8 = 5;\n        pbVar9 = __s1;\n        pbVar10 = (byte *)0x122f78;\n        do {\n          if (lVar8 == 0) break;\n          lVar8 = lVar8 + -1;\n          bVar13 = *pbVar9 < *pbVar10;\n          bVar11 = *pbVar9 == *pbVar10;\n          pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n        } while (bVar11);\n        bVar12 = false;\n        bVar11 = (!bVar13 && !bVar11) == bVar13;\n        if (!bVar11) {\n          lVar8 = 7;\n          pbVar9 = __s1;\n          pbVar10 = (byte *)0x122fb3;\n          do {\n            if (lVar8 == 0) break;\n            lVar8 = lVar8 + -1;\n            bVar12 = *pbVar9 < *pbVar10;\n            bVar11 = *pbVar9 == *pbVar10;\n            pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n            pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n          } while (bVar11);\n          bVar13 = false;\n          bVar11 = (!bVar12 && !bVar11) == bVar12;\n          if (!bVar11) {\n            lVar8 = 0xc;\n            pbVar9 = __s1;\n            pbVar10 = (byte *)"long double";\n            do {\n              if (lVar8 == 0) break;\n              lVar8 = lVar8 + -1;\n              bVar13 = *pbVar9 < *pbVar10;\n              bVar11 = *pbVar9 == *pbVar10;\n              pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n            } while (bVar11);\n            bVar12 = false;\n            bVar11 = (!bVar13 && !bVar11) == bVar13;\n            if (!bVar11) {\n              lVar8 = 6;\n              pbVar9 = __s1;\n              pbVar10 = (byte *)"float";\n              do {\n                if (lVar8 == 0) break;\n                lVar8 = lVar8 + -1;\n                bVar12 = *pbVar9 < *pbVar10;\n                bVar11 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar13 = false;\n              bVar11 = (!bVar12 && !bVar11) == bVar12;\n              if (bVar11) {\n                pdVar6 = debug_make_float_type(dhandle,4);\n                goto LAB_00111512;\n              }\n              lVar8 = 0xb;\n              pbVar9 = __s1;\n              pbVar10 = (byte *)"__float128";\n              do {\n                if (lVar8 == 0) break;\n                lVar8 = lVar8 + -1;\n                bVar13 = *pbVar9 < *pbVar10;\n                bVar11 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\n                pdVar6 = debug_make_float_type(dhandle,0x10);\n                goto LAB_00111512;\n              }\n              lVar8 = 0xe;\n              pbVar9 = __s1;\n              pbVar10 = (byte *)"unsigned char";\n              do {\n                if (lVar8 == 0) break;\n                lVar8 = lVar8 + -1;\n                bVar12 = *pbVar9 < *pbVar10;\n                bVar11 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar13 = false;\n              bVar11 = (!bVar12 && !bVar11) == bVar12;\n              if (bVar11) {\n                pdVar6 = debug_make_int_type(dhandle,1,1);\n                goto LAB_00111512;\n              }\n              lVar8 = 4;\n              pbVar9 = __s1;\n              pbVar10 = (byte *)0x1230d2;\n              do {\n                if (lVar8 == 0) break;\n                lVar8 = lVar8 + -1;\n                bVar13 = *pbVar9 < *pbVar10;\n                bVar11 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\nLAB_00111631:\n                pdVar6 = debug_make_int_type(dhandle,4,0);\n              }\n              else {\n                lVar8 = 0xd;\n                pbVar9 = __s1;\n                pbVar10 = (byte *)0x1230c9;\n                do {\n                  if (lVar8 == 0) break;\n                  lVar8 = lVar8 + -1;\n                  bVar12 = *pbVar9 < *pbVar10;\n                  bVar11 = *pbVar9 == *pbVar10;\n                  pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  lVar8 = 5;\n                  pbVar9 = __s1;\n                  pbVar10 = (byte *)0x122f9e;\n                  do {\n                    if (lVar8 == 0) break;\n                    lVar8 = lVar8 + -1;\n                    bVar13 = *pbVar9 < *pbVar10;\n                    bVar11 = *pbVar9 == *pbVar10;\n                    pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto LAB_00111631;\n                  lVar8 = 0xe;\n                  pbVar9 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    if (lVar8 == 0) break;\n                    lVar8 = lVar8 + -1;\n                    bVar12 = *pbVar9 < *pbVar10;\n                    bVar11 = *pbVar9 == *pbVar10;\n                    pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_void_type(dhandle);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        pdVar6 = debug_make_int_type(dhandle,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          pdVar6 = debug_make_int_type(dhandle,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (pvarargs != (bfd_boolean *)0x0) {\n                              *pvarargs = 1;\n                              pdVar6 = (debug_type)0x0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          pdVar6 = (debug_type)0x0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }\n                pdVar6 = debug_make_int_type(dhandle,4,1);\n              }\n              goto LAB_00111512;\n            }\n          }\n          pdVar6 = debug_make_float_type(dhandle,8);\n          goto LAB_00111512;\n        }\n      }" { (expression_statement "lVar8 = 5;" (assignment_expression "lVar8 = 5" identifier = number_literal) ;) (expression_statement "pbVar9 = __s1;" (assignment_expression "pbVar9 = __s1" identifier = identifier) ;) (expression_statement "pbVar10 = &DAT_0012307b;" (assignment_expression "pbVar10 = &DAT_0012307b" identifier = (pointer_expression "&DAT_0012307b" & identifier)) ;) (do_statement "do {\n          if (lVar8 == 0) break;\n          lVar8 = lVar8 + -1;\n          bVar12 = *pbVar9 < *pbVar10;\n          bVar11 = *pbVar9 == *pbVar10;\n          pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n        } while (bVar11);" do (compound_statement "{\n          if (lVar8 == 0) break;\n          lVar8 = lVar8 + -1;\n          bVar12 = *pbVar9 < *pbVar10;\n          bVar11 = *pbVar9 == *pbVar10;\n          pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n        }" { (if_statement "if (lVar8 == 0) break;" if (parenthesized_expression "(lVar8 == 0)" ( (binary_expression "lVar8 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar8 = lVar8 + -1;" (assignment_expression "lVar8 = lVar8 + -1" identifier = (binary_expression "lVar8 + -1" identifier + number_literal)) ;) (expression_statement "bVar12 = *pbVar9 < *pbVar10;" (assignment_expression "bVar12 = *pbVar9 < *pbVar10" identifier = (binary_expression "*pbVar9 < *pbVar10" (pointer_expression "*pbVar9" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar11 = *pbVar9 == *pbVar10;" (assignment_expression "bVar11 = *pbVar9 == *pbVar10" identifier = (binary_expression "*pbVar9 == *pbVar10" (pointer_expression "*pbVar9" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1" identifier = (binary_expression "pbVar9 + (ulong)bVar14 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar14 * -2" identifier + (binary_expression "(ulong)bVar14 * -2" (cast_expression "(ulong)bVar14" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1" identifier = (binary_expression "pbVar10 + (ulong)bVar14 * -2 + 1" (binary_expression "pbVar10 + (ulong)bVar14 * -2" identifier + (binary_expression "(ulong)bVar14 * -2" (cast_expression "(ulong)bVar14" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar11)" ( identifier )) ;) (expression_statement "bVar13 = false;" (assignment_expression "bVar13 = false" identifier = false) ;) (expression_statement "bVar11 = (!bVar12 && !bVar11) == bVar12;" (assignment_expression "bVar11 = (!bVar12 && !bVar11) == bVar12" identifier = (binary_expression "(!bVar12 && !bVar11) == bVar12" (parenthesized_expression "(!bVar12 && !bVar11)" ( (binary_expression "!bVar12 && !bVar11" (unary_expression "!bVar12" ! identifier) && (unary_expression "!bVar11" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar11) {\n          pdVar6 = debug_make_bool_type(dhandle,1);\n          goto LAB_00111512;\n        }" if (parenthesized_expression "(bVar11)" ( identifier )) (compound_statement "{\n          pdVar6 = debug_make_bool_type(dhandle,1);\n          goto LAB_00111512;\n        }" { (expression_statement "pdVar6 = debug_make_bool_type(dhandle,1);" (assignment_expression "pdVar6 = debug_make_bool_type(dhandle,1)" identifier = (call_expression "debug_make_bool_type(dhandle,1)" identifier (argument_list "(dhandle,1)" ( identifier , number_literal )))) ;) (goto_statement "goto LAB_00111512;" goto statement_identifier ;) })) (expression_statement "lVar8 = 5;" (assignment_expression "lVar8 = 5" identifier = number_literal) ;) (expression_statement "pbVar9 = __s1;" (assignment_expression "pbVar9 = __s1" identifier = identifier) ;) (expression_statement "pbVar10 = (byte *)0x122f78;" (assignment_expression "pbVar10 = (byte *)0x122f78" identifier = (cast_expression "(byte *)0x122f78" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n          if (lVar8 == 0) break;\n          lVar8 = lVar8 + -1;\n          bVar13 = *pbVar9 < *pbVar10;\n          bVar11 = *pbVar9 == *pbVar10;\n          pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n        } while (bVar11);" do (compound_statement "{\n          if (lVar8 == 0) break;\n          lVar8 = lVar8 + -1;\n          bVar13 = *pbVar9 < *pbVar10;\n          bVar11 = *pbVar9 == *pbVar10;\n          pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n          pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n        }" { (if_statement "if (lVar8 == 0) break;" if (parenthesized_expression "(lVar8 == 0)" ( (binary_expression "lVar8 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar8 = lVar8 + -1;" (assignment_expression "lVar8 = lVar8 + -1" identifier = (binary_expression "lVar8 + -1" identifier + number_literal)) ;) (expression_statement "bVar13 = *pbVar9 < *pbVar10;" (assignment_expression "bVar13 = *pbVar9 < *pbVar10" identifier = (binary_expression "*pbVar9 < *pbVar10" (pointer_expression "*pbVar9" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar11 = *pbVar9 == *pbVar10;" (assignment_expression "bVar11 = *pbVar9 == *pbVar10" identifier = (binary_expression "*pbVar9 == *pbVar10" (pointer_expression "*pbVar9" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1" identifier = (binary_expression "pbVar9 + (ulong)bVar14 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar14 * -2" identifier + (binary_expression "(ulong)bVar14 * -2" (cast_expression "(ulong)bVar14" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1" identifier = (binary_expression "pbVar10 + (ulong)bVar14 * -2 + 1" (binary_expression "pbVar10 + (ulong)bVar14 * -2" identifier + (binary_expression "(ulong)bVar14 * -2" (cast_expression "(ulong)bVar14" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar11)" ( identifier )) ;) (expression_statement "bVar12 = false;" (assignment_expression "bVar12 = false" identifier = false) ;) (expression_statement "bVar11 = (!bVar13 && !bVar11) == bVar13;" (assignment_expression "bVar11 = (!bVar13 && !bVar11) == bVar13" identifier = (binary_expression "(!bVar13 && !bVar11) == bVar13" (parenthesized_expression "(!bVar13 && !bVar11)" ( (binary_expression "!bVar13 && !bVar11" (unary_expression "!bVar13" ! identifier) && (unary_expression "!bVar11" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar11) {\n          lVar8 = 7;\n          pbVar9 = __s1;\n          pbVar10 = (byte *)0x122fb3;\n          do {\n            if (lVar8 == 0) break;\n            lVar8 = lVar8 + -1;\n            bVar12 = *pbVar9 < *pbVar10;\n            bVar11 = *pbVar9 == *pbVar10;\n            pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n            pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n          } while (bVar11);\n          bVar13 = false;\n          bVar11 = (!bVar12 && !bVar11) == bVar12;\n          if (!bVar11) {\n            lVar8 = 0xc;\n            pbVar9 = __s1;\n            pbVar10 = (byte *)"long double";\n            do {\n              if (lVar8 == 0) break;\n              lVar8 = lVar8 + -1;\n              bVar13 = *pbVar9 < *pbVar10;\n              bVar11 = *pbVar9 == *pbVar10;\n              pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n            } while (bVar11);\n            bVar12 = false;\n            bVar11 = (!bVar13 && !bVar11) == bVar13;\n            if (!bVar11) {\n              lVar8 = 6;\n              pbVar9 = __s1;\n              pbVar10 = (byte *)"float";\n              do {\n                if (lVar8 == 0) break;\n                lVar8 = lVar8 + -1;\n                bVar12 = *pbVar9 < *pbVar10;\n                bVar11 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar13 = false;\n              bVar11 = (!bVar12 && !bVar11) == bVar12;\n              if (bVar11) {\n                pdVar6 = debug_make_float_type(dhandle,4);\n                goto LAB_00111512;\n              }\n              lVar8 = 0xb;\n              pbVar9 = __s1;\n              pbVar10 = (byte *)"__float128";\n              do {\n                if (lVar8 == 0) break;\n                lVar8 = lVar8 + -1;\n                bVar13 = *pbVar9 < *pbVar10;\n                bVar11 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\n                pdVar6 = debug_make_float_type(dhandle,0x10);\n                goto LAB_00111512;\n              }\n              lVar8 = 0xe;\n              pbVar9 = __s1;\n              pbVar10 = (byte *)"unsigned char";\n              do {\n                if (lVar8 == 0) break;\n                lVar8 = lVar8 + -1;\n                bVar12 = *pbVar9 < *pbVar10;\n                bVar11 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar13 = false;\n              bVar11 = (!bVar12 && !bVar11) == bVar12;\n              if (bVar11) {\n                pdVar6 = debug_make_int_type(dhandle,1,1);\n                goto LAB_00111512;\n              }\n              lVar8 = 4;\n              pbVar9 = __s1;\n              pbVar10 = (byte *)0x1230d2;\n              do {\n                if (lVar8 == 0) break;\n                lVar8 = lVar8 + -1;\n                bVar13 = *pbVar9 < *pbVar10;\n                bVar11 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\nLAB_00111631:\n                pdVar6 = debug_make_int_type(dhandle,4,0);\n              }\n              else {\n                lVar8 = 0xd;\n                pbVar9 = __s1;\n                pbVar10 = (byte *)0x1230c9;\n                do {\n                  if (lVar8 == 0) break;\n                  lVar8 = lVar8 + -1;\n                  bVar12 = *pbVar9 < *pbVar10;\n                  bVar11 = *pbVar9 == *pbVar10;\n                  pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  lVar8 = 5;\n                  pbVar9 = __s1;\n                  pbVar10 = (byte *)0x122f9e;\n                  do {\n                    if (lVar8 == 0) break;\n                    lVar8 = lVar8 + -1;\n                    bVar13 = *pbVar9 < *pbVar10;\n                    bVar11 = *pbVar9 == *pbVar10;\n                    pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto LAB_00111631;\n                  lVar8 = 0xe;\n                  pbVar9 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    if (lVar8 == 0) break;\n                    lVar8 = lVar8 + -1;\n                    bVar12 = *pbVar9 < *pbVar10;\n                    bVar11 = *pbVar9 == *pbVar10;\n                    pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_void_type(dhandle);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        pdVar6 = debug_make_int_type(dhandle,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          pdVar6 = debug_make_int_type(dhandle,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (pvarargs != (bfd_boolean *)0x0) {\n                              *pvarargs = 1;\n                              pdVar6 = (debug_type)0x0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          pdVar6 = (debug_type)0x0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }\n                pdVar6 = debug_make_int_type(dhandle,4,1);\n              }\n              goto LAB_00111512;\n            }\n          }\n          pdVar6 = debug_make_float_type(dhandle,8);\n          goto LAB_00111512;\n        }" if (parenthesized_expression "(!bVar11)" ( (unary_expression "!bVar11" ! identifier) )) (compound_statement "{\n          lVar8 = 7;\n          pbVar9 = __s1;\n          pbVar10 = (byte *)0x122fb3;\n          do {\n            if (lVar8 == 0) break;\n            lVar8 = lVar8 + -1;\n            bVar12 = *pbVar9 < *pbVar10;\n            bVar11 = *pbVar9 == *pbVar10;\n            pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n            pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n          } while (bVar11);\n          bVar13 = false;\n          bVar11 = (!bVar12 && !bVar11) == bVar12;\n          if (!bVar11) {\n            lVar8 = 0xc;\n            pbVar9 = __s1;\n            pbVar10 = (byte *)"long double";\n            do {\n              if (lVar8 == 0) break;\n              lVar8 = lVar8 + -1;\n              bVar13 = *pbVar9 < *pbVar10;\n              bVar11 = *pbVar9 == *pbVar10;\n              pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n            } while (bVar11);\n            bVar12 = false;\n            bVar11 = (!bVar13 && !bVar11) == bVar13;\n            if (!bVar11) {\n              lVar8 = 6;\n              pbVar9 = __s1;\n              pbVar10 = (byte *)"float";\n              do {\n                if (lVar8 == 0) break;\n                lVar8 = lVar8 + -1;\n                bVar12 = *pbVar9 < *pbVar10;\n                bVar11 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar13 = false;\n              bVar11 = (!bVar12 && !bVar11) == bVar12;\n              if (bVar11) {\n                pdVar6 = debug_make_float_type(dhandle,4);\n                goto LAB_00111512;\n              }\n              lVar8 = 0xb;\n              pbVar9 = __s1;\n              pbVar10 = (byte *)"__float128";\n              do {\n                if (lVar8 == 0) break;\n                lVar8 = lVar8 + -1;\n                bVar13 = *pbVar9 < *pbVar10;\n                bVar11 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\n                pdVar6 = debug_make_float_type(dhandle,0x10);\n                goto LAB_00111512;\n              }\n              lVar8 = 0xe;\n              pbVar9 = __s1;\n              pbVar10 = (byte *)"unsigned char";\n              do {\n                if (lVar8 == 0) break;\n                lVar8 = lVar8 + -1;\n                bVar12 = *pbVar9 < *pbVar10;\n                bVar11 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar13 = false;\n              bVar11 = (!bVar12 && !bVar11) == bVar12;\n              if (bVar11) {\n                pdVar6 = debug_make_int_type(dhandle,1,1);\n                goto LAB_00111512;\n              }\n              lVar8 = 4;\n              pbVar9 = __s1;\n              pbVar10 = (byte *)0x1230d2;\n              do {\n                if (lVar8 == 0) break;\n                lVar8 = lVar8 + -1;\n                bVar13 = *pbVar9 < *pbVar10;\n                bVar11 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\nLAB_00111631:\n                pdVar6 = debug_make_int_type(dhandle,4,0);\n              }\n              else {\n                lVar8 = 0xd;\n                pbVar9 = __s1;\n                pbVar10 = (byte *)0x1230c9;\n                do {\n                  if (lVar8 == 0) break;\n                  lVar8 = lVar8 + -1;\n                  bVar12 = *pbVar9 < *pbVar10;\n                  bVar11 = *pbVar9 == *pbVar10;\n                  pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  lVar8 = 5;\n                  pbVar9 = __s1;\n                  pbVar10 = (byte *)0x122f9e;\n                  do {\n                    if (lVar8 == 0) break;\n                    lVar8 = lVar8 + -1;\n                    bVar13 = *pbVar9 < *pbVar10;\n                    bVar11 = *pbVar9 == *pbVar10;\n                    pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto LAB_00111631;\n                  lVar8 = 0xe;\n                  pbVar9 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    if (lVar8 == 0) break;\n                    lVar8 = lVar8 + -1;\n                    bVar12 = *pbVar9 < *pbVar10;\n                    bVar11 = *pbVar9 == *pbVar10;\n                    pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_void_type(dhandle);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        pdVar6 = debug_make_int_type(dhandle,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          pdVar6 = debug_make_int_type(dhandle,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (pvarargs != (bfd_boolean *)0x0) {\n                              *pvarargs = 1;\n                              pdVar6 = (debug_type)0x0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          pdVar6 = (debug_type)0x0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }\n                pdVar6 = debug_make_int_type(dhandle,4,1);\n              }\n              goto LAB_00111512;\n            }\n          }\n          pdVar6 = debug_make_float_type(dhandle,8);\n          goto LAB_00111512;\n        }" { (expression_statement "lVar8 = 7;" (assignment_expression "lVar8 = 7" identifier = number_literal) ;) (expression_statement "pbVar9 = __s1;" (assignment_expression "pbVar9 = __s1" identifier = identifier) ;) (expression_statement "pbVar10 = (byte *)0x122fb3;" (assignment_expression "pbVar10 = (byte *)0x122fb3" identifier = (cast_expression "(byte *)0x122fb3" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n            if (lVar8 == 0) break;\n            lVar8 = lVar8 + -1;\n            bVar12 = *pbVar9 < *pbVar10;\n            bVar11 = *pbVar9 == *pbVar10;\n            pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n            pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n          } while (bVar11);" do (compound_statement "{\n            if (lVar8 == 0) break;\n            lVar8 = lVar8 + -1;\n            bVar12 = *pbVar9 < *pbVar10;\n            bVar11 = *pbVar9 == *pbVar10;\n            pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n            pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n          }" { (if_statement "if (lVar8 == 0) break;" if (parenthesized_expression "(lVar8 == 0)" ( (binary_expression "lVar8 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar8 = lVar8 + -1;" (assignment_expression "lVar8 = lVar8 + -1" identifier = (binary_expression "lVar8 + -1" identifier + number_literal)) ;) (expression_statement "bVar12 = *pbVar9 < *pbVar10;" (assignment_expression "bVar12 = *pbVar9 < *pbVar10" identifier = (binary_expression "*pbVar9 < *pbVar10" (pointer_expression "*pbVar9" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar11 = *pbVar9 == *pbVar10;" (assignment_expression "bVar11 = *pbVar9 == *pbVar10" identifier = (binary_expression "*pbVar9 == *pbVar10" (pointer_expression "*pbVar9" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1" identifier = (binary_expression "pbVar9 + (ulong)bVar14 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar14 * -2" identifier + (binary_expression "(ulong)bVar14 * -2" (cast_expression "(ulong)bVar14" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1" identifier = (binary_expression "pbVar10 + (ulong)bVar14 * -2 + 1" (binary_expression "pbVar10 + (ulong)bVar14 * -2" identifier + (binary_expression "(ulong)bVar14 * -2" (cast_expression "(ulong)bVar14" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar11)" ( identifier )) ;) (expression_statement "bVar13 = false;" (assignment_expression "bVar13 = false" identifier = false) ;) (expression_statement "bVar11 = (!bVar12 && !bVar11) == bVar12;" (assignment_expression "bVar11 = (!bVar12 && !bVar11) == bVar12" identifier = (binary_expression "(!bVar12 && !bVar11) == bVar12" (parenthesized_expression "(!bVar12 && !bVar11)" ( (binary_expression "!bVar12 && !bVar11" (unary_expression "!bVar12" ! identifier) && (unary_expression "!bVar11" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar11) {\n            lVar8 = 0xc;\n            pbVar9 = __s1;\n            pbVar10 = (byte *)"long double";\n            do {\n              if (lVar8 == 0) break;\n              lVar8 = lVar8 + -1;\n              bVar13 = *pbVar9 < *pbVar10;\n              bVar11 = *pbVar9 == *pbVar10;\n              pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n            } while (bVar11);\n            bVar12 = false;\n            bVar11 = (!bVar13 && !bVar11) == bVar13;\n            if (!bVar11) {\n              lVar8 = 6;\n              pbVar9 = __s1;\n              pbVar10 = (byte *)"float";\n              do {\n                if (lVar8 == 0) break;\n                lVar8 = lVar8 + -1;\n                bVar12 = *pbVar9 < *pbVar10;\n                bVar11 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar13 = false;\n              bVar11 = (!bVar12 && !bVar11) == bVar12;\n              if (bVar11) {\n                pdVar6 = debug_make_float_type(dhandle,4);\n                goto LAB_00111512;\n              }\n              lVar8 = 0xb;\n              pbVar9 = __s1;\n              pbVar10 = (byte *)"__float128";\n              do {\n                if (lVar8 == 0) break;\n                lVar8 = lVar8 + -1;\n                bVar13 = *pbVar9 < *pbVar10;\n                bVar11 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\n                pdVar6 = debug_make_float_type(dhandle,0x10);\n                goto LAB_00111512;\n              }\n              lVar8 = 0xe;\n              pbVar9 = __s1;\n              pbVar10 = (byte *)"unsigned char";\n              do {\n                if (lVar8 == 0) break;\n                lVar8 = lVar8 + -1;\n                bVar12 = *pbVar9 < *pbVar10;\n                bVar11 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar13 = false;\n              bVar11 = (!bVar12 && !bVar11) == bVar12;\n              if (bVar11) {\n                pdVar6 = debug_make_int_type(dhandle,1,1);\n                goto LAB_00111512;\n              }\n              lVar8 = 4;\n              pbVar9 = __s1;\n              pbVar10 = (byte *)0x1230d2;\n              do {\n                if (lVar8 == 0) break;\n                lVar8 = lVar8 + -1;\n                bVar13 = *pbVar9 < *pbVar10;\n                bVar11 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\nLAB_00111631:\n                pdVar6 = debug_make_int_type(dhandle,4,0);\n              }\n              else {\n                lVar8 = 0xd;\n                pbVar9 = __s1;\n                pbVar10 = (byte *)0x1230c9;\n                do {\n                  if (lVar8 == 0) break;\n                  lVar8 = lVar8 + -1;\n                  bVar12 = *pbVar9 < *pbVar10;\n                  bVar11 = *pbVar9 == *pbVar10;\n                  pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  lVar8 = 5;\n                  pbVar9 = __s1;\n                  pbVar10 = (byte *)0x122f9e;\n                  do {\n                    if (lVar8 == 0) break;\n                    lVar8 = lVar8 + -1;\n                    bVar13 = *pbVar9 < *pbVar10;\n                    bVar11 = *pbVar9 == *pbVar10;\n                    pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto LAB_00111631;\n                  lVar8 = 0xe;\n                  pbVar9 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    if (lVar8 == 0) break;\n                    lVar8 = lVar8 + -1;\n                    bVar12 = *pbVar9 < *pbVar10;\n                    bVar11 = *pbVar9 == *pbVar10;\n                    pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_void_type(dhandle);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        pdVar6 = debug_make_int_type(dhandle,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          pdVar6 = debug_make_int_type(dhandle,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (pvarargs != (bfd_boolean *)0x0) {\n                              *pvarargs = 1;\n                              pdVar6 = (debug_type)0x0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          pdVar6 = (debug_type)0x0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }\n                pdVar6 = debug_make_int_type(dhandle,4,1);\n              }\n              goto LAB_00111512;\n            }\n          }" if (parenthesized_expression "(!bVar11)" ( (unary_expression "!bVar11" ! identifier) )) (compound_statement "{\n            lVar8 = 0xc;\n            pbVar9 = __s1;\n            pbVar10 = (byte *)"long double";\n            do {\n              if (lVar8 == 0) break;\n              lVar8 = lVar8 + -1;\n              bVar13 = *pbVar9 < *pbVar10;\n              bVar11 = *pbVar9 == *pbVar10;\n              pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n            } while (bVar11);\n            bVar12 = false;\n            bVar11 = (!bVar13 && !bVar11) == bVar13;\n            if (!bVar11) {\n              lVar8 = 6;\n              pbVar9 = __s1;\n              pbVar10 = (byte *)"float";\n              do {\n                if (lVar8 == 0) break;\n                lVar8 = lVar8 + -1;\n                bVar12 = *pbVar9 < *pbVar10;\n                bVar11 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar13 = false;\n              bVar11 = (!bVar12 && !bVar11) == bVar12;\n              if (bVar11) {\n                pdVar6 = debug_make_float_type(dhandle,4);\n                goto LAB_00111512;\n              }\n              lVar8 = 0xb;\n              pbVar9 = __s1;\n              pbVar10 = (byte *)"__float128";\n              do {\n                if (lVar8 == 0) break;\n                lVar8 = lVar8 + -1;\n                bVar13 = *pbVar9 < *pbVar10;\n                bVar11 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\n                pdVar6 = debug_make_float_type(dhandle,0x10);\n                goto LAB_00111512;\n              }\n              lVar8 = 0xe;\n              pbVar9 = __s1;\n              pbVar10 = (byte *)"unsigned char";\n              do {\n                if (lVar8 == 0) break;\n                lVar8 = lVar8 + -1;\n                bVar12 = *pbVar9 < *pbVar10;\n                bVar11 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar13 = false;\n              bVar11 = (!bVar12 && !bVar11) == bVar12;\n              if (bVar11) {\n                pdVar6 = debug_make_int_type(dhandle,1,1);\n                goto LAB_00111512;\n              }\n              lVar8 = 4;\n              pbVar9 = __s1;\n              pbVar10 = (byte *)0x1230d2;\n              do {\n                if (lVar8 == 0) break;\n                lVar8 = lVar8 + -1;\n                bVar13 = *pbVar9 < *pbVar10;\n                bVar11 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\nLAB_00111631:\n                pdVar6 = debug_make_int_type(dhandle,4,0);\n              }\n              else {\n                lVar8 = 0xd;\n                pbVar9 = __s1;\n                pbVar10 = (byte *)0x1230c9;\n                do {\n                  if (lVar8 == 0) break;\n                  lVar8 = lVar8 + -1;\n                  bVar12 = *pbVar9 < *pbVar10;\n                  bVar11 = *pbVar9 == *pbVar10;\n                  pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  lVar8 = 5;\n                  pbVar9 = __s1;\n                  pbVar10 = (byte *)0x122f9e;\n                  do {\n                    if (lVar8 == 0) break;\n                    lVar8 = lVar8 + -1;\n                    bVar13 = *pbVar9 < *pbVar10;\n                    bVar11 = *pbVar9 == *pbVar10;\n                    pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto LAB_00111631;\n                  lVar8 = 0xe;\n                  pbVar9 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    if (lVar8 == 0) break;\n                    lVar8 = lVar8 + -1;\n                    bVar12 = *pbVar9 < *pbVar10;\n                    bVar11 = *pbVar9 == *pbVar10;\n                    pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_void_type(dhandle);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        pdVar6 = debug_make_int_type(dhandle,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          pdVar6 = debug_make_int_type(dhandle,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (pvarargs != (bfd_boolean *)0x0) {\n                              *pvarargs = 1;\n                              pdVar6 = (debug_type)0x0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          pdVar6 = (debug_type)0x0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }\n                pdVar6 = debug_make_int_type(dhandle,4,1);\n              }\n              goto LAB_00111512;\n            }\n          }" { (expression_statement "lVar8 = 0xc;" (assignment_expression "lVar8 = 0xc" identifier = number_literal) ;) (expression_statement "pbVar9 = __s1;" (assignment_expression "pbVar9 = __s1" identifier = identifier) ;) (expression_statement "pbVar10 = (byte *)"long double";" (assignment_expression "pbVar10 = (byte *)"long double"" identifier = (cast_expression "(byte *)"long double"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""long double"" " string_content "))) ;) (do_statement "do {\n              if (lVar8 == 0) break;\n              lVar8 = lVar8 + -1;\n              bVar13 = *pbVar9 < *pbVar10;\n              bVar11 = *pbVar9 == *pbVar10;\n              pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n            } while (bVar11);" do (compound_statement "{\n              if (lVar8 == 0) break;\n              lVar8 = lVar8 + -1;\n              bVar13 = *pbVar9 < *pbVar10;\n              bVar11 = *pbVar9 == *pbVar10;\n              pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n              pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n            }" { (if_statement "if (lVar8 == 0) break;" if (parenthesized_expression "(lVar8 == 0)" ( (binary_expression "lVar8 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar8 = lVar8 + -1;" (assignment_expression "lVar8 = lVar8 + -1" identifier = (binary_expression "lVar8 + -1" identifier + number_literal)) ;) (expression_statement "bVar13 = *pbVar9 < *pbVar10;" (assignment_expression "bVar13 = *pbVar9 < *pbVar10" identifier = (binary_expression "*pbVar9 < *pbVar10" (pointer_expression "*pbVar9" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar11 = *pbVar9 == *pbVar10;" (assignment_expression "bVar11 = *pbVar9 == *pbVar10" identifier = (binary_expression "*pbVar9 == *pbVar10" (pointer_expression "*pbVar9" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1" identifier = (binary_expression "pbVar9 + (ulong)bVar14 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar14 * -2" identifier + (binary_expression "(ulong)bVar14 * -2" (cast_expression "(ulong)bVar14" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1" identifier = (binary_expression "pbVar10 + (ulong)bVar14 * -2 + 1" (binary_expression "pbVar10 + (ulong)bVar14 * -2" identifier + (binary_expression "(ulong)bVar14 * -2" (cast_expression "(ulong)bVar14" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar11)" ( identifier )) ;) (expression_statement "bVar12 = false;" (assignment_expression "bVar12 = false" identifier = false) ;) (expression_statement "bVar11 = (!bVar13 && !bVar11) == bVar13;" (assignment_expression "bVar11 = (!bVar13 && !bVar11) == bVar13" identifier = (binary_expression "(!bVar13 && !bVar11) == bVar13" (parenthesized_expression "(!bVar13 && !bVar11)" ( (binary_expression "!bVar13 && !bVar11" (unary_expression "!bVar13" ! identifier) && (unary_expression "!bVar11" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar11) {\n              lVar8 = 6;\n              pbVar9 = __s1;\n              pbVar10 = (byte *)"float";\n              do {\n                if (lVar8 == 0) break;\n                lVar8 = lVar8 + -1;\n                bVar12 = *pbVar9 < *pbVar10;\n                bVar11 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar13 = false;\n              bVar11 = (!bVar12 && !bVar11) == bVar12;\n              if (bVar11) {\n                pdVar6 = debug_make_float_type(dhandle,4);\n                goto LAB_00111512;\n              }\n              lVar8 = 0xb;\n              pbVar9 = __s1;\n              pbVar10 = (byte *)"__float128";\n              do {\n                if (lVar8 == 0) break;\n                lVar8 = lVar8 + -1;\n                bVar13 = *pbVar9 < *pbVar10;\n                bVar11 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\n                pdVar6 = debug_make_float_type(dhandle,0x10);\n                goto LAB_00111512;\n              }\n              lVar8 = 0xe;\n              pbVar9 = __s1;\n              pbVar10 = (byte *)"unsigned char";\n              do {\n                if (lVar8 == 0) break;\n                lVar8 = lVar8 + -1;\n                bVar12 = *pbVar9 < *pbVar10;\n                bVar11 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar13 = false;\n              bVar11 = (!bVar12 && !bVar11) == bVar12;\n              if (bVar11) {\n                pdVar6 = debug_make_int_type(dhandle,1,1);\n                goto LAB_00111512;\n              }\n              lVar8 = 4;\n              pbVar9 = __s1;\n              pbVar10 = (byte *)0x1230d2;\n              do {\n                if (lVar8 == 0) break;\n                lVar8 = lVar8 + -1;\n                bVar13 = *pbVar9 < *pbVar10;\n                bVar11 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\nLAB_00111631:\n                pdVar6 = debug_make_int_type(dhandle,4,0);\n              }\n              else {\n                lVar8 = 0xd;\n                pbVar9 = __s1;\n                pbVar10 = (byte *)0x1230c9;\n                do {\n                  if (lVar8 == 0) break;\n                  lVar8 = lVar8 + -1;\n                  bVar12 = *pbVar9 < *pbVar10;\n                  bVar11 = *pbVar9 == *pbVar10;\n                  pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  lVar8 = 5;\n                  pbVar9 = __s1;\n                  pbVar10 = (byte *)0x122f9e;\n                  do {\n                    if (lVar8 == 0) break;\n                    lVar8 = lVar8 + -1;\n                    bVar13 = *pbVar9 < *pbVar10;\n                    bVar11 = *pbVar9 == *pbVar10;\n                    pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto LAB_00111631;\n                  lVar8 = 0xe;\n                  pbVar9 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    if (lVar8 == 0) break;\n                    lVar8 = lVar8 + -1;\n                    bVar12 = *pbVar9 < *pbVar10;\n                    bVar11 = *pbVar9 == *pbVar10;\n                    pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_void_type(dhandle);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        pdVar6 = debug_make_int_type(dhandle,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          pdVar6 = debug_make_int_type(dhandle,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (pvarargs != (bfd_boolean *)0x0) {\n                              *pvarargs = 1;\n                              pdVar6 = (debug_type)0x0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          pdVar6 = (debug_type)0x0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }\n                pdVar6 = debug_make_int_type(dhandle,4,1);\n              }\n              goto LAB_00111512;\n            }" if (parenthesized_expression "(!bVar11)" ( (unary_expression "!bVar11" ! identifier) )) (compound_statement "{\n              lVar8 = 6;\n              pbVar9 = __s1;\n              pbVar10 = (byte *)"float";\n              do {\n                if (lVar8 == 0) break;\n                lVar8 = lVar8 + -1;\n                bVar12 = *pbVar9 < *pbVar10;\n                bVar11 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar13 = false;\n              bVar11 = (!bVar12 && !bVar11) == bVar12;\n              if (bVar11) {\n                pdVar6 = debug_make_float_type(dhandle,4);\n                goto LAB_00111512;\n              }\n              lVar8 = 0xb;\n              pbVar9 = __s1;\n              pbVar10 = (byte *)"__float128";\n              do {\n                if (lVar8 == 0) break;\n                lVar8 = lVar8 + -1;\n                bVar13 = *pbVar9 < *pbVar10;\n                bVar11 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\n                pdVar6 = debug_make_float_type(dhandle,0x10);\n                goto LAB_00111512;\n              }\n              lVar8 = 0xe;\n              pbVar9 = __s1;\n              pbVar10 = (byte *)"unsigned char";\n              do {\n                if (lVar8 == 0) break;\n                lVar8 = lVar8 + -1;\n                bVar12 = *pbVar9 < *pbVar10;\n                bVar11 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar13 = false;\n              bVar11 = (!bVar12 && !bVar11) == bVar12;\n              if (bVar11) {\n                pdVar6 = debug_make_int_type(dhandle,1,1);\n                goto LAB_00111512;\n              }\n              lVar8 = 4;\n              pbVar9 = __s1;\n              pbVar10 = (byte *)0x1230d2;\n              do {\n                if (lVar8 == 0) break;\n                lVar8 = lVar8 + -1;\n                bVar13 = *pbVar9 < *pbVar10;\n                bVar11 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n              } while (bVar11);\n              bVar12 = false;\n              bVar11 = (!bVar13 && !bVar11) == bVar13;\n              if (bVar11) {\nLAB_00111631:\n                pdVar6 = debug_make_int_type(dhandle,4,0);\n              }\n              else {\n                lVar8 = 0xd;\n                pbVar9 = __s1;\n                pbVar10 = (byte *)0x1230c9;\n                do {\n                  if (lVar8 == 0) break;\n                  lVar8 = lVar8 + -1;\n                  bVar12 = *pbVar9 < *pbVar10;\n                  bVar11 = *pbVar9 == *pbVar10;\n                  pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  lVar8 = 5;\n                  pbVar9 = __s1;\n                  pbVar10 = (byte *)0x122f9e;\n                  do {\n                    if (lVar8 == 0) break;\n                    lVar8 = lVar8 + -1;\n                    bVar13 = *pbVar9 < *pbVar10;\n                    bVar11 = *pbVar9 == *pbVar10;\n                    pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto LAB_00111631;\n                  lVar8 = 0xe;\n                  pbVar9 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    if (lVar8 == 0) break;\n                    lVar8 = lVar8 + -1;\n                    bVar12 = *pbVar9 < *pbVar10;\n                    bVar11 = *pbVar9 == *pbVar10;\n                    pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_void_type(dhandle);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        pdVar6 = debug_make_int_type(dhandle,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          pdVar6 = debug_make_int_type(dhandle,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (pvarargs != (bfd_boolean *)0x0) {\n                              *pvarargs = 1;\n                              pdVar6 = (debug_type)0x0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          pdVar6 = (debug_type)0x0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }\n                pdVar6 = debug_make_int_type(dhandle,4,1);\n              }\n              goto LAB_00111512;\n            }" { (expression_statement "lVar8 = 6;" (assignment_expression "lVar8 = 6" identifier = number_literal) ;) (expression_statement "pbVar9 = __s1;" (assignment_expression "pbVar9 = __s1" identifier = identifier) ;) (expression_statement "pbVar10 = (byte *)"float";" (assignment_expression "pbVar10 = (byte *)"float"" identifier = (cast_expression "(byte *)"float"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""float"" " string_content "))) ;) (do_statement "do {\n                if (lVar8 == 0) break;\n                lVar8 = lVar8 + -1;\n                bVar12 = *pbVar9 < *pbVar10;\n                bVar11 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n              } while (bVar11);" do (compound_statement "{\n                if (lVar8 == 0) break;\n                lVar8 = lVar8 + -1;\n                bVar12 = *pbVar9 < *pbVar10;\n                bVar11 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n              }" { (if_statement "if (lVar8 == 0) break;" if (parenthesized_expression "(lVar8 == 0)" ( (binary_expression "lVar8 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar8 = lVar8 + -1;" (assignment_expression "lVar8 = lVar8 + -1" identifier = (binary_expression "lVar8 + -1" identifier + number_literal)) ;) (expression_statement "bVar12 = *pbVar9 < *pbVar10;" (assignment_expression "bVar12 = *pbVar9 < *pbVar10" identifier = (binary_expression "*pbVar9 < *pbVar10" (pointer_expression "*pbVar9" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar11 = *pbVar9 == *pbVar10;" (assignment_expression "bVar11 = *pbVar9 == *pbVar10" identifier = (binary_expression "*pbVar9 == *pbVar10" (pointer_expression "*pbVar9" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1" identifier = (binary_expression "pbVar9 + (ulong)bVar14 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar14 * -2" identifier + (binary_expression "(ulong)bVar14 * -2" (cast_expression "(ulong)bVar14" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1" identifier = (binary_expression "pbVar10 + (ulong)bVar14 * -2 + 1" (binary_expression "pbVar10 + (ulong)bVar14 * -2" identifier + (binary_expression "(ulong)bVar14 * -2" (cast_expression "(ulong)bVar14" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar11)" ( identifier )) ;) (expression_statement "bVar13 = false;" (assignment_expression "bVar13 = false" identifier = false) ;) (expression_statement "bVar11 = (!bVar12 && !bVar11) == bVar12;" (assignment_expression "bVar11 = (!bVar12 && !bVar11) == bVar12" identifier = (binary_expression "(!bVar12 && !bVar11) == bVar12" (parenthesized_expression "(!bVar12 && !bVar11)" ( (binary_expression "!bVar12 && !bVar11" (unary_expression "!bVar12" ! identifier) && (unary_expression "!bVar11" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar11) {\n                pdVar6 = debug_make_float_type(dhandle,4);\n                goto LAB_00111512;\n              }" if (parenthesized_expression "(bVar11)" ( identifier )) (compound_statement "{\n                pdVar6 = debug_make_float_type(dhandle,4);\n                goto LAB_00111512;\n              }" { (expression_statement "pdVar6 = debug_make_float_type(dhandle,4);" (assignment_expression "pdVar6 = debug_make_float_type(dhandle,4)" identifier = (call_expression "debug_make_float_type(dhandle,4)" identifier (argument_list "(dhandle,4)" ( identifier , number_literal )))) ;) (goto_statement "goto LAB_00111512;" goto statement_identifier ;) })) (expression_statement "lVar8 = 0xb;" (assignment_expression "lVar8 = 0xb" identifier = number_literal) ;) (expression_statement "pbVar9 = __s1;" (assignment_expression "pbVar9 = __s1" identifier = identifier) ;) (expression_statement "pbVar10 = (byte *)"__float128";" (assignment_expression "pbVar10 = (byte *)"__float128"" identifier = (cast_expression "(byte *)"__float128"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""__float128"" " string_content "))) ;) (do_statement "do {\n                if (lVar8 == 0) break;\n                lVar8 = lVar8 + -1;\n                bVar13 = *pbVar9 < *pbVar10;\n                bVar11 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n              } while (bVar11);" do (compound_statement "{\n                if (lVar8 == 0) break;\n                lVar8 = lVar8 + -1;\n                bVar13 = *pbVar9 < *pbVar10;\n                bVar11 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n              }" { (if_statement "if (lVar8 == 0) break;" if (parenthesized_expression "(lVar8 == 0)" ( (binary_expression "lVar8 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar8 = lVar8 + -1;" (assignment_expression "lVar8 = lVar8 + -1" identifier = (binary_expression "lVar8 + -1" identifier + number_literal)) ;) (expression_statement "bVar13 = *pbVar9 < *pbVar10;" (assignment_expression "bVar13 = *pbVar9 < *pbVar10" identifier = (binary_expression "*pbVar9 < *pbVar10" (pointer_expression "*pbVar9" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar11 = *pbVar9 == *pbVar10;" (assignment_expression "bVar11 = *pbVar9 == *pbVar10" identifier = (binary_expression "*pbVar9 == *pbVar10" (pointer_expression "*pbVar9" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1" identifier = (binary_expression "pbVar9 + (ulong)bVar14 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar14 * -2" identifier + (binary_expression "(ulong)bVar14 * -2" (cast_expression "(ulong)bVar14" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1" identifier = (binary_expression "pbVar10 + (ulong)bVar14 * -2 + 1" (binary_expression "pbVar10 + (ulong)bVar14 * -2" identifier + (binary_expression "(ulong)bVar14 * -2" (cast_expression "(ulong)bVar14" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar11)" ( identifier )) ;) (expression_statement "bVar12 = false;" (assignment_expression "bVar12 = false" identifier = false) ;) (expression_statement "bVar11 = (!bVar13 && !bVar11) == bVar13;" (assignment_expression "bVar11 = (!bVar13 && !bVar11) == bVar13" identifier = (binary_expression "(!bVar13 && !bVar11) == bVar13" (parenthesized_expression "(!bVar13 && !bVar11)" ( (binary_expression "!bVar13 && !bVar11" (unary_expression "!bVar13" ! identifier) && (unary_expression "!bVar11" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar11) {\n                pdVar6 = debug_make_float_type(dhandle,0x10);\n                goto LAB_00111512;\n              }" if (parenthesized_expression "(bVar11)" ( identifier )) (compound_statement "{\n                pdVar6 = debug_make_float_type(dhandle,0x10);\n                goto LAB_00111512;\n              }" { (expression_statement "pdVar6 = debug_make_float_type(dhandle,0x10);" (assignment_expression "pdVar6 = debug_make_float_type(dhandle,0x10)" identifier = (call_expression "debug_make_float_type(dhandle,0x10)" identifier (argument_list "(dhandle,0x10)" ( identifier , number_literal )))) ;) (goto_statement "goto LAB_00111512;" goto statement_identifier ;) })) (expression_statement "lVar8 = 0xe;" (assignment_expression "lVar8 = 0xe" identifier = number_literal) ;) (expression_statement "pbVar9 = __s1;" (assignment_expression "pbVar9 = __s1" identifier = identifier) ;) (expression_statement "pbVar10 = (byte *)"unsigned char";" (assignment_expression "pbVar10 = (byte *)"unsigned char"" identifier = (cast_expression "(byte *)"unsigned char"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""unsigned char"" " string_content "))) ;) (do_statement "do {\n                if (lVar8 == 0) break;\n                lVar8 = lVar8 + -1;\n                bVar12 = *pbVar9 < *pbVar10;\n                bVar11 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n              } while (bVar11);" do (compound_statement "{\n                if (lVar8 == 0) break;\n                lVar8 = lVar8 + -1;\n                bVar12 = *pbVar9 < *pbVar10;\n                bVar11 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n              }" { (if_statement "if (lVar8 == 0) break;" if (parenthesized_expression "(lVar8 == 0)" ( (binary_expression "lVar8 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar8 = lVar8 + -1;" (assignment_expression "lVar8 = lVar8 + -1" identifier = (binary_expression "lVar8 + -1" identifier + number_literal)) ;) (expression_statement "bVar12 = *pbVar9 < *pbVar10;" (assignment_expression "bVar12 = *pbVar9 < *pbVar10" identifier = (binary_expression "*pbVar9 < *pbVar10" (pointer_expression "*pbVar9" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar11 = *pbVar9 == *pbVar10;" (assignment_expression "bVar11 = *pbVar9 == *pbVar10" identifier = (binary_expression "*pbVar9 == *pbVar10" (pointer_expression "*pbVar9" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1" identifier = (binary_expression "pbVar9 + (ulong)bVar14 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar14 * -2" identifier + (binary_expression "(ulong)bVar14 * -2" (cast_expression "(ulong)bVar14" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1" identifier = (binary_expression "pbVar10 + (ulong)bVar14 * -2 + 1" (binary_expression "pbVar10 + (ulong)bVar14 * -2" identifier + (binary_expression "(ulong)bVar14 * -2" (cast_expression "(ulong)bVar14" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar11)" ( identifier )) ;) (expression_statement "bVar13 = false;" (assignment_expression "bVar13 = false" identifier = false) ;) (expression_statement "bVar11 = (!bVar12 && !bVar11) == bVar12;" (assignment_expression "bVar11 = (!bVar12 && !bVar11) == bVar12" identifier = (binary_expression "(!bVar12 && !bVar11) == bVar12" (parenthesized_expression "(!bVar12 && !bVar11)" ( (binary_expression "!bVar12 && !bVar11" (unary_expression "!bVar12" ! identifier) && (unary_expression "!bVar11" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar11) {\n                pdVar6 = debug_make_int_type(dhandle,1,1);\n                goto LAB_00111512;\n              }" if (parenthesized_expression "(bVar11)" ( identifier )) (compound_statement "{\n                pdVar6 = debug_make_int_type(dhandle,1,1);\n                goto LAB_00111512;\n              }" { (expression_statement "pdVar6 = debug_make_int_type(dhandle,1,1);" (assignment_expression "pdVar6 = debug_make_int_type(dhandle,1,1)" identifier = (call_expression "debug_make_int_type(dhandle,1,1)" identifier (argument_list "(dhandle,1,1)" ( identifier , number_literal , number_literal )))) ;) (goto_statement "goto LAB_00111512;" goto statement_identifier ;) })) (expression_statement "lVar8 = 4;" (assignment_expression "lVar8 = 4" identifier = number_literal) ;) (expression_statement "pbVar9 = __s1;" (assignment_expression "pbVar9 = __s1" identifier = identifier) ;) (expression_statement "pbVar10 = (byte *)0x1230d2;" (assignment_expression "pbVar10 = (byte *)0x1230d2" identifier = (cast_expression "(byte *)0x1230d2" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n                if (lVar8 == 0) break;\n                lVar8 = lVar8 + -1;\n                bVar13 = *pbVar9 < *pbVar10;\n                bVar11 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n              } while (bVar11);" do (compound_statement "{\n                if (lVar8 == 0) break;\n                lVar8 = lVar8 + -1;\n                bVar13 = *pbVar9 < *pbVar10;\n                bVar11 = *pbVar9 == *pbVar10;\n                pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n              }" { (if_statement "if (lVar8 == 0) break;" if (parenthesized_expression "(lVar8 == 0)" ( (binary_expression "lVar8 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar8 = lVar8 + -1;" (assignment_expression "lVar8 = lVar8 + -1" identifier = (binary_expression "lVar8 + -1" identifier + number_literal)) ;) (expression_statement "bVar13 = *pbVar9 < *pbVar10;" (assignment_expression "bVar13 = *pbVar9 < *pbVar10" identifier = (binary_expression "*pbVar9 < *pbVar10" (pointer_expression "*pbVar9" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar11 = *pbVar9 == *pbVar10;" (assignment_expression "bVar11 = *pbVar9 == *pbVar10" identifier = (binary_expression "*pbVar9 == *pbVar10" (pointer_expression "*pbVar9" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1" identifier = (binary_expression "pbVar9 + (ulong)bVar14 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar14 * -2" identifier + (binary_expression "(ulong)bVar14 * -2" (cast_expression "(ulong)bVar14" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1" identifier = (binary_expression "pbVar10 + (ulong)bVar14 * -2 + 1" (binary_expression "pbVar10 + (ulong)bVar14 * -2" identifier + (binary_expression "(ulong)bVar14 * -2" (cast_expression "(ulong)bVar14" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar11)" ( identifier )) ;) (expression_statement "bVar12 = false;" (assignment_expression "bVar12 = false" identifier = false) ;) (expression_statement "bVar11 = (!bVar13 && !bVar11) == bVar13;" (assignment_expression "bVar11 = (!bVar13 && !bVar11) == bVar13" identifier = (binary_expression "(!bVar13 && !bVar11) == bVar13" (parenthesized_expression "(!bVar13 && !bVar11)" ( (binary_expression "!bVar13 && !bVar11" (unary_expression "!bVar13" ! identifier) && (unary_expression "!bVar11" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar11) {\nLAB_00111631:\n                pdVar6 = debug_make_int_type(dhandle,4,0);\n              }\n              else {\n                lVar8 = 0xd;\n                pbVar9 = __s1;\n                pbVar10 = (byte *)0x1230c9;\n                do {\n                  if (lVar8 == 0) break;\n                  lVar8 = lVar8 + -1;\n                  bVar12 = *pbVar9 < *pbVar10;\n                  bVar11 = *pbVar9 == *pbVar10;\n                  pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  lVar8 = 5;\n                  pbVar9 = __s1;\n                  pbVar10 = (byte *)0x122f9e;\n                  do {\n                    if (lVar8 == 0) break;\n                    lVar8 = lVar8 + -1;\n                    bVar13 = *pbVar9 < *pbVar10;\n                    bVar11 = *pbVar9 == *pbVar10;\n                    pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto LAB_00111631;\n                  lVar8 = 0xe;\n                  pbVar9 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    if (lVar8 == 0) break;\n                    lVar8 = lVar8 + -1;\n                    bVar12 = *pbVar9 < *pbVar10;\n                    bVar11 = *pbVar9 == *pbVar10;\n                    pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_void_type(dhandle);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        pdVar6 = debug_make_int_type(dhandle,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          pdVar6 = debug_make_int_type(dhandle,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (pvarargs != (bfd_boolean *)0x0) {\n                              *pvarargs = 1;\n                              pdVar6 = (debug_type)0x0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          pdVar6 = (debug_type)0x0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }\n                pdVar6 = debug_make_int_type(dhandle,4,1);\n              }" if (parenthesized_expression "(bVar11)" ( identifier )) (compound_statement "{\nLAB_00111631:\n                pdVar6 = debug_make_int_type(dhandle,4,0);\n              }" { (labeled_statement "LAB_00111631:\n                pdVar6 = debug_make_int_type(dhandle,4,0);" statement_identifier : (expression_statement "pdVar6 = debug_make_int_type(dhandle,4,0);" (assignment_expression "pdVar6 = debug_make_int_type(dhandle,4,0)" identifier = (call_expression "debug_make_int_type(dhandle,4,0)" identifier (argument_list "(dhandle,4,0)" ( identifier , number_literal , number_literal )))) ;)) }) (else_clause "else {\n                lVar8 = 0xd;\n                pbVar9 = __s1;\n                pbVar10 = (byte *)0x1230c9;\n                do {\n                  if (lVar8 == 0) break;\n                  lVar8 = lVar8 + -1;\n                  bVar12 = *pbVar9 < *pbVar10;\n                  bVar11 = *pbVar9 == *pbVar10;\n                  pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  lVar8 = 5;\n                  pbVar9 = __s1;\n                  pbVar10 = (byte *)0x122f9e;\n                  do {\n                    if (lVar8 == 0) break;\n                    lVar8 = lVar8 + -1;\n                    bVar13 = *pbVar9 < *pbVar10;\n                    bVar11 = *pbVar9 == *pbVar10;\n                    pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto LAB_00111631;\n                  lVar8 = 0xe;\n                  pbVar9 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    if (lVar8 == 0) break;\n                    lVar8 = lVar8 + -1;\n                    bVar12 = *pbVar9 < *pbVar10;\n                    bVar11 = *pbVar9 == *pbVar10;\n                    pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_void_type(dhandle);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        pdVar6 = debug_make_int_type(dhandle,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          pdVar6 = debug_make_int_type(dhandle,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (pvarargs != (bfd_boolean *)0x0) {\n                              *pvarargs = 1;\n                              pdVar6 = (debug_type)0x0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          pdVar6 = (debug_type)0x0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }\n                pdVar6 = debug_make_int_type(dhandle,4,1);\n              }" else (compound_statement "{\n                lVar8 = 0xd;\n                pbVar9 = __s1;\n                pbVar10 = (byte *)0x1230c9;\n                do {\n                  if (lVar8 == 0) break;\n                  lVar8 = lVar8 + -1;\n                  bVar12 = *pbVar9 < *pbVar10;\n                  bVar11 = *pbVar9 == *pbVar10;\n                  pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                } while (bVar11);\n                bVar13 = false;\n                bVar11 = (!bVar12 && !bVar11) == bVar12;\n                if (!bVar11) {\n                  lVar8 = 5;\n                  pbVar9 = __s1;\n                  pbVar10 = (byte *)0x122f9e;\n                  do {\n                    if (lVar8 == 0) break;\n                    lVar8 = lVar8 + -1;\n                    bVar13 = *pbVar9 < *pbVar10;\n                    bVar11 = *pbVar9 == *pbVar10;\n                    pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto LAB_00111631;\n                  lVar8 = 0xe;\n                  pbVar9 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    if (lVar8 == 0) break;\n                    lVar8 = lVar8 + -1;\n                    bVar12 = *pbVar9 < *pbVar10;\n                    bVar11 = *pbVar9 == *pbVar10;\n                    pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_void_type(dhandle);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        pdVar6 = debug_make_int_type(dhandle,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          pdVar6 = debug_make_int_type(dhandle,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (pvarargs != (bfd_boolean *)0x0) {\n                              *pvarargs = 1;\n                              pdVar6 = (debug_type)0x0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          pdVar6 = (debug_type)0x0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }\n                pdVar6 = debug_make_int_type(dhandle,4,1);\n              }" { (expression_statement "lVar8 = 0xd;" (assignment_expression "lVar8 = 0xd" identifier = number_literal) ;) (expression_statement "pbVar9 = __s1;" (assignment_expression "pbVar9 = __s1" identifier = identifier) ;) (expression_statement "pbVar10 = (byte *)0x1230c9;" (assignment_expression "pbVar10 = (byte *)0x1230c9" identifier = (cast_expression "(byte *)0x1230c9" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n                  if (lVar8 == 0) break;\n                  lVar8 = lVar8 + -1;\n                  bVar12 = *pbVar9 < *pbVar10;\n                  bVar11 = *pbVar9 == *pbVar10;\n                  pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                } while (bVar11);" do (compound_statement "{\n                  if (lVar8 == 0) break;\n                  lVar8 = lVar8 + -1;\n                  bVar12 = *pbVar9 < *pbVar10;\n                  bVar11 = *pbVar9 == *pbVar10;\n                  pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                  pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                }" { (if_statement "if (lVar8 == 0) break;" if (parenthesized_expression "(lVar8 == 0)" ( (binary_expression "lVar8 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar8 = lVar8 + -1;" (assignment_expression "lVar8 = lVar8 + -1" identifier = (binary_expression "lVar8 + -1" identifier + number_literal)) ;) (expression_statement "bVar12 = *pbVar9 < *pbVar10;" (assignment_expression "bVar12 = *pbVar9 < *pbVar10" identifier = (binary_expression "*pbVar9 < *pbVar10" (pointer_expression "*pbVar9" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar11 = *pbVar9 == *pbVar10;" (assignment_expression "bVar11 = *pbVar9 == *pbVar10" identifier = (binary_expression "*pbVar9 == *pbVar10" (pointer_expression "*pbVar9" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1" identifier = (binary_expression "pbVar9 + (ulong)bVar14 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar14 * -2" identifier + (binary_expression "(ulong)bVar14 * -2" (cast_expression "(ulong)bVar14" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1" identifier = (binary_expression "pbVar10 + (ulong)bVar14 * -2 + 1" (binary_expression "pbVar10 + (ulong)bVar14 * -2" identifier + (binary_expression "(ulong)bVar14 * -2" (cast_expression "(ulong)bVar14" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar11)" ( identifier )) ;) (expression_statement "bVar13 = false;" (assignment_expression "bVar13 = false" identifier = false) ;) (expression_statement "bVar11 = (!bVar12 && !bVar11) == bVar12;" (assignment_expression "bVar11 = (!bVar12 && !bVar11) == bVar12" identifier = (binary_expression "(!bVar12 && !bVar11) == bVar12" (parenthesized_expression "(!bVar12 && !bVar11)" ( (binary_expression "!bVar12 && !bVar11" (unary_expression "!bVar12" ! identifier) && (unary_expression "!bVar11" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar11) {\n                  lVar8 = 5;\n                  pbVar9 = __s1;\n                  pbVar10 = (byte *)0x122f9e;\n                  do {\n                    if (lVar8 == 0) break;\n                    lVar8 = lVar8 + -1;\n                    bVar13 = *pbVar9 < *pbVar10;\n                    bVar11 = *pbVar9 == *pbVar10;\n                    pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto LAB_00111631;\n                  lVar8 = 0xe;\n                  pbVar9 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    if (lVar8 == 0) break;\n                    lVar8 = lVar8 + -1;\n                    bVar12 = *pbVar9 < *pbVar10;\n                    bVar11 = *pbVar9 == *pbVar10;\n                    pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_void_type(dhandle);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        pdVar6 = debug_make_int_type(dhandle,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          pdVar6 = debug_make_int_type(dhandle,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (pvarargs != (bfd_boolean *)0x0) {\n                              *pvarargs = 1;\n                              pdVar6 = (debug_type)0x0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          pdVar6 = (debug_type)0x0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }" if (parenthesized_expression "(!bVar11)" ( (unary_expression "!bVar11" ! identifier) )) (compound_statement "{\n                  lVar8 = 5;\n                  pbVar9 = __s1;\n                  pbVar10 = (byte *)0x122f9e;\n                  do {\n                    if (lVar8 == 0) break;\n                    lVar8 = lVar8 + -1;\n                    bVar13 = *pbVar9 < *pbVar10;\n                    bVar11 = *pbVar9 == *pbVar10;\n                    pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  bVar12 = false;\n                  bVar11 = (!bVar13 && !bVar11) == bVar13;\n                  if (bVar11) goto LAB_00111631;\n                  lVar8 = 0xe;\n                  pbVar9 = __s1;\n                  pbVar10 = (byte *)"unsigned long";\n                  do {\n                    if (lVar8 == 0) break;\n                    lVar8 = lVar8 + -1;\n                    bVar12 = *pbVar9 < *pbVar10;\n                    bVar11 = *pbVar9 == *pbVar10;\n                    pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                  } while (bVar11);\n                  if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_void_type(dhandle);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        pdVar6 = debug_make_int_type(dhandle,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          pdVar6 = debug_make_int_type(dhandle,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (pvarargs != (bfd_boolean *)0x0) {\n                              *pvarargs = 1;\n                              pdVar6 = (debug_type)0x0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          pdVar6 = (debug_type)0x0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }" { (expression_statement "lVar8 = 5;" (assignment_expression "lVar8 = 5" identifier = number_literal) ;) (expression_statement "pbVar9 = __s1;" (assignment_expression "pbVar9 = __s1" identifier = identifier) ;) (expression_statement "pbVar10 = (byte *)0x122f9e;" (assignment_expression "pbVar10 = (byte *)0x122f9e" identifier = (cast_expression "(byte *)0x122f9e" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n                    if (lVar8 == 0) break;\n                    lVar8 = lVar8 + -1;\n                    bVar13 = *pbVar9 < *pbVar10;\n                    bVar11 = *pbVar9 == *pbVar10;\n                    pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                  } while (bVar11);" do (compound_statement "{\n                    if (lVar8 == 0) break;\n                    lVar8 = lVar8 + -1;\n                    bVar13 = *pbVar9 < *pbVar10;\n                    bVar11 = *pbVar9 == *pbVar10;\n                    pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                  }" { (if_statement "if (lVar8 == 0) break;" if (parenthesized_expression "(lVar8 == 0)" ( (binary_expression "lVar8 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar8 = lVar8 + -1;" (assignment_expression "lVar8 = lVar8 + -1" identifier = (binary_expression "lVar8 + -1" identifier + number_literal)) ;) (expression_statement "bVar13 = *pbVar9 < *pbVar10;" (assignment_expression "bVar13 = *pbVar9 < *pbVar10" identifier = (binary_expression "*pbVar9 < *pbVar10" (pointer_expression "*pbVar9" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar11 = *pbVar9 == *pbVar10;" (assignment_expression "bVar11 = *pbVar9 == *pbVar10" identifier = (binary_expression "*pbVar9 == *pbVar10" (pointer_expression "*pbVar9" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1" identifier = (binary_expression "pbVar9 + (ulong)bVar14 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar14 * -2" identifier + (binary_expression "(ulong)bVar14 * -2" (cast_expression "(ulong)bVar14" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1" identifier = (binary_expression "pbVar10 + (ulong)bVar14 * -2 + 1" (binary_expression "pbVar10 + (ulong)bVar14 * -2" identifier + (binary_expression "(ulong)bVar14 * -2" (cast_expression "(ulong)bVar14" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar11)" ( identifier )) ;) (expression_statement "bVar12 = false;" (assignment_expression "bVar12 = false" identifier = false) ;) (expression_statement "bVar11 = (!bVar13 && !bVar11) == bVar13;" (assignment_expression "bVar11 = (!bVar13 && !bVar11) == bVar13" identifier = (binary_expression "(!bVar13 && !bVar11) == bVar13" (parenthesized_expression "(!bVar13 && !bVar11)" ( (binary_expression "!bVar13 && !bVar11" (unary_expression "!bVar13" ! identifier) && (unary_expression "!bVar11" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar11) goto LAB_00111631;" if (parenthesized_expression "(bVar11)" ( identifier )) (goto_statement "goto LAB_00111631;" goto statement_identifier ;)) (expression_statement "lVar8 = 0xe;" (assignment_expression "lVar8 = 0xe" identifier = number_literal) ;) (expression_statement "pbVar9 = __s1;" (assignment_expression "pbVar9 = __s1" identifier = identifier) ;) (expression_statement "pbVar10 = (byte *)"unsigned long";" (assignment_expression "pbVar10 = (byte *)"unsigned long"" identifier = (cast_expression "(byte *)"unsigned long"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""unsigned long"" " string_content "))) ;) (do_statement "do {\n                    if (lVar8 == 0) break;\n                    lVar8 = lVar8 + -1;\n                    bVar12 = *pbVar9 < *pbVar10;\n                    bVar11 = *pbVar9 == *pbVar10;\n                    pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                  } while (bVar11);" do (compound_statement "{\n                    if (lVar8 == 0) break;\n                    lVar8 = lVar8 + -1;\n                    bVar12 = *pbVar9 < *pbVar10;\n                    bVar11 = *pbVar9 == *pbVar10;\n                    pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;\n                    pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;\n                  }" { (if_statement "if (lVar8 == 0) break;" if (parenthesized_expression "(lVar8 == 0)" ( (binary_expression "lVar8 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar8 = lVar8 + -1;" (assignment_expression "lVar8 = lVar8 + -1" identifier = (binary_expression "lVar8 + -1" identifier + number_literal)) ;) (expression_statement "bVar12 = *pbVar9 < *pbVar10;" (assignment_expression "bVar12 = *pbVar9 < *pbVar10" identifier = (binary_expression "*pbVar9 < *pbVar10" (pointer_expression "*pbVar9" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar11 = *pbVar9 == *pbVar10;" (assignment_expression "bVar11 = *pbVar9 == *pbVar10" identifier = (binary_expression "*pbVar9 == *pbVar10" (pointer_expression "*pbVar9" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar14 * -2 + 1" identifier = (binary_expression "pbVar9 + (ulong)bVar14 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar14 * -2" identifier + (binary_expression "(ulong)bVar14 * -2" (cast_expression "(ulong)bVar14" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (ulong)bVar14 * -2 + 1" identifier = (binary_expression "pbVar10 + (ulong)bVar14 * -2 + 1" (binary_expression "pbVar10 + (ulong)bVar14 * -2" identifier + (binary_expression "(ulong)bVar14 * -2" (cast_expression "(ulong)bVar14" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar11)" ( identifier )) ;) (if_statement "if ((!bVar12 && !bVar11) != bVar12) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_void_type(dhandle);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        pdVar6 = debug_make_int_type(dhandle,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          pdVar6 = debug_make_int_type(dhandle,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (pvarargs != (bfd_boolean *)0x0) {\n                              *pvarargs = 1;\n                              pdVar6 = (debug_type)0x0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          pdVar6 = (debug_type)0x0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }" if (parenthesized_expression "((!bVar12 && !bVar11) != bVar12)" ( (binary_expression "(!bVar12 && !bVar11) != bVar12" (parenthesized_expression "(!bVar12 && !bVar11)" ( (binary_expression "!bVar12 && !bVar11" (unary_expression "!bVar12" ! identifier) && (unary_expression "!bVar11" ! identifier)) )) != identifier) )) (compound_statement "{\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      pdVar6 = debug_make_void_type(dhandle);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        pdVar6 = debug_make_int_type(dhandle,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          pdVar6 = debug_make_int_type(dhandle,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (pvarargs != (bfd_boolean *)0x0) {\n                              *pvarargs = 1;\n                              pdVar6 = (debug_type)0x0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          pdVar6 = (debug_type)0x0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }" { (expression_statement "iVar2 = strcmp((char *)__s1,"__int128");" (assignment_expression "iVar2 = strcmp((char *)__s1,"__int128")" identifier = (call_expression "strcmp((char *)__s1,"__int128")" identifier (argument_list "((char *)__s1,"__int128")" ( (cast_expression "(char *)__s1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""__int128"" " string_content ") )))) ;) (if_statement "if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,0x10,0);\n                      goto LAB_00111512;\n                    }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n                      pdVar6 = debug_make_int_type(dhandle,0x10,0);\n                      goto LAB_00111512;\n                    }" { (expression_statement "pdVar6 = debug_make_int_type(dhandle,0x10,0);" (assignment_expression "pdVar6 = debug_make_int_type(dhandle,0x10,0)" identifier = (call_expression "debug_make_int_type(dhandle,0x10,0)" identifier (argument_list "(dhandle,0x10,0)" ( identifier , number_literal , number_literal )))) ;) (goto_statement "goto LAB_00111512;" goto statement_identifier ;) })) (expression_statement "iVar2 = strcmp((char *)__s1,"unsigned __int128");" (assignment_expression "iVar2 = strcmp((char *)__s1,"unsigned __int128")" identifier = (call_expression "strcmp((char *)__s1,"unsigned __int128")" identifier (argument_list "((char *)__s1,"unsigned __int128")" ( (cast_expression "(char *)__s1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""unsigned __int128"" " string_content ") )))) ;) (if_statement "if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,0x10,1);\n                      goto LAB_00111512;\n                    }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n                      pdVar6 = debug_make_int_type(dhandle,0x10,1);\n                      goto LAB_00111512;\n                    }" { (expression_statement "pdVar6 = debug_make_int_type(dhandle,0x10,1);" (assignment_expression "pdVar6 = debug_make_int_type(dhandle,0x10,1)" identifier = (call_expression "debug_make_int_type(dhandle,0x10,1)" identifier (argument_list "(dhandle,0x10,1)" ( identifier , number_literal , number_literal )))) ;) (goto_statement "goto LAB_00111512;" goto statement_identifier ;) })) (expression_statement "iVar2 = strcmp((char *)__s1,"short");" (assignment_expression "iVar2 = strcmp((char *)__s1,"short")" identifier = (call_expression "strcmp((char *)__s1,"short")" identifier (argument_list "((char *)__s1,"short")" ( (cast_expression "(char *)__s1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""short"" " string_content ") )))) ;) (if_statement "if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,2,0);\n                      goto LAB_00111512;\n                    }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n                      pdVar6 = debug_make_int_type(dhandle,2,0);\n                      goto LAB_00111512;\n                    }" { (expression_statement "pdVar6 = debug_make_int_type(dhandle,2,0);" (assignment_expression "pdVar6 = debug_make_int_type(dhandle,2,0)" identifier = (call_expression "debug_make_int_type(dhandle,2,0)" identifier (argument_list "(dhandle,2,0)" ( identifier , number_literal , number_literal )))) ;) (goto_statement "goto LAB_00111512;" goto statement_identifier ;) })) (expression_statement "iVar2 = strcmp((char *)__s1,"unsigned short");" (assignment_expression "iVar2 = strcmp((char *)__s1,"unsigned short")" identifier = (call_expression "strcmp((char *)__s1,"unsigned short")" identifier (argument_list "((char *)__s1,"unsigned short")" ( (cast_expression "(char *)__s1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""unsigned short"" " string_content ") )))) ;) (if_statement "if (iVar2 == 0) {\n                      pdVar6 = debug_make_int_type(dhandle,2,1);\n                      goto LAB_00111512;\n                    }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n                      pdVar6 = debug_make_int_type(dhandle,2,1);\n                      goto LAB_00111512;\n                    }" { (expression_statement "pdVar6 = debug_make_int_type(dhandle,2,1);" (assignment_expression "pdVar6 = debug_make_int_type(dhandle,2,1)" identifier = (call_expression "debug_make_int_type(dhandle,2,1)" identifier (argument_list "(dhandle,2,1)" ( identifier , number_literal , number_literal )))) ;) (goto_statement "goto LAB_00111512;" goto statement_identifier ;) })) (expression_statement "iVar2 = strcmp((char *)__s1,"void");" (assignment_expression "iVar2 = strcmp((char *)__s1,"void")" identifier = (call_expression "strcmp((char *)__s1,"void")" identifier (argument_list "((char *)__s1,"void")" ( (cast_expression "(char *)__s1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""void"" " string_content ") )))) ;) (if_statement "if (iVar2 == 0) {\n                      pdVar6 = debug_make_void_type(dhandle);\n                      goto LAB_00111512;\n                    }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n                      pdVar6 = debug_make_void_type(dhandle);\n                      goto LAB_00111512;\n                    }" { (expression_statement "pdVar6 = debug_make_void_type(dhandle);" (assignment_expression "pdVar6 = debug_make_void_type(dhandle)" identifier = (call_expression "debug_make_void_type(dhandle)" identifier (argument_list "(dhandle)" ( identifier )))) ;) (goto_statement "goto LAB_00111512;" goto statement_identifier ;) })) (expression_statement "iVar2 = strcmp((char *)__s1,"wchar_t");" (assignment_expression "iVar2 = strcmp((char *)__s1,"wchar_t")" identifier = (call_expression "strcmp((char *)__s1,"wchar_t")" identifier (argument_list "((char *)__s1,"wchar_t")" ( (cast_expression "(char *)__s1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""wchar_t"" " string_content ") )))) ;) (if_statement "if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        pdVar6 = debug_make_int_type(dhandle,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          pdVar6 = debug_make_int_type(dhandle,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (pvarargs != (bfd_boolean *)0x0) {\n                              *pvarargs = 1;\n                              pdVar6 = (debug_type)0x0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          pdVar6 = (debug_type)0x0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        pdVar6 = debug_make_int_type(dhandle,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          pdVar6 = debug_make_int_type(dhandle,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (pvarargs != (bfd_boolean *)0x0) {\n                              *pvarargs = 1;\n                              pdVar6 = (debug_type)0x0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          pdVar6 = (debug_type)0x0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }" { (expression_statement "iVar2 = strcmp((char *)__s1,"long long");" (assignment_expression "iVar2 = strcmp((char *)__s1,"long long")" identifier = (call_expression "strcmp((char *)__s1,"long long")" identifier (argument_list "((char *)__s1,"long long")" ( (cast_expression "(char *)__s1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""long long"" " string_content ") )))) ;) (if_statement "if (iVar2 == 0) {\n                        pdVar6 = debug_make_int_type(dhandle,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          pdVar6 = debug_make_int_type(dhandle,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (pvarargs != (bfd_boolean *)0x0) {\n                              *pvarargs = 1;\n                              pdVar6 = (debug_type)0x0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          pdVar6 = (debug_type)0x0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n                        pdVar6 = debug_make_int_type(dhandle,8,0);\n                      }" { (expression_statement "pdVar6 = debug_make_int_type(dhandle,8,0);" (assignment_expression "pdVar6 = debug_make_int_type(dhandle,8,0)" identifier = (call_expression "debug_make_int_type(dhandle,8,0)" identifier (argument_list "(dhandle,8,0)" ( identifier , number_literal , number_literal )))) ;) }) (else_clause "else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          pdVar6 = debug_make_int_type(dhandle,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (pvarargs != (bfd_boolean *)0x0) {\n                              *pvarargs = 1;\n                              pdVar6 = (debug_type)0x0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          pdVar6 = (debug_type)0x0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }" else (compound_statement "{\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          pdVar6 = debug_make_int_type(dhandle,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (pvarargs != (bfd_boolean *)0x0) {\n                              *pvarargs = 1;\n                              pdVar6 = (debug_type)0x0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          pdVar6 = (debug_type)0x0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }" { (expression_statement "iVar2 = strcmp((char *)__s1,"unsigned long long");" (assignment_expression "iVar2 = strcmp((char *)__s1,"unsigned long long")" identifier = (call_expression "strcmp((char *)__s1,"unsigned long long")" identifier (argument_list "((char *)__s1,"unsigned long long")" ( (cast_expression "(char *)__s1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""unsigned long long"" " string_content ") )))) ;) (if_statement "if (iVar2 == 0) {\n                          pdVar6 = debug_make_int_type(dhandle,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (pvarargs != (bfd_boolean *)0x0) {\n                              *pvarargs = 1;\n                              pdVar6 = (debug_type)0x0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          pdVar6 = (debug_type)0x0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n                          pdVar6 = debug_make_int_type(dhandle,8,1);\n                        }" { (expression_statement "pdVar6 = debug_make_int_type(dhandle,8,1);" (assignment_expression "pdVar6 = debug_make_int_type(dhandle,8,1)" identifier = (call_expression "debug_make_int_type(dhandle,8,1)" identifier (argument_list "(dhandle,8,1)" ( identifier , number_literal , number_literal )))) ;) }) (else_clause "else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (pvarargs != (bfd_boolean *)0x0) {\n                              *pvarargs = 1;\n                              pdVar6 = (debug_type)0x0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          pdVar6 = (debug_type)0x0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }" else (compound_statement "{\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (pvarargs != (bfd_boolean *)0x0) {\n                              *pvarargs = 1;\n                              pdVar6 = (debug_type)0x0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          pdVar6 = (debug_type)0x0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }" { (expression_statement "iVar2 = strcmp((char *)__s1,"...");" (assignment_expression "iVar2 = strcmp((char *)__s1,"...")" identifier = (call_expression "strcmp((char *)__s1,"...")" identifier (argument_list "((char *)__s1,"...")" ( (cast_expression "(char *)__s1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""..."" " string_content ") )))) ;) (if_statement "if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (pvarargs != (bfd_boolean *)0x0) {\n                              *pvarargs = 1;\n                              pdVar6 = (debug_type)0x0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (pvarargs != (bfd_boolean *)0x0) {\n                              *pvarargs = 1;\n                              pdVar6 = (debug_type)0x0;\n                              goto LAB_00111512;\n                            }\n                          }" { (expression_statement "pcVar7 = "Unexpected demangled varargs\n";" (assignment_expression "pcVar7 = "Unexpected demangled varargs\n"" identifier = (string_literal ""Unexpected demangled varargs\n"" " string_content escape_sequence ")) ;) (if_statement "if (pvarargs != (bfd_boolean *)0x0) {\n                              *pvarargs = 1;\n                              pdVar6 = (debug_type)0x0;\n                              goto LAB_00111512;\n                            }" if (parenthesized_expression "(pvarargs != (bfd_boolean *)0x0)" ( (binary_expression "pvarargs != (bfd_boolean *)0x0" identifier != (cast_expression "(bfd_boolean *)0x0" ( (type_descriptor "bfd_boolean *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                              *pvarargs = 1;\n                              pdVar6 = (debug_type)0x0;\n                              goto LAB_00111512;\n                            }" { (expression_statement "*pvarargs = 1;" (assignment_expression "*pvarargs = 1" (pointer_expression "*pvarargs" * identifier) = number_literal) ;) (expression_statement "pdVar6 = (debug_type)0x0;" (assignment_expression "pdVar6 = (debug_type)0x0" identifier = (cast_expression "(debug_type)0x0" ( (type_descriptor "debug_type" type_identifier) ) number_literal)) ;) (goto_statement "goto LAB_00111512;" goto statement_identifier ;) })) }) (else_clause "else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }" else (compound_statement "{\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }" { (expression_statement "pcVar7 = "Unrecognized demangled builtin type\n";" (assignment_expression "pcVar7 = "Unrecognized demangled builtin type\n"" identifier = (string_literal ""Unrecognized demangled builtin type\n"" " string_content escape_sequence ")) ;) }))) (expression_statement "pdVar6 = (debug_type)0x0;" (assignment_expression "pdVar6 = (debug_type)0x0" identifier = (cast_expression "(debug_type)0x0" ( (type_descriptor "debug_type" type_identifier) ) number_literal)) ;) (expression_statement "pcVar7 = (char *)dcgettext(0,pcVar7,5);" (assignment_expression "pcVar7 = (char *)dcgettext(0,pcVar7,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar7,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar7,5)" identifier (argument_list "(0,pcVar7,5)" ( number_literal , identifier , number_literal ))))) ;) (expression_statement "fprintf(stderr,pcVar7);" (call_expression "fprintf(stderr,pcVar7)" identifier (argument_list "(stderr,pcVar7)" ( identifier , identifier ))) ;) }))) }))) (goto_statement "goto LAB_00111512;" goto statement_identifier ;) })) })) })) (expression_statement "pdVar6 = debug_make_int_type(dhandle,4,1);" (assignment_expression "pdVar6 = debug_make_int_type(dhandle,4,1)" identifier = (call_expression "debug_make_int_type(dhandle,4,1)" identifier (argument_list "(dhandle,4,1)" ( identifier , number_literal , number_literal )))) ;) }))) (goto_statement "goto LAB_00111512;" goto statement_identifier ;) })) })) (expression_statement "pdVar6 = debug_make_float_type(dhandle,8);" (assignment_expression "pdVar6 = debug_make_float_type(dhandle,8)" identifier = (call_expression "debug_make_float_type(dhandle,8)" identifier (argument_list "(dhandle,8)" ( identifier , number_literal )))) ;) (goto_statement "goto LAB_00111512;" goto statement_identifier ;) })) })) (expression_statement "pdVar6 = debug_make_int_type(dhandle,1,0);" (assignment_expression "pdVar6 = debug_make_int_type(dhandle,1,0)" identifier = (call_expression "debug_make_int_type(dhandle,1,0)" identifier (argument_list "(dhandle,1,0)" ( identifier , number_literal , number_literal )))) ;) (labeled_statement "LAB_00111512:\n      free(__s1);" statement_identifier : (expression_statement "free(__s1);" (call_expression "free(__s1)" identifier (argument_list "(__s1)" ( identifier ))) ;)) (return_statement "return pdVar6;" return identifier ;) })) (labeled_statement "LAB_0011152c:\n    pcVar7 = (char *)dcgettext(0,pcVar7,5);" statement_identifier : (expression_statement "pcVar7 = (char *)dcgettext(0,pcVar7,5);" (assignment_expression "pcVar7 = (char *)dcgettext(0,pcVar7,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar7,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar7,5)" identifier (argument_list "(0,pcVar7,5)" ( number_literal , identifier , number_literal ))))) ;)) (expression_statement "fprintf(stderr,pcVar7);" (call_expression "fprintf(stderr,pcVar7)" identifier (argument_list "(stderr,pcVar7)" ( identifier , identifier ))) ;) (break_statement "break;" break ;)) (case_statement "case DEMANGLE_COMPONENT_FUNCTION_TYPE:\n    dc_00 = (dc->u).s_fixed.length;\n    if (dc_00 == (demangle_component *)0x0) {\n      pdVar5 = debug_make_void_type(dhandle);\n    }\n    else {\n      pdVar5 = stab_demangle_v3_arg(dhandle,info,dc_00,(debug_type)0x0,(bfd_boolean *)0x0);\n    }\n    if ((pdVar5 != (debug_type_conflict)0x0) &&\n       (arg_types = stab_demangle_v3_arglist\n                              (dhandle,info,(dc->u).s_extended_operator.name,(bfd_boolean *)&alc),\n       arg_types != (debug_type_conflict *)0x0)) {\n      pdVar6 = debug_make_function_type(dhandle,pdVar5,arg_types,(bfd_boolean)alc);\n      return pdVar6;\n    }" case identifier : (expression_statement "dc_00 = (dc->u).s_fixed.length;" (assignment_expression "dc_00 = (dc->u).s_fixed.length" identifier = (field_expression "(dc->u).s_fixed.length" (field_expression "(dc->u).s_fixed" (parenthesized_expression "(dc->u)" ( (field_expression "dc->u" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (if_statement "if (dc_00 == (demangle_component *)0x0) {\n      pdVar5 = debug_make_void_type(dhandle);\n    }\n    else {\n      pdVar5 = stab_demangle_v3_arg(dhandle,info,dc_00,(debug_type)0x0,(bfd_boolean *)0x0);\n    }" if (parenthesized_expression "(dc_00 == (demangle_component *)0x0)" ( (binary_expression "dc_00 == (demangle_component *)0x0" identifier == (cast_expression "(demangle_component *)0x0" ( (type_descriptor "demangle_component *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pdVar5 = debug_make_void_type(dhandle);\n    }" { (expression_statement "pdVar5 = debug_make_void_type(dhandle);" (assignment_expression "pdVar5 = debug_make_void_type(dhandle)" identifier = (call_expression "debug_make_void_type(dhandle)" identifier (argument_list "(dhandle)" ( identifier )))) ;) }) (else_clause "else {\n      pdVar5 = stab_demangle_v3_arg(dhandle,info,dc_00,(debug_type)0x0,(bfd_boolean *)0x0);\n    }" else (compound_statement "{\n      pdVar5 = stab_demangle_v3_arg(dhandle,info,dc_00,(debug_type)0x0,(bfd_boolean *)0x0);\n    }" { (expression_statement "pdVar5 = stab_demangle_v3_arg(dhandle,info,dc_00,(debug_type)0x0,(bfd_boolean *)0x0);" (assignment_expression "pdVar5 = stab_demangle_v3_arg(dhandle,info,dc_00,(debug_type)0x0,(bfd_boolean *)0x0)" identifier = (call_expression "stab_demangle_v3_arg(dhandle,info,dc_00,(debug_type)0x0,(bfd_boolean *)0x0)" identifier (argument_list "(dhandle,info,dc_00,(debug_type)0x0,(bfd_boolean *)0x0)" ( identifier , identifier , identifier , (cast_expression "(debug_type)0x0" ( (type_descriptor "debug_type" type_identifier) ) number_literal) , (cast_expression "(bfd_boolean *)0x0" ( (type_descriptor "bfd_boolean *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) )))) ;) }))) (if_statement "if ((pdVar5 != (debug_type_conflict)0x0) &&\n       (arg_types = stab_demangle_v3_arglist\n                              (dhandle,info,(dc->u).s_extended_operator.name,(bfd_boolean *)&alc),\n       arg_types != (debug_type_conflict *)0x0)) {\n      pdVar6 = debug_make_function_type(dhandle,pdVar5,arg_types,(bfd_boolean)alc);\n      return pdVar6;\n    }" if (parenthesized_expression "((pdVar5 != (debug_type_conflict)0x0) &&\n       (arg_types = stab_demangle_v3_arglist\n                              (dhandle,info,(dc->u).s_extended_operator.name,(bfd_boolean *)&alc),\n       arg_types != (debug_type_conflict *)0x0))" ( (binary_expression "(pdVar5 != (debug_type_conflict)0x0) &&\n       (arg_types = stab_demangle_v3_arglist\n                              (dhandle,info,(dc->u).s_extended_operator.name,(bfd_boolean *)&alc),\n       arg_types != (debug_type_conflict *)0x0)" (parenthesized_expression "(pdVar5 != (debug_type_conflict)0x0)" ( (binary_expression "pdVar5 != (debug_type_conflict)0x0" identifier != (cast_expression "(debug_type_conflict)0x0" ( (type_descriptor "debug_type_conflict" type_identifier) ) number_literal)) )) && (parenthesized_expression "(arg_types = stab_demangle_v3_arglist\n                              (dhandle,info,(dc->u).s_extended_operator.name,(bfd_boolean *)&alc),\n       arg_types != (debug_type_conflict *)0x0)" ( (comma_expression "arg_types = stab_demangle_v3_arglist\n                              (dhandle,info,(dc->u).s_extended_operator.name,(bfd_boolean *)&alc),\n       arg_types != (debug_type_conflict *)0x0" (assignment_expression "arg_types = stab_demangle_v3_arglist\n                              (dhandle,info,(dc->u).s_extended_operator.name,(bfd_boolean *)&alc)" identifier = (call_expression "stab_demangle_v3_arglist\n                              (dhandle,info,(dc->u).s_extended_operator.name,(bfd_boolean *)&alc)" identifier (argument_list "(dhandle,info,(dc->u).s_extended_operator.name,(bfd_boolean *)&alc)" ( identifier , identifier , (field_expression "(dc->u).s_extended_operator.name" (field_expression "(dc->u).s_extended_operator" (parenthesized_expression "(dc->u)" ( (field_expression "dc->u" identifier -> field_identifier) )) . field_identifier) . field_identifier) , (cast_expression "(bfd_boolean *)&alc" ( (type_descriptor "bfd_boolean *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&alc" & identifier)) )))) , (binary_expression "arg_types != (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      pdVar6 = debug_make_function_type(dhandle,pdVar5,arg_types,(bfd_boolean)alc);\n      return pdVar6;\n    }" { (expression_statement "pdVar6 = debug_make_function_type(dhandle,pdVar5,arg_types,(bfd_boolean)alc);" (assignment_expression "pdVar6 = debug_make_function_type(dhandle,pdVar5,arg_types,(bfd_boolean)alc)" identifier = (call_expression "debug_make_function_type(dhandle,pdVar5,arg_types,(bfd_boolean)alc)" identifier (argument_list "(dhandle,pdVar5,arg_types,(bfd_boolean)alc)" ( identifier , identifier , identifier , (cast_expression "(bfd_boolean)alc" ( (type_descriptor "bfd_boolean" type_identifier) ) identifier) )))) ;) (return_statement "return pdVar6;" return identifier ;) }))) })) (return_statement "return (debug_type)0x0;" return (cast_expression "(debug_type)0x0" ( (type_descriptor "debug_type" type_identifier) ) number_literal) ;) })))
(translation_unit "long FUN_00110fa0(undefined8 param_1,long param_2,uint *param_3,long param_4,undefined4 *param_5)\n\n{\n  uint uVar1;\n  int iVar2;\n  size_t sVar3;\n  byte *__s1;\n  long *plVar4;\n  long lVar5;\n  long lVar6;\n  char *pcVar7;\n  byte *pbVar8;\n  byte *pbVar9;\n  bool bVar10;\n  bool bVar11;\n  bool bVar12;\n  byte bVar13;\n  undefined4 local_40 [4];\n  \n  bVar13 = 0;\n  if (param_5 != (undefined4 *)0x0) {\n    *param_5 = 0;\n  }\n  uVar1 = *param_3;\n  switch(uVar1) {\n  case 0:\n    if ((param_4 != 0) && (plVar4 = (long *)FUN_001101a0(param_1,param_4), plVar4 != (long *)0x0)) {\n      for (; *plVar4 != 0; plVar4 = plVar4 + 1) {\n        lVar5 = FUN_001101f0(param_1);\n        if (lVar5 == 0) {\n          return 0;\n        }\n        pcVar7 = (char *)FUN_00110000(param_1,lVar5);\n        if (pcVar7 != (char *)0x0) {\n          sVar3 = strlen(pcVar7);\n          if ((param_3[4] == (uint)sVar3) &&\n             (iVar2 = strncmp(pcVar7,*(char **)(param_3 + 2),(long)(int)param_3[4]), iVar2 == 0)) {\n            return lVar5;\n          }\n        }\n      }\n    }\n  case 0x18:\n    lVar5 = FUN_00110e80(param_1,param_2 + 0x1a0,*(undefined8 *)(param_3 + 2),param_3[4],0);\n    return lVar5;\n  case 1:\n    lVar5 = FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 2),param_4,0);\n    if (lVar5 != 0) {\n      lVar5 = FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 4),lVar5,0);\n      return lVar5;\n    }\n    break;\n  default:\n    pcVar7 = (char *)dcgettext(0,"Unrecognized demangle component %d\n",5);\n    fprintf(stderr,pcVar7,(ulong)uVar1);\n    return 0;\n  case 4:\n    pcVar7 = (char *)cplus_demangle_print(3,param_3,0x14,local_40);\n    if (pcVar7 != (char *)0x0) {\n      sVar3 = strlen(pcVar7);\n      lVar5 = FUN_00110e80(param_1,param_2 + 0x1a0,pcVar7,sVar3 & 0xffffffff,9);\n      free(pcVar7);\n      return lVar5;\n    }\n    pcVar7 = "Failed to print demangled template\n";\n    goto LAB_0011152c;\n  case 0x19:\n  case 0x1a:\n  case 0x1b:\n  case 0x22:\n  case 0x23:\n    lVar5 = FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 2),0,0);\n    if (lVar5 != 0) {\n      switch(*param_3) {\n      case 0x19:\n        return lVar5;\n      case 0x1a:\n        lVar5 = FUN_0010f920(param_1,lVar5);\n        return lVar5;\n      case 0x1b:\n        lVar5 = FUN_0010f8f0(param_1,lVar5);\n        return lVar5;\n      default:\n                    \n        abort();\n      case 0x22:\n        lVar5 = FUN_0010f5f0(param_1,lVar5);\n        return lVar5;\n      case 0x23:\n        lVar5 = FUN_0010f6a0(param_1,lVar5);\n        return lVar5;\n      }\n    }\n    break;\n  case 0x27:\n    __s1 = (byte *)cplus_demangle_print(3,param_3,0x14,local_40);\n    pcVar7 = "Couldn\'t get demangled builtin type\n";\n    bVar10 = false;\n    bVar12 = __s1 == (byte *)0x0;\n    if (!bVar12) {\n      lVar5 = 0xc;\n      pbVar8 = __s1;\n      pbVar9 = (byte *)0x122f71;\n      do {\n        if (lVar5 == 0) break;\n        lVar5 = lVar5 + -1;\n        bVar10 = *pbVar8 < *pbVar9;\n        bVar12 = *pbVar8 == *pbVar9;\n        pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n      } while (bVar12);\n      bVar11 = false;\n      bVar10 = (!bVar10 && !bVar12) == bVar10;\n      if (!bVar10) {\n        lVar5 = 5;\n        pbVar8 = __s1;\n        pbVar9 = &DAT_0012307b;\n        do {\n          if (lVar5 == 0) break;\n          lVar5 = lVar5 + -1;\n          bVar11 = *pbVar8 < *pbVar9;\n          bVar10 = *pbVar8 == *pbVar9;\n          pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar12 = false;\n        bVar10 = (!bVar11 && !bVar10) == bVar11;\n        if (bVar10) {\n          lVar5 = FUN_0010f4d0(param_1,1);\n          goto LAB_00111512;\n        }\n        lVar5 = 5;\n        pbVar8 = __s1;\n        pbVar9 = (byte *)0x122f78;\n        do {\n          if (lVar5 == 0) break;\n          lVar5 = lVar5 + -1;\n          bVar12 = *pbVar8 < *pbVar9;\n          bVar10 = *pbVar8 == *pbVar9;\n          pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar11 = false;\n        bVar10 = (!bVar12 && !bVar10) == bVar12;\n        if (!bVar10) {\n          lVar5 = 7;\n          pbVar8 = __s1;\n          pbVar9 = (byte *)0x122fb3;\n          do {\n            if (lVar5 == 0) break;\n            lVar5 = lVar5 + -1;\n            bVar11 = *pbVar8 < *pbVar9;\n            bVar10 = *pbVar8 == *pbVar9;\n            pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n          } while (bVar10);\n          bVar12 = false;\n          bVar10 = (!bVar11 && !bVar10) == bVar11;\n          if (!bVar10) {\n            lVar5 = 0xc;\n            pbVar8 = __s1;\n            pbVar9 = (byte *)"long double";\n            do {\n              if (lVar5 == 0) break;\n              lVar5 = lVar5 + -1;\n              bVar12 = *pbVar8 < *pbVar9;\n              bVar10 = *pbVar8 == *pbVar9;\n              pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n            } while (bVar10);\n            bVar11 = false;\n            bVar10 = (!bVar12 && !bVar10) == bVar12;\n            if (!bVar10) {\n              lVar5 = 6;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"float";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,4);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xb;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"__float128";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,0x10);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xe;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"unsigned char";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4a0(param_1,1,1);\n                goto LAB_00111512;\n              }\n              lVar5 = 4;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)0x1230d2;\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\nLAB_00111631:\n                lVar5 = FUN_0010f4a0(param_1,4,0);\n              }\n              else {\n                lVar5 = 0xd;\n                pbVar8 = __s1;\n                pbVar9 = (byte *)0x1230c9;\n                do {\n                  if (lVar5 == 0) break;\n                  lVar5 = lVar5 + -1;\n                  bVar11 = *pbVar8 < *pbVar9;\n                  bVar10 = *pbVar8 == *pbVar9;\n                  pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar10);\n                bVar12 = false;\n                bVar10 = (!bVar11 && !bVar10) == bVar11;\n                if (!bVar10) {\n                  lVar5 = 5;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)0x122f9e;\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar12 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar11 = false;\n                  bVar10 = (!bVar12 && !bVar10) == bVar12;\n                  if (bVar10) goto LAB_00111631;\n                  lVar5 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)"unsigned long";\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar11 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  if ((!bVar11 && !bVar10) != bVar11) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f490(param_1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }\n                lVar5 = FUN_0010f4a0(param_1,4,1);\n              }\n              goto LAB_00111512;\n            }\n          }\n          lVar5 = FUN_0010f4c0(param_1,8);\n          goto LAB_00111512;\n        }\n      }\n      lVar5 = FUN_0010f4a0(param_1,1,0);\nLAB_00111512:\n      free(__s1);\n      return lVar5;\n    }\nLAB_0011152c:\n    pcVar7 = (char *)dcgettext(0,pcVar7,5);\n    fprintf(stderr,pcVar7);\n    break;\n  case 0x29:\n    if (*(long *)(param_3 + 2) == 0) {\n      lVar5 = FUN_0010f490(param_1);\n    }\n    else {\n      lVar5 = FUN_00110fa0(param_1,param_2,*(long *)(param_3 + 2),0,0);\n    }\n    if ((lVar5 != 0) &&\n       (lVar6 = FUN_00111730(param_1,param_2,*(undefined8 *)(param_3 + 4),local_40), lVar6 != 0)) {\n      lVar5 = FUN_0010f630(param_1,lVar5,lVar6,local_40[0]);\n      return lVar5;\n    }\n  }\n  return 0;\n}\n\n" (function_definition "long FUN_00110fa0(undefined8 param_1,long param_2,uint *param_3,long param_4,undefined4 *param_5)\n\n{\n  uint uVar1;\n  int iVar2;\n  size_t sVar3;\n  byte *__s1;\n  long *plVar4;\n  long lVar5;\n  long lVar6;\n  char *pcVar7;\n  byte *pbVar8;\n  byte *pbVar9;\n  bool bVar10;\n  bool bVar11;\n  bool bVar12;\n  byte bVar13;\n  undefined4 local_40 [4];\n  \n  bVar13 = 0;\n  if (param_5 != (undefined4 *)0x0) {\n    *param_5 = 0;\n  }\n  uVar1 = *param_3;\n  switch(uVar1) {\n  case 0:\n    if ((param_4 != 0) && (plVar4 = (long *)FUN_001101a0(param_1,param_4), plVar4 != (long *)0x0)) {\n      for (; *plVar4 != 0; plVar4 = plVar4 + 1) {\n        lVar5 = FUN_001101f0(param_1);\n        if (lVar5 == 0) {\n          return 0;\n        }\n        pcVar7 = (char *)FUN_00110000(param_1,lVar5);\n        if (pcVar7 != (char *)0x0) {\n          sVar3 = strlen(pcVar7);\n          if ((param_3[4] == (uint)sVar3) &&\n             (iVar2 = strncmp(pcVar7,*(char **)(param_3 + 2),(long)(int)param_3[4]), iVar2 == 0)) {\n            return lVar5;\n          }\n        }\n      }\n    }\n  case 0x18:\n    lVar5 = FUN_00110e80(param_1,param_2 + 0x1a0,*(undefined8 *)(param_3 + 2),param_3[4],0);\n    return lVar5;\n  case 1:\n    lVar5 = FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 2),param_4,0);\n    if (lVar5 != 0) {\n      lVar5 = FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 4),lVar5,0);\n      return lVar5;\n    }\n    break;\n  default:\n    pcVar7 = (char *)dcgettext(0,"Unrecognized demangle component %d\n",5);\n    fprintf(stderr,pcVar7,(ulong)uVar1);\n    return 0;\n  case 4:\n    pcVar7 = (char *)cplus_demangle_print(3,param_3,0x14,local_40);\n    if (pcVar7 != (char *)0x0) {\n      sVar3 = strlen(pcVar7);\n      lVar5 = FUN_00110e80(param_1,param_2 + 0x1a0,pcVar7,sVar3 & 0xffffffff,9);\n      free(pcVar7);\n      return lVar5;\n    }\n    pcVar7 = "Failed to print demangled template\n";\n    goto LAB_0011152c;\n  case 0x19:\n  case 0x1a:\n  case 0x1b:\n  case 0x22:\n  case 0x23:\n    lVar5 = FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 2),0,0);\n    if (lVar5 != 0) {\n      switch(*param_3) {\n      case 0x19:\n        return lVar5;\n      case 0x1a:\n        lVar5 = FUN_0010f920(param_1,lVar5);\n        return lVar5;\n      case 0x1b:\n        lVar5 = FUN_0010f8f0(param_1,lVar5);\n        return lVar5;\n      default:\n                    \n        abort();\n      case 0x22:\n        lVar5 = FUN_0010f5f0(param_1,lVar5);\n        return lVar5;\n      case 0x23:\n        lVar5 = FUN_0010f6a0(param_1,lVar5);\n        return lVar5;\n      }\n    }\n    break;\n  case 0x27:\n    __s1 = (byte *)cplus_demangle_print(3,param_3,0x14,local_40);\n    pcVar7 = "Couldn\'t get demangled builtin type\n";\n    bVar10 = false;\n    bVar12 = __s1 == (byte *)0x0;\n    if (!bVar12) {\n      lVar5 = 0xc;\n      pbVar8 = __s1;\n      pbVar9 = (byte *)0x122f71;\n      do {\n        if (lVar5 == 0) break;\n        lVar5 = lVar5 + -1;\n        bVar10 = *pbVar8 < *pbVar9;\n        bVar12 = *pbVar8 == *pbVar9;\n        pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n      } while (bVar12);\n      bVar11 = false;\n      bVar10 = (!bVar10 && !bVar12) == bVar10;\n      if (!bVar10) {\n        lVar5 = 5;\n        pbVar8 = __s1;\n        pbVar9 = &DAT_0012307b;\n        do {\n          if (lVar5 == 0) break;\n          lVar5 = lVar5 + -1;\n          bVar11 = *pbVar8 < *pbVar9;\n          bVar10 = *pbVar8 == *pbVar9;\n          pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar12 = false;\n        bVar10 = (!bVar11 && !bVar10) == bVar11;\n        if (bVar10) {\n          lVar5 = FUN_0010f4d0(param_1,1);\n          goto LAB_00111512;\n        }\n        lVar5 = 5;\n        pbVar8 = __s1;\n        pbVar9 = (byte *)0x122f78;\n        do {\n          if (lVar5 == 0) break;\n          lVar5 = lVar5 + -1;\n          bVar12 = *pbVar8 < *pbVar9;\n          bVar10 = *pbVar8 == *pbVar9;\n          pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar11 = false;\n        bVar10 = (!bVar12 && !bVar10) == bVar12;\n        if (!bVar10) {\n          lVar5 = 7;\n          pbVar8 = __s1;\n          pbVar9 = (byte *)0x122fb3;\n          do {\n            if (lVar5 == 0) break;\n            lVar5 = lVar5 + -1;\n            bVar11 = *pbVar8 < *pbVar9;\n            bVar10 = *pbVar8 == *pbVar9;\n            pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n          } while (bVar10);\n          bVar12 = false;\n          bVar10 = (!bVar11 && !bVar10) == bVar11;\n          if (!bVar10) {\n            lVar5 = 0xc;\n            pbVar8 = __s1;\n            pbVar9 = (byte *)"long double";\n            do {\n              if (lVar5 == 0) break;\n              lVar5 = lVar5 + -1;\n              bVar12 = *pbVar8 < *pbVar9;\n              bVar10 = *pbVar8 == *pbVar9;\n              pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n            } while (bVar10);\n            bVar11 = false;\n            bVar10 = (!bVar12 && !bVar10) == bVar12;\n            if (!bVar10) {\n              lVar5 = 6;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"float";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,4);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xb;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"__float128";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,0x10);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xe;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"unsigned char";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4a0(param_1,1,1);\n                goto LAB_00111512;\n              }\n              lVar5 = 4;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)0x1230d2;\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\nLAB_00111631:\n                lVar5 = FUN_0010f4a0(param_1,4,0);\n              }\n              else {\n                lVar5 = 0xd;\n                pbVar8 = __s1;\n                pbVar9 = (byte *)0x1230c9;\n                do {\n                  if (lVar5 == 0) break;\n                  lVar5 = lVar5 + -1;\n                  bVar11 = *pbVar8 < *pbVar9;\n                  bVar10 = *pbVar8 == *pbVar9;\n                  pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar10);\n                bVar12 = false;\n                bVar10 = (!bVar11 && !bVar10) == bVar11;\n                if (!bVar10) {\n                  lVar5 = 5;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)0x122f9e;\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar12 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar11 = false;\n                  bVar10 = (!bVar12 && !bVar10) == bVar12;\n                  if (bVar10) goto LAB_00111631;\n                  lVar5 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)"unsigned long";\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar11 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  if ((!bVar11 && !bVar10) != bVar11) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f490(param_1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }\n                lVar5 = FUN_0010f4a0(param_1,4,1);\n              }\n              goto LAB_00111512;\n            }\n          }\n          lVar5 = FUN_0010f4c0(param_1,8);\n          goto LAB_00111512;\n        }\n      }\n      lVar5 = FUN_0010f4a0(param_1,1,0);\nLAB_00111512:\n      free(__s1);\n      return lVar5;\n    }\nLAB_0011152c:\n    pcVar7 = (char *)dcgettext(0,pcVar7,5);\n    fprintf(stderr,pcVar7);\n    break;\n  case 0x29:\n    if (*(long *)(param_3 + 2) == 0) {\n      lVar5 = FUN_0010f490(param_1);\n    }\n    else {\n      lVar5 = FUN_00110fa0(param_1,param_2,*(long *)(param_3 + 2),0,0);\n    }\n    if ((lVar5 != 0) &&\n       (lVar6 = FUN_00111730(param_1,param_2,*(undefined8 *)(param_3 + 4),local_40), lVar6 != 0)) {\n      lVar5 = FUN_0010f630(param_1,lVar5,lVar6,local_40[0]);\n      return lVar5;\n    }\n  }\n  return 0;\n}" (sized_type_specifier "long" long) (function_declarator "FUN_00110fa0(undefined8 param_1,long param_2,uint *param_3,long param_4,undefined4 *param_5)" identifier (parameter_list "(undefined8 param_1,long param_2,uint *param_3,long param_4,undefined4 *param_5)" ( (parameter_declaration "undefined8 param_1" type_identifier identifier) , (parameter_declaration "long param_2" (sized_type_specifier "long" long) identifier) , (parameter_declaration "uint *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "long param_4" (sized_type_specifier "long" long) identifier) , (parameter_declaration "undefined4 *param_5" type_identifier (pointer_declarator "*param_5" * identifier)) ))) (compound_statement "{\n  uint uVar1;\n  int iVar2;\n  size_t sVar3;\n  byte *__s1;\n  long *plVar4;\n  long lVar5;\n  long lVar6;\n  char *pcVar7;\n  byte *pbVar8;\n  byte *pbVar9;\n  bool bVar10;\n  bool bVar11;\n  bool bVar12;\n  byte bVar13;\n  undefined4 local_40 [4];\n  \n  bVar13 = 0;\n  if (param_5 != (undefined4 *)0x0) {\n    *param_5 = 0;\n  }\n  uVar1 = *param_3;\n  switch(uVar1) {\n  case 0:\n    if ((param_4 != 0) && (plVar4 = (long *)FUN_001101a0(param_1,param_4), plVar4 != (long *)0x0)) {\n      for (; *plVar4 != 0; plVar4 = plVar4 + 1) {\n        lVar5 = FUN_001101f0(param_1);\n        if (lVar5 == 0) {\n          return 0;\n        }\n        pcVar7 = (char *)FUN_00110000(param_1,lVar5);\n        if (pcVar7 != (char *)0x0) {\n          sVar3 = strlen(pcVar7);\n          if ((param_3[4] == (uint)sVar3) &&\n             (iVar2 = strncmp(pcVar7,*(char **)(param_3 + 2),(long)(int)param_3[4]), iVar2 == 0)) {\n            return lVar5;\n          }\n        }\n      }\n    }\n  case 0x18:\n    lVar5 = FUN_00110e80(param_1,param_2 + 0x1a0,*(undefined8 *)(param_3 + 2),param_3[4],0);\n    return lVar5;\n  case 1:\n    lVar5 = FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 2),param_4,0);\n    if (lVar5 != 0) {\n      lVar5 = FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 4),lVar5,0);\n      return lVar5;\n    }\n    break;\n  default:\n    pcVar7 = (char *)dcgettext(0,"Unrecognized demangle component %d\n",5);\n    fprintf(stderr,pcVar7,(ulong)uVar1);\n    return 0;\n  case 4:\n    pcVar7 = (char *)cplus_demangle_print(3,param_3,0x14,local_40);\n    if (pcVar7 != (char *)0x0) {\n      sVar3 = strlen(pcVar7);\n      lVar5 = FUN_00110e80(param_1,param_2 + 0x1a0,pcVar7,sVar3 & 0xffffffff,9);\n      free(pcVar7);\n      return lVar5;\n    }\n    pcVar7 = "Failed to print demangled template\n";\n    goto LAB_0011152c;\n  case 0x19:\n  case 0x1a:\n  case 0x1b:\n  case 0x22:\n  case 0x23:\n    lVar5 = FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 2),0,0);\n    if (lVar5 != 0) {\n      switch(*param_3) {\n      case 0x19:\n        return lVar5;\n      case 0x1a:\n        lVar5 = FUN_0010f920(param_1,lVar5);\n        return lVar5;\n      case 0x1b:\n        lVar5 = FUN_0010f8f0(param_1,lVar5);\n        return lVar5;\n      default:\n                    \n        abort();\n      case 0x22:\n        lVar5 = FUN_0010f5f0(param_1,lVar5);\n        return lVar5;\n      case 0x23:\n        lVar5 = FUN_0010f6a0(param_1,lVar5);\n        return lVar5;\n      }\n    }\n    break;\n  case 0x27:\n    __s1 = (byte *)cplus_demangle_print(3,param_3,0x14,local_40);\n    pcVar7 = "Couldn\'t get demangled builtin type\n";\n    bVar10 = false;\n    bVar12 = __s1 == (byte *)0x0;\n    if (!bVar12) {\n      lVar5 = 0xc;\n      pbVar8 = __s1;\n      pbVar9 = (byte *)0x122f71;\n      do {\n        if (lVar5 == 0) break;\n        lVar5 = lVar5 + -1;\n        bVar10 = *pbVar8 < *pbVar9;\n        bVar12 = *pbVar8 == *pbVar9;\n        pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n      } while (bVar12);\n      bVar11 = false;\n      bVar10 = (!bVar10 && !bVar12) == bVar10;\n      if (!bVar10) {\n        lVar5 = 5;\n        pbVar8 = __s1;\n        pbVar9 = &DAT_0012307b;\n        do {\n          if (lVar5 == 0) break;\n          lVar5 = lVar5 + -1;\n          bVar11 = *pbVar8 < *pbVar9;\n          bVar10 = *pbVar8 == *pbVar9;\n          pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar12 = false;\n        bVar10 = (!bVar11 && !bVar10) == bVar11;\n        if (bVar10) {\n          lVar5 = FUN_0010f4d0(param_1,1);\n          goto LAB_00111512;\n        }\n        lVar5 = 5;\n        pbVar8 = __s1;\n        pbVar9 = (byte *)0x122f78;\n        do {\n          if (lVar5 == 0) break;\n          lVar5 = lVar5 + -1;\n          bVar12 = *pbVar8 < *pbVar9;\n          bVar10 = *pbVar8 == *pbVar9;\n          pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar11 = false;\n        bVar10 = (!bVar12 && !bVar10) == bVar12;\n        if (!bVar10) {\n          lVar5 = 7;\n          pbVar8 = __s1;\n          pbVar9 = (byte *)0x122fb3;\n          do {\n            if (lVar5 == 0) break;\n            lVar5 = lVar5 + -1;\n            bVar11 = *pbVar8 < *pbVar9;\n            bVar10 = *pbVar8 == *pbVar9;\n            pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n          } while (bVar10);\n          bVar12 = false;\n          bVar10 = (!bVar11 && !bVar10) == bVar11;\n          if (!bVar10) {\n            lVar5 = 0xc;\n            pbVar8 = __s1;\n            pbVar9 = (byte *)"long double";\n            do {\n              if (lVar5 == 0) break;\n              lVar5 = lVar5 + -1;\n              bVar12 = *pbVar8 < *pbVar9;\n              bVar10 = *pbVar8 == *pbVar9;\n              pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n            } while (bVar10);\n            bVar11 = false;\n            bVar10 = (!bVar12 && !bVar10) == bVar12;\n            if (!bVar10) {\n              lVar5 = 6;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"float";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,4);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xb;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"__float128";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,0x10);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xe;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"unsigned char";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4a0(param_1,1,1);\n                goto LAB_00111512;\n              }\n              lVar5 = 4;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)0x1230d2;\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\nLAB_00111631:\n                lVar5 = FUN_0010f4a0(param_1,4,0);\n              }\n              else {\n                lVar5 = 0xd;\n                pbVar8 = __s1;\n                pbVar9 = (byte *)0x1230c9;\n                do {\n                  if (lVar5 == 0) break;\n                  lVar5 = lVar5 + -1;\n                  bVar11 = *pbVar8 < *pbVar9;\n                  bVar10 = *pbVar8 == *pbVar9;\n                  pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar10);\n                bVar12 = false;\n                bVar10 = (!bVar11 && !bVar10) == bVar11;\n                if (!bVar10) {\n                  lVar5 = 5;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)0x122f9e;\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar12 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar11 = false;\n                  bVar10 = (!bVar12 && !bVar10) == bVar12;\n                  if (bVar10) goto LAB_00111631;\n                  lVar5 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)"unsigned long";\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar11 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  if ((!bVar11 && !bVar10) != bVar11) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f490(param_1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }\n                lVar5 = FUN_0010f4a0(param_1,4,1);\n              }\n              goto LAB_00111512;\n            }\n          }\n          lVar5 = FUN_0010f4c0(param_1,8);\n          goto LAB_00111512;\n        }\n      }\n      lVar5 = FUN_0010f4a0(param_1,1,0);\nLAB_00111512:\n      free(__s1);\n      return lVar5;\n    }\nLAB_0011152c:\n    pcVar7 = (char *)dcgettext(0,pcVar7,5);\n    fprintf(stderr,pcVar7);\n    break;\n  case 0x29:\n    if (*(long *)(param_3 + 2) == 0) {\n      lVar5 = FUN_0010f490(param_1);\n    }\n    else {\n      lVar5 = FUN_00110fa0(param_1,param_2,*(long *)(param_3 + 2),0,0);\n    }\n    if ((lVar5 != 0) &&\n       (lVar6 = FUN_00111730(param_1,param_2,*(undefined8 *)(param_3 + 4),local_40), lVar6 != 0)) {\n      lVar5 = FUN_0010f630(param_1,lVar5,lVar6,local_40[0]);\n      return lVar5;\n    }\n  }\n  return 0;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "size_t sVar3;" primitive_type identifier ;) (declaration "byte *__s1;" type_identifier (pointer_declarator "*__s1" * identifier) ;) (declaration "long *plVar4;" (sized_type_specifier "long" long) (pointer_declarator "*plVar4" * identifier) ;) (declaration "long lVar5;" (sized_type_specifier "long" long) identifier ;) (declaration "long lVar6;" (sized_type_specifier "long" long) identifier ;) (declaration "char *pcVar7;" primitive_type (pointer_declarator "*pcVar7" * identifier) ;) (declaration "byte *pbVar8;" type_identifier (pointer_declarator "*pbVar8" * identifier) ;) (declaration "byte *pbVar9;" type_identifier (pointer_declarator "*pbVar9" * identifier) ;) (declaration "bool bVar10;" primitive_type identifier ;) (declaration "bool bVar11;" primitive_type identifier ;) (declaration "bool bVar12;" primitive_type identifier ;) (declaration "byte bVar13;" type_identifier identifier ;) (declaration "undefined4 local_40 [4];" type_identifier (array_declarator "local_40 [4]" identifier [ number_literal ]) ;) (expression_statement "bVar13 = 0;" (assignment_expression "bVar13 = 0" identifier = number_literal) ;) (if_statement "if (param_5 != (undefined4 *)0x0) {\n    *param_5 = 0;\n  }" if (parenthesized_expression "(param_5 != (undefined4 *)0x0)" ( (binary_expression "param_5 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    *param_5 = 0;\n  }" { (expression_statement "*param_5 = 0;" (assignment_expression "*param_5 = 0" (pointer_expression "*param_5" * identifier) = number_literal) ;) })) (expression_statement "uVar1 = *param_3;" (assignment_expression "uVar1 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;) (switch_statement "switch(uVar1) {\n  case 0:\n    if ((param_4 != 0) && (plVar4 = (long *)FUN_001101a0(param_1,param_4), plVar4 != (long *)0x0)) {\n      for (; *plVar4 != 0; plVar4 = plVar4 + 1) {\n        lVar5 = FUN_001101f0(param_1);\n        if (lVar5 == 0) {\n          return 0;\n        }\n        pcVar7 = (char *)FUN_00110000(param_1,lVar5);\n        if (pcVar7 != (char *)0x0) {\n          sVar3 = strlen(pcVar7);\n          if ((param_3[4] == (uint)sVar3) &&\n             (iVar2 = strncmp(pcVar7,*(char **)(param_3 + 2),(long)(int)param_3[4]), iVar2 == 0)) {\n            return lVar5;\n          }\n        }\n      }\n    }\n  case 0x18:\n    lVar5 = FUN_00110e80(param_1,param_2 + 0x1a0,*(undefined8 *)(param_3 + 2),param_3[4],0);\n    return lVar5;\n  case 1:\n    lVar5 = FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 2),param_4,0);\n    if (lVar5 != 0) {\n      lVar5 = FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 4),lVar5,0);\n      return lVar5;\n    }\n    break;\n  default:\n    pcVar7 = (char *)dcgettext(0,"Unrecognized demangle component %d\n",5);\n    fprintf(stderr,pcVar7,(ulong)uVar1);\n    return 0;\n  case 4:\n    pcVar7 = (char *)cplus_demangle_print(3,param_3,0x14,local_40);\n    if (pcVar7 != (char *)0x0) {\n      sVar3 = strlen(pcVar7);\n      lVar5 = FUN_00110e80(param_1,param_2 + 0x1a0,pcVar7,sVar3 & 0xffffffff,9);\n      free(pcVar7);\n      return lVar5;\n    }\n    pcVar7 = "Failed to print demangled template\n";\n    goto LAB_0011152c;\n  case 0x19:\n  case 0x1a:\n  case 0x1b:\n  case 0x22:\n  case 0x23:\n    lVar5 = FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 2),0,0);\n    if (lVar5 != 0) {\n      switch(*param_3) {\n      case 0x19:\n        return lVar5;\n      case 0x1a:\n        lVar5 = FUN_0010f920(param_1,lVar5);\n        return lVar5;\n      case 0x1b:\n        lVar5 = FUN_0010f8f0(param_1,lVar5);\n        return lVar5;\n      default:\n                    \n        abort();\n      case 0x22:\n        lVar5 = FUN_0010f5f0(param_1,lVar5);\n        return lVar5;\n      case 0x23:\n        lVar5 = FUN_0010f6a0(param_1,lVar5);\n        return lVar5;\n      }\n    }\n    break;\n  case 0x27:\n    __s1 = (byte *)cplus_demangle_print(3,param_3,0x14,local_40);\n    pcVar7 = "Couldn\'t get demangled builtin type\n";\n    bVar10 = false;\n    bVar12 = __s1 == (byte *)0x0;\n    if (!bVar12) {\n      lVar5 = 0xc;\n      pbVar8 = __s1;\n      pbVar9 = (byte *)0x122f71;\n      do {\n        if (lVar5 == 0) break;\n        lVar5 = lVar5 + -1;\n        bVar10 = *pbVar8 < *pbVar9;\n        bVar12 = *pbVar8 == *pbVar9;\n        pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n      } while (bVar12);\n      bVar11 = false;\n      bVar10 = (!bVar10 && !bVar12) == bVar10;\n      if (!bVar10) {\n        lVar5 = 5;\n        pbVar8 = __s1;\n        pbVar9 = &DAT_0012307b;\n        do {\n          if (lVar5 == 0) break;\n          lVar5 = lVar5 + -1;\n          bVar11 = *pbVar8 < *pbVar9;\n          bVar10 = *pbVar8 == *pbVar9;\n          pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar12 = false;\n        bVar10 = (!bVar11 && !bVar10) == bVar11;\n        if (bVar10) {\n          lVar5 = FUN_0010f4d0(param_1,1);\n          goto LAB_00111512;\n        }\n        lVar5 = 5;\n        pbVar8 = __s1;\n        pbVar9 = (byte *)0x122f78;\n        do {\n          if (lVar5 == 0) break;\n          lVar5 = lVar5 + -1;\n          bVar12 = *pbVar8 < *pbVar9;\n          bVar10 = *pbVar8 == *pbVar9;\n          pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar11 = false;\n        bVar10 = (!bVar12 && !bVar10) == bVar12;\n        if (!bVar10) {\n          lVar5 = 7;\n          pbVar8 = __s1;\n          pbVar9 = (byte *)0x122fb3;\n          do {\n            if (lVar5 == 0) break;\n            lVar5 = lVar5 + -1;\n            bVar11 = *pbVar8 < *pbVar9;\n            bVar10 = *pbVar8 == *pbVar9;\n            pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n          } while (bVar10);\n          bVar12 = false;\n          bVar10 = (!bVar11 && !bVar10) == bVar11;\n          if (!bVar10) {\n            lVar5 = 0xc;\n            pbVar8 = __s1;\n            pbVar9 = (byte *)"long double";\n            do {\n              if (lVar5 == 0) break;\n              lVar5 = lVar5 + -1;\n              bVar12 = *pbVar8 < *pbVar9;\n              bVar10 = *pbVar8 == *pbVar9;\n              pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n            } while (bVar10);\n            bVar11 = false;\n            bVar10 = (!bVar12 && !bVar10) == bVar12;\n            if (!bVar10) {\n              lVar5 = 6;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"float";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,4);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xb;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"__float128";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,0x10);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xe;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"unsigned char";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4a0(param_1,1,1);\n                goto LAB_00111512;\n              }\n              lVar5 = 4;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)0x1230d2;\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\nLAB_00111631:\n                lVar5 = FUN_0010f4a0(param_1,4,0);\n              }\n              else {\n                lVar5 = 0xd;\n                pbVar8 = __s1;\n                pbVar9 = (byte *)0x1230c9;\n                do {\n                  if (lVar5 == 0) break;\n                  lVar5 = lVar5 + -1;\n                  bVar11 = *pbVar8 < *pbVar9;\n                  bVar10 = *pbVar8 == *pbVar9;\n                  pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar10);\n                bVar12 = false;\n                bVar10 = (!bVar11 && !bVar10) == bVar11;\n                if (!bVar10) {\n                  lVar5 = 5;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)0x122f9e;\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar12 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar11 = false;\n                  bVar10 = (!bVar12 && !bVar10) == bVar12;\n                  if (bVar10) goto LAB_00111631;\n                  lVar5 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)"unsigned long";\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar11 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  if ((!bVar11 && !bVar10) != bVar11) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f490(param_1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }\n                lVar5 = FUN_0010f4a0(param_1,4,1);\n              }\n              goto LAB_00111512;\n            }\n          }\n          lVar5 = FUN_0010f4c0(param_1,8);\n          goto LAB_00111512;\n        }\n      }\n      lVar5 = FUN_0010f4a0(param_1,1,0);\nLAB_00111512:\n      free(__s1);\n      return lVar5;\n    }\nLAB_0011152c:\n    pcVar7 = (char *)dcgettext(0,pcVar7,5);\n    fprintf(stderr,pcVar7);\n    break;\n  case 0x29:\n    if (*(long *)(param_3 + 2) == 0) {\n      lVar5 = FUN_0010f490(param_1);\n    }\n    else {\n      lVar5 = FUN_00110fa0(param_1,param_2,*(long *)(param_3 + 2),0,0);\n    }\n    if ((lVar5 != 0) &&\n       (lVar6 = FUN_00111730(param_1,param_2,*(undefined8 *)(param_3 + 4),local_40), lVar6 != 0)) {\n      lVar5 = FUN_0010f630(param_1,lVar5,lVar6,local_40[0]);\n      return lVar5;\n    }\n  }" switch (parenthesized_expression "(uVar1)" ( identifier )) (compound_statement "{\n  case 0:\n    if ((param_4 != 0) && (plVar4 = (long *)FUN_001101a0(param_1,param_4), plVar4 != (long *)0x0)) {\n      for (; *plVar4 != 0; plVar4 = plVar4 + 1) {\n        lVar5 = FUN_001101f0(param_1);\n        if (lVar5 == 0) {\n          return 0;\n        }\n        pcVar7 = (char *)FUN_00110000(param_1,lVar5);\n        if (pcVar7 != (char *)0x0) {\n          sVar3 = strlen(pcVar7);\n          if ((param_3[4] == (uint)sVar3) &&\n             (iVar2 = strncmp(pcVar7,*(char **)(param_3 + 2),(long)(int)param_3[4]), iVar2 == 0)) {\n            return lVar5;\n          }\n        }\n      }\n    }\n  case 0x18:\n    lVar5 = FUN_00110e80(param_1,param_2 + 0x1a0,*(undefined8 *)(param_3 + 2),param_3[4],0);\n    return lVar5;\n  case 1:\n    lVar5 = FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 2),param_4,0);\n    if (lVar5 != 0) {\n      lVar5 = FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 4),lVar5,0);\n      return lVar5;\n    }\n    break;\n  default:\n    pcVar7 = (char *)dcgettext(0,"Unrecognized demangle component %d\n",5);\n    fprintf(stderr,pcVar7,(ulong)uVar1);\n    return 0;\n  case 4:\n    pcVar7 = (char *)cplus_demangle_print(3,param_3,0x14,local_40);\n    if (pcVar7 != (char *)0x0) {\n      sVar3 = strlen(pcVar7);\n      lVar5 = FUN_00110e80(param_1,param_2 + 0x1a0,pcVar7,sVar3 & 0xffffffff,9);\n      free(pcVar7);\n      return lVar5;\n    }\n    pcVar7 = "Failed to print demangled template\n";\n    goto LAB_0011152c;\n  case 0x19:\n  case 0x1a:\n  case 0x1b:\n  case 0x22:\n  case 0x23:\n    lVar5 = FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 2),0,0);\n    if (lVar5 != 0) {\n      switch(*param_3) {\n      case 0x19:\n        return lVar5;\n      case 0x1a:\n        lVar5 = FUN_0010f920(param_1,lVar5);\n        return lVar5;\n      case 0x1b:\n        lVar5 = FUN_0010f8f0(param_1,lVar5);\n        return lVar5;\n      default:\n                    \n        abort();\n      case 0x22:\n        lVar5 = FUN_0010f5f0(param_1,lVar5);\n        return lVar5;\n      case 0x23:\n        lVar5 = FUN_0010f6a0(param_1,lVar5);\n        return lVar5;\n      }\n    }\n    break;\n  case 0x27:\n    __s1 = (byte *)cplus_demangle_print(3,param_3,0x14,local_40);\n    pcVar7 = "Couldn\'t get demangled builtin type\n";\n    bVar10 = false;\n    bVar12 = __s1 == (byte *)0x0;\n    if (!bVar12) {\n      lVar5 = 0xc;\n      pbVar8 = __s1;\n      pbVar9 = (byte *)0x122f71;\n      do {\n        if (lVar5 == 0) break;\n        lVar5 = lVar5 + -1;\n        bVar10 = *pbVar8 < *pbVar9;\n        bVar12 = *pbVar8 == *pbVar9;\n        pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n      } while (bVar12);\n      bVar11 = false;\n      bVar10 = (!bVar10 && !bVar12) == bVar10;\n      if (!bVar10) {\n        lVar5 = 5;\n        pbVar8 = __s1;\n        pbVar9 = &DAT_0012307b;\n        do {\n          if (lVar5 == 0) break;\n          lVar5 = lVar5 + -1;\n          bVar11 = *pbVar8 < *pbVar9;\n          bVar10 = *pbVar8 == *pbVar9;\n          pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar12 = false;\n        bVar10 = (!bVar11 && !bVar10) == bVar11;\n        if (bVar10) {\n          lVar5 = FUN_0010f4d0(param_1,1);\n          goto LAB_00111512;\n        }\n        lVar5 = 5;\n        pbVar8 = __s1;\n        pbVar9 = (byte *)0x122f78;\n        do {\n          if (lVar5 == 0) break;\n          lVar5 = lVar5 + -1;\n          bVar12 = *pbVar8 < *pbVar9;\n          bVar10 = *pbVar8 == *pbVar9;\n          pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar11 = false;\n        bVar10 = (!bVar12 && !bVar10) == bVar12;\n        if (!bVar10) {\n          lVar5 = 7;\n          pbVar8 = __s1;\n          pbVar9 = (byte *)0x122fb3;\n          do {\n            if (lVar5 == 0) break;\n            lVar5 = lVar5 + -1;\n            bVar11 = *pbVar8 < *pbVar9;\n            bVar10 = *pbVar8 == *pbVar9;\n            pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n          } while (bVar10);\n          bVar12 = false;\n          bVar10 = (!bVar11 && !bVar10) == bVar11;\n          if (!bVar10) {\n            lVar5 = 0xc;\n            pbVar8 = __s1;\n            pbVar9 = (byte *)"long double";\n            do {\n              if (lVar5 == 0) break;\n              lVar5 = lVar5 + -1;\n              bVar12 = *pbVar8 < *pbVar9;\n              bVar10 = *pbVar8 == *pbVar9;\n              pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n            } while (bVar10);\n            bVar11 = false;\n            bVar10 = (!bVar12 && !bVar10) == bVar12;\n            if (!bVar10) {\n              lVar5 = 6;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"float";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,4);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xb;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"__float128";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,0x10);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xe;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"unsigned char";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4a0(param_1,1,1);\n                goto LAB_00111512;\n              }\n              lVar5 = 4;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)0x1230d2;\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\nLAB_00111631:\n                lVar5 = FUN_0010f4a0(param_1,4,0);\n              }\n              else {\n                lVar5 = 0xd;\n                pbVar8 = __s1;\n                pbVar9 = (byte *)0x1230c9;\n                do {\n                  if (lVar5 == 0) break;\n                  lVar5 = lVar5 + -1;\n                  bVar11 = *pbVar8 < *pbVar9;\n                  bVar10 = *pbVar8 == *pbVar9;\n                  pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar10);\n                bVar12 = false;\n                bVar10 = (!bVar11 && !bVar10) == bVar11;\n                if (!bVar10) {\n                  lVar5 = 5;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)0x122f9e;\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar12 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar11 = false;\n                  bVar10 = (!bVar12 && !bVar10) == bVar12;\n                  if (bVar10) goto LAB_00111631;\n                  lVar5 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)"unsigned long";\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar11 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  if ((!bVar11 && !bVar10) != bVar11) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f490(param_1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }\n                lVar5 = FUN_0010f4a0(param_1,4,1);\n              }\n              goto LAB_00111512;\n            }\n          }\n          lVar5 = FUN_0010f4c0(param_1,8);\n          goto LAB_00111512;\n        }\n      }\n      lVar5 = FUN_0010f4a0(param_1,1,0);\nLAB_00111512:\n      free(__s1);\n      return lVar5;\n    }\nLAB_0011152c:\n    pcVar7 = (char *)dcgettext(0,pcVar7,5);\n    fprintf(stderr,pcVar7);\n    break;\n  case 0x29:\n    if (*(long *)(param_3 + 2) == 0) {\n      lVar5 = FUN_0010f490(param_1);\n    }\n    else {\n      lVar5 = FUN_00110fa0(param_1,param_2,*(long *)(param_3 + 2),0,0);\n    }\n    if ((lVar5 != 0) &&\n       (lVar6 = FUN_00111730(param_1,param_2,*(undefined8 *)(param_3 + 4),local_40), lVar6 != 0)) {\n      lVar5 = FUN_0010f630(param_1,lVar5,lVar6,local_40[0]);\n      return lVar5;\n    }\n  }" { (case_statement "case 0:\n    if ((param_4 != 0) && (plVar4 = (long *)FUN_001101a0(param_1,param_4), plVar4 != (long *)0x0)) {\n      for (; *plVar4 != 0; plVar4 = plVar4 + 1) {\n        lVar5 = FUN_001101f0(param_1);\n        if (lVar5 == 0) {\n          return 0;\n        }\n        pcVar7 = (char *)FUN_00110000(param_1,lVar5);\n        if (pcVar7 != (char *)0x0) {\n          sVar3 = strlen(pcVar7);\n          if ((param_3[4] == (uint)sVar3) &&\n             (iVar2 = strncmp(pcVar7,*(char **)(param_3 + 2),(long)(int)param_3[4]), iVar2 == 0)) {\n            return lVar5;\n          }\n        }\n      }\n    }" case number_literal : (if_statement "if ((param_4 != 0) && (plVar4 = (long *)FUN_001101a0(param_1,param_4), plVar4 != (long *)0x0)) {\n      for (; *plVar4 != 0; plVar4 = plVar4 + 1) {\n        lVar5 = FUN_001101f0(param_1);\n        if (lVar5 == 0) {\n          return 0;\n        }\n        pcVar7 = (char *)FUN_00110000(param_1,lVar5);\n        if (pcVar7 != (char *)0x0) {\n          sVar3 = strlen(pcVar7);\n          if ((param_3[4] == (uint)sVar3) &&\n             (iVar2 = strncmp(pcVar7,*(char **)(param_3 + 2),(long)(int)param_3[4]), iVar2 == 0)) {\n            return lVar5;\n          }\n        }\n      }\n    }" if (parenthesized_expression "((param_4 != 0) && (plVar4 = (long *)FUN_001101a0(param_1,param_4), plVar4 != (long *)0x0))" ( (binary_expression "(param_4 != 0) && (plVar4 = (long *)FUN_001101a0(param_1,param_4), plVar4 != (long *)0x0)" (parenthesized_expression "(param_4 != 0)" ( (binary_expression "param_4 != 0" identifier != number_literal) )) && (parenthesized_expression "(plVar4 = (long *)FUN_001101a0(param_1,param_4), plVar4 != (long *)0x0)" ( (comma_expression "plVar4 = (long *)FUN_001101a0(param_1,param_4), plVar4 != (long *)0x0" (assignment_expression "plVar4 = (long *)FUN_001101a0(param_1,param_4)" identifier = (cast_expression "(long *)FUN_001101a0(param_1,param_4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001101a0(param_1,param_4)" identifier (argument_list "(param_1,param_4)" ( identifier , identifier ))))) , (binary_expression "plVar4 != (long *)0x0" identifier != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n      for (; *plVar4 != 0; plVar4 = plVar4 + 1) {\n        lVar5 = FUN_001101f0(param_1);\n        if (lVar5 == 0) {\n          return 0;\n        }\n        pcVar7 = (char *)FUN_00110000(param_1,lVar5);\n        if (pcVar7 != (char *)0x0) {\n          sVar3 = strlen(pcVar7);\n          if ((param_3[4] == (uint)sVar3) &&\n             (iVar2 = strncmp(pcVar7,*(char **)(param_3 + 2),(long)(int)param_3[4]), iVar2 == 0)) {\n            return lVar5;\n          }\n        }\n      }\n    }" { (for_statement "for (; *plVar4 != 0; plVar4 = plVar4 + 1) {\n        lVar5 = FUN_001101f0(param_1);\n        if (lVar5 == 0) {\n          return 0;\n        }\n        pcVar7 = (char *)FUN_00110000(param_1,lVar5);\n        if (pcVar7 != (char *)0x0) {\n          sVar3 = strlen(pcVar7);\n          if ((param_3[4] == (uint)sVar3) &&\n             (iVar2 = strncmp(pcVar7,*(char **)(param_3 + 2),(long)(int)param_3[4]), iVar2 == 0)) {\n            return lVar5;\n          }\n        }\n      }" for ( ; (binary_expression "*plVar4 != 0" (pointer_expression "*plVar4" * identifier) != number_literal) ; (assignment_expression "plVar4 = plVar4 + 1" identifier = (binary_expression "plVar4 + 1" identifier + number_literal)) ) (compound_statement "{\n        lVar5 = FUN_001101f0(param_1);\n        if (lVar5 == 0) {\n          return 0;\n        }\n        pcVar7 = (char *)FUN_00110000(param_1,lVar5);\n        if (pcVar7 != (char *)0x0) {\n          sVar3 = strlen(pcVar7);\n          if ((param_3[4] == (uint)sVar3) &&\n             (iVar2 = strncmp(pcVar7,*(char **)(param_3 + 2),(long)(int)param_3[4]), iVar2 == 0)) {\n            return lVar5;\n          }\n        }\n      }" { (expression_statement "lVar5 = FUN_001101f0(param_1);" (assignment_expression "lVar5 = FUN_001101f0(param_1)" identifier = (call_expression "FUN_001101f0(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (if_statement "if (lVar5 == 0) {\n          return 0;\n        }" if (parenthesized_expression "(lVar5 == 0)" ( (binary_expression "lVar5 == 0" identifier == number_literal) )) (compound_statement "{\n          return 0;\n        }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "pcVar7 = (char *)FUN_00110000(param_1,lVar5);" (assignment_expression "pcVar7 = (char *)FUN_00110000(param_1,lVar5)" identifier = (cast_expression "(char *)FUN_00110000(param_1,lVar5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00110000(param_1,lVar5)" identifier (argument_list "(param_1,lVar5)" ( identifier , identifier ))))) ;) (if_statement "if (pcVar7 != (char *)0x0) {\n          sVar3 = strlen(pcVar7);\n          if ((param_3[4] == (uint)sVar3) &&\n             (iVar2 = strncmp(pcVar7,*(char **)(param_3 + 2),(long)(int)param_3[4]), iVar2 == 0)) {\n            return lVar5;\n          }\n        }" if (parenthesized_expression "(pcVar7 != (char *)0x0)" ( (binary_expression "pcVar7 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          sVar3 = strlen(pcVar7);\n          if ((param_3[4] == (uint)sVar3) &&\n             (iVar2 = strncmp(pcVar7,*(char **)(param_3 + 2),(long)(int)param_3[4]), iVar2 == 0)) {\n            return lVar5;\n          }\n        }" { (expression_statement "sVar3 = strlen(pcVar7);" (assignment_expression "sVar3 = strlen(pcVar7)" identifier = (call_expression "strlen(pcVar7)" identifier (argument_list "(pcVar7)" ( identifier )))) ;) (if_statement "if ((param_3[4] == (uint)sVar3) &&\n             (iVar2 = strncmp(pcVar7,*(char **)(param_3 + 2),(long)(int)param_3[4]), iVar2 == 0)) {\n            return lVar5;\n          }" if (parenthesized_expression "((param_3[4] == (uint)sVar3) &&\n             (iVar2 = strncmp(pcVar7,*(char **)(param_3 + 2),(long)(int)param_3[4]), iVar2 == 0))" ( (binary_expression "(param_3[4] == (uint)sVar3) &&\n             (iVar2 = strncmp(pcVar7,*(char **)(param_3 + 2),(long)(int)param_3[4]), iVar2 == 0)" (parenthesized_expression "(param_3[4] == (uint)sVar3)" ( (binary_expression "param_3[4] == (uint)sVar3" (subscript_expression "param_3[4]" identifier [ number_literal ]) == (cast_expression "(uint)sVar3" ( (type_descriptor "uint" type_identifier) ) identifier)) )) && (parenthesized_expression "(iVar2 = strncmp(pcVar7,*(char **)(param_3 + 2),(long)(int)param_3[4]), iVar2 == 0)" ( (comma_expression "iVar2 = strncmp(pcVar7,*(char **)(param_3 + 2),(long)(int)param_3[4]), iVar2 == 0" (assignment_expression "iVar2 = strncmp(pcVar7,*(char **)(param_3 + 2),(long)(int)param_3[4])" identifier = (call_expression "strncmp(pcVar7,*(char **)(param_3 + 2),(long)(int)param_3[4])" identifier (argument_list "(pcVar7,*(char **)(param_3 + 2),(long)(int)param_3[4])" ( identifier , (pointer_expression "*(char **)(param_3 + 2)" * (cast_expression "(char **)(param_3 + 2)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 2)" ( (binary_expression "param_3 + 2" identifier + number_literal) )))) , (cast_expression "(long)(int)param_3[4]" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)param_3[4]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_3[4]" identifier [ number_literal ]))) )))) , (binary_expression "iVar2 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n            return lVar5;\n          }" { (return_statement "return lVar5;" return identifier ;) })) })) })) }))) (case_statement "case 0x18:\n    lVar5 = FUN_00110e80(param_1,param_2 + 0x1a0,*(undefined8 *)(param_3 + 2),param_3[4],0);\n    return lVar5;" case number_literal : (expression_statement "lVar5 = FUN_00110e80(param_1,param_2 + 0x1a0,*(undefined8 *)(param_3 + 2),param_3[4],0);" (assignment_expression "lVar5 = FUN_00110e80(param_1,param_2 + 0x1a0,*(undefined8 *)(param_3 + 2),param_3[4],0)" identifier = (call_expression "FUN_00110e80(param_1,param_2 + 0x1a0,*(undefined8 *)(param_3 + 2),param_3[4],0)" identifier (argument_list "(param_1,param_2 + 0x1a0,*(undefined8 *)(param_3 + 2),param_3[4],0)" ( identifier , (binary_expression "param_2 + 0x1a0" identifier + number_literal) , (pointer_expression "*(undefined8 *)(param_3 + 2)" * (cast_expression "(undefined8 *)(param_3 + 2)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 2)" ( (binary_expression "param_3 + 2" identifier + number_literal) )))) , (subscript_expression "param_3[4]" identifier [ number_literal ]) , number_literal )))) ;) (return_statement "return lVar5;" return identifier ;)) (case_statement "case 1:\n    lVar5 = FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 2),param_4,0);\n    if (lVar5 != 0) {\n      lVar5 = FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 4),lVar5,0);\n      return lVar5;\n    }\n    break;" case number_literal : (expression_statement "lVar5 = FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 2),param_4,0);" (assignment_expression "lVar5 = FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 2),param_4,0)" identifier = (call_expression "FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 2),param_4,0)" identifier (argument_list "(param_1,param_2,*(undefined8 *)(param_3 + 2),param_4,0)" ( identifier , identifier , (pointer_expression "*(undefined8 *)(param_3 + 2)" * (cast_expression "(undefined8 *)(param_3 + 2)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 2)" ( (binary_expression "param_3 + 2" identifier + number_literal) )))) , identifier , number_literal )))) ;) (if_statement "if (lVar5 != 0) {\n      lVar5 = FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 4),lVar5,0);\n      return lVar5;\n    }" if (parenthesized_expression "(lVar5 != 0)" ( (binary_expression "lVar5 != 0" identifier != number_literal) )) (compound_statement "{\n      lVar5 = FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 4),lVar5,0);\n      return lVar5;\n    }" { (expression_statement "lVar5 = FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 4),lVar5,0);" (assignment_expression "lVar5 = FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 4),lVar5,0)" identifier = (call_expression "FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 4),lVar5,0)" identifier (argument_list "(param_1,param_2,*(undefined8 *)(param_3 + 4),lVar5,0)" ( identifier , identifier , (pointer_expression "*(undefined8 *)(param_3 + 4)" * (cast_expression "(undefined8 *)(param_3 + 4)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 4)" ( (binary_expression "param_3 + 4" identifier + number_literal) )))) , identifier , number_literal )))) ;) (return_statement "return lVar5;" return identifier ;) })) (break_statement "break;" break ;)) (case_statement "default:\n    pcVar7 = (char *)dcgettext(0,"Unrecognized demangle component %d\n",5);\n    fprintf(stderr,pcVar7,(ulong)uVar1);\n    return 0;" default : (expression_statement "pcVar7 = (char *)dcgettext(0,"Unrecognized demangle component %d\n",5);" (assignment_expression "pcVar7 = (char *)dcgettext(0,"Unrecognized demangle component %d\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"Unrecognized demangle component %d\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Unrecognized demangle component %d\n",5)" identifier (argument_list "(0,"Unrecognized demangle component %d\n",5)" ( number_literal , (string_literal ""Unrecognized demangle component %d\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "fprintf(stderr,pcVar7,(ulong)uVar1);" (call_expression "fprintf(stderr,pcVar7,(ulong)uVar1)" identifier (argument_list "(stderr,pcVar7,(ulong)uVar1)" ( identifier , identifier , (cast_expression "(ulong)uVar1" ( (type_descriptor "ulong" type_identifier) ) identifier) ))) ;) (return_statement "return 0;" return number_literal ;)) (case_statement "case 4:\n    pcVar7 = (char *)cplus_demangle_print(3,param_3,0x14,local_40);\n    if (pcVar7 != (char *)0x0) {\n      sVar3 = strlen(pcVar7);\n      lVar5 = FUN_00110e80(param_1,param_2 + 0x1a0,pcVar7,sVar3 & 0xffffffff,9);\n      free(pcVar7);\n      return lVar5;\n    }\n    pcVar7 = "Failed to print demangled template\n";\n    goto LAB_0011152c;" case number_literal : (expression_statement "pcVar7 = (char *)cplus_demangle_print(3,param_3,0x14,local_40);" (assignment_expression "pcVar7 = (char *)cplus_demangle_print(3,param_3,0x14,local_40)" identifier = (cast_expression "(char *)cplus_demangle_print(3,param_3,0x14,local_40)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "cplus_demangle_print(3,param_3,0x14,local_40)" identifier (argument_list "(3,param_3,0x14,local_40)" ( number_literal , identifier , number_literal , identifier ))))) ;) (if_statement "if (pcVar7 != (char *)0x0) {\n      sVar3 = strlen(pcVar7);\n      lVar5 = FUN_00110e80(param_1,param_2 + 0x1a0,pcVar7,sVar3 & 0xffffffff,9);\n      free(pcVar7);\n      return lVar5;\n    }" if (parenthesized_expression "(pcVar7 != (char *)0x0)" ( (binary_expression "pcVar7 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      sVar3 = strlen(pcVar7);\n      lVar5 = FUN_00110e80(param_1,param_2 + 0x1a0,pcVar7,sVar3 & 0xffffffff,9);\n      free(pcVar7);\n      return lVar5;\n    }" { (expression_statement "sVar3 = strlen(pcVar7);" (assignment_expression "sVar3 = strlen(pcVar7)" identifier = (call_expression "strlen(pcVar7)" identifier (argument_list "(pcVar7)" ( identifier )))) ;) (expression_statement "lVar5 = FUN_00110e80(param_1,param_2 + 0x1a0,pcVar7,sVar3 & 0xffffffff,9);" (assignment_expression "lVar5 = FUN_00110e80(param_1,param_2 + 0x1a0,pcVar7,sVar3 & 0xffffffff,9)" identifier = (call_expression "FUN_00110e80(param_1,param_2 + 0x1a0,pcVar7,sVar3 & 0xffffffff,9)" identifier (argument_list "(param_1,param_2 + 0x1a0,pcVar7,sVar3 & 0xffffffff,9)" ( identifier , (binary_expression "param_2 + 0x1a0" identifier + number_literal) , identifier , (binary_expression "sVar3 & 0xffffffff" identifier & number_literal) , number_literal )))) ;) (expression_statement "free(pcVar7);" (call_expression "free(pcVar7)" identifier (argument_list "(pcVar7)" ( identifier ))) ;) (return_statement "return lVar5;" return identifier ;) })) (expression_statement "pcVar7 = "Failed to print demangled template\n";" (assignment_expression "pcVar7 = "Failed to print demangled template\n"" identifier = (string_literal ""Failed to print demangled template\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_0011152c;" goto statement_identifier ;)) (case_statement "case 0x19:" case number_literal :) (case_statement "case 0x1a:" case number_literal :) (case_statement "case 0x1b:" case number_literal :) (case_statement "case 0x22:" case number_literal :) (case_statement "case 0x23:\n    lVar5 = FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 2),0,0);\n    if (lVar5 != 0) {\n      switch(*param_3) {\n      case 0x19:\n        return lVar5;\n      case 0x1a:\n        lVar5 = FUN_0010f920(param_1,lVar5);\n        return lVar5;\n      case 0x1b:\n        lVar5 = FUN_0010f8f0(param_1,lVar5);\n        return lVar5;\n      default:\n                    \n        abort();\n      case 0x22:\n        lVar5 = FUN_0010f5f0(param_1,lVar5);\n        return lVar5;\n      case 0x23:\n        lVar5 = FUN_0010f6a0(param_1,lVar5);\n        return lVar5;\n      }\n    }\n    break;" case number_literal : (expression_statement "lVar5 = FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 2),0,0);" (assignment_expression "lVar5 = FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 2),0,0)" identifier = (call_expression "FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 2),0,0)" identifier (argument_list "(param_1,param_2,*(undefined8 *)(param_3 + 2),0,0)" ( identifier , identifier , (pointer_expression "*(undefined8 *)(param_3 + 2)" * (cast_expression "(undefined8 *)(param_3 + 2)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 2)" ( (binary_expression "param_3 + 2" identifier + number_literal) )))) , number_literal , number_literal )))) ;) (if_statement "if (lVar5 != 0) {\n      switch(*param_3) {\n      case 0x19:\n        return lVar5;\n      case 0x1a:\n        lVar5 = FUN_0010f920(param_1,lVar5);\n        return lVar5;\n      case 0x1b:\n        lVar5 = FUN_0010f8f0(param_1,lVar5);\n        return lVar5;\n      default:\n                    \n        abort();\n      case 0x22:\n        lVar5 = FUN_0010f5f0(param_1,lVar5);\n        return lVar5;\n      case 0x23:\n        lVar5 = FUN_0010f6a0(param_1,lVar5);\n        return lVar5;\n      }\n    }" if (parenthesized_expression "(lVar5 != 0)" ( (binary_expression "lVar5 != 0" identifier != number_literal) )) (compound_statement "{\n      switch(*param_3) {\n      case 0x19:\n        return lVar5;\n      case 0x1a:\n        lVar5 = FUN_0010f920(param_1,lVar5);\n        return lVar5;\n      case 0x1b:\n        lVar5 = FUN_0010f8f0(param_1,lVar5);\n        return lVar5;\n      default:\n                    \n        abort();\n      case 0x22:\n        lVar5 = FUN_0010f5f0(param_1,lVar5);\n        return lVar5;\n      case 0x23:\n        lVar5 = FUN_0010f6a0(param_1,lVar5);\n        return lVar5;\n      }\n    }" { (switch_statement "switch(*param_3) {\n      case 0x19:\n        return lVar5;\n      case 0x1a:\n        lVar5 = FUN_0010f920(param_1,lVar5);\n        return lVar5;\n      case 0x1b:\n        lVar5 = FUN_0010f8f0(param_1,lVar5);\n        return lVar5;\n      default:\n                    \n        abort();\n      case 0x22:\n        lVar5 = FUN_0010f5f0(param_1,lVar5);\n        return lVar5;\n      case 0x23:\n        lVar5 = FUN_0010f6a0(param_1,lVar5);\n        return lVar5;\n      }" switch (parenthesized_expression "(*param_3)" ( (pointer_expression "*param_3" * identifier) )) (compound_statement "{\n      case 0x19:\n        return lVar5;\n      case 0x1a:\n        lVar5 = FUN_0010f920(param_1,lVar5);\n        return lVar5;\n      case 0x1b:\n        lVar5 = FUN_0010f8f0(param_1,lVar5);\n        return lVar5;\n      default:\n                    \n        abort();\n      case 0x22:\n        lVar5 = FUN_0010f5f0(param_1,lVar5);\n        return lVar5;\n      case 0x23:\n        lVar5 = FUN_0010f6a0(param_1,lVar5);\n        return lVar5;\n      }" { (case_statement "case 0x19:\n        return lVar5;" case number_literal : (return_statement "return lVar5;" return identifier ;)) (case_statement "case 0x1a:\n        lVar5 = FUN_0010f920(param_1,lVar5);\n        return lVar5;" case number_literal : (expression_statement "lVar5 = FUN_0010f920(param_1,lVar5);" (assignment_expression "lVar5 = FUN_0010f920(param_1,lVar5)" identifier = (call_expression "FUN_0010f920(param_1,lVar5)" identifier (argument_list "(param_1,lVar5)" ( identifier , identifier )))) ;) (return_statement "return lVar5;" return identifier ;)) (case_statement "case 0x1b:\n        lVar5 = FUN_0010f8f0(param_1,lVar5);\n        return lVar5;" case number_literal : (expression_statement "lVar5 = FUN_0010f8f0(param_1,lVar5);" (assignment_expression "lVar5 = FUN_0010f8f0(param_1,lVar5)" identifier = (call_expression "FUN_0010f8f0(param_1,lVar5)" identifier (argument_list "(param_1,lVar5)" ( identifier , identifier )))) ;) (return_statement "return lVar5;" return identifier ;)) (case_statement "default:\n                    \n        abort();" default : (expression_statement "abort();" (call_expression "abort()" identifier (argument_list "()" ( ))) ;)) (case_statement "case 0x22:\n        lVar5 = FUN_0010f5f0(param_1,lVar5);\n        return lVar5;" case number_literal : (expression_statement "lVar5 = FUN_0010f5f0(param_1,lVar5);" (assignment_expression "lVar5 = FUN_0010f5f0(param_1,lVar5)" identifier = (call_expression "FUN_0010f5f0(param_1,lVar5)" identifier (argument_list "(param_1,lVar5)" ( identifier , identifier )))) ;) (return_statement "return lVar5;" return identifier ;)) (case_statement "case 0x23:\n        lVar5 = FUN_0010f6a0(param_1,lVar5);\n        return lVar5;" case number_literal : (expression_statement "lVar5 = FUN_0010f6a0(param_1,lVar5);" (assignment_expression "lVar5 = FUN_0010f6a0(param_1,lVar5)" identifier = (call_expression "FUN_0010f6a0(param_1,lVar5)" identifier (argument_list "(param_1,lVar5)" ( identifier , identifier )))) ;) (return_statement "return lVar5;" return identifier ;)) })) })) (break_statement "break;" break ;)) (case_statement "case 0x27:\n    __s1 = (byte *)cplus_demangle_print(3,param_3,0x14,local_40);\n    pcVar7 = "Couldn\'t get demangled builtin type\n";\n    bVar10 = false;\n    bVar12 = __s1 == (byte *)0x0;\n    if (!bVar12) {\n      lVar5 = 0xc;\n      pbVar8 = __s1;\n      pbVar9 = (byte *)0x122f71;\n      do {\n        if (lVar5 == 0) break;\n        lVar5 = lVar5 + -1;\n        bVar10 = *pbVar8 < *pbVar9;\n        bVar12 = *pbVar8 == *pbVar9;\n        pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n      } while (bVar12);\n      bVar11 = false;\n      bVar10 = (!bVar10 && !bVar12) == bVar10;\n      if (!bVar10) {\n        lVar5 = 5;\n        pbVar8 = __s1;\n        pbVar9 = &DAT_0012307b;\n        do {\n          if (lVar5 == 0) break;\n          lVar5 = lVar5 + -1;\n          bVar11 = *pbVar8 < *pbVar9;\n          bVar10 = *pbVar8 == *pbVar9;\n          pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar12 = false;\n        bVar10 = (!bVar11 && !bVar10) == bVar11;\n        if (bVar10) {\n          lVar5 = FUN_0010f4d0(param_1,1);\n          goto LAB_00111512;\n        }\n        lVar5 = 5;\n        pbVar8 = __s1;\n        pbVar9 = (byte *)0x122f78;\n        do {\n          if (lVar5 == 0) break;\n          lVar5 = lVar5 + -1;\n          bVar12 = *pbVar8 < *pbVar9;\n          bVar10 = *pbVar8 == *pbVar9;\n          pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar11 = false;\n        bVar10 = (!bVar12 && !bVar10) == bVar12;\n        if (!bVar10) {\n          lVar5 = 7;\n          pbVar8 = __s1;\n          pbVar9 = (byte *)0x122fb3;\n          do {\n            if (lVar5 == 0) break;\n            lVar5 = lVar5 + -1;\n            bVar11 = *pbVar8 < *pbVar9;\n            bVar10 = *pbVar8 == *pbVar9;\n            pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n          } while (bVar10);\n          bVar12 = false;\n          bVar10 = (!bVar11 && !bVar10) == bVar11;\n          if (!bVar10) {\n            lVar5 = 0xc;\n            pbVar8 = __s1;\n            pbVar9 = (byte *)"long double";\n            do {\n              if (lVar5 == 0) break;\n              lVar5 = lVar5 + -1;\n              bVar12 = *pbVar8 < *pbVar9;\n              bVar10 = *pbVar8 == *pbVar9;\n              pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n            } while (bVar10);\n            bVar11 = false;\n            bVar10 = (!bVar12 && !bVar10) == bVar12;\n            if (!bVar10) {\n              lVar5 = 6;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"float";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,4);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xb;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"__float128";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,0x10);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xe;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"unsigned char";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4a0(param_1,1,1);\n                goto LAB_00111512;\n              }\n              lVar5 = 4;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)0x1230d2;\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\nLAB_00111631:\n                lVar5 = FUN_0010f4a0(param_1,4,0);\n              }\n              else {\n                lVar5 = 0xd;\n                pbVar8 = __s1;\n                pbVar9 = (byte *)0x1230c9;\n                do {\n                  if (lVar5 == 0) break;\n                  lVar5 = lVar5 + -1;\n                  bVar11 = *pbVar8 < *pbVar9;\n                  bVar10 = *pbVar8 == *pbVar9;\n                  pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar10);\n                bVar12 = false;\n                bVar10 = (!bVar11 && !bVar10) == bVar11;\n                if (!bVar10) {\n                  lVar5 = 5;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)0x122f9e;\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar12 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar11 = false;\n                  bVar10 = (!bVar12 && !bVar10) == bVar12;\n                  if (bVar10) goto LAB_00111631;\n                  lVar5 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)"unsigned long";\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar11 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  if ((!bVar11 && !bVar10) != bVar11) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f490(param_1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }\n                lVar5 = FUN_0010f4a0(param_1,4,1);\n              }\n              goto LAB_00111512;\n            }\n          }\n          lVar5 = FUN_0010f4c0(param_1,8);\n          goto LAB_00111512;\n        }\n      }\n      lVar5 = FUN_0010f4a0(param_1,1,0);\nLAB_00111512:\n      free(__s1);\n      return lVar5;\n    }\nLAB_0011152c:\n    pcVar7 = (char *)dcgettext(0,pcVar7,5);\n    fprintf(stderr,pcVar7);\n    break;" case number_literal : (expression_statement "__s1 = (byte *)cplus_demangle_print(3,param_3,0x14,local_40);" (assignment_expression "__s1 = (byte *)cplus_demangle_print(3,param_3,0x14,local_40)" identifier = (cast_expression "(byte *)cplus_demangle_print(3,param_3,0x14,local_40)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "cplus_demangle_print(3,param_3,0x14,local_40)" identifier (argument_list "(3,param_3,0x14,local_40)" ( number_literal , identifier , number_literal , identifier ))))) ;) (expression_statement "pcVar7 = "Couldn\'t get demangled builtin type\n";" (assignment_expression "pcVar7 = "Couldn\'t get demangled builtin type\n"" identifier = (string_literal ""Couldn\'t get demangled builtin type\n"" " string_content escape_sequence string_content escape_sequence ")) ;) (expression_statement "bVar10 = false;" (assignment_expression "bVar10 = false" identifier = false) ;) (expression_statement "bVar12 = __s1 == (byte *)0x0;" (assignment_expression "bVar12 = __s1 == (byte *)0x0" identifier = (binary_expression "__s1 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (if_statement "if (!bVar12) {\n      lVar5 = 0xc;\n      pbVar8 = __s1;\n      pbVar9 = (byte *)0x122f71;\n      do {\n        if (lVar5 == 0) break;\n        lVar5 = lVar5 + -1;\n        bVar10 = *pbVar8 < *pbVar9;\n        bVar12 = *pbVar8 == *pbVar9;\n        pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n      } while (bVar12);\n      bVar11 = false;\n      bVar10 = (!bVar10 && !bVar12) == bVar10;\n      if (!bVar10) {\n        lVar5 = 5;\n        pbVar8 = __s1;\n        pbVar9 = &DAT_0012307b;\n        do {\n          if (lVar5 == 0) break;\n          lVar5 = lVar5 + -1;\n          bVar11 = *pbVar8 < *pbVar9;\n          bVar10 = *pbVar8 == *pbVar9;\n          pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar12 = false;\n        bVar10 = (!bVar11 && !bVar10) == bVar11;\n        if (bVar10) {\n          lVar5 = FUN_0010f4d0(param_1,1);\n          goto LAB_00111512;\n        }\n        lVar5 = 5;\n        pbVar8 = __s1;\n        pbVar9 = (byte *)0x122f78;\n        do {\n          if (lVar5 == 0) break;\n          lVar5 = lVar5 + -1;\n          bVar12 = *pbVar8 < *pbVar9;\n          bVar10 = *pbVar8 == *pbVar9;\n          pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar11 = false;\n        bVar10 = (!bVar12 && !bVar10) == bVar12;\n        if (!bVar10) {\n          lVar5 = 7;\n          pbVar8 = __s1;\n          pbVar9 = (byte *)0x122fb3;\n          do {\n            if (lVar5 == 0) break;\n            lVar5 = lVar5 + -1;\n            bVar11 = *pbVar8 < *pbVar9;\n            bVar10 = *pbVar8 == *pbVar9;\n            pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n          } while (bVar10);\n          bVar12 = false;\n          bVar10 = (!bVar11 && !bVar10) == bVar11;\n          if (!bVar10) {\n            lVar5 = 0xc;\n            pbVar8 = __s1;\n            pbVar9 = (byte *)"long double";\n            do {\n              if (lVar5 == 0) break;\n              lVar5 = lVar5 + -1;\n              bVar12 = *pbVar8 < *pbVar9;\n              bVar10 = *pbVar8 == *pbVar9;\n              pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n            } while (bVar10);\n            bVar11 = false;\n            bVar10 = (!bVar12 && !bVar10) == bVar12;\n            if (!bVar10) {\n              lVar5 = 6;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"float";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,4);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xb;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"__float128";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,0x10);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xe;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"unsigned char";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4a0(param_1,1,1);\n                goto LAB_00111512;\n              }\n              lVar5 = 4;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)0x1230d2;\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\nLAB_00111631:\n                lVar5 = FUN_0010f4a0(param_1,4,0);\n              }\n              else {\n                lVar5 = 0xd;\n                pbVar8 = __s1;\n                pbVar9 = (byte *)0x1230c9;\n                do {\n                  if (lVar5 == 0) break;\n                  lVar5 = lVar5 + -1;\n                  bVar11 = *pbVar8 < *pbVar9;\n                  bVar10 = *pbVar8 == *pbVar9;\n                  pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar10);\n                bVar12 = false;\n                bVar10 = (!bVar11 && !bVar10) == bVar11;\n                if (!bVar10) {\n                  lVar5 = 5;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)0x122f9e;\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar12 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar11 = false;\n                  bVar10 = (!bVar12 && !bVar10) == bVar12;\n                  if (bVar10) goto LAB_00111631;\n                  lVar5 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)"unsigned long";\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar11 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  if ((!bVar11 && !bVar10) != bVar11) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f490(param_1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }\n                lVar5 = FUN_0010f4a0(param_1,4,1);\n              }\n              goto LAB_00111512;\n            }\n          }\n          lVar5 = FUN_0010f4c0(param_1,8);\n          goto LAB_00111512;\n        }\n      }\n      lVar5 = FUN_0010f4a0(param_1,1,0);\nLAB_00111512:\n      free(__s1);\n      return lVar5;\n    }" if (parenthesized_expression "(!bVar12)" ( (unary_expression "!bVar12" ! identifier) )) (compound_statement "{\n      lVar5 = 0xc;\n      pbVar8 = __s1;\n      pbVar9 = (byte *)0x122f71;\n      do {\n        if (lVar5 == 0) break;\n        lVar5 = lVar5 + -1;\n        bVar10 = *pbVar8 < *pbVar9;\n        bVar12 = *pbVar8 == *pbVar9;\n        pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n      } while (bVar12);\n      bVar11 = false;\n      bVar10 = (!bVar10 && !bVar12) == bVar10;\n      if (!bVar10) {\n        lVar5 = 5;\n        pbVar8 = __s1;\n        pbVar9 = &DAT_0012307b;\n        do {\n          if (lVar5 == 0) break;\n          lVar5 = lVar5 + -1;\n          bVar11 = *pbVar8 < *pbVar9;\n          bVar10 = *pbVar8 == *pbVar9;\n          pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar12 = false;\n        bVar10 = (!bVar11 && !bVar10) == bVar11;\n        if (bVar10) {\n          lVar5 = FUN_0010f4d0(param_1,1);\n          goto LAB_00111512;\n        }\n        lVar5 = 5;\n        pbVar8 = __s1;\n        pbVar9 = (byte *)0x122f78;\n        do {\n          if (lVar5 == 0) break;\n          lVar5 = lVar5 + -1;\n          bVar12 = *pbVar8 < *pbVar9;\n          bVar10 = *pbVar8 == *pbVar9;\n          pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar11 = false;\n        bVar10 = (!bVar12 && !bVar10) == bVar12;\n        if (!bVar10) {\n          lVar5 = 7;\n          pbVar8 = __s1;\n          pbVar9 = (byte *)0x122fb3;\n          do {\n            if (lVar5 == 0) break;\n            lVar5 = lVar5 + -1;\n            bVar11 = *pbVar8 < *pbVar9;\n            bVar10 = *pbVar8 == *pbVar9;\n            pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n          } while (bVar10);\n          bVar12 = false;\n          bVar10 = (!bVar11 && !bVar10) == bVar11;\n          if (!bVar10) {\n            lVar5 = 0xc;\n            pbVar8 = __s1;\n            pbVar9 = (byte *)"long double";\n            do {\n              if (lVar5 == 0) break;\n              lVar5 = lVar5 + -1;\n              bVar12 = *pbVar8 < *pbVar9;\n              bVar10 = *pbVar8 == *pbVar9;\n              pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n            } while (bVar10);\n            bVar11 = false;\n            bVar10 = (!bVar12 && !bVar10) == bVar12;\n            if (!bVar10) {\n              lVar5 = 6;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"float";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,4);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xb;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"__float128";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,0x10);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xe;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"unsigned char";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4a0(param_1,1,1);\n                goto LAB_00111512;\n              }\n              lVar5 = 4;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)0x1230d2;\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\nLAB_00111631:\n                lVar5 = FUN_0010f4a0(param_1,4,0);\n              }\n              else {\n                lVar5 = 0xd;\n                pbVar8 = __s1;\n                pbVar9 = (byte *)0x1230c9;\n                do {\n                  if (lVar5 == 0) break;\n                  lVar5 = lVar5 + -1;\n                  bVar11 = *pbVar8 < *pbVar9;\n                  bVar10 = *pbVar8 == *pbVar9;\n                  pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar10);\n                bVar12 = false;\n                bVar10 = (!bVar11 && !bVar10) == bVar11;\n                if (!bVar10) {\n                  lVar5 = 5;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)0x122f9e;\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar12 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar11 = false;\n                  bVar10 = (!bVar12 && !bVar10) == bVar12;\n                  if (bVar10) goto LAB_00111631;\n                  lVar5 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)"unsigned long";\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar11 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  if ((!bVar11 && !bVar10) != bVar11) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f490(param_1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }\n                lVar5 = FUN_0010f4a0(param_1,4,1);\n              }\n              goto LAB_00111512;\n            }\n          }\n          lVar5 = FUN_0010f4c0(param_1,8);\n          goto LAB_00111512;\n        }\n      }\n      lVar5 = FUN_0010f4a0(param_1,1,0);\nLAB_00111512:\n      free(__s1);\n      return lVar5;\n    }" { (expression_statement "lVar5 = 0xc;" (assignment_expression "lVar5 = 0xc" identifier = number_literal) ;) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __s1" identifier = identifier) ;) (expression_statement "pbVar9 = (byte *)0x122f71;" (assignment_expression "pbVar9 = (byte *)0x122f71" identifier = (cast_expression "(byte *)0x122f71" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n        if (lVar5 == 0) break;\n        lVar5 = lVar5 + -1;\n        bVar10 = *pbVar8 < *pbVar9;\n        bVar12 = *pbVar8 == *pbVar9;\n        pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n      } while (bVar12);" do (compound_statement "{\n        if (lVar5 == 0) break;\n        lVar5 = lVar5 + -1;\n        bVar10 = *pbVar8 < *pbVar9;\n        bVar12 = *pbVar8 == *pbVar9;\n        pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n      }" { (if_statement "if (lVar5 == 0) break;" if (parenthesized_expression "(lVar5 == 0)" ( (binary_expression "lVar5 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar5 = lVar5 + -1;" (assignment_expression "lVar5 = lVar5 + -1" identifier = (binary_expression "lVar5 + -1" identifier + number_literal)) ;) (expression_statement "bVar10 = *pbVar8 < *pbVar9;" (assignment_expression "bVar10 = *pbVar8 < *pbVar9" identifier = (binary_expression "*pbVar8 < *pbVar9" (pointer_expression "*pbVar8" * identifier) < (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "bVar12 = *pbVar8 == *pbVar9;" (assignment_expression "bVar12 = *pbVar8 == *pbVar9" identifier = (binary_expression "*pbVar8 == *pbVar9" (pointer_expression "*pbVar8" * identifier) == (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar8 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar8 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar9 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar12)" ( identifier )) ;) (expression_statement "bVar11 = false;" (assignment_expression "bVar11 = false" identifier = false) ;) (expression_statement "bVar10 = (!bVar10 && !bVar12) == bVar10;" (assignment_expression "bVar10 = (!bVar10 && !bVar12) == bVar10" identifier = (binary_expression "(!bVar10 && !bVar12) == bVar10" (parenthesized_expression "(!bVar10 && !bVar12)" ( (binary_expression "!bVar10 && !bVar12" (unary_expression "!bVar10" ! identifier) && (unary_expression "!bVar12" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar10) {\n        lVar5 = 5;\n        pbVar8 = __s1;\n        pbVar9 = &DAT_0012307b;\n        do {\n          if (lVar5 == 0) break;\n          lVar5 = lVar5 + -1;\n          bVar11 = *pbVar8 < *pbVar9;\n          bVar10 = *pbVar8 == *pbVar9;\n          pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar12 = false;\n        bVar10 = (!bVar11 && !bVar10) == bVar11;\n        if (bVar10) {\n          lVar5 = FUN_0010f4d0(param_1,1);\n          goto LAB_00111512;\n        }\n        lVar5 = 5;\n        pbVar8 = __s1;\n        pbVar9 = (byte *)0x122f78;\n        do {\n          if (lVar5 == 0) break;\n          lVar5 = lVar5 + -1;\n          bVar12 = *pbVar8 < *pbVar9;\n          bVar10 = *pbVar8 == *pbVar9;\n          pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar11 = false;\n        bVar10 = (!bVar12 && !bVar10) == bVar12;\n        if (!bVar10) {\n          lVar5 = 7;\n          pbVar8 = __s1;\n          pbVar9 = (byte *)0x122fb3;\n          do {\n            if (lVar5 == 0) break;\n            lVar5 = lVar5 + -1;\n            bVar11 = *pbVar8 < *pbVar9;\n            bVar10 = *pbVar8 == *pbVar9;\n            pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n          } while (bVar10);\n          bVar12 = false;\n          bVar10 = (!bVar11 && !bVar10) == bVar11;\n          if (!bVar10) {\n            lVar5 = 0xc;\n            pbVar8 = __s1;\n            pbVar9 = (byte *)"long double";\n            do {\n              if (lVar5 == 0) break;\n              lVar5 = lVar5 + -1;\n              bVar12 = *pbVar8 < *pbVar9;\n              bVar10 = *pbVar8 == *pbVar9;\n              pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n            } while (bVar10);\n            bVar11 = false;\n            bVar10 = (!bVar12 && !bVar10) == bVar12;\n            if (!bVar10) {\n              lVar5 = 6;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"float";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,4);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xb;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"__float128";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,0x10);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xe;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"unsigned char";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4a0(param_1,1,1);\n                goto LAB_00111512;\n              }\n              lVar5 = 4;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)0x1230d2;\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\nLAB_00111631:\n                lVar5 = FUN_0010f4a0(param_1,4,0);\n              }\n              else {\n                lVar5 = 0xd;\n                pbVar8 = __s1;\n                pbVar9 = (byte *)0x1230c9;\n                do {\n                  if (lVar5 == 0) break;\n                  lVar5 = lVar5 + -1;\n                  bVar11 = *pbVar8 < *pbVar9;\n                  bVar10 = *pbVar8 == *pbVar9;\n                  pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar10);\n                bVar12 = false;\n                bVar10 = (!bVar11 && !bVar10) == bVar11;\n                if (!bVar10) {\n                  lVar5 = 5;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)0x122f9e;\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar12 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar11 = false;\n                  bVar10 = (!bVar12 && !bVar10) == bVar12;\n                  if (bVar10) goto LAB_00111631;\n                  lVar5 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)"unsigned long";\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar11 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  if ((!bVar11 && !bVar10) != bVar11) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f490(param_1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }\n                lVar5 = FUN_0010f4a0(param_1,4,1);\n              }\n              goto LAB_00111512;\n            }\n          }\n          lVar5 = FUN_0010f4c0(param_1,8);\n          goto LAB_00111512;\n        }\n      }" if (parenthesized_expression "(!bVar10)" ( (unary_expression "!bVar10" ! identifier) )) (compound_statement "{\n        lVar5 = 5;\n        pbVar8 = __s1;\n        pbVar9 = &DAT_0012307b;\n        do {\n          if (lVar5 == 0) break;\n          lVar5 = lVar5 + -1;\n          bVar11 = *pbVar8 < *pbVar9;\n          bVar10 = *pbVar8 == *pbVar9;\n          pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar12 = false;\n        bVar10 = (!bVar11 && !bVar10) == bVar11;\n        if (bVar10) {\n          lVar5 = FUN_0010f4d0(param_1,1);\n          goto LAB_00111512;\n        }\n        lVar5 = 5;\n        pbVar8 = __s1;\n        pbVar9 = (byte *)0x122f78;\n        do {\n          if (lVar5 == 0) break;\n          lVar5 = lVar5 + -1;\n          bVar12 = *pbVar8 < *pbVar9;\n          bVar10 = *pbVar8 == *pbVar9;\n          pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar11 = false;\n        bVar10 = (!bVar12 && !bVar10) == bVar12;\n        if (!bVar10) {\n          lVar5 = 7;\n          pbVar8 = __s1;\n          pbVar9 = (byte *)0x122fb3;\n          do {\n            if (lVar5 == 0) break;\n            lVar5 = lVar5 + -1;\n            bVar11 = *pbVar8 < *pbVar9;\n            bVar10 = *pbVar8 == *pbVar9;\n            pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n          } while (bVar10);\n          bVar12 = false;\n          bVar10 = (!bVar11 && !bVar10) == bVar11;\n          if (!bVar10) {\n            lVar5 = 0xc;\n            pbVar8 = __s1;\n            pbVar9 = (byte *)"long double";\n            do {\n              if (lVar5 == 0) break;\n              lVar5 = lVar5 + -1;\n              bVar12 = *pbVar8 < *pbVar9;\n              bVar10 = *pbVar8 == *pbVar9;\n              pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n            } while (bVar10);\n            bVar11 = false;\n            bVar10 = (!bVar12 && !bVar10) == bVar12;\n            if (!bVar10) {\n              lVar5 = 6;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"float";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,4);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xb;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"__float128";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,0x10);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xe;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"unsigned char";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4a0(param_1,1,1);\n                goto LAB_00111512;\n              }\n              lVar5 = 4;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)0x1230d2;\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\nLAB_00111631:\n                lVar5 = FUN_0010f4a0(param_1,4,0);\n              }\n              else {\n                lVar5 = 0xd;\n                pbVar8 = __s1;\n                pbVar9 = (byte *)0x1230c9;\n                do {\n                  if (lVar5 == 0) break;\n                  lVar5 = lVar5 + -1;\n                  bVar11 = *pbVar8 < *pbVar9;\n                  bVar10 = *pbVar8 == *pbVar9;\n                  pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar10);\n                bVar12 = false;\n                bVar10 = (!bVar11 && !bVar10) == bVar11;\n                if (!bVar10) {\n                  lVar5 = 5;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)0x122f9e;\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar12 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar11 = false;\n                  bVar10 = (!bVar12 && !bVar10) == bVar12;\n                  if (bVar10) goto LAB_00111631;\n                  lVar5 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)"unsigned long";\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar11 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  if ((!bVar11 && !bVar10) != bVar11) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f490(param_1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }\n                lVar5 = FUN_0010f4a0(param_1,4,1);\n              }\n              goto LAB_00111512;\n            }\n          }\n          lVar5 = FUN_0010f4c0(param_1,8);\n          goto LAB_00111512;\n        }\n      }" { (expression_statement "lVar5 = 5;" (assignment_expression "lVar5 = 5" identifier = number_literal) ;) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __s1" identifier = identifier) ;) (expression_statement "pbVar9 = &DAT_0012307b;" (assignment_expression "pbVar9 = &DAT_0012307b" identifier = (pointer_expression "&DAT_0012307b" & identifier)) ;) (do_statement "do {\n          if (lVar5 == 0) break;\n          lVar5 = lVar5 + -1;\n          bVar11 = *pbVar8 < *pbVar9;\n          bVar10 = *pbVar8 == *pbVar9;\n          pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n        } while (bVar10);" do (compound_statement "{\n          if (lVar5 == 0) break;\n          lVar5 = lVar5 + -1;\n          bVar11 = *pbVar8 < *pbVar9;\n          bVar10 = *pbVar8 == *pbVar9;\n          pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n        }" { (if_statement "if (lVar5 == 0) break;" if (parenthesized_expression "(lVar5 == 0)" ( (binary_expression "lVar5 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar5 = lVar5 + -1;" (assignment_expression "lVar5 = lVar5 + -1" identifier = (binary_expression "lVar5 + -1" identifier + number_literal)) ;) (expression_statement "bVar11 = *pbVar8 < *pbVar9;" (assignment_expression "bVar11 = *pbVar8 < *pbVar9" identifier = (binary_expression "*pbVar8 < *pbVar9" (pointer_expression "*pbVar8" * identifier) < (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "bVar10 = *pbVar8 == *pbVar9;" (assignment_expression "bVar10 = *pbVar8 == *pbVar9" identifier = (binary_expression "*pbVar8 == *pbVar9" (pointer_expression "*pbVar8" * identifier) == (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar8 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar8 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar9 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar10)" ( identifier )) ;) (expression_statement "bVar12 = false;" (assignment_expression "bVar12 = false" identifier = false) ;) (expression_statement "bVar10 = (!bVar11 && !bVar10) == bVar11;" (assignment_expression "bVar10 = (!bVar11 && !bVar10) == bVar11" identifier = (binary_expression "(!bVar11 && !bVar10) == bVar11" (parenthesized_expression "(!bVar11 && !bVar10)" ( (binary_expression "!bVar11 && !bVar10" (unary_expression "!bVar11" ! identifier) && (unary_expression "!bVar10" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar10) {\n          lVar5 = FUN_0010f4d0(param_1,1);\n          goto LAB_00111512;\n        }" if (parenthesized_expression "(bVar10)" ( identifier )) (compound_statement "{\n          lVar5 = FUN_0010f4d0(param_1,1);\n          goto LAB_00111512;\n        }" { (expression_statement "lVar5 = FUN_0010f4d0(param_1,1);" (assignment_expression "lVar5 = FUN_0010f4d0(param_1,1)" identifier = (call_expression "FUN_0010f4d0(param_1,1)" identifier (argument_list "(param_1,1)" ( identifier , number_literal )))) ;) (goto_statement "goto LAB_00111512;" goto statement_identifier ;) })) (expression_statement "lVar5 = 5;" (assignment_expression "lVar5 = 5" identifier = number_literal) ;) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __s1" identifier = identifier) ;) (expression_statement "pbVar9 = (byte *)0x122f78;" (assignment_expression "pbVar9 = (byte *)0x122f78" identifier = (cast_expression "(byte *)0x122f78" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n          if (lVar5 == 0) break;\n          lVar5 = lVar5 + -1;\n          bVar12 = *pbVar8 < *pbVar9;\n          bVar10 = *pbVar8 == *pbVar9;\n          pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n        } while (bVar10);" do (compound_statement "{\n          if (lVar5 == 0) break;\n          lVar5 = lVar5 + -1;\n          bVar12 = *pbVar8 < *pbVar9;\n          bVar10 = *pbVar8 == *pbVar9;\n          pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n        }" { (if_statement "if (lVar5 == 0) break;" if (parenthesized_expression "(lVar5 == 0)" ( (binary_expression "lVar5 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar5 = lVar5 + -1;" (assignment_expression "lVar5 = lVar5 + -1" identifier = (binary_expression "lVar5 + -1" identifier + number_literal)) ;) (expression_statement "bVar12 = *pbVar8 < *pbVar9;" (assignment_expression "bVar12 = *pbVar8 < *pbVar9" identifier = (binary_expression "*pbVar8 < *pbVar9" (pointer_expression "*pbVar8" * identifier) < (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "bVar10 = *pbVar8 == *pbVar9;" (assignment_expression "bVar10 = *pbVar8 == *pbVar9" identifier = (binary_expression "*pbVar8 == *pbVar9" (pointer_expression "*pbVar8" * identifier) == (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar8 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar8 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar9 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar10)" ( identifier )) ;) (expression_statement "bVar11 = false;" (assignment_expression "bVar11 = false" identifier = false) ;) (expression_statement "bVar10 = (!bVar12 && !bVar10) == bVar12;" (assignment_expression "bVar10 = (!bVar12 && !bVar10) == bVar12" identifier = (binary_expression "(!bVar12 && !bVar10) == bVar12" (parenthesized_expression "(!bVar12 && !bVar10)" ( (binary_expression "!bVar12 && !bVar10" (unary_expression "!bVar12" ! identifier) && (unary_expression "!bVar10" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar10) {\n          lVar5 = 7;\n          pbVar8 = __s1;\n          pbVar9 = (byte *)0x122fb3;\n          do {\n            if (lVar5 == 0) break;\n            lVar5 = lVar5 + -1;\n            bVar11 = *pbVar8 < *pbVar9;\n            bVar10 = *pbVar8 == *pbVar9;\n            pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n          } while (bVar10);\n          bVar12 = false;\n          bVar10 = (!bVar11 && !bVar10) == bVar11;\n          if (!bVar10) {\n            lVar5 = 0xc;\n            pbVar8 = __s1;\n            pbVar9 = (byte *)"long double";\n            do {\n              if (lVar5 == 0) break;\n              lVar5 = lVar5 + -1;\n              bVar12 = *pbVar8 < *pbVar9;\n              bVar10 = *pbVar8 == *pbVar9;\n              pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n            } while (bVar10);\n            bVar11 = false;\n            bVar10 = (!bVar12 && !bVar10) == bVar12;\n            if (!bVar10) {\n              lVar5 = 6;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"float";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,4);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xb;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"__float128";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,0x10);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xe;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"unsigned char";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4a0(param_1,1,1);\n                goto LAB_00111512;\n              }\n              lVar5 = 4;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)0x1230d2;\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\nLAB_00111631:\n                lVar5 = FUN_0010f4a0(param_1,4,0);\n              }\n              else {\n                lVar5 = 0xd;\n                pbVar8 = __s1;\n                pbVar9 = (byte *)0x1230c9;\n                do {\n                  if (lVar5 == 0) break;\n                  lVar5 = lVar5 + -1;\n                  bVar11 = *pbVar8 < *pbVar9;\n                  bVar10 = *pbVar8 == *pbVar9;\n                  pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar10);\n                bVar12 = false;\n                bVar10 = (!bVar11 && !bVar10) == bVar11;\n                if (!bVar10) {\n                  lVar5 = 5;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)0x122f9e;\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar12 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar11 = false;\n                  bVar10 = (!bVar12 && !bVar10) == bVar12;\n                  if (bVar10) goto LAB_00111631;\n                  lVar5 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)"unsigned long";\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar11 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  if ((!bVar11 && !bVar10) != bVar11) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f490(param_1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }\n                lVar5 = FUN_0010f4a0(param_1,4,1);\n              }\n              goto LAB_00111512;\n            }\n          }\n          lVar5 = FUN_0010f4c0(param_1,8);\n          goto LAB_00111512;\n        }" if (parenthesized_expression "(!bVar10)" ( (unary_expression "!bVar10" ! identifier) )) (compound_statement "{\n          lVar5 = 7;\n          pbVar8 = __s1;\n          pbVar9 = (byte *)0x122fb3;\n          do {\n            if (lVar5 == 0) break;\n            lVar5 = lVar5 + -1;\n            bVar11 = *pbVar8 < *pbVar9;\n            bVar10 = *pbVar8 == *pbVar9;\n            pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n          } while (bVar10);\n          bVar12 = false;\n          bVar10 = (!bVar11 && !bVar10) == bVar11;\n          if (!bVar10) {\n            lVar5 = 0xc;\n            pbVar8 = __s1;\n            pbVar9 = (byte *)"long double";\n            do {\n              if (lVar5 == 0) break;\n              lVar5 = lVar5 + -1;\n              bVar12 = *pbVar8 < *pbVar9;\n              bVar10 = *pbVar8 == *pbVar9;\n              pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n            } while (bVar10);\n            bVar11 = false;\n            bVar10 = (!bVar12 && !bVar10) == bVar12;\n            if (!bVar10) {\n              lVar5 = 6;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"float";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,4);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xb;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"__float128";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,0x10);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xe;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"unsigned char";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4a0(param_1,1,1);\n                goto LAB_00111512;\n              }\n              lVar5 = 4;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)0x1230d2;\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\nLAB_00111631:\n                lVar5 = FUN_0010f4a0(param_1,4,0);\n              }\n              else {\n                lVar5 = 0xd;\n                pbVar8 = __s1;\n                pbVar9 = (byte *)0x1230c9;\n                do {\n                  if (lVar5 == 0) break;\n                  lVar5 = lVar5 + -1;\n                  bVar11 = *pbVar8 < *pbVar9;\n                  bVar10 = *pbVar8 == *pbVar9;\n                  pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar10);\n                bVar12 = false;\n                bVar10 = (!bVar11 && !bVar10) == bVar11;\n                if (!bVar10) {\n                  lVar5 = 5;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)0x122f9e;\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar12 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar11 = false;\n                  bVar10 = (!bVar12 && !bVar10) == bVar12;\n                  if (bVar10) goto LAB_00111631;\n                  lVar5 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)"unsigned long";\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar11 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  if ((!bVar11 && !bVar10) != bVar11) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f490(param_1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }\n                lVar5 = FUN_0010f4a0(param_1,4,1);\n              }\n              goto LAB_00111512;\n            }\n          }\n          lVar5 = FUN_0010f4c0(param_1,8);\n          goto LAB_00111512;\n        }" { (expression_statement "lVar5 = 7;" (assignment_expression "lVar5 = 7" identifier = number_literal) ;) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __s1" identifier = identifier) ;) (expression_statement "pbVar9 = (byte *)0x122fb3;" (assignment_expression "pbVar9 = (byte *)0x122fb3" identifier = (cast_expression "(byte *)0x122fb3" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n            if (lVar5 == 0) break;\n            lVar5 = lVar5 + -1;\n            bVar11 = *pbVar8 < *pbVar9;\n            bVar10 = *pbVar8 == *pbVar9;\n            pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n          } while (bVar10);" do (compound_statement "{\n            if (lVar5 == 0) break;\n            lVar5 = lVar5 + -1;\n            bVar11 = *pbVar8 < *pbVar9;\n            bVar10 = *pbVar8 == *pbVar9;\n            pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n          }" { (if_statement "if (lVar5 == 0) break;" if (parenthesized_expression "(lVar5 == 0)" ( (binary_expression "lVar5 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar5 = lVar5 + -1;" (assignment_expression "lVar5 = lVar5 + -1" identifier = (binary_expression "lVar5 + -1" identifier + number_literal)) ;) (expression_statement "bVar11 = *pbVar8 < *pbVar9;" (assignment_expression "bVar11 = *pbVar8 < *pbVar9" identifier = (binary_expression "*pbVar8 < *pbVar9" (pointer_expression "*pbVar8" * identifier) < (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "bVar10 = *pbVar8 == *pbVar9;" (assignment_expression "bVar10 = *pbVar8 == *pbVar9" identifier = (binary_expression "*pbVar8 == *pbVar9" (pointer_expression "*pbVar8" * identifier) == (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar8 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar8 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar9 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar10)" ( identifier )) ;) (expression_statement "bVar12 = false;" (assignment_expression "bVar12 = false" identifier = false) ;) (expression_statement "bVar10 = (!bVar11 && !bVar10) == bVar11;" (assignment_expression "bVar10 = (!bVar11 && !bVar10) == bVar11" identifier = (binary_expression "(!bVar11 && !bVar10) == bVar11" (parenthesized_expression "(!bVar11 && !bVar10)" ( (binary_expression "!bVar11 && !bVar10" (unary_expression "!bVar11" ! identifier) && (unary_expression "!bVar10" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar10) {\n            lVar5 = 0xc;\n            pbVar8 = __s1;\n            pbVar9 = (byte *)"long double";\n            do {\n              if (lVar5 == 0) break;\n              lVar5 = lVar5 + -1;\n              bVar12 = *pbVar8 < *pbVar9;\n              bVar10 = *pbVar8 == *pbVar9;\n              pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n            } while (bVar10);\n            bVar11 = false;\n            bVar10 = (!bVar12 && !bVar10) == bVar12;\n            if (!bVar10) {\n              lVar5 = 6;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"float";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,4);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xb;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"__float128";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,0x10);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xe;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"unsigned char";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4a0(param_1,1,1);\n                goto LAB_00111512;\n              }\n              lVar5 = 4;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)0x1230d2;\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\nLAB_00111631:\n                lVar5 = FUN_0010f4a0(param_1,4,0);\n              }\n              else {\n                lVar5 = 0xd;\n                pbVar8 = __s1;\n                pbVar9 = (byte *)0x1230c9;\n                do {\n                  if (lVar5 == 0) break;\n                  lVar5 = lVar5 + -1;\n                  bVar11 = *pbVar8 < *pbVar9;\n                  bVar10 = *pbVar8 == *pbVar9;\n                  pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar10);\n                bVar12 = false;\n                bVar10 = (!bVar11 && !bVar10) == bVar11;\n                if (!bVar10) {\n                  lVar5 = 5;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)0x122f9e;\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar12 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar11 = false;\n                  bVar10 = (!bVar12 && !bVar10) == bVar12;\n                  if (bVar10) goto LAB_00111631;\n                  lVar5 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)"unsigned long";\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar11 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  if ((!bVar11 && !bVar10) != bVar11) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f490(param_1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }\n                lVar5 = FUN_0010f4a0(param_1,4,1);\n              }\n              goto LAB_00111512;\n            }\n          }" if (parenthesized_expression "(!bVar10)" ( (unary_expression "!bVar10" ! identifier) )) (compound_statement "{\n            lVar5 = 0xc;\n            pbVar8 = __s1;\n            pbVar9 = (byte *)"long double";\n            do {\n              if (lVar5 == 0) break;\n              lVar5 = lVar5 + -1;\n              bVar12 = *pbVar8 < *pbVar9;\n              bVar10 = *pbVar8 == *pbVar9;\n              pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n            } while (bVar10);\n            bVar11 = false;\n            bVar10 = (!bVar12 && !bVar10) == bVar12;\n            if (!bVar10) {\n              lVar5 = 6;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"float";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,4);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xb;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"__float128";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,0x10);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xe;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"unsigned char";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4a0(param_1,1,1);\n                goto LAB_00111512;\n              }\n              lVar5 = 4;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)0x1230d2;\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\nLAB_00111631:\n                lVar5 = FUN_0010f4a0(param_1,4,0);\n              }\n              else {\n                lVar5 = 0xd;\n                pbVar8 = __s1;\n                pbVar9 = (byte *)0x1230c9;\n                do {\n                  if (lVar5 == 0) break;\n                  lVar5 = lVar5 + -1;\n                  bVar11 = *pbVar8 < *pbVar9;\n                  bVar10 = *pbVar8 == *pbVar9;\n                  pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar10);\n                bVar12 = false;\n                bVar10 = (!bVar11 && !bVar10) == bVar11;\n                if (!bVar10) {\n                  lVar5 = 5;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)0x122f9e;\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar12 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar11 = false;\n                  bVar10 = (!bVar12 && !bVar10) == bVar12;\n                  if (bVar10) goto LAB_00111631;\n                  lVar5 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)"unsigned long";\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar11 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  if ((!bVar11 && !bVar10) != bVar11) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f490(param_1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }\n                lVar5 = FUN_0010f4a0(param_1,4,1);\n              }\n              goto LAB_00111512;\n            }\n          }" { (expression_statement "lVar5 = 0xc;" (assignment_expression "lVar5 = 0xc" identifier = number_literal) ;) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __s1" identifier = identifier) ;) (expression_statement "pbVar9 = (byte *)"long double";" (assignment_expression "pbVar9 = (byte *)"long double"" identifier = (cast_expression "(byte *)"long double"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""long double"" " string_content "))) ;) (do_statement "do {\n              if (lVar5 == 0) break;\n              lVar5 = lVar5 + -1;\n              bVar12 = *pbVar8 < *pbVar9;\n              bVar10 = *pbVar8 == *pbVar9;\n              pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n            } while (bVar10);" do (compound_statement "{\n              if (lVar5 == 0) break;\n              lVar5 = lVar5 + -1;\n              bVar12 = *pbVar8 < *pbVar9;\n              bVar10 = *pbVar8 == *pbVar9;\n              pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n            }" { (if_statement "if (lVar5 == 0) break;" if (parenthesized_expression "(lVar5 == 0)" ( (binary_expression "lVar5 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar5 = lVar5 + -1;" (assignment_expression "lVar5 = lVar5 + -1" identifier = (binary_expression "lVar5 + -1" identifier + number_literal)) ;) (expression_statement "bVar12 = *pbVar8 < *pbVar9;" (assignment_expression "bVar12 = *pbVar8 < *pbVar9" identifier = (binary_expression "*pbVar8 < *pbVar9" (pointer_expression "*pbVar8" * identifier) < (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "bVar10 = *pbVar8 == *pbVar9;" (assignment_expression "bVar10 = *pbVar8 == *pbVar9" identifier = (binary_expression "*pbVar8 == *pbVar9" (pointer_expression "*pbVar8" * identifier) == (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar8 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar8 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar9 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar10)" ( identifier )) ;) (expression_statement "bVar11 = false;" (assignment_expression "bVar11 = false" identifier = false) ;) (expression_statement "bVar10 = (!bVar12 && !bVar10) == bVar12;" (assignment_expression "bVar10 = (!bVar12 && !bVar10) == bVar12" identifier = (binary_expression "(!bVar12 && !bVar10) == bVar12" (parenthesized_expression "(!bVar12 && !bVar10)" ( (binary_expression "!bVar12 && !bVar10" (unary_expression "!bVar12" ! identifier) && (unary_expression "!bVar10" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar10) {\n              lVar5 = 6;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"float";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,4);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xb;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"__float128";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,0x10);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xe;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"unsigned char";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4a0(param_1,1,1);\n                goto LAB_00111512;\n              }\n              lVar5 = 4;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)0x1230d2;\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\nLAB_00111631:\n                lVar5 = FUN_0010f4a0(param_1,4,0);\n              }\n              else {\n                lVar5 = 0xd;\n                pbVar8 = __s1;\n                pbVar9 = (byte *)0x1230c9;\n                do {\n                  if (lVar5 == 0) break;\n                  lVar5 = lVar5 + -1;\n                  bVar11 = *pbVar8 < *pbVar9;\n                  bVar10 = *pbVar8 == *pbVar9;\n                  pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar10);\n                bVar12 = false;\n                bVar10 = (!bVar11 && !bVar10) == bVar11;\n                if (!bVar10) {\n                  lVar5 = 5;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)0x122f9e;\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar12 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar11 = false;\n                  bVar10 = (!bVar12 && !bVar10) == bVar12;\n                  if (bVar10) goto LAB_00111631;\n                  lVar5 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)"unsigned long";\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar11 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  if ((!bVar11 && !bVar10) != bVar11) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f490(param_1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }\n                lVar5 = FUN_0010f4a0(param_1,4,1);\n              }\n              goto LAB_00111512;\n            }" if (parenthesized_expression "(!bVar10)" ( (unary_expression "!bVar10" ! identifier) )) (compound_statement "{\n              lVar5 = 6;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"float";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,4);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xb;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"__float128";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,0x10);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xe;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"unsigned char";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4a0(param_1,1,1);\n                goto LAB_00111512;\n              }\n              lVar5 = 4;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)0x1230d2;\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\nLAB_00111631:\n                lVar5 = FUN_0010f4a0(param_1,4,0);\n              }\n              else {\n                lVar5 = 0xd;\n                pbVar8 = __s1;\n                pbVar9 = (byte *)0x1230c9;\n                do {\n                  if (lVar5 == 0) break;\n                  lVar5 = lVar5 + -1;\n                  bVar11 = *pbVar8 < *pbVar9;\n                  bVar10 = *pbVar8 == *pbVar9;\n                  pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar10);\n                bVar12 = false;\n                bVar10 = (!bVar11 && !bVar10) == bVar11;\n                if (!bVar10) {\n                  lVar5 = 5;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)0x122f9e;\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar12 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar11 = false;\n                  bVar10 = (!bVar12 && !bVar10) == bVar12;\n                  if (bVar10) goto LAB_00111631;\n                  lVar5 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)"unsigned long";\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar11 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  if ((!bVar11 && !bVar10) != bVar11) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f490(param_1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }\n                lVar5 = FUN_0010f4a0(param_1,4,1);\n              }\n              goto LAB_00111512;\n            }" { (expression_statement "lVar5 = 6;" (assignment_expression "lVar5 = 6" identifier = number_literal) ;) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __s1" identifier = identifier) ;) (expression_statement "pbVar9 = (byte *)"float";" (assignment_expression "pbVar9 = (byte *)"float"" identifier = (cast_expression "(byte *)"float"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""float"" " string_content "))) ;) (do_statement "do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);" do (compound_statement "{\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              }" { (if_statement "if (lVar5 == 0) break;" if (parenthesized_expression "(lVar5 == 0)" ( (binary_expression "lVar5 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar5 = lVar5 + -1;" (assignment_expression "lVar5 = lVar5 + -1" identifier = (binary_expression "lVar5 + -1" identifier + number_literal)) ;) (expression_statement "bVar11 = *pbVar8 < *pbVar9;" (assignment_expression "bVar11 = *pbVar8 < *pbVar9" identifier = (binary_expression "*pbVar8 < *pbVar9" (pointer_expression "*pbVar8" * identifier) < (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "bVar10 = *pbVar8 == *pbVar9;" (assignment_expression "bVar10 = *pbVar8 == *pbVar9" identifier = (binary_expression "*pbVar8 == *pbVar9" (pointer_expression "*pbVar8" * identifier) == (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar8 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar8 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar9 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar10)" ( identifier )) ;) (expression_statement "bVar12 = false;" (assignment_expression "bVar12 = false" identifier = false) ;) (expression_statement "bVar10 = (!bVar11 && !bVar10) == bVar11;" (assignment_expression "bVar10 = (!bVar11 && !bVar10) == bVar11" identifier = (binary_expression "(!bVar11 && !bVar10) == bVar11" (parenthesized_expression "(!bVar11 && !bVar10)" ( (binary_expression "!bVar11 && !bVar10" (unary_expression "!bVar11" ! identifier) && (unary_expression "!bVar10" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,4);\n                goto LAB_00111512;\n              }" if (parenthesized_expression "(bVar10)" ( identifier )) (compound_statement "{\n                lVar5 = FUN_0010f4c0(param_1,4);\n                goto LAB_00111512;\n              }" { (expression_statement "lVar5 = FUN_0010f4c0(param_1,4);" (assignment_expression "lVar5 = FUN_0010f4c0(param_1,4)" identifier = (call_expression "FUN_0010f4c0(param_1,4)" identifier (argument_list "(param_1,4)" ( identifier , number_literal )))) ;) (goto_statement "goto LAB_00111512;" goto statement_identifier ;) })) (expression_statement "lVar5 = 0xb;" (assignment_expression "lVar5 = 0xb" identifier = number_literal) ;) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __s1" identifier = identifier) ;) (expression_statement "pbVar9 = (byte *)"__float128";" (assignment_expression "pbVar9 = (byte *)"__float128"" identifier = (cast_expression "(byte *)"__float128"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""__float128"" " string_content "))) ;) (do_statement "do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);" do (compound_statement "{\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              }" { (if_statement "if (lVar5 == 0) break;" if (parenthesized_expression "(lVar5 == 0)" ( (binary_expression "lVar5 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar5 = lVar5 + -1;" (assignment_expression "lVar5 = lVar5 + -1" identifier = (binary_expression "lVar5 + -1" identifier + number_literal)) ;) (expression_statement "bVar12 = *pbVar8 < *pbVar9;" (assignment_expression "bVar12 = *pbVar8 < *pbVar9" identifier = (binary_expression "*pbVar8 < *pbVar9" (pointer_expression "*pbVar8" * identifier) < (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "bVar10 = *pbVar8 == *pbVar9;" (assignment_expression "bVar10 = *pbVar8 == *pbVar9" identifier = (binary_expression "*pbVar8 == *pbVar9" (pointer_expression "*pbVar8" * identifier) == (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar8 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar8 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar9 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar10)" ( identifier )) ;) (expression_statement "bVar11 = false;" (assignment_expression "bVar11 = false" identifier = false) ;) (expression_statement "bVar10 = (!bVar12 && !bVar10) == bVar12;" (assignment_expression "bVar10 = (!bVar12 && !bVar10) == bVar12" identifier = (binary_expression "(!bVar12 && !bVar10) == bVar12" (parenthesized_expression "(!bVar12 && !bVar10)" ( (binary_expression "!bVar12 && !bVar10" (unary_expression "!bVar12" ! identifier) && (unary_expression "!bVar10" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,0x10);\n                goto LAB_00111512;\n              }" if (parenthesized_expression "(bVar10)" ( identifier )) (compound_statement "{\n                lVar5 = FUN_0010f4c0(param_1,0x10);\n                goto LAB_00111512;\n              }" { (expression_statement "lVar5 = FUN_0010f4c0(param_1,0x10);" (assignment_expression "lVar5 = FUN_0010f4c0(param_1,0x10)" identifier = (call_expression "FUN_0010f4c0(param_1,0x10)" identifier (argument_list "(param_1,0x10)" ( identifier , number_literal )))) ;) (goto_statement "goto LAB_00111512;" goto statement_identifier ;) })) (expression_statement "lVar5 = 0xe;" (assignment_expression "lVar5 = 0xe" identifier = number_literal) ;) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __s1" identifier = identifier) ;) (expression_statement "pbVar9 = (byte *)"unsigned char";" (assignment_expression "pbVar9 = (byte *)"unsigned char"" identifier = (cast_expression "(byte *)"unsigned char"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""unsigned char"" " string_content "))) ;) (do_statement "do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);" do (compound_statement "{\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              }" { (if_statement "if (lVar5 == 0) break;" if (parenthesized_expression "(lVar5 == 0)" ( (binary_expression "lVar5 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar5 = lVar5 + -1;" (assignment_expression "lVar5 = lVar5 + -1" identifier = (binary_expression "lVar5 + -1" identifier + number_literal)) ;) (expression_statement "bVar11 = *pbVar8 < *pbVar9;" (assignment_expression "bVar11 = *pbVar8 < *pbVar9" identifier = (binary_expression "*pbVar8 < *pbVar9" (pointer_expression "*pbVar8" * identifier) < (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "bVar10 = *pbVar8 == *pbVar9;" (assignment_expression "bVar10 = *pbVar8 == *pbVar9" identifier = (binary_expression "*pbVar8 == *pbVar9" (pointer_expression "*pbVar8" * identifier) == (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar8 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar8 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar9 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar10)" ( identifier )) ;) (expression_statement "bVar12 = false;" (assignment_expression "bVar12 = false" identifier = false) ;) (expression_statement "bVar10 = (!bVar11 && !bVar10) == bVar11;" (assignment_expression "bVar10 = (!bVar11 && !bVar10) == bVar11" identifier = (binary_expression "(!bVar11 && !bVar10) == bVar11" (parenthesized_expression "(!bVar11 && !bVar10)" ( (binary_expression "!bVar11 && !bVar10" (unary_expression "!bVar11" ! identifier) && (unary_expression "!bVar10" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar10) {\n                lVar5 = FUN_0010f4a0(param_1,1,1);\n                goto LAB_00111512;\n              }" if (parenthesized_expression "(bVar10)" ( identifier )) (compound_statement "{\n                lVar5 = FUN_0010f4a0(param_1,1,1);\n                goto LAB_00111512;\n              }" { (expression_statement "lVar5 = FUN_0010f4a0(param_1,1,1);" (assignment_expression "lVar5 = FUN_0010f4a0(param_1,1,1)" identifier = (call_expression "FUN_0010f4a0(param_1,1,1)" identifier (argument_list "(param_1,1,1)" ( identifier , number_literal , number_literal )))) ;) (goto_statement "goto LAB_00111512;" goto statement_identifier ;) })) (expression_statement "lVar5 = 4;" (assignment_expression "lVar5 = 4" identifier = number_literal) ;) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __s1" identifier = identifier) ;) (expression_statement "pbVar9 = (byte *)0x1230d2;" (assignment_expression "pbVar9 = (byte *)0x1230d2" identifier = (cast_expression "(byte *)0x1230d2" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);" do (compound_statement "{\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              }" { (if_statement "if (lVar5 == 0) break;" if (parenthesized_expression "(lVar5 == 0)" ( (binary_expression "lVar5 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar5 = lVar5 + -1;" (assignment_expression "lVar5 = lVar5 + -1" identifier = (binary_expression "lVar5 + -1" identifier + number_literal)) ;) (expression_statement "bVar12 = *pbVar8 < *pbVar9;" (assignment_expression "bVar12 = *pbVar8 < *pbVar9" identifier = (binary_expression "*pbVar8 < *pbVar9" (pointer_expression "*pbVar8" * identifier) < (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "bVar10 = *pbVar8 == *pbVar9;" (assignment_expression "bVar10 = *pbVar8 == *pbVar9" identifier = (binary_expression "*pbVar8 == *pbVar9" (pointer_expression "*pbVar8" * identifier) == (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar8 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar8 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar9 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar10)" ( identifier )) ;) (expression_statement "bVar11 = false;" (assignment_expression "bVar11 = false" identifier = false) ;) (expression_statement "bVar10 = (!bVar12 && !bVar10) == bVar12;" (assignment_expression "bVar10 = (!bVar12 && !bVar10) == bVar12" identifier = (binary_expression "(!bVar12 && !bVar10) == bVar12" (parenthesized_expression "(!bVar12 && !bVar10)" ( (binary_expression "!bVar12 && !bVar10" (unary_expression "!bVar12" ! identifier) && (unary_expression "!bVar10" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar10) {\nLAB_00111631:\n                lVar5 = FUN_0010f4a0(param_1,4,0);\n              }\n              else {\n                lVar5 = 0xd;\n                pbVar8 = __s1;\n                pbVar9 = (byte *)0x1230c9;\n                do {\n                  if (lVar5 == 0) break;\n                  lVar5 = lVar5 + -1;\n                  bVar11 = *pbVar8 < *pbVar9;\n                  bVar10 = *pbVar8 == *pbVar9;\n                  pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar10);\n                bVar12 = false;\n                bVar10 = (!bVar11 && !bVar10) == bVar11;\n                if (!bVar10) {\n                  lVar5 = 5;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)0x122f9e;\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar12 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar11 = false;\n                  bVar10 = (!bVar12 && !bVar10) == bVar12;\n                  if (bVar10) goto LAB_00111631;\n                  lVar5 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)"unsigned long";\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar11 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  if ((!bVar11 && !bVar10) != bVar11) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f490(param_1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }\n                lVar5 = FUN_0010f4a0(param_1,4,1);\n              }" if (parenthesized_expression "(bVar10)" ( identifier )) (compound_statement "{\nLAB_00111631:\n                lVar5 = FUN_0010f4a0(param_1,4,0);\n              }" { (labeled_statement "LAB_00111631:\n                lVar5 = FUN_0010f4a0(param_1,4,0);" statement_identifier : (expression_statement "lVar5 = FUN_0010f4a0(param_1,4,0);" (assignment_expression "lVar5 = FUN_0010f4a0(param_1,4,0)" identifier = (call_expression "FUN_0010f4a0(param_1,4,0)" identifier (argument_list "(param_1,4,0)" ( identifier , number_literal , number_literal )))) ;)) }) (else_clause "else {\n                lVar5 = 0xd;\n                pbVar8 = __s1;\n                pbVar9 = (byte *)0x1230c9;\n                do {\n                  if (lVar5 == 0) break;\n                  lVar5 = lVar5 + -1;\n                  bVar11 = *pbVar8 < *pbVar9;\n                  bVar10 = *pbVar8 == *pbVar9;\n                  pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar10);\n                bVar12 = false;\n                bVar10 = (!bVar11 && !bVar10) == bVar11;\n                if (!bVar10) {\n                  lVar5 = 5;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)0x122f9e;\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar12 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar11 = false;\n                  bVar10 = (!bVar12 && !bVar10) == bVar12;\n                  if (bVar10) goto LAB_00111631;\n                  lVar5 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)"unsigned long";\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar11 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  if ((!bVar11 && !bVar10) != bVar11) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f490(param_1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }\n                lVar5 = FUN_0010f4a0(param_1,4,1);\n              }" else (compound_statement "{\n                lVar5 = 0xd;\n                pbVar8 = __s1;\n                pbVar9 = (byte *)0x1230c9;\n                do {\n                  if (lVar5 == 0) break;\n                  lVar5 = lVar5 + -1;\n                  bVar11 = *pbVar8 < *pbVar9;\n                  bVar10 = *pbVar8 == *pbVar9;\n                  pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar10);\n                bVar12 = false;\n                bVar10 = (!bVar11 && !bVar10) == bVar11;\n                if (!bVar10) {\n                  lVar5 = 5;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)0x122f9e;\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar12 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar11 = false;\n                  bVar10 = (!bVar12 && !bVar10) == bVar12;\n                  if (bVar10) goto LAB_00111631;\n                  lVar5 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)"unsigned long";\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar11 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  if ((!bVar11 && !bVar10) != bVar11) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f490(param_1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }\n                lVar5 = FUN_0010f4a0(param_1,4,1);\n              }" { (expression_statement "lVar5 = 0xd;" (assignment_expression "lVar5 = 0xd" identifier = number_literal) ;) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __s1" identifier = identifier) ;) (expression_statement "pbVar9 = (byte *)0x1230c9;" (assignment_expression "pbVar9 = (byte *)0x1230c9" identifier = (cast_expression "(byte *)0x1230c9" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n                  if (lVar5 == 0) break;\n                  lVar5 = lVar5 + -1;\n                  bVar11 = *pbVar8 < *pbVar9;\n                  bVar10 = *pbVar8 == *pbVar9;\n                  pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar10);" do (compound_statement "{\n                  if (lVar5 == 0) break;\n                  lVar5 = lVar5 + -1;\n                  bVar11 = *pbVar8 < *pbVar9;\n                  bVar10 = *pbVar8 == *pbVar9;\n                  pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                }" { (if_statement "if (lVar5 == 0) break;" if (parenthesized_expression "(lVar5 == 0)" ( (binary_expression "lVar5 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar5 = lVar5 + -1;" (assignment_expression "lVar5 = lVar5 + -1" identifier = (binary_expression "lVar5 + -1" identifier + number_literal)) ;) (expression_statement "bVar11 = *pbVar8 < *pbVar9;" (assignment_expression "bVar11 = *pbVar8 < *pbVar9" identifier = (binary_expression "*pbVar8 < *pbVar9" (pointer_expression "*pbVar8" * identifier) < (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "bVar10 = *pbVar8 == *pbVar9;" (assignment_expression "bVar10 = *pbVar8 == *pbVar9" identifier = (binary_expression "*pbVar8 == *pbVar9" (pointer_expression "*pbVar8" * identifier) == (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar8 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar8 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar9 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar10)" ( identifier )) ;) (expression_statement "bVar12 = false;" (assignment_expression "bVar12 = false" identifier = false) ;) (expression_statement "bVar10 = (!bVar11 && !bVar10) == bVar11;" (assignment_expression "bVar10 = (!bVar11 && !bVar10) == bVar11" identifier = (binary_expression "(!bVar11 && !bVar10) == bVar11" (parenthesized_expression "(!bVar11 && !bVar10)" ( (binary_expression "!bVar11 && !bVar10" (unary_expression "!bVar11" ! identifier) && (unary_expression "!bVar10" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar10) {\n                  lVar5 = 5;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)0x122f9e;\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar12 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar11 = false;\n                  bVar10 = (!bVar12 && !bVar10) == bVar12;\n                  if (bVar10) goto LAB_00111631;\n                  lVar5 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)"unsigned long";\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar11 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  if ((!bVar11 && !bVar10) != bVar11) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f490(param_1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }" if (parenthesized_expression "(!bVar10)" ( (unary_expression "!bVar10" ! identifier) )) (compound_statement "{\n                  lVar5 = 5;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)0x122f9e;\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar12 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar11 = false;\n                  bVar10 = (!bVar12 && !bVar10) == bVar12;\n                  if (bVar10) goto LAB_00111631;\n                  lVar5 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)"unsigned long";\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar11 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  if ((!bVar11 && !bVar10) != bVar11) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f490(param_1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }" { (expression_statement "lVar5 = 5;" (assignment_expression "lVar5 = 5" identifier = number_literal) ;) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __s1" identifier = identifier) ;) (expression_statement "pbVar9 = (byte *)0x122f9e;" (assignment_expression "pbVar9 = (byte *)0x122f9e" identifier = (cast_expression "(byte *)0x122f9e" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar12 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);" do (compound_statement "{\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar12 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  }" { (if_statement "if (lVar5 == 0) break;" if (parenthesized_expression "(lVar5 == 0)" ( (binary_expression "lVar5 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar5 = lVar5 + -1;" (assignment_expression "lVar5 = lVar5 + -1" identifier = (binary_expression "lVar5 + -1" identifier + number_literal)) ;) (expression_statement "bVar12 = *pbVar8 < *pbVar9;" (assignment_expression "bVar12 = *pbVar8 < *pbVar9" identifier = (binary_expression "*pbVar8 < *pbVar9" (pointer_expression "*pbVar8" * identifier) < (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "bVar10 = *pbVar8 == *pbVar9;" (assignment_expression "bVar10 = *pbVar8 == *pbVar9" identifier = (binary_expression "*pbVar8 == *pbVar9" (pointer_expression "*pbVar8" * identifier) == (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar8 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar8 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar9 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar10)" ( identifier )) ;) (expression_statement "bVar11 = false;" (assignment_expression "bVar11 = false" identifier = false) ;) (expression_statement "bVar10 = (!bVar12 && !bVar10) == bVar12;" (assignment_expression "bVar10 = (!bVar12 && !bVar10) == bVar12" identifier = (binary_expression "(!bVar12 && !bVar10) == bVar12" (parenthesized_expression "(!bVar12 && !bVar10)" ( (binary_expression "!bVar12 && !bVar10" (unary_expression "!bVar12" ! identifier) && (unary_expression "!bVar10" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar10) goto LAB_00111631;" if (parenthesized_expression "(bVar10)" ( identifier )) (goto_statement "goto LAB_00111631;" goto statement_identifier ;)) (expression_statement "lVar5 = 0xe;" (assignment_expression "lVar5 = 0xe" identifier = number_literal) ;) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __s1" identifier = identifier) ;) (expression_statement "pbVar9 = (byte *)"unsigned long";" (assignment_expression "pbVar9 = (byte *)"unsigned long"" identifier = (cast_expression "(byte *)"unsigned long"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""unsigned long"" " string_content "))) ;) (do_statement "do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar11 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);" do (compound_statement "{\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar11 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  }" { (if_statement "if (lVar5 == 0) break;" if (parenthesized_expression "(lVar5 == 0)" ( (binary_expression "lVar5 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar5 = lVar5 + -1;" (assignment_expression "lVar5 = lVar5 + -1" identifier = (binary_expression "lVar5 + -1" identifier + number_literal)) ;) (expression_statement "bVar11 = *pbVar8 < *pbVar9;" (assignment_expression "bVar11 = *pbVar8 < *pbVar9" identifier = (binary_expression "*pbVar8 < *pbVar9" (pointer_expression "*pbVar8" * identifier) < (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "bVar10 = *pbVar8 == *pbVar9;" (assignment_expression "bVar10 = *pbVar8 == *pbVar9" identifier = (binary_expression "*pbVar8 == *pbVar9" (pointer_expression "*pbVar8" * identifier) == (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar8 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar8 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pbVar9 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar10)" ( identifier )) ;) (if_statement "if ((!bVar11 && !bVar10) != bVar11) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f490(param_1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }" if (parenthesized_expression "((!bVar11 && !bVar10) != bVar11)" ( (binary_expression "(!bVar11 && !bVar10) != bVar11" (parenthesized_expression "(!bVar11 && !bVar10)" ( (binary_expression "!bVar11 && !bVar10" (unary_expression "!bVar11" ! identifier) && (unary_expression "!bVar10" ! identifier)) )) != identifier) )) (compound_statement "{\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f490(param_1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }" { (expression_statement "iVar2 = strcmp((char *)__s1,"__int128");" (assignment_expression "iVar2 = strcmp((char *)__s1,"__int128")" identifier = (call_expression "strcmp((char *)__s1,"__int128")" identifier (argument_list "((char *)__s1,"__int128")" ( (cast_expression "(char *)__s1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""__int128"" " string_content ") )))) ;) (if_statement "if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,0);\n                      goto LAB_00111512;\n                    }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n                      lVar5 = FUN_0010f4a0(param_1,0x10,0);\n                      goto LAB_00111512;\n                    }" { (expression_statement "lVar5 = FUN_0010f4a0(param_1,0x10,0);" (assignment_expression "lVar5 = FUN_0010f4a0(param_1,0x10,0)" identifier = (call_expression "FUN_0010f4a0(param_1,0x10,0)" identifier (argument_list "(param_1,0x10,0)" ( identifier , number_literal , number_literal )))) ;) (goto_statement "goto LAB_00111512;" goto statement_identifier ;) })) (expression_statement "iVar2 = strcmp((char *)__s1,"unsigned __int128");" (assignment_expression "iVar2 = strcmp((char *)__s1,"unsigned __int128")" identifier = (call_expression "strcmp((char *)__s1,"unsigned __int128")" identifier (argument_list "((char *)__s1,"unsigned __int128")" ( (cast_expression "(char *)__s1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""unsigned __int128"" " string_content ") )))) ;) (if_statement "if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,1);\n                      goto LAB_00111512;\n                    }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n                      lVar5 = FUN_0010f4a0(param_1,0x10,1);\n                      goto LAB_00111512;\n                    }" { (expression_statement "lVar5 = FUN_0010f4a0(param_1,0x10,1);" (assignment_expression "lVar5 = FUN_0010f4a0(param_1,0x10,1)" identifier = (call_expression "FUN_0010f4a0(param_1,0x10,1)" identifier (argument_list "(param_1,0x10,1)" ( identifier , number_literal , number_literal )))) ;) (goto_statement "goto LAB_00111512;" goto statement_identifier ;) })) (expression_statement "iVar2 = strcmp((char *)__s1,"short");" (assignment_expression "iVar2 = strcmp((char *)__s1,"short")" identifier = (call_expression "strcmp((char *)__s1,"short")" identifier (argument_list "((char *)__s1,"short")" ( (cast_expression "(char *)__s1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""short"" " string_content ") )))) ;) (if_statement "if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,0);\n                      goto LAB_00111512;\n                    }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n                      lVar5 = FUN_0010f4a0(param_1,2,0);\n                      goto LAB_00111512;\n                    }" { (expression_statement "lVar5 = FUN_0010f4a0(param_1,2,0);" (assignment_expression "lVar5 = FUN_0010f4a0(param_1,2,0)" identifier = (call_expression "FUN_0010f4a0(param_1,2,0)" identifier (argument_list "(param_1,2,0)" ( identifier , number_literal , number_literal )))) ;) (goto_statement "goto LAB_00111512;" goto statement_identifier ;) })) (expression_statement "iVar2 = strcmp((char *)__s1,"unsigned short");" (assignment_expression "iVar2 = strcmp((char *)__s1,"unsigned short")" identifier = (call_expression "strcmp((char *)__s1,"unsigned short")" identifier (argument_list "((char *)__s1,"unsigned short")" ( (cast_expression "(char *)__s1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""unsigned short"" " string_content ") )))) ;) (if_statement "if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,1);\n                      goto LAB_00111512;\n                    }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n                      lVar5 = FUN_0010f4a0(param_1,2,1);\n                      goto LAB_00111512;\n                    }" { (expression_statement "lVar5 = FUN_0010f4a0(param_1,2,1);" (assignment_expression "lVar5 = FUN_0010f4a0(param_1,2,1)" identifier = (call_expression "FUN_0010f4a0(param_1,2,1)" identifier (argument_list "(param_1,2,1)" ( identifier , number_literal , number_literal )))) ;) (goto_statement "goto LAB_00111512;" goto statement_identifier ;) })) (expression_statement "iVar2 = strcmp((char *)__s1,"void");" (assignment_expression "iVar2 = strcmp((char *)__s1,"void")" identifier = (call_expression "strcmp((char *)__s1,"void")" identifier (argument_list "((char *)__s1,"void")" ( (cast_expression "(char *)__s1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""void"" " string_content ") )))) ;) (if_statement "if (iVar2 == 0) {\n                      lVar5 = FUN_0010f490(param_1);\n                      goto LAB_00111512;\n                    }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n                      lVar5 = FUN_0010f490(param_1);\n                      goto LAB_00111512;\n                    }" { (expression_statement "lVar5 = FUN_0010f490(param_1);" (assignment_expression "lVar5 = FUN_0010f490(param_1)" identifier = (call_expression "FUN_0010f490(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (goto_statement "goto LAB_00111512;" goto statement_identifier ;) })) (expression_statement "iVar2 = strcmp((char *)__s1,"wchar_t");" (assignment_expression "iVar2 = strcmp((char *)__s1,"wchar_t")" identifier = (call_expression "strcmp((char *)__s1,"wchar_t")" identifier (argument_list "((char *)__s1,"wchar_t")" ( (cast_expression "(char *)__s1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""wchar_t"" " string_content ") )))) ;) (if_statement "if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }" { (expression_statement "iVar2 = strcmp((char *)__s1,"long long");" (assignment_expression "iVar2 = strcmp((char *)__s1,"long long")" identifier = (call_expression "strcmp((char *)__s1,"long long")" identifier (argument_list "((char *)__s1,"long long")" ( (cast_expression "(char *)__s1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""long long"" " string_content ") )))) ;) (if_statement "if (iVar2 == 0) {\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }" { (expression_statement "lVar5 = FUN_0010f4a0(param_1,8,0);" (assignment_expression "lVar5 = FUN_0010f4a0(param_1,8,0)" identifier = (call_expression "FUN_0010f4a0(param_1,8,0)" identifier (argument_list "(param_1,8,0)" ( identifier , number_literal , number_literal )))) ;) }) (else_clause "else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }" else (compound_statement "{\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }" { (expression_statement "iVar2 = strcmp((char *)__s1,"unsigned long long");" (assignment_expression "iVar2 = strcmp((char *)__s1,"unsigned long long")" identifier = (call_expression "strcmp((char *)__s1,"unsigned long long")" identifier (argument_list "((char *)__s1,"unsigned long long")" ( (cast_expression "(char *)__s1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""unsigned long long"" " string_content ") )))) ;) (if_statement "if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }" { (expression_statement "lVar5 = FUN_0010f4a0(param_1,8,1);" (assignment_expression "lVar5 = FUN_0010f4a0(param_1,8,1)" identifier = (call_expression "FUN_0010f4a0(param_1,8,1)" identifier (argument_list "(param_1,8,1)" ( identifier , number_literal , number_literal )))) ;) }) (else_clause "else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }" else (compound_statement "{\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }" { (expression_statement "iVar2 = strcmp((char *)__s1,"...");" (assignment_expression "iVar2 = strcmp((char *)__s1,"...")" identifier = (call_expression "strcmp((char *)__s1,"...")" identifier (argument_list "((char *)__s1,"...")" ( (cast_expression "(char *)__s1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""..."" " string_content ") )))) ;) (if_statement "if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }" { (expression_statement "pcVar7 = "Unexpected demangled varargs\n";" (assignment_expression "pcVar7 = "Unexpected demangled varargs\n"" identifier = (string_literal ""Unexpected demangled varargs\n"" " string_content escape_sequence ")) ;) (if_statement "if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }" if (parenthesized_expression "(param_5 != (undefined4 *)0x0)" ( (binary_expression "param_5 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }" { (expression_statement "*param_5 = 1;" (assignment_expression "*param_5 = 1" (pointer_expression "*param_5" * identifier) = number_literal) ;) (expression_statement "lVar5 = 0;" (assignment_expression "lVar5 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_00111512;" goto statement_identifier ;) })) }) (else_clause "else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }" else (compound_statement "{\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }" { (expression_statement "pcVar7 = "Unrecognized demangled builtin type\n";" (assignment_expression "pcVar7 = "Unrecognized demangled builtin type\n"" identifier = (string_literal ""Unrecognized demangled builtin type\n"" " string_content escape_sequence ")) ;) }))) (expression_statement "lVar5 = 0;" (assignment_expression "lVar5 = 0" identifier = number_literal) ;) (expression_statement "pcVar7 = (char *)dcgettext(0,pcVar7,5);" (assignment_expression "pcVar7 = (char *)dcgettext(0,pcVar7,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar7,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar7,5)" identifier (argument_list "(0,pcVar7,5)" ( number_literal , identifier , number_literal ))))) ;) (expression_statement "fprintf(stderr,pcVar7);" (call_expression "fprintf(stderr,pcVar7)" identifier (argument_list "(stderr,pcVar7)" ( identifier , identifier ))) ;) }))) }))) (goto_statement "goto LAB_00111512;" goto statement_identifier ;) })) })) })) (expression_statement "lVar5 = FUN_0010f4a0(param_1,4,1);" (assignment_expression "lVar5 = FUN_0010f4a0(param_1,4,1)" identifier = (call_expression "FUN_0010f4a0(param_1,4,1)" identifier (argument_list "(param_1,4,1)" ( identifier , number_literal , number_literal )))) ;) }))) (goto_statement "goto LAB_00111512;" goto statement_identifier ;) })) })) (expression_statement "lVar5 = FUN_0010f4c0(param_1,8);" (assignment_expression "lVar5 = FUN_0010f4c0(param_1,8)" identifier = (call_expression "FUN_0010f4c0(param_1,8)" identifier (argument_list "(param_1,8)" ( identifier , number_literal )))) ;) (goto_statement "goto LAB_00111512;" goto statement_identifier ;) })) })) (expression_statement "lVar5 = FUN_0010f4a0(param_1,1,0);" (assignment_expression "lVar5 = FUN_0010f4a0(param_1,1,0)" identifier = (call_expression "FUN_0010f4a0(param_1,1,0)" identifier (argument_list "(param_1,1,0)" ( identifier , number_literal , number_literal )))) ;) (labeled_statement "LAB_00111512:\n      free(__s1);" statement_identifier : (expression_statement "free(__s1);" (call_expression "free(__s1)" identifier (argument_list "(__s1)" ( identifier ))) ;)) (return_statement "return lVar5;" return identifier ;) })) (labeled_statement "LAB_0011152c:\n    pcVar7 = (char *)dcgettext(0,pcVar7,5);" statement_identifier : (expression_statement "pcVar7 = (char *)dcgettext(0,pcVar7,5);" (assignment_expression "pcVar7 = (char *)dcgettext(0,pcVar7,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar7,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar7,5)" identifier (argument_list "(0,pcVar7,5)" ( number_literal , identifier , number_literal ))))) ;)) (expression_statement "fprintf(stderr,pcVar7);" (call_expression "fprintf(stderr,pcVar7)" identifier (argument_list "(stderr,pcVar7)" ( identifier , identifier ))) ;) (break_statement "break;" break ;)) (case_statement "case 0x29:\n    if (*(long *)(param_3 + 2) == 0) {\n      lVar5 = FUN_0010f490(param_1);\n    }\n    else {\n      lVar5 = FUN_00110fa0(param_1,param_2,*(long *)(param_3 + 2),0,0);\n    }\n    if ((lVar5 != 0) &&\n       (lVar6 = FUN_00111730(param_1,param_2,*(undefined8 *)(param_3 + 4),local_40), lVar6 != 0)) {\n      lVar5 = FUN_0010f630(param_1,lVar5,lVar6,local_40[0]);\n      return lVar5;\n    }" case number_literal : (if_statement "if (*(long *)(param_3 + 2) == 0) {\n      lVar5 = FUN_0010f490(param_1);\n    }\n    else {\n      lVar5 = FUN_00110fa0(param_1,param_2,*(long *)(param_3 + 2),0,0);\n    }" if (parenthesized_expression "(*(long *)(param_3 + 2) == 0)" ( (binary_expression "*(long *)(param_3 + 2) == 0" (pointer_expression "*(long *)(param_3 + 2)" * (cast_expression "(long *)(param_3 + 2)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 2)" ( (binary_expression "param_3 + 2" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      lVar5 = FUN_0010f490(param_1);\n    }" { (expression_statement "lVar5 = FUN_0010f490(param_1);" (assignment_expression "lVar5 = FUN_0010f490(param_1)" identifier = (call_expression "FUN_0010f490(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) }) (else_clause "else {\n      lVar5 = FUN_00110fa0(param_1,param_2,*(long *)(param_3 + 2),0,0);\n    }" else (compound_statement "{\n      lVar5 = FUN_00110fa0(param_1,param_2,*(long *)(param_3 + 2),0,0);\n    }" { (expression_statement "lVar5 = FUN_00110fa0(param_1,param_2,*(long *)(param_3 + 2),0,0);" (assignment_expression "lVar5 = FUN_00110fa0(param_1,param_2,*(long *)(param_3 + 2),0,0)" identifier = (call_expression "FUN_00110fa0(param_1,param_2,*(long *)(param_3 + 2),0,0)" identifier (argument_list "(param_1,param_2,*(long *)(param_3 + 2),0,0)" ( identifier , identifier , (pointer_expression "*(long *)(param_3 + 2)" * (cast_expression "(long *)(param_3 + 2)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 2)" ( (binary_expression "param_3 + 2" identifier + number_literal) )))) , number_literal , number_literal )))) ;) }))) (if_statement "if ((lVar5 != 0) &&\n       (lVar6 = FUN_00111730(param_1,param_2,*(undefined8 *)(param_3 + 4),local_40), lVar6 != 0)) {\n      lVar5 = FUN_0010f630(param_1,lVar5,lVar6,local_40[0]);\n      return lVar5;\n    }" if (parenthesized_expression "((lVar5 != 0) &&\n       (lVar6 = FUN_00111730(param_1,param_2,*(undefined8 *)(param_3 + 4),local_40), lVar6 != 0))" ( (binary_expression "(lVar5 != 0) &&\n       (lVar6 = FUN_00111730(param_1,param_2,*(undefined8 *)(param_3 + 4),local_40), lVar6 != 0)" (parenthesized_expression "(lVar5 != 0)" ( (binary_expression "lVar5 != 0" identifier != number_literal) )) && (parenthesized_expression "(lVar6 = FUN_00111730(param_1,param_2,*(undefined8 *)(param_3 + 4),local_40), lVar6 != 0)" ( (comma_expression "lVar6 = FUN_00111730(param_1,param_2,*(undefined8 *)(param_3 + 4),local_40), lVar6 != 0" (assignment_expression "lVar6 = FUN_00111730(param_1,param_2,*(undefined8 *)(param_3 + 4),local_40)" identifier = (call_expression "FUN_00111730(param_1,param_2,*(undefined8 *)(param_3 + 4),local_40)" identifier (argument_list "(param_1,param_2,*(undefined8 *)(param_3 + 4),local_40)" ( identifier , identifier , (pointer_expression "*(undefined8 *)(param_3 + 4)" * (cast_expression "(undefined8 *)(param_3 + 4)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 4)" ( (binary_expression "param_3 + 4" identifier + number_literal) )))) , identifier )))) , (binary_expression "lVar6 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n      lVar5 = FUN_0010f630(param_1,lVar5,lVar6,local_40[0]);\n      return lVar5;\n    }" { (expression_statement "lVar5 = FUN_0010f630(param_1,lVar5,lVar6,local_40[0]);" (assignment_expression "lVar5 = FUN_0010f630(param_1,lVar5,lVar6,local_40[0])" identifier = (call_expression "FUN_0010f630(param_1,lVar5,lVar6,local_40[0])" identifier (argument_list "(param_1,lVar5,lVar6,local_40[0])" ( identifier , identifier , identifier , (subscript_expression "local_40[0]" identifier [ number_literal ]) )))) ;) (return_statement "return lVar5;" return identifier ;) }))) })) (return_statement "return 0;" return number_literal ;) })))
(translation_unit (function_definition (sized_type_specifier long) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration (sized_type_specifier long) IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration (sized_type_specifier long) IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (switch_statement switch (parenthesized_expression ( IDENT )) (compound_statement { (case_statement case LIT : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT ))))) , (binary_expression IDENT != (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT))) ))) )) (compound_statement { (for_statement for ( ; (binary_expression (pointer_expression * IDENT) != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (return_statement return IDENT ;) })) })) })) }))) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (subscript_expression IDENT [ LIT ]) , LIT )))) ;) (return_statement return IDENT ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT , LIT )))) ;) (return_statement return IDENT ;) })) (break_statement break ;)) (case_statement default : (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 ( IDENT , IDENT , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))) ;) (return_statement return LIT ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , IDENT , LIT , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , IDENT , (binary_expression IDENT & LIT) , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (switch_statement switch (parenthesized_expression ( (pointer_expression * IDENT) )) (compound_statement { (case_statement case LIT : (return_statement return IDENT ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (return_statement return IDENT ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (return_statement return IDENT ;)) (case_statement default : (expression_statement (call_expression IDENT (argument_list ( ))) ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (return_statement return IDENT ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (return_statement return IDENT ;)) })) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , IDENT , LIT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence string_content escape_sequence ")) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ;) (if_statement if (parenthesized_expression ( (unary_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 *)) ) LIT)) ;) (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 ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (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 IDENT = (call_expression IDENT (argument_list ( IDENT , LIT )))) ;) (goto_statement goto statement_identifier ;) })) (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 *)) ) LIT)) ;) (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 ( (unary_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 *)) ) LIT)) ;) (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 ( (unary_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 ( (unary_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 IDENT = (call_expression IDENT (argument_list ( IDENT , LIT )))) ;) (goto_statement goto statement_identifier ;) })) (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 IDENT = (call_expression IDENT (argument_list ( IDENT , LIT )))) ;) (goto_statement goto statement_identifier ;) })) (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 IDENT = (call_expression IDENT (argument_list ( IDENT , LIT , LIT )))) ;) (goto_statement goto statement_identifier ;) })) (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 *)) ) LIT)) ;) (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 { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT , LIT )))) ;)) }) (else_clause else (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 *)) ) LIT)) ;) (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 ( (unary_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 *)) ) LIT)) ;) (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 )) (goto_statement goto statement_identifier ;)) (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 )) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT , LIT )))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT , LIT )))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT , LIT )))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT , LIT )))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (string_literal " string_content ") )))) ;) (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) , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT , LIT )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT , LIT )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , IDENT , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) }))) }))) (goto_statement goto statement_identifier ;) })) })) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT , LIT )))) ;) }))) (goto_statement goto statement_identifier ;) })) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT )))) ;) (goto_statement goto statement_identifier ;) })) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT , LIT )))) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;)) (return_statement return IDENT ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , IDENT , LIT ))))) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (break_statement break ;)) (case_statement case LIT : (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT , LIT )))) ;) }))) (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 , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT )))) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , (subscript_expression IDENT [ LIT ]) )))) ;) (return_statement return IDENT ;) }))) })) (return_statement return LIT ;) })))
(function_definition "long FUN_00110fa0(undefined8 param_1,long param_2,uint *param_3,long param_4,undefined4 *param_5)\n\n{\n  uint uVar1;\n  int iVar2;\n  size_t sVar3;\n  byte *__s1;\n  long *plVar4;\n  long lVar5;\n  long lVar6;\n  char *pcVar7;\n  byte *pbVar8;\n  byte *pbVar9;\n  bool bVar10;\n  bool bVar11;\n  bool bVar12;\n  byte bVar13;\n  undefined4 local_40 [4];\n  \n  bVar13 = 0;\n  if (param_5 != (undefined4 *)0x0) {\n    *param_5 = 0;\n  }\n  uVar1 = *param_3;\n  switch(uVar1) {\n  case 0:\n    if ((param_4 != 0) && (plVar4 = (long *)FUN_001101a0(param_1,param_4), plVar4 != (long *)0x0)) {\n      for (; *plVar4 != 0; plVar4 = plVar4 + 1) {\n        lVar5 = FUN_001101f0(param_1);\n        if (lVar5 == 0) {\n          return 0;\n        }\n        pcVar7 = (char *)FUN_00110000(param_1,lVar5);\n        if (pcVar7 != (char *)0x0) {\n          sVar3 = strlen(pcVar7);\n          if ((param_3[4] == (uint)sVar3) &&\n             (iVar2 = strncmp(pcVar7,*(char **)(param_3 + 2),(long)(int)param_3[4]), iVar2 == 0)) {\n            return lVar5;\n          }\n        }\n      }\n    }\n  case 0x18:\n    lVar5 = FUN_00110e80(param_1,param_2 + 0x1a0,*(undefined8 *)(param_3 + 2),param_3[4],0);\n    return lVar5;\n  case 1:\n    lVar5 = FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 2),param_4,0);\n    if (lVar5 != 0) {\n      lVar5 = FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 4),lVar5,0);\n      return lVar5;\n    }\n    break;\n  default:\n    pcVar7 = (char *)dcgettext(0,"Unrecognized demangle component %d\n",5);\n    fprintf(stderr,pcVar7,(ulong)uVar1);\n    return 0;\n  case 4:\n    pcVar7 = (char *)cplus_demangle_print(3,param_3,0x14,local_40);\n    if (pcVar7 != (char *)0x0) {\n      sVar3 = strlen(pcVar7);\n      lVar5 = FUN_00110e80(param_1,param_2 + 0x1a0,pcVar7,sVar3 & 0xffffffff,9);\n      free(pcVar7);\n      return lVar5;\n    }\n    pcVar7 = "Failed to print demangled template\n";\n    goto LAB_0011152c;\n  case 0x19:\n  case 0x1a:\n  case 0x1b:\n  case 0x22:\n  case 0x23:\n    lVar5 = FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 2),0,0);\n    if (lVar5 != 0) {\n      switch(*param_3) {\n      case 0x19:\n        return lVar5;\n      case 0x1a:\n        lVar5 = FUN_0010f920(param_1,lVar5);\n        return lVar5;\n      case 0x1b:\n        lVar5 = FUN_0010f8f0(param_1,lVar5);\n        return lVar5;\n      default:\n                    \n        abort();\n      case 0x22:\n        lVar5 = FUN_0010f5f0(param_1,lVar5);\n        return lVar5;\n      case 0x23:\n        lVar5 = FUN_0010f6a0(param_1,lVar5);\n        return lVar5;\n      }\n    }\n    break;\n  case 0x27:\n    __s1 = (byte *)cplus_demangle_print(3,param_3,0x14,local_40);\n    pcVar7 = "Couldn\'t get demangled builtin type\n";\n    bVar10 = false;\n    bVar12 = __s1 == (byte *)0x0;\n    if (!bVar12) {\n      lVar5 = 0xc;\n      pbVar8 = __s1;\n      pbVar9 = (byte *)0x122f71;\n      do {\n        if (lVar5 == 0) break;\n        lVar5 = lVar5 + -1;\n        bVar10 = *pbVar8 < *pbVar9;\n        bVar12 = *pbVar8 == *pbVar9;\n        pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n      } while (bVar12);\n      bVar11 = false;\n      bVar10 = (!bVar10 && !bVar12) == bVar10;\n      if (!bVar10) {\n        lVar5 = 5;\n        pbVar8 = __s1;\n        pbVar9 = &DAT_0012307b;\n        do {\n          if (lVar5 == 0) break;\n          lVar5 = lVar5 + -1;\n          bVar11 = *pbVar8 < *pbVar9;\n          bVar10 = *pbVar8 == *pbVar9;\n          pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar12 = false;\n        bVar10 = (!bVar11 && !bVar10) == bVar11;\n        if (bVar10) {\n          lVar5 = FUN_0010f4d0(param_1,1);\n          goto LAB_00111512;\n        }\n        lVar5 = 5;\n        pbVar8 = __s1;\n        pbVar9 = (byte *)0x122f78;\n        do {\n          if (lVar5 == 0) break;\n          lVar5 = lVar5 + -1;\n          bVar12 = *pbVar8 < *pbVar9;\n          bVar10 = *pbVar8 == *pbVar9;\n          pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar11 = false;\n        bVar10 = (!bVar12 && !bVar10) == bVar12;\n        if (!bVar10) {\n          lVar5 = 7;\n          pbVar8 = __s1;\n          pbVar9 = (byte *)0x122fb3;\n          do {\n            if (lVar5 == 0) break;\n            lVar5 = lVar5 + -1;\n            bVar11 = *pbVar8 < *pbVar9;\n            bVar10 = *pbVar8 == *pbVar9;\n            pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n          } while (bVar10);\n          bVar12 = false;\n          bVar10 = (!bVar11 && !bVar10) == bVar11;\n          if (!bVar10) {\n            lVar5 = 0xc;\n            pbVar8 = __s1;\n            pbVar9 = (byte *)"long double";\n            do {\n              if (lVar5 == 0) break;\n              lVar5 = lVar5 + -1;\n              bVar12 = *pbVar8 < *pbVar9;\n              bVar10 = *pbVar8 == *pbVar9;\n              pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n            } while (bVar10);\n            bVar11 = false;\n            bVar10 = (!bVar12 && !bVar10) == bVar12;\n            if (!bVar10) {\n              lVar5 = 6;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"float";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,4);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xb;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"__float128";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,0x10);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xe;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"unsigned char";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4a0(param_1,1,1);\n                goto LAB_00111512;\n              }\n              lVar5 = 4;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)0x1230d2;\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\nLAB_00111631:\n                lVar5 = FUN_0010f4a0(param_1,4,0);\n              }\n              else {\n                lVar5 = 0xd;\n                pbVar8 = __s1;\n                pbVar9 = (byte *)0x1230c9;\n                do {\n                  if (lVar5 == 0) break;\n                  lVar5 = lVar5 + -1;\n                  bVar11 = *pbVar8 < *pbVar9;\n                  bVar10 = *pbVar8 == *pbVar9;\n                  pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar10);\n                bVar12 = false;\n                bVar10 = (!bVar11 && !bVar10) == bVar11;\n                if (!bVar10) {\n                  lVar5 = 5;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)0x122f9e;\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar12 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar11 = false;\n                  bVar10 = (!bVar12 && !bVar10) == bVar12;\n                  if (bVar10) goto LAB_00111631;\n                  lVar5 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)"unsigned long";\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar11 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  if ((!bVar11 && !bVar10) != bVar11) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f490(param_1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }\n                lVar5 = FUN_0010f4a0(param_1,4,1);\n              }\n              goto LAB_00111512;\n            }\n          }\n          lVar5 = FUN_0010f4c0(param_1,8);\n          goto LAB_00111512;\n        }\n      }\n      lVar5 = FUN_0010f4a0(param_1,1,0);\nLAB_00111512:\n      free(__s1);\n      return lVar5;\n    }\nLAB_0011152c:\n    pcVar7 = (char *)dcgettext(0,pcVar7,5);\n    fprintf(stderr,pcVar7);\n    break;\n  case 0x29:\n    if (*(long *)(param_3 + 2) == 0) {\n      lVar5 = FUN_0010f490(param_1);\n    }\n    else {\n      lVar5 = FUN_00110fa0(param_1,param_2,*(long *)(param_3 + 2),0,0);\n    }\n    if ((lVar5 != 0) &&\n       (lVar6 = FUN_00111730(param_1,param_2,*(undefined8 *)(param_3 + 4),local_40), lVar6 != 0)) {\n      lVar5 = FUN_0010f630(param_1,lVar5,lVar6,local_40[0]);\n      return lVar5;\n    }\n  }\n  return 0;\n}" (sized_type_specifier "long" (long "long")) (function_declarator "FUN_00110fa0(undefined8 param_1,long param_2,uint *param_3,long param_4,undefined4 *param_5)" (identifier "FUN_00110fa0") (parameter_list "(undefined8 param_1,long param_2,uint *param_3,long param_4,undefined4 *param_5)" (( "(") (parameter_declaration "undefined8 param_1" (type_identifier "undefined8") (identifier "param_1")) (, ",") (parameter_declaration "long param_2" (sized_type_specifier "long" (long "long")) (identifier "param_2")) (, ",") (parameter_declaration "uint *param_3" (type_identifier "uint") (pointer_declarator "*param_3" (* "*") (identifier "param_3"))) (, ",") (parameter_declaration "long param_4" (sized_type_specifier "long" (long "long")) (identifier "param_4")) (, ",") (parameter_declaration "undefined4 *param_5" (type_identifier "undefined4") (pointer_declarator "*param_5" (* "*") (identifier "param_5"))) () ")"))) (compound_statement "{\n  uint uVar1;\n  int iVar2;\n  size_t sVar3;\n  byte *__s1;\n  long *plVar4;\n  long lVar5;\n  long lVar6;\n  char *pcVar7;\n  byte *pbVar8;\n  byte *pbVar9;\n  bool bVar10;\n  bool bVar11;\n  bool bVar12;\n  byte bVar13;\n  undefined4 local_40 [4];\n  \n  bVar13 = 0;\n  if (param_5 != (undefined4 *)0x0) {\n    *param_5 = 0;\n  }\n  uVar1 = *param_3;\n  switch(uVar1) {\n  case 0:\n    if ((param_4 != 0) && (plVar4 = (long *)FUN_001101a0(param_1,param_4), plVar4 != (long *)0x0)) {\n      for (; *plVar4 != 0; plVar4 = plVar4 + 1) {\n        lVar5 = FUN_001101f0(param_1);\n        if (lVar5 == 0) {\n          return 0;\n        }\n        pcVar7 = (char *)FUN_00110000(param_1,lVar5);\n        if (pcVar7 != (char *)0x0) {\n          sVar3 = strlen(pcVar7);\n          if ((param_3[4] == (uint)sVar3) &&\n             (iVar2 = strncmp(pcVar7,*(char **)(param_3 + 2),(long)(int)param_3[4]), iVar2 == 0)) {\n            return lVar5;\n          }\n        }\n      }\n    }\n  case 0x18:\n    lVar5 = FUN_00110e80(param_1,param_2 + 0x1a0,*(undefined8 *)(param_3 + 2),param_3[4],0);\n    return lVar5;\n  case 1:\n    lVar5 = FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 2),param_4,0);\n    if (lVar5 != 0) {\n      lVar5 = FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 4),lVar5,0);\n      return lVar5;\n    }\n    break;\n  default:\n    pcVar7 = (char *)dcgettext(0,"Unrecognized demangle component %d\n",5);\n    fprintf(stderr,pcVar7,(ulong)uVar1);\n    return 0;\n  case 4:\n    pcVar7 = (char *)cplus_demangle_print(3,param_3,0x14,local_40);\n    if (pcVar7 != (char *)0x0) {\n      sVar3 = strlen(pcVar7);\n      lVar5 = FUN_00110e80(param_1,param_2 + 0x1a0,pcVar7,sVar3 & 0xffffffff,9);\n      free(pcVar7);\n      return lVar5;\n    }\n    pcVar7 = "Failed to print demangled template\n";\n    goto LAB_0011152c;\n  case 0x19:\n  case 0x1a:\n  case 0x1b:\n  case 0x22:\n  case 0x23:\n    lVar5 = FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 2),0,0);\n    if (lVar5 != 0) {\n      switch(*param_3) {\n      case 0x19:\n        return lVar5;\n      case 0x1a:\n        lVar5 = FUN_0010f920(param_1,lVar5);\n        return lVar5;\n      case 0x1b:\n        lVar5 = FUN_0010f8f0(param_1,lVar5);\n        return lVar5;\n      default:\n                    \n        abort();\n      case 0x22:\n        lVar5 = FUN_0010f5f0(param_1,lVar5);\n        return lVar5;\n      case 0x23:\n        lVar5 = FUN_0010f6a0(param_1,lVar5);\n        return lVar5;\n      }\n    }\n    break;\n  case 0x27:\n    __s1 = (byte *)cplus_demangle_print(3,param_3,0x14,local_40);\n    pcVar7 = "Couldn\'t get demangled builtin type\n";\n    bVar10 = false;\n    bVar12 = __s1 == (byte *)0x0;\n    if (!bVar12) {\n      lVar5 = 0xc;\n      pbVar8 = __s1;\n      pbVar9 = (byte *)0x122f71;\n      do {\n        if (lVar5 == 0) break;\n        lVar5 = lVar5 + -1;\n        bVar10 = *pbVar8 < *pbVar9;\n        bVar12 = *pbVar8 == *pbVar9;\n        pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n      } while (bVar12);\n      bVar11 = false;\n      bVar10 = (!bVar10 && !bVar12) == bVar10;\n      if (!bVar10) {\n        lVar5 = 5;\n        pbVar8 = __s1;\n        pbVar9 = &DAT_0012307b;\n        do {\n          if (lVar5 == 0) break;\n          lVar5 = lVar5 + -1;\n          bVar11 = *pbVar8 < *pbVar9;\n          bVar10 = *pbVar8 == *pbVar9;\n          pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar12 = false;\n        bVar10 = (!bVar11 && !bVar10) == bVar11;\n        if (bVar10) {\n          lVar5 = FUN_0010f4d0(param_1,1);\n          goto LAB_00111512;\n        }\n        lVar5 = 5;\n        pbVar8 = __s1;\n        pbVar9 = (byte *)0x122f78;\n        do {\n          if (lVar5 == 0) break;\n          lVar5 = lVar5 + -1;\n          bVar12 = *pbVar8 < *pbVar9;\n          bVar10 = *pbVar8 == *pbVar9;\n          pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar11 = false;\n        bVar10 = (!bVar12 && !bVar10) == bVar12;\n        if (!bVar10) {\n          lVar5 = 7;\n          pbVar8 = __s1;\n          pbVar9 = (byte *)0x122fb3;\n          do {\n            if (lVar5 == 0) break;\n            lVar5 = lVar5 + -1;\n            bVar11 = *pbVar8 < *pbVar9;\n            bVar10 = *pbVar8 == *pbVar9;\n            pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n          } while (bVar10);\n          bVar12 = false;\n          bVar10 = (!bVar11 && !bVar10) == bVar11;\n          if (!bVar10) {\n            lVar5 = 0xc;\n            pbVar8 = __s1;\n            pbVar9 = (byte *)"long double";\n            do {\n              if (lVar5 == 0) break;\n              lVar5 = lVar5 + -1;\n              bVar12 = *pbVar8 < *pbVar9;\n              bVar10 = *pbVar8 == *pbVar9;\n              pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n            } while (bVar10);\n            bVar11 = false;\n            bVar10 = (!bVar12 && !bVar10) == bVar12;\n            if (!bVar10) {\n              lVar5 = 6;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"float";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,4);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xb;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"__float128";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,0x10);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xe;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"unsigned char";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4a0(param_1,1,1);\n                goto LAB_00111512;\n              }\n              lVar5 = 4;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)0x1230d2;\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\nLAB_00111631:\n                lVar5 = FUN_0010f4a0(param_1,4,0);\n              }\n              else {\n                lVar5 = 0xd;\n                pbVar8 = __s1;\n                pbVar9 = (byte *)0x1230c9;\n                do {\n                  if (lVar5 == 0) break;\n                  lVar5 = lVar5 + -1;\n                  bVar11 = *pbVar8 < *pbVar9;\n                  bVar10 = *pbVar8 == *pbVar9;\n                  pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar10);\n                bVar12 = false;\n                bVar10 = (!bVar11 && !bVar10) == bVar11;\n                if (!bVar10) {\n                  lVar5 = 5;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)0x122f9e;\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar12 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar11 = false;\n                  bVar10 = (!bVar12 && !bVar10) == bVar12;\n                  if (bVar10) goto LAB_00111631;\n                  lVar5 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)"unsigned long";\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar11 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  if ((!bVar11 && !bVar10) != bVar11) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f490(param_1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }\n                lVar5 = FUN_0010f4a0(param_1,4,1);\n              }\n              goto LAB_00111512;\n            }\n          }\n          lVar5 = FUN_0010f4c0(param_1,8);\n          goto LAB_00111512;\n        }\n      }\n      lVar5 = FUN_0010f4a0(param_1,1,0);\nLAB_00111512:\n      free(__s1);\n      return lVar5;\n    }\nLAB_0011152c:\n    pcVar7 = (char *)dcgettext(0,pcVar7,5);\n    fprintf(stderr,pcVar7);\n    break;\n  case 0x29:\n    if (*(long *)(param_3 + 2) == 0) {\n      lVar5 = FUN_0010f490(param_1);\n    }\n    else {\n      lVar5 = FUN_00110fa0(param_1,param_2,*(long *)(param_3 + 2),0,0);\n    }\n    if ((lVar5 != 0) &&\n       (lVar6 = FUN_00111730(param_1,param_2,*(undefined8 *)(param_3 + 4),local_40), lVar6 != 0)) {\n      lVar5 = FUN_0010f630(param_1,lVar5,lVar6,local_40[0]);\n      return lVar5;\n    }\n  }\n  return 0;\n}" ({ "{") (declaration "uint uVar1;" (type_identifier "uint") (identifier "uVar1") (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "size_t sVar3;" (primitive_type "size_t") (identifier "sVar3") (; ";")) (declaration "byte *__s1;" (type_identifier "byte") (pointer_declarator "*__s1" (* "*") (identifier "__s1")) (; ";")) (declaration "long *plVar4;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*plVar4" (* "*") (identifier "plVar4")) (; ";")) (declaration "long lVar5;" (sized_type_specifier "long" (long "long")) (identifier "lVar5") (; ";")) (declaration "long lVar6;" (sized_type_specifier "long" (long "long")) (identifier "lVar6") (; ";")) (declaration "char *pcVar7;" (primitive_type "char") (pointer_declarator "*pcVar7" (* "*") (identifier "pcVar7")) (; ";")) (declaration "byte *pbVar8;" (type_identifier "byte") (pointer_declarator "*pbVar8" (* "*") (identifier "pbVar8")) (; ";")) (declaration "byte *pbVar9;" (type_identifier "byte") (pointer_declarator "*pbVar9" (* "*") (identifier "pbVar9")) (; ";")) (declaration "bool bVar10;" (primitive_type "bool") (identifier "bVar10") (; ";")) (declaration "bool bVar11;" (primitive_type "bool") (identifier "bVar11") (; ";")) (declaration "bool bVar12;" (primitive_type "bool") (identifier "bVar12") (; ";")) (declaration "byte bVar13;" (type_identifier "byte") (identifier "bVar13") (; ";")) (declaration "undefined4 local_40 [4];" (type_identifier "undefined4") (array_declarator "local_40 [4]" (identifier "local_40") ([ "[") (number_literal "4") (] "]")) (; ";")) (expression_statement "bVar13 = 0;" (assignment_expression "bVar13 = 0" (identifier "bVar13") (= "=") (number_literal "0")) (; ";")) (if_statement "if (param_5 != (undefined4 *)0x0) {\n    *param_5 = 0;\n  }" (if "if") (parenthesized_expression "(param_5 != (undefined4 *)0x0)" (( "(") (binary_expression "param_5 != (undefined4 *)0x0" (identifier "param_5") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    *param_5 = 0;\n  }" ({ "{") (expression_statement "*param_5 = 0;" (assignment_expression "*param_5 = 0" (pointer_expression "*param_5" (* "*") (identifier "param_5")) (= "=") (number_literal "0")) (; ";")) (} "}"))) (expression_statement "uVar1 = *param_3;" (assignment_expression "uVar1 = *param_3" (identifier "uVar1") (= "=") (pointer_expression "*param_3" (* "*") (identifier "param_3"))) (; ";")) (switch_statement "switch(uVar1) {\n  case 0:\n    if ((param_4 != 0) && (plVar4 = (long *)FUN_001101a0(param_1,param_4), plVar4 != (long *)0x0)) {\n      for (; *plVar4 != 0; plVar4 = plVar4 + 1) {\n        lVar5 = FUN_001101f0(param_1);\n        if (lVar5 == 0) {\n          return 0;\n        }\n        pcVar7 = (char *)FUN_00110000(param_1,lVar5);\n        if (pcVar7 != (char *)0x0) {\n          sVar3 = strlen(pcVar7);\n          if ((param_3[4] == (uint)sVar3) &&\n             (iVar2 = strncmp(pcVar7,*(char **)(param_3 + 2),(long)(int)param_3[4]), iVar2 == 0)) {\n            return lVar5;\n          }\n        }\n      }\n    }\n  case 0x18:\n    lVar5 = FUN_00110e80(param_1,param_2 + 0x1a0,*(undefined8 *)(param_3 + 2),param_3[4],0);\n    return lVar5;\n  case 1:\n    lVar5 = FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 2),param_4,0);\n    if (lVar5 != 0) {\n      lVar5 = FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 4),lVar5,0);\n      return lVar5;\n    }\n    break;\n  default:\n    pcVar7 = (char *)dcgettext(0,"Unrecognized demangle component %d\n",5);\n    fprintf(stderr,pcVar7,(ulong)uVar1);\n    return 0;\n  case 4:\n    pcVar7 = (char *)cplus_demangle_print(3,param_3,0x14,local_40);\n    if (pcVar7 != (char *)0x0) {\n      sVar3 = strlen(pcVar7);\n      lVar5 = FUN_00110e80(param_1,param_2 + 0x1a0,pcVar7,sVar3 & 0xffffffff,9);\n      free(pcVar7);\n      return lVar5;\n    }\n    pcVar7 = "Failed to print demangled template\n";\n    goto LAB_0011152c;\n  case 0x19:\n  case 0x1a:\n  case 0x1b:\n  case 0x22:\n  case 0x23:\n    lVar5 = FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 2),0,0);\n    if (lVar5 != 0) {\n      switch(*param_3) {\n      case 0x19:\n        return lVar5;\n      case 0x1a:\n        lVar5 = FUN_0010f920(param_1,lVar5);\n        return lVar5;\n      case 0x1b:\n        lVar5 = FUN_0010f8f0(param_1,lVar5);\n        return lVar5;\n      default:\n                    \n        abort();\n      case 0x22:\n        lVar5 = FUN_0010f5f0(param_1,lVar5);\n        return lVar5;\n      case 0x23:\n        lVar5 = FUN_0010f6a0(param_1,lVar5);\n        return lVar5;\n      }\n    }\n    break;\n  case 0x27:\n    __s1 = (byte *)cplus_demangle_print(3,param_3,0x14,local_40);\n    pcVar7 = "Couldn\'t get demangled builtin type\n";\n    bVar10 = false;\n    bVar12 = __s1 == (byte *)0x0;\n    if (!bVar12) {\n      lVar5 = 0xc;\n      pbVar8 = __s1;\n      pbVar9 = (byte *)0x122f71;\n      do {\n        if (lVar5 == 0) break;\n        lVar5 = lVar5 + -1;\n        bVar10 = *pbVar8 < *pbVar9;\n        bVar12 = *pbVar8 == *pbVar9;\n        pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n      } while (bVar12);\n      bVar11 = false;\n      bVar10 = (!bVar10 && !bVar12) == bVar10;\n      if (!bVar10) {\n        lVar5 = 5;\n        pbVar8 = __s1;\n        pbVar9 = &DAT_0012307b;\n        do {\n          if (lVar5 == 0) break;\n          lVar5 = lVar5 + -1;\n          bVar11 = *pbVar8 < *pbVar9;\n          bVar10 = *pbVar8 == *pbVar9;\n          pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar12 = false;\n        bVar10 = (!bVar11 && !bVar10) == bVar11;\n        if (bVar10) {\n          lVar5 = FUN_0010f4d0(param_1,1);\n          goto LAB_00111512;\n        }\n        lVar5 = 5;\n        pbVar8 = __s1;\n        pbVar9 = (byte *)0x122f78;\n        do {\n          if (lVar5 == 0) break;\n          lVar5 = lVar5 + -1;\n          bVar12 = *pbVar8 < *pbVar9;\n          bVar10 = *pbVar8 == *pbVar9;\n          pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar11 = false;\n        bVar10 = (!bVar12 && !bVar10) == bVar12;\n        if (!bVar10) {\n          lVar5 = 7;\n          pbVar8 = __s1;\n          pbVar9 = (byte *)0x122fb3;\n          do {\n            if (lVar5 == 0) break;\n            lVar5 = lVar5 + -1;\n            bVar11 = *pbVar8 < *pbVar9;\n            bVar10 = *pbVar8 == *pbVar9;\n            pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n          } while (bVar10);\n          bVar12 = false;\n          bVar10 = (!bVar11 && !bVar10) == bVar11;\n          if (!bVar10) {\n            lVar5 = 0xc;\n            pbVar8 = __s1;\n            pbVar9 = (byte *)"long double";\n            do {\n              if (lVar5 == 0) break;\n              lVar5 = lVar5 + -1;\n              bVar12 = *pbVar8 < *pbVar9;\n              bVar10 = *pbVar8 == *pbVar9;\n              pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n            } while (bVar10);\n            bVar11 = false;\n            bVar10 = (!bVar12 && !bVar10) == bVar12;\n            if (!bVar10) {\n              lVar5 = 6;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"float";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,4);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xb;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"__float128";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,0x10);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xe;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"unsigned char";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4a0(param_1,1,1);\n                goto LAB_00111512;\n              }\n              lVar5 = 4;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)0x1230d2;\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\nLAB_00111631:\n                lVar5 = FUN_0010f4a0(param_1,4,0);\n              }\n              else {\n                lVar5 = 0xd;\n                pbVar8 = __s1;\n                pbVar9 = (byte *)0x1230c9;\n                do {\n                  if (lVar5 == 0) break;\n                  lVar5 = lVar5 + -1;\n                  bVar11 = *pbVar8 < *pbVar9;\n                  bVar10 = *pbVar8 == *pbVar9;\n                  pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar10);\n                bVar12 = false;\n                bVar10 = (!bVar11 && !bVar10) == bVar11;\n                if (!bVar10) {\n                  lVar5 = 5;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)0x122f9e;\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar12 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar11 = false;\n                  bVar10 = (!bVar12 && !bVar10) == bVar12;\n                  if (bVar10) goto LAB_00111631;\n                  lVar5 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)"unsigned long";\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar11 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  if ((!bVar11 && !bVar10) != bVar11) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f490(param_1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }\n                lVar5 = FUN_0010f4a0(param_1,4,1);\n              }\n              goto LAB_00111512;\n            }\n          }\n          lVar5 = FUN_0010f4c0(param_1,8);\n          goto LAB_00111512;\n        }\n      }\n      lVar5 = FUN_0010f4a0(param_1,1,0);\nLAB_00111512:\n      free(__s1);\n      return lVar5;\n    }\nLAB_0011152c:\n    pcVar7 = (char *)dcgettext(0,pcVar7,5);\n    fprintf(stderr,pcVar7);\n    break;\n  case 0x29:\n    if (*(long *)(param_3 + 2) == 0) {\n      lVar5 = FUN_0010f490(param_1);\n    }\n    else {\n      lVar5 = FUN_00110fa0(param_1,param_2,*(long *)(param_3 + 2),0,0);\n    }\n    if ((lVar5 != 0) &&\n       (lVar6 = FUN_00111730(param_1,param_2,*(undefined8 *)(param_3 + 4),local_40), lVar6 != 0)) {\n      lVar5 = FUN_0010f630(param_1,lVar5,lVar6,local_40[0]);\n      return lVar5;\n    }\n  }" (switch "switch") (parenthesized_expression "(uVar1)" (( "(") (identifier "uVar1") () ")")) (compound_statement "{\n  case 0:\n    if ((param_4 != 0) && (plVar4 = (long *)FUN_001101a0(param_1,param_4), plVar4 != (long *)0x0)) {\n      for (; *plVar4 != 0; plVar4 = plVar4 + 1) {\n        lVar5 = FUN_001101f0(param_1);\n        if (lVar5 == 0) {\n          return 0;\n        }\n        pcVar7 = (char *)FUN_00110000(param_1,lVar5);\n        if (pcVar7 != (char *)0x0) {\n          sVar3 = strlen(pcVar7);\n          if ((param_3[4] == (uint)sVar3) &&\n             (iVar2 = strncmp(pcVar7,*(char **)(param_3 + 2),(long)(int)param_3[4]), iVar2 == 0)) {\n            return lVar5;\n          }\n        }\n      }\n    }\n  case 0x18:\n    lVar5 = FUN_00110e80(param_1,param_2 + 0x1a0,*(undefined8 *)(param_3 + 2),param_3[4],0);\n    return lVar5;\n  case 1:\n    lVar5 = FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 2),param_4,0);\n    if (lVar5 != 0) {\n      lVar5 = FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 4),lVar5,0);\n      return lVar5;\n    }\n    break;\n  default:\n    pcVar7 = (char *)dcgettext(0,"Unrecognized demangle component %d\n",5);\n    fprintf(stderr,pcVar7,(ulong)uVar1);\n    return 0;\n  case 4:\n    pcVar7 = (char *)cplus_demangle_print(3,param_3,0x14,local_40);\n    if (pcVar7 != (char *)0x0) {\n      sVar3 = strlen(pcVar7);\n      lVar5 = FUN_00110e80(param_1,param_2 + 0x1a0,pcVar7,sVar3 & 0xffffffff,9);\n      free(pcVar7);\n      return lVar5;\n    }\n    pcVar7 = "Failed to print demangled template\n";\n    goto LAB_0011152c;\n  case 0x19:\n  case 0x1a:\n  case 0x1b:\n  case 0x22:\n  case 0x23:\n    lVar5 = FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 2),0,0);\n    if (lVar5 != 0) {\n      switch(*param_3) {\n      case 0x19:\n        return lVar5;\n      case 0x1a:\n        lVar5 = FUN_0010f920(param_1,lVar5);\n        return lVar5;\n      case 0x1b:\n        lVar5 = FUN_0010f8f0(param_1,lVar5);\n        return lVar5;\n      default:\n                    \n        abort();\n      case 0x22:\n        lVar5 = FUN_0010f5f0(param_1,lVar5);\n        return lVar5;\n      case 0x23:\n        lVar5 = FUN_0010f6a0(param_1,lVar5);\n        return lVar5;\n      }\n    }\n    break;\n  case 0x27:\n    __s1 = (byte *)cplus_demangle_print(3,param_3,0x14,local_40);\n    pcVar7 = "Couldn\'t get demangled builtin type\n";\n    bVar10 = false;\n    bVar12 = __s1 == (byte *)0x0;\n    if (!bVar12) {\n      lVar5 = 0xc;\n      pbVar8 = __s1;\n      pbVar9 = (byte *)0x122f71;\n      do {\n        if (lVar5 == 0) break;\n        lVar5 = lVar5 + -1;\n        bVar10 = *pbVar8 < *pbVar9;\n        bVar12 = *pbVar8 == *pbVar9;\n        pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n      } while (bVar12);\n      bVar11 = false;\n      bVar10 = (!bVar10 && !bVar12) == bVar10;\n      if (!bVar10) {\n        lVar5 = 5;\n        pbVar8 = __s1;\n        pbVar9 = &DAT_0012307b;\n        do {\n          if (lVar5 == 0) break;\n          lVar5 = lVar5 + -1;\n          bVar11 = *pbVar8 < *pbVar9;\n          bVar10 = *pbVar8 == *pbVar9;\n          pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar12 = false;\n        bVar10 = (!bVar11 && !bVar10) == bVar11;\n        if (bVar10) {\n          lVar5 = FUN_0010f4d0(param_1,1);\n          goto LAB_00111512;\n        }\n        lVar5 = 5;\n        pbVar8 = __s1;\n        pbVar9 = (byte *)0x122f78;\n        do {\n          if (lVar5 == 0) break;\n          lVar5 = lVar5 + -1;\n          bVar12 = *pbVar8 < *pbVar9;\n          bVar10 = *pbVar8 == *pbVar9;\n          pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar11 = false;\n        bVar10 = (!bVar12 && !bVar10) == bVar12;\n        if (!bVar10) {\n          lVar5 = 7;\n          pbVar8 = __s1;\n          pbVar9 = (byte *)0x122fb3;\n          do {\n            if (lVar5 == 0) break;\n            lVar5 = lVar5 + -1;\n            bVar11 = *pbVar8 < *pbVar9;\n            bVar10 = *pbVar8 == *pbVar9;\n            pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n          } while (bVar10);\n          bVar12 = false;\n          bVar10 = (!bVar11 && !bVar10) == bVar11;\n          if (!bVar10) {\n            lVar5 = 0xc;\n            pbVar8 = __s1;\n            pbVar9 = (byte *)"long double";\n            do {\n              if (lVar5 == 0) break;\n              lVar5 = lVar5 + -1;\n              bVar12 = *pbVar8 < *pbVar9;\n              bVar10 = *pbVar8 == *pbVar9;\n              pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n            } while (bVar10);\n            bVar11 = false;\n            bVar10 = (!bVar12 && !bVar10) == bVar12;\n            if (!bVar10) {\n              lVar5 = 6;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"float";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,4);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xb;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"__float128";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,0x10);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xe;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"unsigned char";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4a0(param_1,1,1);\n                goto LAB_00111512;\n              }\n              lVar5 = 4;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)0x1230d2;\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\nLAB_00111631:\n                lVar5 = FUN_0010f4a0(param_1,4,0);\n              }\n              else {\n                lVar5 = 0xd;\n                pbVar8 = __s1;\n                pbVar9 = (byte *)0x1230c9;\n                do {\n                  if (lVar5 == 0) break;\n                  lVar5 = lVar5 + -1;\n                  bVar11 = *pbVar8 < *pbVar9;\n                  bVar10 = *pbVar8 == *pbVar9;\n                  pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar10);\n                bVar12 = false;\n                bVar10 = (!bVar11 && !bVar10) == bVar11;\n                if (!bVar10) {\n                  lVar5 = 5;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)0x122f9e;\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar12 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar11 = false;\n                  bVar10 = (!bVar12 && !bVar10) == bVar12;\n                  if (bVar10) goto LAB_00111631;\n                  lVar5 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)"unsigned long";\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar11 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  if ((!bVar11 && !bVar10) != bVar11) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f490(param_1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }\n                lVar5 = FUN_0010f4a0(param_1,4,1);\n              }\n              goto LAB_00111512;\n            }\n          }\n          lVar5 = FUN_0010f4c0(param_1,8);\n          goto LAB_00111512;\n        }\n      }\n      lVar5 = FUN_0010f4a0(param_1,1,0);\nLAB_00111512:\n      free(__s1);\n      return lVar5;\n    }\nLAB_0011152c:\n    pcVar7 = (char *)dcgettext(0,pcVar7,5);\n    fprintf(stderr,pcVar7);\n    break;\n  case 0x29:\n    if (*(long *)(param_3 + 2) == 0) {\n      lVar5 = FUN_0010f490(param_1);\n    }\n    else {\n      lVar5 = FUN_00110fa0(param_1,param_2,*(long *)(param_3 + 2),0,0);\n    }\n    if ((lVar5 != 0) &&\n       (lVar6 = FUN_00111730(param_1,param_2,*(undefined8 *)(param_3 + 4),local_40), lVar6 != 0)) {\n      lVar5 = FUN_0010f630(param_1,lVar5,lVar6,local_40[0]);\n      return lVar5;\n    }\n  }" ({ "{") (case_statement "case 0:\n    if ((param_4 != 0) && (plVar4 = (long *)FUN_001101a0(param_1,param_4), plVar4 != (long *)0x0)) {\n      for (; *plVar4 != 0; plVar4 = plVar4 + 1) {\n        lVar5 = FUN_001101f0(param_1);\n        if (lVar5 == 0) {\n          return 0;\n        }\n        pcVar7 = (char *)FUN_00110000(param_1,lVar5);\n        if (pcVar7 != (char *)0x0) {\n          sVar3 = strlen(pcVar7);\n          if ((param_3[4] == (uint)sVar3) &&\n             (iVar2 = strncmp(pcVar7,*(char **)(param_3 + 2),(long)(int)param_3[4]), iVar2 == 0)) {\n            return lVar5;\n          }\n        }\n      }\n    }" (case "case") (number_literal "0") (: ":") (if_statement "if ((param_4 != 0) && (plVar4 = (long *)FUN_001101a0(param_1,param_4), plVar4 != (long *)0x0)) {\n      for (; *plVar4 != 0; plVar4 = plVar4 + 1) {\n        lVar5 = FUN_001101f0(param_1);\n        if (lVar5 == 0) {\n          return 0;\n        }\n        pcVar7 = (char *)FUN_00110000(param_1,lVar5);\n        if (pcVar7 != (char *)0x0) {\n          sVar3 = strlen(pcVar7);\n          if ((param_3[4] == (uint)sVar3) &&\n             (iVar2 = strncmp(pcVar7,*(char **)(param_3 + 2),(long)(int)param_3[4]), iVar2 == 0)) {\n            return lVar5;\n          }\n        }\n      }\n    }" (if "if") (parenthesized_expression "((param_4 != 0) && (plVar4 = (long *)FUN_001101a0(param_1,param_4), plVar4 != (long *)0x0))" (( "(") (binary_expression "(param_4 != 0) && (plVar4 = (long *)FUN_001101a0(param_1,param_4), plVar4 != (long *)0x0)" (parenthesized_expression "(param_4 != 0)" (( "(") (binary_expression "param_4 != 0" (identifier "param_4") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(plVar4 = (long *)FUN_001101a0(param_1,param_4), plVar4 != (long *)0x0)" (( "(") (comma_expression "plVar4 = (long *)FUN_001101a0(param_1,param_4), plVar4 != (long *)0x0" (assignment_expression "plVar4 = (long *)FUN_001101a0(param_1,param_4)" (identifier "plVar4") (= "=") (cast_expression "(long *)FUN_001101a0(param_1,param_4)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_001101a0(param_1,param_4)" (identifier "FUN_001101a0") (argument_list "(param_1,param_4)" (( "(") (identifier "param_1") (, ",") (identifier "param_4") () ")"))))) (, ",") (binary_expression "plVar4 != (long *)0x0" (identifier "plVar4") (!= "!=") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (compound_statement "{\n      for (; *plVar4 != 0; plVar4 = plVar4 + 1) {\n        lVar5 = FUN_001101f0(param_1);\n        if (lVar5 == 0) {\n          return 0;\n        }\n        pcVar7 = (char *)FUN_00110000(param_1,lVar5);\n        if (pcVar7 != (char *)0x0) {\n          sVar3 = strlen(pcVar7);\n          if ((param_3[4] == (uint)sVar3) &&\n             (iVar2 = strncmp(pcVar7,*(char **)(param_3 + 2),(long)(int)param_3[4]), iVar2 == 0)) {\n            return lVar5;\n          }\n        }\n      }\n    }" ({ "{") (for_statement "for (; *plVar4 != 0; plVar4 = plVar4 + 1) {\n        lVar5 = FUN_001101f0(param_1);\n        if (lVar5 == 0) {\n          return 0;\n        }\n        pcVar7 = (char *)FUN_00110000(param_1,lVar5);\n        if (pcVar7 != (char *)0x0) {\n          sVar3 = strlen(pcVar7);\n          if ((param_3[4] == (uint)sVar3) &&\n             (iVar2 = strncmp(pcVar7,*(char **)(param_3 + 2),(long)(int)param_3[4]), iVar2 == 0)) {\n            return lVar5;\n          }\n        }\n      }" (for "for") (( "(") (; ";") (binary_expression "*plVar4 != 0" (pointer_expression "*plVar4" (* "*") (identifier "plVar4")) (!= "!=") (number_literal "0")) (; ";") (assignment_expression "plVar4 = plVar4 + 1" (identifier "plVar4") (= "=") (binary_expression "plVar4 + 1" (identifier "plVar4") (+ "+") (number_literal "1"))) () ")") (compound_statement "{\n        lVar5 = FUN_001101f0(param_1);\n        if (lVar5 == 0) {\n          return 0;\n        }\n        pcVar7 = (char *)FUN_00110000(param_1,lVar5);\n        if (pcVar7 != (char *)0x0) {\n          sVar3 = strlen(pcVar7);\n          if ((param_3[4] == (uint)sVar3) &&\n             (iVar2 = strncmp(pcVar7,*(char **)(param_3 + 2),(long)(int)param_3[4]), iVar2 == 0)) {\n            return lVar5;\n          }\n        }\n      }" ({ "{") (expression_statement "lVar5 = FUN_001101f0(param_1);" (assignment_expression "lVar5 = FUN_001101f0(param_1)" (identifier "lVar5") (= "=") (call_expression "FUN_001101f0(param_1)" (identifier "FUN_001101f0") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (if_statement "if (lVar5 == 0) {\n          return 0;\n        }" (if "if") (parenthesized_expression "(lVar5 == 0)" (( "(") (binary_expression "lVar5 == 0" (identifier "lVar5") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          return 0;\n        }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "pcVar7 = (char *)FUN_00110000(param_1,lVar5);" (assignment_expression "pcVar7 = (char *)FUN_00110000(param_1,lVar5)" (identifier "pcVar7") (= "=") (cast_expression "(char *)FUN_00110000(param_1,lVar5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00110000(param_1,lVar5)" (identifier "FUN_00110000") (argument_list "(param_1,lVar5)" (( "(") (identifier "param_1") (, ",") (identifier "lVar5") () ")"))))) (; ";")) (if_statement "if (pcVar7 != (char *)0x0) {\n          sVar3 = strlen(pcVar7);\n          if ((param_3[4] == (uint)sVar3) &&\n             (iVar2 = strncmp(pcVar7,*(char **)(param_3 + 2),(long)(int)param_3[4]), iVar2 == 0)) {\n            return lVar5;\n          }\n        }" (if "if") (parenthesized_expression "(pcVar7 != (char *)0x0)" (( "(") (binary_expression "pcVar7 != (char *)0x0" (identifier "pcVar7") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          sVar3 = strlen(pcVar7);\n          if ((param_3[4] == (uint)sVar3) &&\n             (iVar2 = strncmp(pcVar7,*(char **)(param_3 + 2),(long)(int)param_3[4]), iVar2 == 0)) {\n            return lVar5;\n          }\n        }" ({ "{") (expression_statement "sVar3 = strlen(pcVar7);" (assignment_expression "sVar3 = strlen(pcVar7)" (identifier "sVar3") (= "=") (call_expression "strlen(pcVar7)" (identifier "strlen") (argument_list "(pcVar7)" (( "(") (identifier "pcVar7") () ")")))) (; ";")) (if_statement "if ((param_3[4] == (uint)sVar3) &&\n             (iVar2 = strncmp(pcVar7,*(char **)(param_3 + 2),(long)(int)param_3[4]), iVar2 == 0)) {\n            return lVar5;\n          }" (if "if") (parenthesized_expression "((param_3[4] == (uint)sVar3) &&\n             (iVar2 = strncmp(pcVar7,*(char **)(param_3 + 2),(long)(int)param_3[4]), iVar2 == 0))" (( "(") (binary_expression "(param_3[4] == (uint)sVar3) &&\n             (iVar2 = strncmp(pcVar7,*(char **)(param_3 + 2),(long)(int)param_3[4]), iVar2 == 0)" (parenthesized_expression "(param_3[4] == (uint)sVar3)" (( "(") (binary_expression "param_3[4] == (uint)sVar3" (subscript_expression "param_3[4]" (identifier "param_3") ([ "[") (number_literal "4") (] "]")) (== "==") (cast_expression "(uint)sVar3" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "sVar3"))) () ")")) (&& "&&") (parenthesized_expression "(iVar2 = strncmp(pcVar7,*(char **)(param_3 + 2),(long)(int)param_3[4]), iVar2 == 0)" (( "(") (comma_expression "iVar2 = strncmp(pcVar7,*(char **)(param_3 + 2),(long)(int)param_3[4]), iVar2 == 0" (assignment_expression "iVar2 = strncmp(pcVar7,*(char **)(param_3 + 2),(long)(int)param_3[4])" (identifier "iVar2") (= "=") (call_expression "strncmp(pcVar7,*(char **)(param_3 + 2),(long)(int)param_3[4])" (identifier "strncmp") (argument_list "(pcVar7,*(char **)(param_3 + 2),(long)(int)param_3[4])" (( "(") (identifier "pcVar7") (, ",") (pointer_expression "*(char **)(param_3 + 2)" (* "*") (cast_expression "(char **)(param_3 + 2)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_3 + 2)" (( "(") (binary_expression "param_3 + 2" (identifier "param_3") (+ "+") (number_literal "2")) () ")")))) (, ",") (cast_expression "(long)(int)param_3[4]" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (cast_expression "(int)param_3[4]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "param_3[4]" (identifier "param_3") ([ "[") (number_literal "4") (] "]")))) () ")")))) (, ",") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n            return lVar5;\n          }" ({ "{") (return_statement "return lVar5;" (return "return") (identifier "lVar5") (; ";")) (} "}"))) (} "}"))) (} "}"))) (} "}")))) (case_statement "case 0x18:\n    lVar5 = FUN_00110e80(param_1,param_2 + 0x1a0,*(undefined8 *)(param_3 + 2),param_3[4],0);\n    return lVar5;" (case "case") (number_literal "0x18") (: ":") (expression_statement "lVar5 = FUN_00110e80(param_1,param_2 + 0x1a0,*(undefined8 *)(param_3 + 2),param_3[4],0);" (assignment_expression "lVar5 = FUN_00110e80(param_1,param_2 + 0x1a0,*(undefined8 *)(param_3 + 2),param_3[4],0)" (identifier "lVar5") (= "=") (call_expression "FUN_00110e80(param_1,param_2 + 0x1a0,*(undefined8 *)(param_3 + 2),param_3[4],0)" (identifier "FUN_00110e80") (argument_list "(param_1,param_2 + 0x1a0,*(undefined8 *)(param_3 + 2),param_3[4],0)" (( "(") (identifier "param_1") (, ",") (binary_expression "param_2 + 0x1a0" (identifier "param_2") (+ "+") (number_literal "0x1a0")) (, ",") (pointer_expression "*(undefined8 *)(param_3 + 2)" (* "*") (cast_expression "(undefined8 *)(param_3 + 2)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 2)" (( "(") (binary_expression "param_3 + 2" (identifier "param_3") (+ "+") (number_literal "2")) () ")")))) (, ",") (subscript_expression "param_3[4]" (identifier "param_3") ([ "[") (number_literal "4") (] "]")) (, ",") (number_literal "0") () ")")))) (; ";")) (return_statement "return lVar5;" (return "return") (identifier "lVar5") (; ";"))) (case_statement "case 1:\n    lVar5 = FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 2),param_4,0);\n    if (lVar5 != 0) {\n      lVar5 = FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 4),lVar5,0);\n      return lVar5;\n    }\n    break;" (case "case") (number_literal "1") (: ":") (expression_statement "lVar5 = FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 2),param_4,0);" (assignment_expression "lVar5 = FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 2),param_4,0)" (identifier "lVar5") (= "=") (call_expression "FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 2),param_4,0)" (identifier "FUN_00110fa0") (argument_list "(param_1,param_2,*(undefined8 *)(param_3 + 2),param_4,0)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") (, ",") (pointer_expression "*(undefined8 *)(param_3 + 2)" (* "*") (cast_expression "(undefined8 *)(param_3 + 2)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 2)" (( "(") (binary_expression "param_3 + 2" (identifier "param_3") (+ "+") (number_literal "2")) () ")")))) (, ",") (identifier "param_4") (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (lVar5 != 0) {\n      lVar5 = FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 4),lVar5,0);\n      return lVar5;\n    }" (if "if") (parenthesized_expression "(lVar5 != 0)" (( "(") (binary_expression "lVar5 != 0" (identifier "lVar5") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      lVar5 = FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 4),lVar5,0);\n      return lVar5;\n    }" ({ "{") (expression_statement "lVar5 = FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 4),lVar5,0);" (assignment_expression "lVar5 = FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 4),lVar5,0)" (identifier "lVar5") (= "=") (call_expression "FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 4),lVar5,0)" (identifier "FUN_00110fa0") (argument_list "(param_1,param_2,*(undefined8 *)(param_3 + 4),lVar5,0)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") (, ",") (pointer_expression "*(undefined8 *)(param_3 + 4)" (* "*") (cast_expression "(undefined8 *)(param_3 + 4)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 4)" (( "(") (binary_expression "param_3 + 4" (identifier "param_3") (+ "+") (number_literal "4")) () ")")))) (, ",") (identifier "lVar5") (, ",") (number_literal "0") () ")")))) (; ";")) (return_statement "return lVar5;" (return "return") (identifier "lVar5") (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "default:\n    pcVar7 = (char *)dcgettext(0,"Unrecognized demangle component %d\n",5);\n    fprintf(stderr,pcVar7,(ulong)uVar1);\n    return 0;" (default "default") (: ":") (expression_statement "pcVar7 = (char *)dcgettext(0,"Unrecognized demangle component %d\n",5);" (assignment_expression "pcVar7 = (char *)dcgettext(0,"Unrecognized demangle component %d\n",5)" (identifier "pcVar7") (= "=") (cast_expression "(char *)dcgettext(0,"Unrecognized demangle component %d\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"Unrecognized demangle component %d\n",5)" (identifier "dcgettext") (argument_list "(0,"Unrecognized demangle component %d\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Unrecognized demangle component %d\n"" (" """) (string_content "Unrecognized demangle component %d") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "fprintf(stderr,pcVar7,(ulong)uVar1);" (call_expression "fprintf(stderr,pcVar7,(ulong)uVar1)" (identifier "fprintf") (argument_list "(stderr,pcVar7,(ulong)uVar1)" (( "(") (identifier "stderr") (, ",") (identifier "pcVar7") (, ",") (cast_expression "(ulong)uVar1" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar1")) () ")"))) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";"))) (case_statement "case 4:\n    pcVar7 = (char *)cplus_demangle_print(3,param_3,0x14,local_40);\n    if (pcVar7 != (char *)0x0) {\n      sVar3 = strlen(pcVar7);\n      lVar5 = FUN_00110e80(param_1,param_2 + 0x1a0,pcVar7,sVar3 & 0xffffffff,9);\n      free(pcVar7);\n      return lVar5;\n    }\n    pcVar7 = "Failed to print demangled template\n";\n    goto LAB_0011152c;" (case "case") (number_literal "4") (: ":") (expression_statement "pcVar7 = (char *)cplus_demangle_print(3,param_3,0x14,local_40);" (assignment_expression "pcVar7 = (char *)cplus_demangle_print(3,param_3,0x14,local_40)" (identifier "pcVar7") (= "=") (cast_expression "(char *)cplus_demangle_print(3,param_3,0x14,local_40)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "cplus_demangle_print(3,param_3,0x14,local_40)" (identifier "cplus_demangle_print") (argument_list "(3,param_3,0x14,local_40)" (( "(") (number_literal "3") (, ",") (identifier "param_3") (, ",") (number_literal "0x14") (, ",") (identifier "local_40") () ")"))))) (; ";")) (if_statement "if (pcVar7 != (char *)0x0) {\n      sVar3 = strlen(pcVar7);\n      lVar5 = FUN_00110e80(param_1,param_2 + 0x1a0,pcVar7,sVar3 & 0xffffffff,9);\n      free(pcVar7);\n      return lVar5;\n    }" (if "if") (parenthesized_expression "(pcVar7 != (char *)0x0)" (( "(") (binary_expression "pcVar7 != (char *)0x0" (identifier "pcVar7") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      sVar3 = strlen(pcVar7);\n      lVar5 = FUN_00110e80(param_1,param_2 + 0x1a0,pcVar7,sVar3 & 0xffffffff,9);\n      free(pcVar7);\n      return lVar5;\n    }" ({ "{") (expression_statement "sVar3 = strlen(pcVar7);" (assignment_expression "sVar3 = strlen(pcVar7)" (identifier "sVar3") (= "=") (call_expression "strlen(pcVar7)" (identifier "strlen") (argument_list "(pcVar7)" (( "(") (identifier "pcVar7") () ")")))) (; ";")) (expression_statement "lVar5 = FUN_00110e80(param_1,param_2 + 0x1a0,pcVar7,sVar3 & 0xffffffff,9);" (assignment_expression "lVar5 = FUN_00110e80(param_1,param_2 + 0x1a0,pcVar7,sVar3 & 0xffffffff,9)" (identifier "lVar5") (= "=") (call_expression "FUN_00110e80(param_1,param_2 + 0x1a0,pcVar7,sVar3 & 0xffffffff,9)" (identifier "FUN_00110e80") (argument_list "(param_1,param_2 + 0x1a0,pcVar7,sVar3 & 0xffffffff,9)" (( "(") (identifier "param_1") (, ",") (binary_expression "param_2 + 0x1a0" (identifier "param_2") (+ "+") (number_literal "0x1a0")) (, ",") (identifier "pcVar7") (, ",") (binary_expression "sVar3 & 0xffffffff" (identifier "sVar3") (& "&") (number_literal "0xffffffff")) (, ",") (number_literal "9") () ")")))) (; ";")) (expression_statement "free(pcVar7);" (call_expression "free(pcVar7)" (identifier "free") (argument_list "(pcVar7)" (( "(") (identifier "pcVar7") () ")"))) (; ";")) (return_statement "return lVar5;" (return "return") (identifier "lVar5") (; ";")) (} "}"))) (expression_statement "pcVar7 = "Failed to print demangled template\n";" (assignment_expression "pcVar7 = "Failed to print demangled template\n"" (identifier "pcVar7") (= "=") (string_literal ""Failed to print demangled template\n"" (" """) (string_content "Failed to print demangled template") (escape_sequence "\n") (" """))) (; ";")) (goto_statement "goto LAB_0011152c;" (goto "goto") (statement_identifier "LAB_0011152c") (; ";"))) (case_statement "case 0x19:" (case "case") (number_literal "0x19") (: ":")) (case_statement "case 0x1a:" (case "case") (number_literal "0x1a") (: ":")) (case_statement "case 0x1b:" (case "case") (number_literal "0x1b") (: ":")) (case_statement "case 0x22:" (case "case") (number_literal "0x22") (: ":")) (case_statement "case 0x23:\n    lVar5 = FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 2),0,0);\n    if (lVar5 != 0) {\n      switch(*param_3) {\n      case 0x19:\n        return lVar5;\n      case 0x1a:\n        lVar5 = FUN_0010f920(param_1,lVar5);\n        return lVar5;\n      case 0x1b:\n        lVar5 = FUN_0010f8f0(param_1,lVar5);\n        return lVar5;\n      default:\n                    \n        abort();\n      case 0x22:\n        lVar5 = FUN_0010f5f0(param_1,lVar5);\n        return lVar5;\n      case 0x23:\n        lVar5 = FUN_0010f6a0(param_1,lVar5);\n        return lVar5;\n      }\n    }\n    break;" (case "case") (number_literal "0x23") (: ":") (expression_statement "lVar5 = FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 2),0,0);" (assignment_expression "lVar5 = FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 2),0,0)" (identifier "lVar5") (= "=") (call_expression "FUN_00110fa0(param_1,param_2,*(undefined8 *)(param_3 + 2),0,0)" (identifier "FUN_00110fa0") (argument_list "(param_1,param_2,*(undefined8 *)(param_3 + 2),0,0)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") (, ",") (pointer_expression "*(undefined8 *)(param_3 + 2)" (* "*") (cast_expression "(undefined8 *)(param_3 + 2)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 2)" (( "(") (binary_expression "param_3 + 2" (identifier "param_3") (+ "+") (number_literal "2")) () ")")))) (, ",") (number_literal "0") (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (lVar5 != 0) {\n      switch(*param_3) {\n      case 0x19:\n        return lVar5;\n      case 0x1a:\n        lVar5 = FUN_0010f920(param_1,lVar5);\n        return lVar5;\n      case 0x1b:\n        lVar5 = FUN_0010f8f0(param_1,lVar5);\n        return lVar5;\n      default:\n                    \n        abort();\n      case 0x22:\n        lVar5 = FUN_0010f5f0(param_1,lVar5);\n        return lVar5;\n      case 0x23:\n        lVar5 = FUN_0010f6a0(param_1,lVar5);\n        return lVar5;\n      }\n    }" (if "if") (parenthesized_expression "(lVar5 != 0)" (( "(") (binary_expression "lVar5 != 0" (identifier "lVar5") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      switch(*param_3) {\n      case 0x19:\n        return lVar5;\n      case 0x1a:\n        lVar5 = FUN_0010f920(param_1,lVar5);\n        return lVar5;\n      case 0x1b:\n        lVar5 = FUN_0010f8f0(param_1,lVar5);\n        return lVar5;\n      default:\n                    \n        abort();\n      case 0x22:\n        lVar5 = FUN_0010f5f0(param_1,lVar5);\n        return lVar5;\n      case 0x23:\n        lVar5 = FUN_0010f6a0(param_1,lVar5);\n        return lVar5;\n      }\n    }" ({ "{") (switch_statement "switch(*param_3) {\n      case 0x19:\n        return lVar5;\n      case 0x1a:\n        lVar5 = FUN_0010f920(param_1,lVar5);\n        return lVar5;\n      case 0x1b:\n        lVar5 = FUN_0010f8f0(param_1,lVar5);\n        return lVar5;\n      default:\n                    \n        abort();\n      case 0x22:\n        lVar5 = FUN_0010f5f0(param_1,lVar5);\n        return lVar5;\n      case 0x23:\n        lVar5 = FUN_0010f6a0(param_1,lVar5);\n        return lVar5;\n      }" (switch "switch") (parenthesized_expression "(*param_3)" (( "(") (pointer_expression "*param_3" (* "*") (identifier "param_3")) () ")")) (compound_statement "{\n      case 0x19:\n        return lVar5;\n      case 0x1a:\n        lVar5 = FUN_0010f920(param_1,lVar5);\n        return lVar5;\n      case 0x1b:\n        lVar5 = FUN_0010f8f0(param_1,lVar5);\n        return lVar5;\n      default:\n                    \n        abort();\n      case 0x22:\n        lVar5 = FUN_0010f5f0(param_1,lVar5);\n        return lVar5;\n      case 0x23:\n        lVar5 = FUN_0010f6a0(param_1,lVar5);\n        return lVar5;\n      }" ({ "{") (case_statement "case 0x19:\n        return lVar5;" (case "case") (number_literal "0x19") (: ":") (return_statement "return lVar5;" (return "return") (identifier "lVar5") (; ";"))) (case_statement "case 0x1a:\n        lVar5 = FUN_0010f920(param_1,lVar5);\n        return lVar5;" (case "case") (number_literal "0x1a") (: ":") (expression_statement "lVar5 = FUN_0010f920(param_1,lVar5);" (assignment_expression "lVar5 = FUN_0010f920(param_1,lVar5)" (identifier "lVar5") (= "=") (call_expression "FUN_0010f920(param_1,lVar5)" (identifier "FUN_0010f920") (argument_list "(param_1,lVar5)" (( "(") (identifier "param_1") (, ",") (identifier "lVar5") () ")")))) (; ";")) (return_statement "return lVar5;" (return "return") (identifier "lVar5") (; ";"))) (case_statement "case 0x1b:\n        lVar5 = FUN_0010f8f0(param_1,lVar5);\n        return lVar5;" (case "case") (number_literal "0x1b") (: ":") (expression_statement "lVar5 = FUN_0010f8f0(param_1,lVar5);" (assignment_expression "lVar5 = FUN_0010f8f0(param_1,lVar5)" (identifier "lVar5") (= "=") (call_expression "FUN_0010f8f0(param_1,lVar5)" (identifier "FUN_0010f8f0") (argument_list "(param_1,lVar5)" (( "(") (identifier "param_1") (, ",") (identifier "lVar5") () ")")))) (; ";")) (return_statement "return lVar5;" (return "return") (identifier "lVar5") (; ";"))) (case_statement "default:\n                    \n        abort();" (default "default") (: ":") (expression_statement "abort();" (call_expression "abort()" (identifier "abort") (argument_list "()" (( "(") () ")"))) (; ";"))) (case_statement "case 0x22:\n        lVar5 = FUN_0010f5f0(param_1,lVar5);\n        return lVar5;" (case "case") (number_literal "0x22") (: ":") (expression_statement "lVar5 = FUN_0010f5f0(param_1,lVar5);" (assignment_expression "lVar5 = FUN_0010f5f0(param_1,lVar5)" (identifier "lVar5") (= "=") (call_expression "FUN_0010f5f0(param_1,lVar5)" (identifier "FUN_0010f5f0") (argument_list "(param_1,lVar5)" (( "(") (identifier "param_1") (, ",") (identifier "lVar5") () ")")))) (; ";")) (return_statement "return lVar5;" (return "return") (identifier "lVar5") (; ";"))) (case_statement "case 0x23:\n        lVar5 = FUN_0010f6a0(param_1,lVar5);\n        return lVar5;" (case "case") (number_literal "0x23") (: ":") (expression_statement "lVar5 = FUN_0010f6a0(param_1,lVar5);" (assignment_expression "lVar5 = FUN_0010f6a0(param_1,lVar5)" (identifier "lVar5") (= "=") (call_expression "FUN_0010f6a0(param_1,lVar5)" (identifier "FUN_0010f6a0") (argument_list "(param_1,lVar5)" (( "(") (identifier "param_1") (, ",") (identifier "lVar5") () ")")))) (; ";")) (return_statement "return lVar5;" (return "return") (identifier "lVar5") (; ";"))) (} "}"))) (} "}"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x27:\n    __s1 = (byte *)cplus_demangle_print(3,param_3,0x14,local_40);\n    pcVar7 = "Couldn\'t get demangled builtin type\n";\n    bVar10 = false;\n    bVar12 = __s1 == (byte *)0x0;\n    if (!bVar12) {\n      lVar5 = 0xc;\n      pbVar8 = __s1;\n      pbVar9 = (byte *)0x122f71;\n      do {\n        if (lVar5 == 0) break;\n        lVar5 = lVar5 + -1;\n        bVar10 = *pbVar8 < *pbVar9;\n        bVar12 = *pbVar8 == *pbVar9;\n        pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n      } while (bVar12);\n      bVar11 = false;\n      bVar10 = (!bVar10 && !bVar12) == bVar10;\n      if (!bVar10) {\n        lVar5 = 5;\n        pbVar8 = __s1;\n        pbVar9 = &DAT_0012307b;\n        do {\n          if (lVar5 == 0) break;\n          lVar5 = lVar5 + -1;\n          bVar11 = *pbVar8 < *pbVar9;\n          bVar10 = *pbVar8 == *pbVar9;\n          pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar12 = false;\n        bVar10 = (!bVar11 && !bVar10) == bVar11;\n        if (bVar10) {\n          lVar5 = FUN_0010f4d0(param_1,1);\n          goto LAB_00111512;\n        }\n        lVar5 = 5;\n        pbVar8 = __s1;\n        pbVar9 = (byte *)0x122f78;\n        do {\n          if (lVar5 == 0) break;\n          lVar5 = lVar5 + -1;\n          bVar12 = *pbVar8 < *pbVar9;\n          bVar10 = *pbVar8 == *pbVar9;\n          pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar11 = false;\n        bVar10 = (!bVar12 && !bVar10) == bVar12;\n        if (!bVar10) {\n          lVar5 = 7;\n          pbVar8 = __s1;\n          pbVar9 = (byte *)0x122fb3;\n          do {\n            if (lVar5 == 0) break;\n            lVar5 = lVar5 + -1;\n            bVar11 = *pbVar8 < *pbVar9;\n            bVar10 = *pbVar8 == *pbVar9;\n            pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n          } while (bVar10);\n          bVar12 = false;\n          bVar10 = (!bVar11 && !bVar10) == bVar11;\n          if (!bVar10) {\n            lVar5 = 0xc;\n            pbVar8 = __s1;\n            pbVar9 = (byte *)"long double";\n            do {\n              if (lVar5 == 0) break;\n              lVar5 = lVar5 + -1;\n              bVar12 = *pbVar8 < *pbVar9;\n              bVar10 = *pbVar8 == *pbVar9;\n              pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n            } while (bVar10);\n            bVar11 = false;\n            bVar10 = (!bVar12 && !bVar10) == bVar12;\n            if (!bVar10) {\n              lVar5 = 6;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"float";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,4);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xb;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"__float128";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,0x10);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xe;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"unsigned char";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4a0(param_1,1,1);\n                goto LAB_00111512;\n              }\n              lVar5 = 4;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)0x1230d2;\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\nLAB_00111631:\n                lVar5 = FUN_0010f4a0(param_1,4,0);\n              }\n              else {\n                lVar5 = 0xd;\n                pbVar8 = __s1;\n                pbVar9 = (byte *)0x1230c9;\n                do {\n                  if (lVar5 == 0) break;\n                  lVar5 = lVar5 + -1;\n                  bVar11 = *pbVar8 < *pbVar9;\n                  bVar10 = *pbVar8 == *pbVar9;\n                  pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar10);\n                bVar12 = false;\n                bVar10 = (!bVar11 && !bVar10) == bVar11;\n                if (!bVar10) {\n                  lVar5 = 5;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)0x122f9e;\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar12 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar11 = false;\n                  bVar10 = (!bVar12 && !bVar10) == bVar12;\n                  if (bVar10) goto LAB_00111631;\n                  lVar5 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)"unsigned long";\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar11 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  if ((!bVar11 && !bVar10) != bVar11) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f490(param_1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }\n                lVar5 = FUN_0010f4a0(param_1,4,1);\n              }\n              goto LAB_00111512;\n            }\n          }\n          lVar5 = FUN_0010f4c0(param_1,8);\n          goto LAB_00111512;\n        }\n      }\n      lVar5 = FUN_0010f4a0(param_1,1,0);\nLAB_00111512:\n      free(__s1);\n      return lVar5;\n    }\nLAB_0011152c:\n    pcVar7 = (char *)dcgettext(0,pcVar7,5);\n    fprintf(stderr,pcVar7);\n    break;" (case "case") (number_literal "0x27") (: ":") (expression_statement "__s1 = (byte *)cplus_demangle_print(3,param_3,0x14,local_40);" (assignment_expression "__s1 = (byte *)cplus_demangle_print(3,param_3,0x14,local_40)" (identifier "__s1") (= "=") (cast_expression "(byte *)cplus_demangle_print(3,param_3,0x14,local_40)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "cplus_demangle_print(3,param_3,0x14,local_40)" (identifier "cplus_demangle_print") (argument_list "(3,param_3,0x14,local_40)" (( "(") (number_literal "3") (, ",") (identifier "param_3") (, ",") (number_literal "0x14") (, ",") (identifier "local_40") () ")"))))) (; ";")) (expression_statement "pcVar7 = "Couldn\'t get demangled builtin type\n";" (assignment_expression "pcVar7 = "Couldn\'t get demangled builtin type\n"" (identifier "pcVar7") (= "=") (string_literal ""Couldn\'t get demangled builtin type\n"" (" """) (string_content "Couldn") (escape_sequence "\'") (string_content "t get demangled builtin type") (escape_sequence "\n") (" """))) (; ";")) (expression_statement "bVar10 = false;" (assignment_expression "bVar10 = false" (identifier "bVar10") (= "=") (false "false")) (; ";")) (expression_statement "bVar12 = __s1 == (byte *)0x0;" (assignment_expression "bVar12 = __s1 == (byte *)0x0" (identifier "bVar12") (= "=") (binary_expression "__s1 == (byte *)0x0" (identifier "__s1") (== "==") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) (; ";")) (if_statement "if (!bVar12) {\n      lVar5 = 0xc;\n      pbVar8 = __s1;\n      pbVar9 = (byte *)0x122f71;\n      do {\n        if (lVar5 == 0) break;\n        lVar5 = lVar5 + -1;\n        bVar10 = *pbVar8 < *pbVar9;\n        bVar12 = *pbVar8 == *pbVar9;\n        pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n      } while (bVar12);\n      bVar11 = false;\n      bVar10 = (!bVar10 && !bVar12) == bVar10;\n      if (!bVar10) {\n        lVar5 = 5;\n        pbVar8 = __s1;\n        pbVar9 = &DAT_0012307b;\n        do {\n          if (lVar5 == 0) break;\n          lVar5 = lVar5 + -1;\n          bVar11 = *pbVar8 < *pbVar9;\n          bVar10 = *pbVar8 == *pbVar9;\n          pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar12 = false;\n        bVar10 = (!bVar11 && !bVar10) == bVar11;\n        if (bVar10) {\n          lVar5 = FUN_0010f4d0(param_1,1);\n          goto LAB_00111512;\n        }\n        lVar5 = 5;\n        pbVar8 = __s1;\n        pbVar9 = (byte *)0x122f78;\n        do {\n          if (lVar5 == 0) break;\n          lVar5 = lVar5 + -1;\n          bVar12 = *pbVar8 < *pbVar9;\n          bVar10 = *pbVar8 == *pbVar9;\n          pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar11 = false;\n        bVar10 = (!bVar12 && !bVar10) == bVar12;\n        if (!bVar10) {\n          lVar5 = 7;\n          pbVar8 = __s1;\n          pbVar9 = (byte *)0x122fb3;\n          do {\n            if (lVar5 == 0) break;\n            lVar5 = lVar5 + -1;\n            bVar11 = *pbVar8 < *pbVar9;\n            bVar10 = *pbVar8 == *pbVar9;\n            pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n          } while (bVar10);\n          bVar12 = false;\n          bVar10 = (!bVar11 && !bVar10) == bVar11;\n          if (!bVar10) {\n            lVar5 = 0xc;\n            pbVar8 = __s1;\n            pbVar9 = (byte *)"long double";\n            do {\n              if (lVar5 == 0) break;\n              lVar5 = lVar5 + -1;\n              bVar12 = *pbVar8 < *pbVar9;\n              bVar10 = *pbVar8 == *pbVar9;\n              pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n            } while (bVar10);\n            bVar11 = false;\n            bVar10 = (!bVar12 && !bVar10) == bVar12;\n            if (!bVar10) {\n              lVar5 = 6;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"float";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,4);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xb;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"__float128";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,0x10);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xe;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"unsigned char";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4a0(param_1,1,1);\n                goto LAB_00111512;\n              }\n              lVar5 = 4;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)0x1230d2;\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\nLAB_00111631:\n                lVar5 = FUN_0010f4a0(param_1,4,0);\n              }\n              else {\n                lVar5 = 0xd;\n                pbVar8 = __s1;\n                pbVar9 = (byte *)0x1230c9;\n                do {\n                  if (lVar5 == 0) break;\n                  lVar5 = lVar5 + -1;\n                  bVar11 = *pbVar8 < *pbVar9;\n                  bVar10 = *pbVar8 == *pbVar9;\n                  pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar10);\n                bVar12 = false;\n                bVar10 = (!bVar11 && !bVar10) == bVar11;\n                if (!bVar10) {\n                  lVar5 = 5;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)0x122f9e;\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar12 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar11 = false;\n                  bVar10 = (!bVar12 && !bVar10) == bVar12;\n                  if (bVar10) goto LAB_00111631;\n                  lVar5 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)"unsigned long";\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar11 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  if ((!bVar11 && !bVar10) != bVar11) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f490(param_1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }\n                lVar5 = FUN_0010f4a0(param_1,4,1);\n              }\n              goto LAB_00111512;\n            }\n          }\n          lVar5 = FUN_0010f4c0(param_1,8);\n          goto LAB_00111512;\n        }\n      }\n      lVar5 = FUN_0010f4a0(param_1,1,0);\nLAB_00111512:\n      free(__s1);\n      return lVar5;\n    }" (if "if") (parenthesized_expression "(!bVar12)" (( "(") (unary_expression "!bVar12" (! "!") (identifier "bVar12")) () ")")) (compound_statement "{\n      lVar5 = 0xc;\n      pbVar8 = __s1;\n      pbVar9 = (byte *)0x122f71;\n      do {\n        if (lVar5 == 0) break;\n        lVar5 = lVar5 + -1;\n        bVar10 = *pbVar8 < *pbVar9;\n        bVar12 = *pbVar8 == *pbVar9;\n        pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n      } while (bVar12);\n      bVar11 = false;\n      bVar10 = (!bVar10 && !bVar12) == bVar10;\n      if (!bVar10) {\n        lVar5 = 5;\n        pbVar8 = __s1;\n        pbVar9 = &DAT_0012307b;\n        do {\n          if (lVar5 == 0) break;\n          lVar5 = lVar5 + -1;\n          bVar11 = *pbVar8 < *pbVar9;\n          bVar10 = *pbVar8 == *pbVar9;\n          pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar12 = false;\n        bVar10 = (!bVar11 && !bVar10) == bVar11;\n        if (bVar10) {\n          lVar5 = FUN_0010f4d0(param_1,1);\n          goto LAB_00111512;\n        }\n        lVar5 = 5;\n        pbVar8 = __s1;\n        pbVar9 = (byte *)0x122f78;\n        do {\n          if (lVar5 == 0) break;\n          lVar5 = lVar5 + -1;\n          bVar12 = *pbVar8 < *pbVar9;\n          bVar10 = *pbVar8 == *pbVar9;\n          pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar11 = false;\n        bVar10 = (!bVar12 && !bVar10) == bVar12;\n        if (!bVar10) {\n          lVar5 = 7;\n          pbVar8 = __s1;\n          pbVar9 = (byte *)0x122fb3;\n          do {\n            if (lVar5 == 0) break;\n            lVar5 = lVar5 + -1;\n            bVar11 = *pbVar8 < *pbVar9;\n            bVar10 = *pbVar8 == *pbVar9;\n            pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n          } while (bVar10);\n          bVar12 = false;\n          bVar10 = (!bVar11 && !bVar10) == bVar11;\n          if (!bVar10) {\n            lVar5 = 0xc;\n            pbVar8 = __s1;\n            pbVar9 = (byte *)"long double";\n            do {\n              if (lVar5 == 0) break;\n              lVar5 = lVar5 + -1;\n              bVar12 = *pbVar8 < *pbVar9;\n              bVar10 = *pbVar8 == *pbVar9;\n              pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n            } while (bVar10);\n            bVar11 = false;\n            bVar10 = (!bVar12 && !bVar10) == bVar12;\n            if (!bVar10) {\n              lVar5 = 6;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"float";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,4);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xb;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"__float128";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,0x10);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xe;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"unsigned char";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4a0(param_1,1,1);\n                goto LAB_00111512;\n              }\n              lVar5 = 4;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)0x1230d2;\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\nLAB_00111631:\n                lVar5 = FUN_0010f4a0(param_1,4,0);\n              }\n              else {\n                lVar5 = 0xd;\n                pbVar8 = __s1;\n                pbVar9 = (byte *)0x1230c9;\n                do {\n                  if (lVar5 == 0) break;\n                  lVar5 = lVar5 + -1;\n                  bVar11 = *pbVar8 < *pbVar9;\n                  bVar10 = *pbVar8 == *pbVar9;\n                  pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar10);\n                bVar12 = false;\n                bVar10 = (!bVar11 && !bVar10) == bVar11;\n                if (!bVar10) {\n                  lVar5 = 5;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)0x122f9e;\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar12 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar11 = false;\n                  bVar10 = (!bVar12 && !bVar10) == bVar12;\n                  if (bVar10) goto LAB_00111631;\n                  lVar5 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)"unsigned long";\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar11 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  if ((!bVar11 && !bVar10) != bVar11) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f490(param_1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }\n                lVar5 = FUN_0010f4a0(param_1,4,1);\n              }\n              goto LAB_00111512;\n            }\n          }\n          lVar5 = FUN_0010f4c0(param_1,8);\n          goto LAB_00111512;\n        }\n      }\n      lVar5 = FUN_0010f4a0(param_1,1,0);\nLAB_00111512:\n      free(__s1);\n      return lVar5;\n    }" ({ "{") (expression_statement "lVar5 = 0xc;" (assignment_expression "lVar5 = 0xc" (identifier "lVar5") (= "=") (number_literal "0xc")) (; ";")) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __s1" (identifier "pbVar8") (= "=") (identifier "__s1")) (; ";")) (expression_statement "pbVar9 = (byte *)0x122f71;" (assignment_expression "pbVar9 = (byte *)0x122f71" (identifier "pbVar9") (= "=") (cast_expression "(byte *)0x122f71" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x122f71"))) (; ";")) (do_statement "do {\n        if (lVar5 == 0) break;\n        lVar5 = lVar5 + -1;\n        bVar10 = *pbVar8 < *pbVar9;\n        bVar12 = *pbVar8 == *pbVar9;\n        pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n      } while (bVar12);" (do "do") (compound_statement "{\n        if (lVar5 == 0) break;\n        lVar5 = lVar5 + -1;\n        bVar10 = *pbVar8 < *pbVar9;\n        bVar12 = *pbVar8 == *pbVar9;\n        pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n      }" ({ "{") (if_statement "if (lVar5 == 0) break;" (if "if") (parenthesized_expression "(lVar5 == 0)" (( "(") (binary_expression "lVar5 == 0" (identifier "lVar5") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar5 = lVar5 + -1;" (assignment_expression "lVar5 = lVar5 + -1" (identifier "lVar5") (= "=") (binary_expression "lVar5 + -1" (identifier "lVar5") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar10 = *pbVar8 < *pbVar9;" (assignment_expression "bVar10 = *pbVar8 < *pbVar9" (identifier "bVar10") (= "=") (binary_expression "*pbVar8 < *pbVar9" (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")) (< "<") (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")))) (; ";")) (expression_statement "bVar12 = *pbVar8 == *pbVar9;" (assignment_expression "bVar12 = *pbVar8 == *pbVar9" (identifier "bVar12") (= "=") (binary_expression "*pbVar8 == *pbVar9" (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")) (== "==") (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")))) (; ";")) (expression_statement "pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1" (identifier "pbVar8") (= "=") (binary_expression "pbVar8 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar8 + (ulong)bVar13 * -2" (identifier "pbVar8") (+ "+") (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar13")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1" (identifier "pbVar9") (= "=") (binary_expression "pbVar9 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar13 * -2" (identifier "pbVar9") (+ "+") (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar13")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar12)" (( "(") (identifier "bVar12") () ")")) (; ";")) (expression_statement "bVar11 = false;" (assignment_expression "bVar11 = false" (identifier "bVar11") (= "=") (false "false")) (; ";")) (expression_statement "bVar10 = (!bVar10 && !bVar12) == bVar10;" (assignment_expression "bVar10 = (!bVar10 && !bVar12) == bVar10" (identifier "bVar10") (= "=") (binary_expression "(!bVar10 && !bVar12) == bVar10" (parenthesized_expression "(!bVar10 && !bVar12)" (( "(") (binary_expression "!bVar10 && !bVar12" (unary_expression "!bVar10" (! "!") (identifier "bVar10")) (&& "&&") (unary_expression "!bVar12" (! "!") (identifier "bVar12"))) () ")")) (== "==") (identifier "bVar10"))) (; ";")) (if_statement "if (!bVar10) {\n        lVar5 = 5;\n        pbVar8 = __s1;\n        pbVar9 = &DAT_0012307b;\n        do {\n          if (lVar5 == 0) break;\n          lVar5 = lVar5 + -1;\n          bVar11 = *pbVar8 < *pbVar9;\n          bVar10 = *pbVar8 == *pbVar9;\n          pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar12 = false;\n        bVar10 = (!bVar11 && !bVar10) == bVar11;\n        if (bVar10) {\n          lVar5 = FUN_0010f4d0(param_1,1);\n          goto LAB_00111512;\n        }\n        lVar5 = 5;\n        pbVar8 = __s1;\n        pbVar9 = (byte *)0x122f78;\n        do {\n          if (lVar5 == 0) break;\n          lVar5 = lVar5 + -1;\n          bVar12 = *pbVar8 < *pbVar9;\n          bVar10 = *pbVar8 == *pbVar9;\n          pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar11 = false;\n        bVar10 = (!bVar12 && !bVar10) == bVar12;\n        if (!bVar10) {\n          lVar5 = 7;\n          pbVar8 = __s1;\n          pbVar9 = (byte *)0x122fb3;\n          do {\n            if (lVar5 == 0) break;\n            lVar5 = lVar5 + -1;\n            bVar11 = *pbVar8 < *pbVar9;\n            bVar10 = *pbVar8 == *pbVar9;\n            pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n          } while (bVar10);\n          bVar12 = false;\n          bVar10 = (!bVar11 && !bVar10) == bVar11;\n          if (!bVar10) {\n            lVar5 = 0xc;\n            pbVar8 = __s1;\n            pbVar9 = (byte *)"long double";\n            do {\n              if (lVar5 == 0) break;\n              lVar5 = lVar5 + -1;\n              bVar12 = *pbVar8 < *pbVar9;\n              bVar10 = *pbVar8 == *pbVar9;\n              pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n            } while (bVar10);\n            bVar11 = false;\n            bVar10 = (!bVar12 && !bVar10) == bVar12;\n            if (!bVar10) {\n              lVar5 = 6;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"float";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,4);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xb;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"__float128";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,0x10);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xe;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"unsigned char";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4a0(param_1,1,1);\n                goto LAB_00111512;\n              }\n              lVar5 = 4;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)0x1230d2;\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\nLAB_00111631:\n                lVar5 = FUN_0010f4a0(param_1,4,0);\n              }\n              else {\n                lVar5 = 0xd;\n                pbVar8 = __s1;\n                pbVar9 = (byte *)0x1230c9;\n                do {\n                  if (lVar5 == 0) break;\n                  lVar5 = lVar5 + -1;\n                  bVar11 = *pbVar8 < *pbVar9;\n                  bVar10 = *pbVar8 == *pbVar9;\n                  pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar10);\n                bVar12 = false;\n                bVar10 = (!bVar11 && !bVar10) == bVar11;\n                if (!bVar10) {\n                  lVar5 = 5;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)0x122f9e;\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar12 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar11 = false;\n                  bVar10 = (!bVar12 && !bVar10) == bVar12;\n                  if (bVar10) goto LAB_00111631;\n                  lVar5 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)"unsigned long";\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar11 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  if ((!bVar11 && !bVar10) != bVar11) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f490(param_1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }\n                lVar5 = FUN_0010f4a0(param_1,4,1);\n              }\n              goto LAB_00111512;\n            }\n          }\n          lVar5 = FUN_0010f4c0(param_1,8);\n          goto LAB_00111512;\n        }\n      }" (if "if") (parenthesized_expression "(!bVar10)" (( "(") (unary_expression "!bVar10" (! "!") (identifier "bVar10")) () ")")) (compound_statement "{\n        lVar5 = 5;\n        pbVar8 = __s1;\n        pbVar9 = &DAT_0012307b;\n        do {\n          if (lVar5 == 0) break;\n          lVar5 = lVar5 + -1;\n          bVar11 = *pbVar8 < *pbVar9;\n          bVar10 = *pbVar8 == *pbVar9;\n          pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar12 = false;\n        bVar10 = (!bVar11 && !bVar10) == bVar11;\n        if (bVar10) {\n          lVar5 = FUN_0010f4d0(param_1,1);\n          goto LAB_00111512;\n        }\n        lVar5 = 5;\n        pbVar8 = __s1;\n        pbVar9 = (byte *)0x122f78;\n        do {\n          if (lVar5 == 0) break;\n          lVar5 = lVar5 + -1;\n          bVar12 = *pbVar8 < *pbVar9;\n          bVar10 = *pbVar8 == *pbVar9;\n          pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n        } while (bVar10);\n        bVar11 = false;\n        bVar10 = (!bVar12 && !bVar10) == bVar12;\n        if (!bVar10) {\n          lVar5 = 7;\n          pbVar8 = __s1;\n          pbVar9 = (byte *)0x122fb3;\n          do {\n            if (lVar5 == 0) break;\n            lVar5 = lVar5 + -1;\n            bVar11 = *pbVar8 < *pbVar9;\n            bVar10 = *pbVar8 == *pbVar9;\n            pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n          } while (bVar10);\n          bVar12 = false;\n          bVar10 = (!bVar11 && !bVar10) == bVar11;\n          if (!bVar10) {\n            lVar5 = 0xc;\n            pbVar8 = __s1;\n            pbVar9 = (byte *)"long double";\n            do {\n              if (lVar5 == 0) break;\n              lVar5 = lVar5 + -1;\n              bVar12 = *pbVar8 < *pbVar9;\n              bVar10 = *pbVar8 == *pbVar9;\n              pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n            } while (bVar10);\n            bVar11 = false;\n            bVar10 = (!bVar12 && !bVar10) == bVar12;\n            if (!bVar10) {\n              lVar5 = 6;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"float";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,4);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xb;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"__float128";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,0x10);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xe;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"unsigned char";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4a0(param_1,1,1);\n                goto LAB_00111512;\n              }\n              lVar5 = 4;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)0x1230d2;\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\nLAB_00111631:\n                lVar5 = FUN_0010f4a0(param_1,4,0);\n              }\n              else {\n                lVar5 = 0xd;\n                pbVar8 = __s1;\n                pbVar9 = (byte *)0x1230c9;\n                do {\n                  if (lVar5 == 0) break;\n                  lVar5 = lVar5 + -1;\n                  bVar11 = *pbVar8 < *pbVar9;\n                  bVar10 = *pbVar8 == *pbVar9;\n                  pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar10);\n                bVar12 = false;\n                bVar10 = (!bVar11 && !bVar10) == bVar11;\n                if (!bVar10) {\n                  lVar5 = 5;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)0x122f9e;\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar12 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar11 = false;\n                  bVar10 = (!bVar12 && !bVar10) == bVar12;\n                  if (bVar10) goto LAB_00111631;\n                  lVar5 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)"unsigned long";\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar11 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  if ((!bVar11 && !bVar10) != bVar11) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f490(param_1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }\n                lVar5 = FUN_0010f4a0(param_1,4,1);\n              }\n              goto LAB_00111512;\n            }\n          }\n          lVar5 = FUN_0010f4c0(param_1,8);\n          goto LAB_00111512;\n        }\n      }" ({ "{") (expression_statement "lVar5 = 5;" (assignment_expression "lVar5 = 5" (identifier "lVar5") (= "=") (number_literal "5")) (; ";")) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __s1" (identifier "pbVar8") (= "=") (identifier "__s1")) (; ";")) (expression_statement "pbVar9 = &DAT_0012307b;" (assignment_expression "pbVar9 = &DAT_0012307b" (identifier "pbVar9") (= "=") (pointer_expression "&DAT_0012307b" (& "&") (identifier "DAT_0012307b"))) (; ";")) (do_statement "do {\n          if (lVar5 == 0) break;\n          lVar5 = lVar5 + -1;\n          bVar11 = *pbVar8 < *pbVar9;\n          bVar10 = *pbVar8 == *pbVar9;\n          pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n        } while (bVar10);" (do "do") (compound_statement "{\n          if (lVar5 == 0) break;\n          lVar5 = lVar5 + -1;\n          bVar11 = *pbVar8 < *pbVar9;\n          bVar10 = *pbVar8 == *pbVar9;\n          pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n        }" ({ "{") (if_statement "if (lVar5 == 0) break;" (if "if") (parenthesized_expression "(lVar5 == 0)" (( "(") (binary_expression "lVar5 == 0" (identifier "lVar5") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar5 = lVar5 + -1;" (assignment_expression "lVar5 = lVar5 + -1" (identifier "lVar5") (= "=") (binary_expression "lVar5 + -1" (identifier "lVar5") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar11 = *pbVar8 < *pbVar9;" (assignment_expression "bVar11 = *pbVar8 < *pbVar9" (identifier "bVar11") (= "=") (binary_expression "*pbVar8 < *pbVar9" (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")) (< "<") (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")))) (; ";")) (expression_statement "bVar10 = *pbVar8 == *pbVar9;" (assignment_expression "bVar10 = *pbVar8 == *pbVar9" (identifier "bVar10") (= "=") (binary_expression "*pbVar8 == *pbVar9" (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")) (== "==") (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")))) (; ";")) (expression_statement "pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1" (identifier "pbVar8") (= "=") (binary_expression "pbVar8 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar8 + (ulong)bVar13 * -2" (identifier "pbVar8") (+ "+") (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar13")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1" (identifier "pbVar9") (= "=") (binary_expression "pbVar9 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar13 * -2" (identifier "pbVar9") (+ "+") (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar13")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar10)" (( "(") (identifier "bVar10") () ")")) (; ";")) (expression_statement "bVar12 = false;" (assignment_expression "bVar12 = false" (identifier "bVar12") (= "=") (false "false")) (; ";")) (expression_statement "bVar10 = (!bVar11 && !bVar10) == bVar11;" (assignment_expression "bVar10 = (!bVar11 && !bVar10) == bVar11" (identifier "bVar10") (= "=") (binary_expression "(!bVar11 && !bVar10) == bVar11" (parenthesized_expression "(!bVar11 && !bVar10)" (( "(") (binary_expression "!bVar11 && !bVar10" (unary_expression "!bVar11" (! "!") (identifier "bVar11")) (&& "&&") (unary_expression "!bVar10" (! "!") (identifier "bVar10"))) () ")")) (== "==") (identifier "bVar11"))) (; ";")) (if_statement "if (bVar10) {\n          lVar5 = FUN_0010f4d0(param_1,1);\n          goto LAB_00111512;\n        }" (if "if") (parenthesized_expression "(bVar10)" (( "(") (identifier "bVar10") () ")")) (compound_statement "{\n          lVar5 = FUN_0010f4d0(param_1,1);\n          goto LAB_00111512;\n        }" ({ "{") (expression_statement "lVar5 = FUN_0010f4d0(param_1,1);" (assignment_expression "lVar5 = FUN_0010f4d0(param_1,1)" (identifier "lVar5") (= "=") (call_expression "FUN_0010f4d0(param_1,1)" (identifier "FUN_0010f4d0") (argument_list "(param_1,1)" (( "(") (identifier "param_1") (, ",") (number_literal "1") () ")")))) (; ";")) (goto_statement "goto LAB_00111512;" (goto "goto") (statement_identifier "LAB_00111512") (; ";")) (} "}"))) (expression_statement "lVar5 = 5;" (assignment_expression "lVar5 = 5" (identifier "lVar5") (= "=") (number_literal "5")) (; ";")) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __s1" (identifier "pbVar8") (= "=") (identifier "__s1")) (; ";")) (expression_statement "pbVar9 = (byte *)0x122f78;" (assignment_expression "pbVar9 = (byte *)0x122f78" (identifier "pbVar9") (= "=") (cast_expression "(byte *)0x122f78" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x122f78"))) (; ";")) (do_statement "do {\n          if (lVar5 == 0) break;\n          lVar5 = lVar5 + -1;\n          bVar12 = *pbVar8 < *pbVar9;\n          bVar10 = *pbVar8 == *pbVar9;\n          pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n        } while (bVar10);" (do "do") (compound_statement "{\n          if (lVar5 == 0) break;\n          lVar5 = lVar5 + -1;\n          bVar12 = *pbVar8 < *pbVar9;\n          bVar10 = *pbVar8 == *pbVar9;\n          pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n        }" ({ "{") (if_statement "if (lVar5 == 0) break;" (if "if") (parenthesized_expression "(lVar5 == 0)" (( "(") (binary_expression "lVar5 == 0" (identifier "lVar5") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar5 = lVar5 + -1;" (assignment_expression "lVar5 = lVar5 + -1" (identifier "lVar5") (= "=") (binary_expression "lVar5 + -1" (identifier "lVar5") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar12 = *pbVar8 < *pbVar9;" (assignment_expression "bVar12 = *pbVar8 < *pbVar9" (identifier "bVar12") (= "=") (binary_expression "*pbVar8 < *pbVar9" (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")) (< "<") (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")))) (; ";")) (expression_statement "bVar10 = *pbVar8 == *pbVar9;" (assignment_expression "bVar10 = *pbVar8 == *pbVar9" (identifier "bVar10") (= "=") (binary_expression "*pbVar8 == *pbVar9" (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")) (== "==") (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")))) (; ";")) (expression_statement "pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1" (identifier "pbVar8") (= "=") (binary_expression "pbVar8 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar8 + (ulong)bVar13 * -2" (identifier "pbVar8") (+ "+") (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar13")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1" (identifier "pbVar9") (= "=") (binary_expression "pbVar9 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar13 * -2" (identifier "pbVar9") (+ "+") (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar13")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar10)" (( "(") (identifier "bVar10") () ")")) (; ";")) (expression_statement "bVar11 = false;" (assignment_expression "bVar11 = false" (identifier "bVar11") (= "=") (false "false")) (; ";")) (expression_statement "bVar10 = (!bVar12 && !bVar10) == bVar12;" (assignment_expression "bVar10 = (!bVar12 && !bVar10) == bVar12" (identifier "bVar10") (= "=") (binary_expression "(!bVar12 && !bVar10) == bVar12" (parenthesized_expression "(!bVar12 && !bVar10)" (( "(") (binary_expression "!bVar12 && !bVar10" (unary_expression "!bVar12" (! "!") (identifier "bVar12")) (&& "&&") (unary_expression "!bVar10" (! "!") (identifier "bVar10"))) () ")")) (== "==") (identifier "bVar12"))) (; ";")) (if_statement "if (!bVar10) {\n          lVar5 = 7;\n          pbVar8 = __s1;\n          pbVar9 = (byte *)0x122fb3;\n          do {\n            if (lVar5 == 0) break;\n            lVar5 = lVar5 + -1;\n            bVar11 = *pbVar8 < *pbVar9;\n            bVar10 = *pbVar8 == *pbVar9;\n            pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n          } while (bVar10);\n          bVar12 = false;\n          bVar10 = (!bVar11 && !bVar10) == bVar11;\n          if (!bVar10) {\n            lVar5 = 0xc;\n            pbVar8 = __s1;\n            pbVar9 = (byte *)"long double";\n            do {\n              if (lVar5 == 0) break;\n              lVar5 = lVar5 + -1;\n              bVar12 = *pbVar8 < *pbVar9;\n              bVar10 = *pbVar8 == *pbVar9;\n              pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n            } while (bVar10);\n            bVar11 = false;\n            bVar10 = (!bVar12 && !bVar10) == bVar12;\n            if (!bVar10) {\n              lVar5 = 6;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"float";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,4);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xb;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"__float128";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,0x10);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xe;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"unsigned char";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4a0(param_1,1,1);\n                goto LAB_00111512;\n              }\n              lVar5 = 4;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)0x1230d2;\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\nLAB_00111631:\n                lVar5 = FUN_0010f4a0(param_1,4,0);\n              }\n              else {\n                lVar5 = 0xd;\n                pbVar8 = __s1;\n                pbVar9 = (byte *)0x1230c9;\n                do {\n                  if (lVar5 == 0) break;\n                  lVar5 = lVar5 + -1;\n                  bVar11 = *pbVar8 < *pbVar9;\n                  bVar10 = *pbVar8 == *pbVar9;\n                  pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar10);\n                bVar12 = false;\n                bVar10 = (!bVar11 && !bVar10) == bVar11;\n                if (!bVar10) {\n                  lVar5 = 5;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)0x122f9e;\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar12 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar11 = false;\n                  bVar10 = (!bVar12 && !bVar10) == bVar12;\n                  if (bVar10) goto LAB_00111631;\n                  lVar5 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)"unsigned long";\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar11 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  if ((!bVar11 && !bVar10) != bVar11) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f490(param_1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }\n                lVar5 = FUN_0010f4a0(param_1,4,1);\n              }\n              goto LAB_00111512;\n            }\n          }\n          lVar5 = FUN_0010f4c0(param_1,8);\n          goto LAB_00111512;\n        }" (if "if") (parenthesized_expression "(!bVar10)" (( "(") (unary_expression "!bVar10" (! "!") (identifier "bVar10")) () ")")) (compound_statement "{\n          lVar5 = 7;\n          pbVar8 = __s1;\n          pbVar9 = (byte *)0x122fb3;\n          do {\n            if (lVar5 == 0) break;\n            lVar5 = lVar5 + -1;\n            bVar11 = *pbVar8 < *pbVar9;\n            bVar10 = *pbVar8 == *pbVar9;\n            pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n          } while (bVar10);\n          bVar12 = false;\n          bVar10 = (!bVar11 && !bVar10) == bVar11;\n          if (!bVar10) {\n            lVar5 = 0xc;\n            pbVar8 = __s1;\n            pbVar9 = (byte *)"long double";\n            do {\n              if (lVar5 == 0) break;\n              lVar5 = lVar5 + -1;\n              bVar12 = *pbVar8 < *pbVar9;\n              bVar10 = *pbVar8 == *pbVar9;\n              pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n            } while (bVar10);\n            bVar11 = false;\n            bVar10 = (!bVar12 && !bVar10) == bVar12;\n            if (!bVar10) {\n              lVar5 = 6;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"float";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,4);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xb;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"__float128";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,0x10);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xe;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"unsigned char";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4a0(param_1,1,1);\n                goto LAB_00111512;\n              }\n              lVar5 = 4;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)0x1230d2;\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\nLAB_00111631:\n                lVar5 = FUN_0010f4a0(param_1,4,0);\n              }\n              else {\n                lVar5 = 0xd;\n                pbVar8 = __s1;\n                pbVar9 = (byte *)0x1230c9;\n                do {\n                  if (lVar5 == 0) break;\n                  lVar5 = lVar5 + -1;\n                  bVar11 = *pbVar8 < *pbVar9;\n                  bVar10 = *pbVar8 == *pbVar9;\n                  pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar10);\n                bVar12 = false;\n                bVar10 = (!bVar11 && !bVar10) == bVar11;\n                if (!bVar10) {\n                  lVar5 = 5;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)0x122f9e;\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar12 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar11 = false;\n                  bVar10 = (!bVar12 && !bVar10) == bVar12;\n                  if (bVar10) goto LAB_00111631;\n                  lVar5 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)"unsigned long";\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar11 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  if ((!bVar11 && !bVar10) != bVar11) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f490(param_1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }\n                lVar5 = FUN_0010f4a0(param_1,4,1);\n              }\n              goto LAB_00111512;\n            }\n          }\n          lVar5 = FUN_0010f4c0(param_1,8);\n          goto LAB_00111512;\n        }" ({ "{") (expression_statement "lVar5 = 7;" (assignment_expression "lVar5 = 7" (identifier "lVar5") (= "=") (number_literal "7")) (; ";")) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __s1" (identifier "pbVar8") (= "=") (identifier "__s1")) (; ";")) (expression_statement "pbVar9 = (byte *)0x122fb3;" (assignment_expression "pbVar9 = (byte *)0x122fb3" (identifier "pbVar9") (= "=") (cast_expression "(byte *)0x122fb3" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x122fb3"))) (; ";")) (do_statement "do {\n            if (lVar5 == 0) break;\n            lVar5 = lVar5 + -1;\n            bVar11 = *pbVar8 < *pbVar9;\n            bVar10 = *pbVar8 == *pbVar9;\n            pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n          } while (bVar10);" (do "do") (compound_statement "{\n            if (lVar5 == 0) break;\n            lVar5 = lVar5 + -1;\n            bVar11 = *pbVar8 < *pbVar9;\n            bVar10 = *pbVar8 == *pbVar9;\n            pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n          }" ({ "{") (if_statement "if (lVar5 == 0) break;" (if "if") (parenthesized_expression "(lVar5 == 0)" (( "(") (binary_expression "lVar5 == 0" (identifier "lVar5") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar5 = lVar5 + -1;" (assignment_expression "lVar5 = lVar5 + -1" (identifier "lVar5") (= "=") (binary_expression "lVar5 + -1" (identifier "lVar5") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar11 = *pbVar8 < *pbVar9;" (assignment_expression "bVar11 = *pbVar8 < *pbVar9" (identifier "bVar11") (= "=") (binary_expression "*pbVar8 < *pbVar9" (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")) (< "<") (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")))) (; ";")) (expression_statement "bVar10 = *pbVar8 == *pbVar9;" (assignment_expression "bVar10 = *pbVar8 == *pbVar9" (identifier "bVar10") (= "=") (binary_expression "*pbVar8 == *pbVar9" (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")) (== "==") (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")))) (; ";")) (expression_statement "pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1" (identifier "pbVar8") (= "=") (binary_expression "pbVar8 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar8 + (ulong)bVar13 * -2" (identifier "pbVar8") (+ "+") (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar13")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1" (identifier "pbVar9") (= "=") (binary_expression "pbVar9 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar13 * -2" (identifier "pbVar9") (+ "+") (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar13")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar10)" (( "(") (identifier "bVar10") () ")")) (; ";")) (expression_statement "bVar12 = false;" (assignment_expression "bVar12 = false" (identifier "bVar12") (= "=") (false "false")) (; ";")) (expression_statement "bVar10 = (!bVar11 && !bVar10) == bVar11;" (assignment_expression "bVar10 = (!bVar11 && !bVar10) == bVar11" (identifier "bVar10") (= "=") (binary_expression "(!bVar11 && !bVar10) == bVar11" (parenthesized_expression "(!bVar11 && !bVar10)" (( "(") (binary_expression "!bVar11 && !bVar10" (unary_expression "!bVar11" (! "!") (identifier "bVar11")) (&& "&&") (unary_expression "!bVar10" (! "!") (identifier "bVar10"))) () ")")) (== "==") (identifier "bVar11"))) (; ";")) (if_statement "if (!bVar10) {\n            lVar5 = 0xc;\n            pbVar8 = __s1;\n            pbVar9 = (byte *)"long double";\n            do {\n              if (lVar5 == 0) break;\n              lVar5 = lVar5 + -1;\n              bVar12 = *pbVar8 < *pbVar9;\n              bVar10 = *pbVar8 == *pbVar9;\n              pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n            } while (bVar10);\n            bVar11 = false;\n            bVar10 = (!bVar12 && !bVar10) == bVar12;\n            if (!bVar10) {\n              lVar5 = 6;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"float";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,4);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xb;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"__float128";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,0x10);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xe;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"unsigned char";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4a0(param_1,1,1);\n                goto LAB_00111512;\n              }\n              lVar5 = 4;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)0x1230d2;\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\nLAB_00111631:\n                lVar5 = FUN_0010f4a0(param_1,4,0);\n              }\n              else {\n                lVar5 = 0xd;\n                pbVar8 = __s1;\n                pbVar9 = (byte *)0x1230c9;\n                do {\n                  if (lVar5 == 0) break;\n                  lVar5 = lVar5 + -1;\n                  bVar11 = *pbVar8 < *pbVar9;\n                  bVar10 = *pbVar8 == *pbVar9;\n                  pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar10);\n                bVar12 = false;\n                bVar10 = (!bVar11 && !bVar10) == bVar11;\n                if (!bVar10) {\n                  lVar5 = 5;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)0x122f9e;\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar12 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar11 = false;\n                  bVar10 = (!bVar12 && !bVar10) == bVar12;\n                  if (bVar10) goto LAB_00111631;\n                  lVar5 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)"unsigned long";\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar11 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  if ((!bVar11 && !bVar10) != bVar11) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f490(param_1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }\n                lVar5 = FUN_0010f4a0(param_1,4,1);\n              }\n              goto LAB_00111512;\n            }\n          }" (if "if") (parenthesized_expression "(!bVar10)" (( "(") (unary_expression "!bVar10" (! "!") (identifier "bVar10")) () ")")) (compound_statement "{\n            lVar5 = 0xc;\n            pbVar8 = __s1;\n            pbVar9 = (byte *)"long double";\n            do {\n              if (lVar5 == 0) break;\n              lVar5 = lVar5 + -1;\n              bVar12 = *pbVar8 < *pbVar9;\n              bVar10 = *pbVar8 == *pbVar9;\n              pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n            } while (bVar10);\n            bVar11 = false;\n            bVar10 = (!bVar12 && !bVar10) == bVar12;\n            if (!bVar10) {\n              lVar5 = 6;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"float";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,4);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xb;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"__float128";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,0x10);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xe;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"unsigned char";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4a0(param_1,1,1);\n                goto LAB_00111512;\n              }\n              lVar5 = 4;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)0x1230d2;\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\nLAB_00111631:\n                lVar5 = FUN_0010f4a0(param_1,4,0);\n              }\n              else {\n                lVar5 = 0xd;\n                pbVar8 = __s1;\n                pbVar9 = (byte *)0x1230c9;\n                do {\n                  if (lVar5 == 0) break;\n                  lVar5 = lVar5 + -1;\n                  bVar11 = *pbVar8 < *pbVar9;\n                  bVar10 = *pbVar8 == *pbVar9;\n                  pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar10);\n                bVar12 = false;\n                bVar10 = (!bVar11 && !bVar10) == bVar11;\n                if (!bVar10) {\n                  lVar5 = 5;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)0x122f9e;\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar12 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar11 = false;\n                  bVar10 = (!bVar12 && !bVar10) == bVar12;\n                  if (bVar10) goto LAB_00111631;\n                  lVar5 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)"unsigned long";\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar11 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  if ((!bVar11 && !bVar10) != bVar11) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f490(param_1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }\n                lVar5 = FUN_0010f4a0(param_1,4,1);\n              }\n              goto LAB_00111512;\n            }\n          }" ({ "{") (expression_statement "lVar5 = 0xc;" (assignment_expression "lVar5 = 0xc" (identifier "lVar5") (= "=") (number_literal "0xc")) (; ";")) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __s1" (identifier "pbVar8") (= "=") (identifier "__s1")) (; ";")) (expression_statement "pbVar9 = (byte *)"long double";" (assignment_expression "pbVar9 = (byte *)"long double"" (identifier "pbVar9") (= "=") (cast_expression "(byte *)"long double"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal ""long double"" (" """) (string_content "long double") (" """)))) (; ";")) (do_statement "do {\n              if (lVar5 == 0) break;\n              lVar5 = lVar5 + -1;\n              bVar12 = *pbVar8 < *pbVar9;\n              bVar10 = *pbVar8 == *pbVar9;\n              pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n            } while (bVar10);" (do "do") (compound_statement "{\n              if (lVar5 == 0) break;\n              lVar5 = lVar5 + -1;\n              bVar12 = *pbVar8 < *pbVar9;\n              bVar10 = *pbVar8 == *pbVar9;\n              pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n            }" ({ "{") (if_statement "if (lVar5 == 0) break;" (if "if") (parenthesized_expression "(lVar5 == 0)" (( "(") (binary_expression "lVar5 == 0" (identifier "lVar5") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar5 = lVar5 + -1;" (assignment_expression "lVar5 = lVar5 + -1" (identifier "lVar5") (= "=") (binary_expression "lVar5 + -1" (identifier "lVar5") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar12 = *pbVar8 < *pbVar9;" (assignment_expression "bVar12 = *pbVar8 < *pbVar9" (identifier "bVar12") (= "=") (binary_expression "*pbVar8 < *pbVar9" (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")) (< "<") (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")))) (; ";")) (expression_statement "bVar10 = *pbVar8 == *pbVar9;" (assignment_expression "bVar10 = *pbVar8 == *pbVar9" (identifier "bVar10") (= "=") (binary_expression "*pbVar8 == *pbVar9" (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")) (== "==") (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")))) (; ";")) (expression_statement "pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1" (identifier "pbVar8") (= "=") (binary_expression "pbVar8 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar8 + (ulong)bVar13 * -2" (identifier "pbVar8") (+ "+") (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar13")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1" (identifier "pbVar9") (= "=") (binary_expression "pbVar9 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar13 * -2" (identifier "pbVar9") (+ "+") (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar13")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar10)" (( "(") (identifier "bVar10") () ")")) (; ";")) (expression_statement "bVar11 = false;" (assignment_expression "bVar11 = false" (identifier "bVar11") (= "=") (false "false")) (; ";")) (expression_statement "bVar10 = (!bVar12 && !bVar10) == bVar12;" (assignment_expression "bVar10 = (!bVar12 && !bVar10) == bVar12" (identifier "bVar10") (= "=") (binary_expression "(!bVar12 && !bVar10) == bVar12" (parenthesized_expression "(!bVar12 && !bVar10)" (( "(") (binary_expression "!bVar12 && !bVar10" (unary_expression "!bVar12" (! "!") (identifier "bVar12")) (&& "&&") (unary_expression "!bVar10" (! "!") (identifier "bVar10"))) () ")")) (== "==") (identifier "bVar12"))) (; ";")) (if_statement "if (!bVar10) {\n              lVar5 = 6;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"float";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,4);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xb;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"__float128";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,0x10);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xe;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"unsigned char";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4a0(param_1,1,1);\n                goto LAB_00111512;\n              }\n              lVar5 = 4;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)0x1230d2;\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\nLAB_00111631:\n                lVar5 = FUN_0010f4a0(param_1,4,0);\n              }\n              else {\n                lVar5 = 0xd;\n                pbVar8 = __s1;\n                pbVar9 = (byte *)0x1230c9;\n                do {\n                  if (lVar5 == 0) break;\n                  lVar5 = lVar5 + -1;\n                  bVar11 = *pbVar8 < *pbVar9;\n                  bVar10 = *pbVar8 == *pbVar9;\n                  pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar10);\n                bVar12 = false;\n                bVar10 = (!bVar11 && !bVar10) == bVar11;\n                if (!bVar10) {\n                  lVar5 = 5;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)0x122f9e;\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar12 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar11 = false;\n                  bVar10 = (!bVar12 && !bVar10) == bVar12;\n                  if (bVar10) goto LAB_00111631;\n                  lVar5 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)"unsigned long";\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar11 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  if ((!bVar11 && !bVar10) != bVar11) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f490(param_1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }\n                lVar5 = FUN_0010f4a0(param_1,4,1);\n              }\n              goto LAB_00111512;\n            }" (if "if") (parenthesized_expression "(!bVar10)" (( "(") (unary_expression "!bVar10" (! "!") (identifier "bVar10")) () ")")) (compound_statement "{\n              lVar5 = 6;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"float";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,4);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xb;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"__float128";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,0x10);\n                goto LAB_00111512;\n              }\n              lVar5 = 0xe;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)"unsigned char";\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar12 = false;\n              bVar10 = (!bVar11 && !bVar10) == bVar11;\n              if (bVar10) {\n                lVar5 = FUN_0010f4a0(param_1,1,1);\n                goto LAB_00111512;\n              }\n              lVar5 = 4;\n              pbVar8 = __s1;\n              pbVar9 = (byte *)0x1230d2;\n              do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);\n              bVar11 = false;\n              bVar10 = (!bVar12 && !bVar10) == bVar12;\n              if (bVar10) {\nLAB_00111631:\n                lVar5 = FUN_0010f4a0(param_1,4,0);\n              }\n              else {\n                lVar5 = 0xd;\n                pbVar8 = __s1;\n                pbVar9 = (byte *)0x1230c9;\n                do {\n                  if (lVar5 == 0) break;\n                  lVar5 = lVar5 + -1;\n                  bVar11 = *pbVar8 < *pbVar9;\n                  bVar10 = *pbVar8 == *pbVar9;\n                  pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar10);\n                bVar12 = false;\n                bVar10 = (!bVar11 && !bVar10) == bVar11;\n                if (!bVar10) {\n                  lVar5 = 5;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)0x122f9e;\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar12 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar11 = false;\n                  bVar10 = (!bVar12 && !bVar10) == bVar12;\n                  if (bVar10) goto LAB_00111631;\n                  lVar5 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)"unsigned long";\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar11 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  if ((!bVar11 && !bVar10) != bVar11) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f490(param_1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }\n                lVar5 = FUN_0010f4a0(param_1,4,1);\n              }\n              goto LAB_00111512;\n            }" ({ "{") (expression_statement "lVar5 = 6;" (assignment_expression "lVar5 = 6" (identifier "lVar5") (= "=") (number_literal "6")) (; ";")) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __s1" (identifier "pbVar8") (= "=") (identifier "__s1")) (; ";")) (expression_statement "pbVar9 = (byte *)"float";" (assignment_expression "pbVar9 = (byte *)"float"" (identifier "pbVar9") (= "=") (cast_expression "(byte *)"float"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal ""float"" (" """) (string_content "float") (" """)))) (; ";")) (do_statement "do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);" (do "do") (compound_statement "{\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              }" ({ "{") (if_statement "if (lVar5 == 0) break;" (if "if") (parenthesized_expression "(lVar5 == 0)" (( "(") (binary_expression "lVar5 == 0" (identifier "lVar5") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar5 = lVar5 + -1;" (assignment_expression "lVar5 = lVar5 + -1" (identifier "lVar5") (= "=") (binary_expression "lVar5 + -1" (identifier "lVar5") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar11 = *pbVar8 < *pbVar9;" (assignment_expression "bVar11 = *pbVar8 < *pbVar9" (identifier "bVar11") (= "=") (binary_expression "*pbVar8 < *pbVar9" (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")) (< "<") (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")))) (; ";")) (expression_statement "bVar10 = *pbVar8 == *pbVar9;" (assignment_expression "bVar10 = *pbVar8 == *pbVar9" (identifier "bVar10") (= "=") (binary_expression "*pbVar8 == *pbVar9" (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")) (== "==") (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")))) (; ";")) (expression_statement "pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1" (identifier "pbVar8") (= "=") (binary_expression "pbVar8 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar8 + (ulong)bVar13 * -2" (identifier "pbVar8") (+ "+") (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar13")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1" (identifier "pbVar9") (= "=") (binary_expression "pbVar9 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar13 * -2" (identifier "pbVar9") (+ "+") (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar13")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar10)" (( "(") (identifier "bVar10") () ")")) (; ";")) (expression_statement "bVar12 = false;" (assignment_expression "bVar12 = false" (identifier "bVar12") (= "=") (false "false")) (; ";")) (expression_statement "bVar10 = (!bVar11 && !bVar10) == bVar11;" (assignment_expression "bVar10 = (!bVar11 && !bVar10) == bVar11" (identifier "bVar10") (= "=") (binary_expression "(!bVar11 && !bVar10) == bVar11" (parenthesized_expression "(!bVar11 && !bVar10)" (( "(") (binary_expression "!bVar11 && !bVar10" (unary_expression "!bVar11" (! "!") (identifier "bVar11")) (&& "&&") (unary_expression "!bVar10" (! "!") (identifier "bVar10"))) () ")")) (== "==") (identifier "bVar11"))) (; ";")) (if_statement "if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,4);\n                goto LAB_00111512;\n              }" (if "if") (parenthesized_expression "(bVar10)" (( "(") (identifier "bVar10") () ")")) (compound_statement "{\n                lVar5 = FUN_0010f4c0(param_1,4);\n                goto LAB_00111512;\n              }" ({ "{") (expression_statement "lVar5 = FUN_0010f4c0(param_1,4);" (assignment_expression "lVar5 = FUN_0010f4c0(param_1,4)" (identifier "lVar5") (= "=") (call_expression "FUN_0010f4c0(param_1,4)" (identifier "FUN_0010f4c0") (argument_list "(param_1,4)" (( "(") (identifier "param_1") (, ",") (number_literal "4") () ")")))) (; ";")) (goto_statement "goto LAB_00111512;" (goto "goto") (statement_identifier "LAB_00111512") (; ";")) (} "}"))) (expression_statement "lVar5 = 0xb;" (assignment_expression "lVar5 = 0xb" (identifier "lVar5") (= "=") (number_literal "0xb")) (; ";")) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __s1" (identifier "pbVar8") (= "=") (identifier "__s1")) (; ";")) (expression_statement "pbVar9 = (byte *)"__float128";" (assignment_expression "pbVar9 = (byte *)"__float128"" (identifier "pbVar9") (= "=") (cast_expression "(byte *)"__float128"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal ""__float128"" (" """) (string_content "__float128") (" """)))) (; ";")) (do_statement "do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);" (do "do") (compound_statement "{\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              }" ({ "{") (if_statement "if (lVar5 == 0) break;" (if "if") (parenthesized_expression "(lVar5 == 0)" (( "(") (binary_expression "lVar5 == 0" (identifier "lVar5") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar5 = lVar5 + -1;" (assignment_expression "lVar5 = lVar5 + -1" (identifier "lVar5") (= "=") (binary_expression "lVar5 + -1" (identifier "lVar5") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar12 = *pbVar8 < *pbVar9;" (assignment_expression "bVar12 = *pbVar8 < *pbVar9" (identifier "bVar12") (= "=") (binary_expression "*pbVar8 < *pbVar9" (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")) (< "<") (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")))) (; ";")) (expression_statement "bVar10 = *pbVar8 == *pbVar9;" (assignment_expression "bVar10 = *pbVar8 == *pbVar9" (identifier "bVar10") (= "=") (binary_expression "*pbVar8 == *pbVar9" (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")) (== "==") (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")))) (; ";")) (expression_statement "pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1" (identifier "pbVar8") (= "=") (binary_expression "pbVar8 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar8 + (ulong)bVar13 * -2" (identifier "pbVar8") (+ "+") (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar13")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1" (identifier "pbVar9") (= "=") (binary_expression "pbVar9 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar13 * -2" (identifier "pbVar9") (+ "+") (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar13")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar10)" (( "(") (identifier "bVar10") () ")")) (; ";")) (expression_statement "bVar11 = false;" (assignment_expression "bVar11 = false" (identifier "bVar11") (= "=") (false "false")) (; ";")) (expression_statement "bVar10 = (!bVar12 && !bVar10) == bVar12;" (assignment_expression "bVar10 = (!bVar12 && !bVar10) == bVar12" (identifier "bVar10") (= "=") (binary_expression "(!bVar12 && !bVar10) == bVar12" (parenthesized_expression "(!bVar12 && !bVar10)" (( "(") (binary_expression "!bVar12 && !bVar10" (unary_expression "!bVar12" (! "!") (identifier "bVar12")) (&& "&&") (unary_expression "!bVar10" (! "!") (identifier "bVar10"))) () ")")) (== "==") (identifier "bVar12"))) (; ";")) (if_statement "if (bVar10) {\n                lVar5 = FUN_0010f4c0(param_1,0x10);\n                goto LAB_00111512;\n              }" (if "if") (parenthesized_expression "(bVar10)" (( "(") (identifier "bVar10") () ")")) (compound_statement "{\n                lVar5 = FUN_0010f4c0(param_1,0x10);\n                goto LAB_00111512;\n              }" ({ "{") (expression_statement "lVar5 = FUN_0010f4c0(param_1,0x10);" (assignment_expression "lVar5 = FUN_0010f4c0(param_1,0x10)" (identifier "lVar5") (= "=") (call_expression "FUN_0010f4c0(param_1,0x10)" (identifier "FUN_0010f4c0") (argument_list "(param_1,0x10)" (( "(") (identifier "param_1") (, ",") (number_literal "0x10") () ")")))) (; ";")) (goto_statement "goto LAB_00111512;" (goto "goto") (statement_identifier "LAB_00111512") (; ";")) (} "}"))) (expression_statement "lVar5 = 0xe;" (assignment_expression "lVar5 = 0xe" (identifier "lVar5") (= "=") (number_literal "0xe")) (; ";")) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __s1" (identifier "pbVar8") (= "=") (identifier "__s1")) (; ";")) (expression_statement "pbVar9 = (byte *)"unsigned char";" (assignment_expression "pbVar9 = (byte *)"unsigned char"" (identifier "pbVar9") (= "=") (cast_expression "(byte *)"unsigned char"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal ""unsigned char"" (" """) (string_content "unsigned char") (" """)))) (; ";")) (do_statement "do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);" (do "do") (compound_statement "{\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar11 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              }" ({ "{") (if_statement "if (lVar5 == 0) break;" (if "if") (parenthesized_expression "(lVar5 == 0)" (( "(") (binary_expression "lVar5 == 0" (identifier "lVar5") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar5 = lVar5 + -1;" (assignment_expression "lVar5 = lVar5 + -1" (identifier "lVar5") (= "=") (binary_expression "lVar5 + -1" (identifier "lVar5") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar11 = *pbVar8 < *pbVar9;" (assignment_expression "bVar11 = *pbVar8 < *pbVar9" (identifier "bVar11") (= "=") (binary_expression "*pbVar8 < *pbVar9" (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")) (< "<") (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")))) (; ";")) (expression_statement "bVar10 = *pbVar8 == *pbVar9;" (assignment_expression "bVar10 = *pbVar8 == *pbVar9" (identifier "bVar10") (= "=") (binary_expression "*pbVar8 == *pbVar9" (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")) (== "==") (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")))) (; ";")) (expression_statement "pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1" (identifier "pbVar8") (= "=") (binary_expression "pbVar8 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar8 + (ulong)bVar13 * -2" (identifier "pbVar8") (+ "+") (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar13")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1" (identifier "pbVar9") (= "=") (binary_expression "pbVar9 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar13 * -2" (identifier "pbVar9") (+ "+") (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar13")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar10)" (( "(") (identifier "bVar10") () ")")) (; ";")) (expression_statement "bVar12 = false;" (assignment_expression "bVar12 = false" (identifier "bVar12") (= "=") (false "false")) (; ";")) (expression_statement "bVar10 = (!bVar11 && !bVar10) == bVar11;" (assignment_expression "bVar10 = (!bVar11 && !bVar10) == bVar11" (identifier "bVar10") (= "=") (binary_expression "(!bVar11 && !bVar10) == bVar11" (parenthesized_expression "(!bVar11 && !bVar10)" (( "(") (binary_expression "!bVar11 && !bVar10" (unary_expression "!bVar11" (! "!") (identifier "bVar11")) (&& "&&") (unary_expression "!bVar10" (! "!") (identifier "bVar10"))) () ")")) (== "==") (identifier "bVar11"))) (; ";")) (if_statement "if (bVar10) {\n                lVar5 = FUN_0010f4a0(param_1,1,1);\n                goto LAB_00111512;\n              }" (if "if") (parenthesized_expression "(bVar10)" (( "(") (identifier "bVar10") () ")")) (compound_statement "{\n                lVar5 = FUN_0010f4a0(param_1,1,1);\n                goto LAB_00111512;\n              }" ({ "{") (expression_statement "lVar5 = FUN_0010f4a0(param_1,1,1);" (assignment_expression "lVar5 = FUN_0010f4a0(param_1,1,1)" (identifier "lVar5") (= "=") (call_expression "FUN_0010f4a0(param_1,1,1)" (identifier "FUN_0010f4a0") (argument_list "(param_1,1,1)" (( "(") (identifier "param_1") (, ",") (number_literal "1") (, ",") (number_literal "1") () ")")))) (; ";")) (goto_statement "goto LAB_00111512;" (goto "goto") (statement_identifier "LAB_00111512") (; ";")) (} "}"))) (expression_statement "lVar5 = 4;" (assignment_expression "lVar5 = 4" (identifier "lVar5") (= "=") (number_literal "4")) (; ";")) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __s1" (identifier "pbVar8") (= "=") (identifier "__s1")) (; ";")) (expression_statement "pbVar9 = (byte *)0x1230d2;" (assignment_expression "pbVar9 = (byte *)0x1230d2" (identifier "pbVar9") (= "=") (cast_expression "(byte *)0x1230d2" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1230d2"))) (; ";")) (do_statement "do {\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              } while (bVar10);" (do "do") (compound_statement "{\n                if (lVar5 == 0) break;\n                lVar5 = lVar5 + -1;\n                bVar12 = *pbVar8 < *pbVar9;\n                bVar10 = *pbVar8 == *pbVar9;\n                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n              }" ({ "{") (if_statement "if (lVar5 == 0) break;" (if "if") (parenthesized_expression "(lVar5 == 0)" (( "(") (binary_expression "lVar5 == 0" (identifier "lVar5") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar5 = lVar5 + -1;" (assignment_expression "lVar5 = lVar5 + -1" (identifier "lVar5") (= "=") (binary_expression "lVar5 + -1" (identifier "lVar5") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar12 = *pbVar8 < *pbVar9;" (assignment_expression "bVar12 = *pbVar8 < *pbVar9" (identifier "bVar12") (= "=") (binary_expression "*pbVar8 < *pbVar9" (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")) (< "<") (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")))) (; ";")) (expression_statement "bVar10 = *pbVar8 == *pbVar9;" (assignment_expression "bVar10 = *pbVar8 == *pbVar9" (identifier "bVar10") (= "=") (binary_expression "*pbVar8 == *pbVar9" (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")) (== "==") (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")))) (; ";")) (expression_statement "pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1" (identifier "pbVar8") (= "=") (binary_expression "pbVar8 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar8 + (ulong)bVar13 * -2" (identifier "pbVar8") (+ "+") (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar13")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1" (identifier "pbVar9") (= "=") (binary_expression "pbVar9 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar13 * -2" (identifier "pbVar9") (+ "+") (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar13")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar10)" (( "(") (identifier "bVar10") () ")")) (; ";")) (expression_statement "bVar11 = false;" (assignment_expression "bVar11 = false" (identifier "bVar11") (= "=") (false "false")) (; ";")) (expression_statement "bVar10 = (!bVar12 && !bVar10) == bVar12;" (assignment_expression "bVar10 = (!bVar12 && !bVar10) == bVar12" (identifier "bVar10") (= "=") (binary_expression "(!bVar12 && !bVar10) == bVar12" (parenthesized_expression "(!bVar12 && !bVar10)" (( "(") (binary_expression "!bVar12 && !bVar10" (unary_expression "!bVar12" (! "!") (identifier "bVar12")) (&& "&&") (unary_expression "!bVar10" (! "!") (identifier "bVar10"))) () ")")) (== "==") (identifier "bVar12"))) (; ";")) (if_statement "if (bVar10) {\nLAB_00111631:\n                lVar5 = FUN_0010f4a0(param_1,4,0);\n              }\n              else {\n                lVar5 = 0xd;\n                pbVar8 = __s1;\n                pbVar9 = (byte *)0x1230c9;\n                do {\n                  if (lVar5 == 0) break;\n                  lVar5 = lVar5 + -1;\n                  bVar11 = *pbVar8 < *pbVar9;\n                  bVar10 = *pbVar8 == *pbVar9;\n                  pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar10);\n                bVar12 = false;\n                bVar10 = (!bVar11 && !bVar10) == bVar11;\n                if (!bVar10) {\n                  lVar5 = 5;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)0x122f9e;\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar12 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar11 = false;\n                  bVar10 = (!bVar12 && !bVar10) == bVar12;\n                  if (bVar10) goto LAB_00111631;\n                  lVar5 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)"unsigned long";\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar11 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  if ((!bVar11 && !bVar10) != bVar11) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f490(param_1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }\n                lVar5 = FUN_0010f4a0(param_1,4,1);\n              }" (if "if") (parenthesized_expression "(bVar10)" (( "(") (identifier "bVar10") () ")")) (compound_statement "{\nLAB_00111631:\n                lVar5 = FUN_0010f4a0(param_1,4,0);\n              }" ({ "{") (labeled_statement "LAB_00111631:\n                lVar5 = FUN_0010f4a0(param_1,4,0);" (statement_identifier "LAB_00111631") (: ":") (expression_statement "lVar5 = FUN_0010f4a0(param_1,4,0);" (assignment_expression "lVar5 = FUN_0010f4a0(param_1,4,0)" (identifier "lVar5") (= "=") (call_expression "FUN_0010f4a0(param_1,4,0)" (identifier "FUN_0010f4a0") (argument_list "(param_1,4,0)" (( "(") (identifier "param_1") (, ",") (number_literal "4") (, ",") (number_literal "0") () ")")))) (; ";"))) (} "}")) (else_clause "else {\n                lVar5 = 0xd;\n                pbVar8 = __s1;\n                pbVar9 = (byte *)0x1230c9;\n                do {\n                  if (lVar5 == 0) break;\n                  lVar5 = lVar5 + -1;\n                  bVar11 = *pbVar8 < *pbVar9;\n                  bVar10 = *pbVar8 == *pbVar9;\n                  pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar10);\n                bVar12 = false;\n                bVar10 = (!bVar11 && !bVar10) == bVar11;\n                if (!bVar10) {\n                  lVar5 = 5;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)0x122f9e;\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar12 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar11 = false;\n                  bVar10 = (!bVar12 && !bVar10) == bVar12;\n                  if (bVar10) goto LAB_00111631;\n                  lVar5 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)"unsigned long";\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar11 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  if ((!bVar11 && !bVar10) != bVar11) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f490(param_1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }\n                lVar5 = FUN_0010f4a0(param_1,4,1);\n              }" (else "else") (compound_statement "{\n                lVar5 = 0xd;\n                pbVar8 = __s1;\n                pbVar9 = (byte *)0x1230c9;\n                do {\n                  if (lVar5 == 0) break;\n                  lVar5 = lVar5 + -1;\n                  bVar11 = *pbVar8 < *pbVar9;\n                  bVar10 = *pbVar8 == *pbVar9;\n                  pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar10);\n                bVar12 = false;\n                bVar10 = (!bVar11 && !bVar10) == bVar11;\n                if (!bVar10) {\n                  lVar5 = 5;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)0x122f9e;\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar12 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar11 = false;\n                  bVar10 = (!bVar12 && !bVar10) == bVar12;\n                  if (bVar10) goto LAB_00111631;\n                  lVar5 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)"unsigned long";\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar11 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  if ((!bVar11 && !bVar10) != bVar11) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f490(param_1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }\n                lVar5 = FUN_0010f4a0(param_1,4,1);\n              }" ({ "{") (expression_statement "lVar5 = 0xd;" (assignment_expression "lVar5 = 0xd" (identifier "lVar5") (= "=") (number_literal "0xd")) (; ";")) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __s1" (identifier "pbVar8") (= "=") (identifier "__s1")) (; ";")) (expression_statement "pbVar9 = (byte *)0x1230c9;" (assignment_expression "pbVar9 = (byte *)0x1230c9" (identifier "pbVar9") (= "=") (cast_expression "(byte *)0x1230c9" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1230c9"))) (; ";")) (do_statement "do {\n                  if (lVar5 == 0) break;\n                  lVar5 = lVar5 + -1;\n                  bVar11 = *pbVar8 < *pbVar9;\n                  bVar10 = *pbVar8 == *pbVar9;\n                  pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                } while (bVar10);" (do "do") (compound_statement "{\n                  if (lVar5 == 0) break;\n                  lVar5 = lVar5 + -1;\n                  bVar11 = *pbVar8 < *pbVar9;\n                  bVar10 = *pbVar8 == *pbVar9;\n                  pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                }" ({ "{") (if_statement "if (lVar5 == 0) break;" (if "if") (parenthesized_expression "(lVar5 == 0)" (( "(") (binary_expression "lVar5 == 0" (identifier "lVar5") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar5 = lVar5 + -1;" (assignment_expression "lVar5 = lVar5 + -1" (identifier "lVar5") (= "=") (binary_expression "lVar5 + -1" (identifier "lVar5") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar11 = *pbVar8 < *pbVar9;" (assignment_expression "bVar11 = *pbVar8 < *pbVar9" (identifier "bVar11") (= "=") (binary_expression "*pbVar8 < *pbVar9" (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")) (< "<") (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")))) (; ";")) (expression_statement "bVar10 = *pbVar8 == *pbVar9;" (assignment_expression "bVar10 = *pbVar8 == *pbVar9" (identifier "bVar10") (= "=") (binary_expression "*pbVar8 == *pbVar9" (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")) (== "==") (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")))) (; ";")) (expression_statement "pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1" (identifier "pbVar8") (= "=") (binary_expression "pbVar8 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar8 + (ulong)bVar13 * -2" (identifier "pbVar8") (+ "+") (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar13")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1" (identifier "pbVar9") (= "=") (binary_expression "pbVar9 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar13 * -2" (identifier "pbVar9") (+ "+") (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar13")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar10)" (( "(") (identifier "bVar10") () ")")) (; ";")) (expression_statement "bVar12 = false;" (assignment_expression "bVar12 = false" (identifier "bVar12") (= "=") (false "false")) (; ";")) (expression_statement "bVar10 = (!bVar11 && !bVar10) == bVar11;" (assignment_expression "bVar10 = (!bVar11 && !bVar10) == bVar11" (identifier "bVar10") (= "=") (binary_expression "(!bVar11 && !bVar10) == bVar11" (parenthesized_expression "(!bVar11 && !bVar10)" (( "(") (binary_expression "!bVar11 && !bVar10" (unary_expression "!bVar11" (! "!") (identifier "bVar11")) (&& "&&") (unary_expression "!bVar10" (! "!") (identifier "bVar10"))) () ")")) (== "==") (identifier "bVar11"))) (; ";")) (if_statement "if (!bVar10) {\n                  lVar5 = 5;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)0x122f9e;\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar12 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar11 = false;\n                  bVar10 = (!bVar12 && !bVar10) == bVar12;\n                  if (bVar10) goto LAB_00111631;\n                  lVar5 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)"unsigned long";\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar11 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  if ((!bVar11 && !bVar10) != bVar11) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f490(param_1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }" (if "if") (parenthesized_expression "(!bVar10)" (( "(") (unary_expression "!bVar10" (! "!") (identifier "bVar10")) () ")")) (compound_statement "{\n                  lVar5 = 5;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)0x122f9e;\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar12 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  bVar11 = false;\n                  bVar10 = (!bVar12 && !bVar10) == bVar12;\n                  if (bVar10) goto LAB_00111631;\n                  lVar5 = 0xe;\n                  pbVar8 = __s1;\n                  pbVar9 = (byte *)"unsigned long";\n                  do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar11 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);\n                  if ((!bVar11 && !bVar10) != bVar11) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f490(param_1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }\n                }" ({ "{") (expression_statement "lVar5 = 5;" (assignment_expression "lVar5 = 5" (identifier "lVar5") (= "=") (number_literal "5")) (; ";")) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __s1" (identifier "pbVar8") (= "=") (identifier "__s1")) (; ";")) (expression_statement "pbVar9 = (byte *)0x122f9e;" (assignment_expression "pbVar9 = (byte *)0x122f9e" (identifier "pbVar9") (= "=") (cast_expression "(byte *)0x122f9e" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x122f9e"))) (; ";")) (do_statement "do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar12 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);" (do "do") (compound_statement "{\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar12 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  }" ({ "{") (if_statement "if (lVar5 == 0) break;" (if "if") (parenthesized_expression "(lVar5 == 0)" (( "(") (binary_expression "lVar5 == 0" (identifier "lVar5") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar5 = lVar5 + -1;" (assignment_expression "lVar5 = lVar5 + -1" (identifier "lVar5") (= "=") (binary_expression "lVar5 + -1" (identifier "lVar5") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar12 = *pbVar8 < *pbVar9;" (assignment_expression "bVar12 = *pbVar8 < *pbVar9" (identifier "bVar12") (= "=") (binary_expression "*pbVar8 < *pbVar9" (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")) (< "<") (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")))) (; ";")) (expression_statement "bVar10 = *pbVar8 == *pbVar9;" (assignment_expression "bVar10 = *pbVar8 == *pbVar9" (identifier "bVar10") (= "=") (binary_expression "*pbVar8 == *pbVar9" (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")) (== "==") (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")))) (; ";")) (expression_statement "pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1" (identifier "pbVar8") (= "=") (binary_expression "pbVar8 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar8 + (ulong)bVar13 * -2" (identifier "pbVar8") (+ "+") (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar13")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1" (identifier "pbVar9") (= "=") (binary_expression "pbVar9 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar13 * -2" (identifier "pbVar9") (+ "+") (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar13")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar10)" (( "(") (identifier "bVar10") () ")")) (; ";")) (expression_statement "bVar11 = false;" (assignment_expression "bVar11 = false" (identifier "bVar11") (= "=") (false "false")) (; ";")) (expression_statement "bVar10 = (!bVar12 && !bVar10) == bVar12;" (assignment_expression "bVar10 = (!bVar12 && !bVar10) == bVar12" (identifier "bVar10") (= "=") (binary_expression "(!bVar12 && !bVar10) == bVar12" (parenthesized_expression "(!bVar12 && !bVar10)" (( "(") (binary_expression "!bVar12 && !bVar10" (unary_expression "!bVar12" (! "!") (identifier "bVar12")) (&& "&&") (unary_expression "!bVar10" (! "!") (identifier "bVar10"))) () ")")) (== "==") (identifier "bVar12"))) (; ";")) (if_statement "if (bVar10) goto LAB_00111631;" (if "if") (parenthesized_expression "(bVar10)" (( "(") (identifier "bVar10") () ")")) (goto_statement "goto LAB_00111631;" (goto "goto") (statement_identifier "LAB_00111631") (; ";"))) (expression_statement "lVar5 = 0xe;" (assignment_expression "lVar5 = 0xe" (identifier "lVar5") (= "=") (number_literal "0xe")) (; ";")) (expression_statement "pbVar8 = __s1;" (assignment_expression "pbVar8 = __s1" (identifier "pbVar8") (= "=") (identifier "__s1")) (; ";")) (expression_statement "pbVar9 = (byte *)"unsigned long";" (assignment_expression "pbVar9 = (byte *)"unsigned long"" (identifier "pbVar9") (= "=") (cast_expression "(byte *)"unsigned long"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal ""unsigned long"" (" """) (string_content "unsigned long") (" """)))) (; ";")) (do_statement "do {\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar11 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  } while (bVar10);" (do "do") (compound_statement "{\n                    if (lVar5 == 0) break;\n                    lVar5 = lVar5 + -1;\n                    bVar11 = *pbVar8 < *pbVar9;\n                    bVar10 = *pbVar8 == *pbVar9;\n                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;\n                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;\n                  }" ({ "{") (if_statement "if (lVar5 == 0) break;" (if "if") (parenthesized_expression "(lVar5 == 0)" (( "(") (binary_expression "lVar5 == 0" (identifier "lVar5") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar5 = lVar5 + -1;" (assignment_expression "lVar5 = lVar5 + -1" (identifier "lVar5") (= "=") (binary_expression "lVar5 + -1" (identifier "lVar5") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar11 = *pbVar8 < *pbVar9;" (assignment_expression "bVar11 = *pbVar8 < *pbVar9" (identifier "bVar11") (= "=") (binary_expression "*pbVar8 < *pbVar9" (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")) (< "<") (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")))) (; ";")) (expression_statement "bVar10 = *pbVar8 == *pbVar9;" (assignment_expression "bVar10 = *pbVar8 == *pbVar9" (identifier "bVar10") (= "=") (binary_expression "*pbVar8 == *pbVar9" (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")) (== "==") (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")))) (; ";")) (expression_statement "pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1" (identifier "pbVar8") (= "=") (binary_expression "pbVar8 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar8 + (ulong)bVar13 * -2" (identifier "pbVar8") (+ "+") (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar13")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1" (identifier "pbVar9") (= "=") (binary_expression "pbVar9 + (ulong)bVar13 * -2 + 1" (binary_expression "pbVar9 + (ulong)bVar13 * -2" (identifier "pbVar9") (+ "+") (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar13")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar10)" (( "(") (identifier "bVar10") () ")")) (; ";")) (if_statement "if ((!bVar11 && !bVar10) != bVar11) {\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f490(param_1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }" (if "if") (parenthesized_expression "((!bVar11 && !bVar10) != bVar11)" (( "(") (binary_expression "(!bVar11 && !bVar10) != bVar11" (parenthesized_expression "(!bVar11 && !bVar10)" (( "(") (binary_expression "!bVar11 && !bVar10" (unary_expression "!bVar11" (! "!") (identifier "bVar11")) (&& "&&") (unary_expression "!bVar10" (! "!") (identifier "bVar10"))) () ")")) (!= "!=") (identifier "bVar11")) () ")")) (compound_statement "{\n                    iVar2 = strcmp((char *)__s1,"__int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned __int128");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,0);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"unsigned short");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"void");\n                    if (iVar2 == 0) {\n                      lVar5 = FUN_0010f490(param_1);\n                      goto LAB_00111512;\n                    }\n                    iVar2 = strcmp((char *)__s1,"wchar_t");\n                    if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }\n                  }" ({ "{") (expression_statement "iVar2 = strcmp((char *)__s1,"__int128");" (assignment_expression "iVar2 = strcmp((char *)__s1,"__int128")" (identifier "iVar2") (= "=") (call_expression "strcmp((char *)__s1,"__int128")" (identifier "strcmp") (argument_list "((char *)__s1,"__int128")" (( "(") (cast_expression "(char *)__s1" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "__s1")) (, ",") (string_literal ""__int128"" (" """) (string_content "__int128") (" """)) () ")")))) (; ";")) (if_statement "if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,0);\n                      goto LAB_00111512;\n                    }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                      lVar5 = FUN_0010f4a0(param_1,0x10,0);\n                      goto LAB_00111512;\n                    }" ({ "{") (expression_statement "lVar5 = FUN_0010f4a0(param_1,0x10,0);" (assignment_expression "lVar5 = FUN_0010f4a0(param_1,0x10,0)" (identifier "lVar5") (= "=") (call_expression "FUN_0010f4a0(param_1,0x10,0)" (identifier "FUN_0010f4a0") (argument_list "(param_1,0x10,0)" (( "(") (identifier "param_1") (, ",") (number_literal "0x10") (, ",") (number_literal "0") () ")")))) (; ";")) (goto_statement "goto LAB_00111512;" (goto "goto") (statement_identifier "LAB_00111512") (; ";")) (} "}"))) (expression_statement "iVar2 = strcmp((char *)__s1,"unsigned __int128");" (assignment_expression "iVar2 = strcmp((char *)__s1,"unsigned __int128")" (identifier "iVar2") (= "=") (call_expression "strcmp((char *)__s1,"unsigned __int128")" (identifier "strcmp") (argument_list "((char *)__s1,"unsigned __int128")" (( "(") (cast_expression "(char *)__s1" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "__s1")) (, ",") (string_literal ""unsigned __int128"" (" """) (string_content "unsigned __int128") (" """)) () ")")))) (; ";")) (if_statement "if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,0x10,1);\n                      goto LAB_00111512;\n                    }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                      lVar5 = FUN_0010f4a0(param_1,0x10,1);\n                      goto LAB_00111512;\n                    }" ({ "{") (expression_statement "lVar5 = FUN_0010f4a0(param_1,0x10,1);" (assignment_expression "lVar5 = FUN_0010f4a0(param_1,0x10,1)" (identifier "lVar5") (= "=") (call_expression "FUN_0010f4a0(param_1,0x10,1)" (identifier "FUN_0010f4a0") (argument_list "(param_1,0x10,1)" (( "(") (identifier "param_1") (, ",") (number_literal "0x10") (, ",") (number_literal "1") () ")")))) (; ";")) (goto_statement "goto LAB_00111512;" (goto "goto") (statement_identifier "LAB_00111512") (; ";")) (} "}"))) (expression_statement "iVar2 = strcmp((char *)__s1,"short");" (assignment_expression "iVar2 = strcmp((char *)__s1,"short")" (identifier "iVar2") (= "=") (call_expression "strcmp((char *)__s1,"short")" (identifier "strcmp") (argument_list "((char *)__s1,"short")" (( "(") (cast_expression "(char *)__s1" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "__s1")) (, ",") (string_literal ""short"" (" """) (string_content "short") (" """)) () ")")))) (; ";")) (if_statement "if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,0);\n                      goto LAB_00111512;\n                    }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                      lVar5 = FUN_0010f4a0(param_1,2,0);\n                      goto LAB_00111512;\n                    }" ({ "{") (expression_statement "lVar5 = FUN_0010f4a0(param_1,2,0);" (assignment_expression "lVar5 = FUN_0010f4a0(param_1,2,0)" (identifier "lVar5") (= "=") (call_expression "FUN_0010f4a0(param_1,2,0)" (identifier "FUN_0010f4a0") (argument_list "(param_1,2,0)" (( "(") (identifier "param_1") (, ",") (number_literal "2") (, ",") (number_literal "0") () ")")))) (; ";")) (goto_statement "goto LAB_00111512;" (goto "goto") (statement_identifier "LAB_00111512") (; ";")) (} "}"))) (expression_statement "iVar2 = strcmp((char *)__s1,"unsigned short");" (assignment_expression "iVar2 = strcmp((char *)__s1,"unsigned short")" (identifier "iVar2") (= "=") (call_expression "strcmp((char *)__s1,"unsigned short")" (identifier "strcmp") (argument_list "((char *)__s1,"unsigned short")" (( "(") (cast_expression "(char *)__s1" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "__s1")) (, ",") (string_literal ""unsigned short"" (" """) (string_content "unsigned short") (" """)) () ")")))) (; ";")) (if_statement "if (iVar2 == 0) {\n                      lVar5 = FUN_0010f4a0(param_1,2,1);\n                      goto LAB_00111512;\n                    }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                      lVar5 = FUN_0010f4a0(param_1,2,1);\n                      goto LAB_00111512;\n                    }" ({ "{") (expression_statement "lVar5 = FUN_0010f4a0(param_1,2,1);" (assignment_expression "lVar5 = FUN_0010f4a0(param_1,2,1)" (identifier "lVar5") (= "=") (call_expression "FUN_0010f4a0(param_1,2,1)" (identifier "FUN_0010f4a0") (argument_list "(param_1,2,1)" (( "(") (identifier "param_1") (, ",") (number_literal "2") (, ",") (number_literal "1") () ")")))) (; ";")) (goto_statement "goto LAB_00111512;" (goto "goto") (statement_identifier "LAB_00111512") (; ";")) (} "}"))) (expression_statement "iVar2 = strcmp((char *)__s1,"void");" (assignment_expression "iVar2 = strcmp((char *)__s1,"void")" (identifier "iVar2") (= "=") (call_expression "strcmp((char *)__s1,"void")" (identifier "strcmp") (argument_list "((char *)__s1,"void")" (( "(") (cast_expression "(char *)__s1" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "__s1")) (, ",") (string_literal ""void"" (" """) (string_content "void") (" """)) () ")")))) (; ";")) (if_statement "if (iVar2 == 0) {\n                      lVar5 = FUN_0010f490(param_1);\n                      goto LAB_00111512;\n                    }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                      lVar5 = FUN_0010f490(param_1);\n                      goto LAB_00111512;\n                    }" ({ "{") (expression_statement "lVar5 = FUN_0010f490(param_1);" (assignment_expression "lVar5 = FUN_0010f490(param_1)" (identifier "lVar5") (= "=") (call_expression "FUN_0010f490(param_1)" (identifier "FUN_0010f490") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (goto_statement "goto LAB_00111512;" (goto "goto") (statement_identifier "LAB_00111512") (; ";")) (} "}"))) (expression_statement "iVar2 = strcmp((char *)__s1,"wchar_t");" (assignment_expression "iVar2 = strcmp((char *)__s1,"wchar_t")" (identifier "iVar2") (= "=") (call_expression "strcmp((char *)__s1,"wchar_t")" (identifier "strcmp") (argument_list "((char *)__s1,"wchar_t")" (( "(") (cast_expression "(char *)__s1" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "__s1")) (, ",") (string_literal ""wchar_t"" (" """) (string_content "wchar_t") (" """)) () ")")))) (; ";")) (if_statement "if (iVar2 != 0) {\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }" (if "if") (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                      iVar2 = strcmp((char *)__s1,"long long");\n                      if (iVar2 == 0) {\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }\n                      goto LAB_00111512;\n                    }" ({ "{") (expression_statement "iVar2 = strcmp((char *)__s1,"long long");" (assignment_expression "iVar2 = strcmp((char *)__s1,"long long")" (identifier "iVar2") (= "=") (call_expression "strcmp((char *)__s1,"long long")" (identifier "strcmp") (argument_list "((char *)__s1,"long long")" (( "(") (cast_expression "(char *)__s1" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "__s1")) (, ",") (string_literal ""long long"" (" """) (string_content "long long") (" """)) () ")")))) (; ";")) (if_statement "if (iVar2 == 0) {\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }\n                      else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                        lVar5 = FUN_0010f4a0(param_1,8,0);\n                      }" ({ "{") (expression_statement "lVar5 = FUN_0010f4a0(param_1,8,0);" (assignment_expression "lVar5 = FUN_0010f4a0(param_1,8,0)" (identifier "lVar5") (= "=") (call_expression "FUN_0010f4a0(param_1,8,0)" (identifier "FUN_0010f4a0") (argument_list "(param_1,8,0)" (( "(") (identifier "param_1") (, ",") (number_literal "8") (, ",") (number_literal "0") () ")")))) (; ";")) (} "}")) (else_clause "else {\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }" (else "else") (compound_statement "{\n                        iVar2 = strcmp((char *)__s1,"unsigned long long");\n                        if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }\n                      }" ({ "{") (expression_statement "iVar2 = strcmp((char *)__s1,"unsigned long long");" (assignment_expression "iVar2 = strcmp((char *)__s1,"unsigned long long")" (identifier "iVar2") (= "=") (call_expression "strcmp((char *)__s1,"unsigned long long")" (identifier "strcmp") (argument_list "((char *)__s1,"unsigned long long")" (( "(") (cast_expression "(char *)__s1" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "__s1")) (, ",") (string_literal ""unsigned long long"" (" """) (string_content "unsigned long long") (" """)) () ")")))) (; ";")) (if_statement "if (iVar2 == 0) {\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }\n                        else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                          lVar5 = FUN_0010f4a0(param_1,8,1);\n                        }" ({ "{") (expression_statement "lVar5 = FUN_0010f4a0(param_1,8,1);" (assignment_expression "lVar5 = FUN_0010f4a0(param_1,8,1)" (identifier "lVar5") (= "=") (call_expression "FUN_0010f4a0(param_1,8,1)" (identifier "FUN_0010f4a0") (argument_list "(param_1,8,1)" (( "(") (identifier "param_1") (, ",") (number_literal "8") (, ",") (number_literal "1") () ")")))) (; ";")) (} "}")) (else_clause "else {\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }" (else "else") (compound_statement "{\n                          iVar2 = strcmp((char *)__s1,"...");\n                          if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }\n                          lVar5 = 0;\n                          pcVar7 = (char *)dcgettext(0,pcVar7,5);\n                          fprintf(stderr,pcVar7);\n                        }" ({ "{") (expression_statement "iVar2 = strcmp((char *)__s1,"...");" (assignment_expression "iVar2 = strcmp((char *)__s1,"...")" (identifier "iVar2") (= "=") (call_expression "strcmp((char *)__s1,"...")" (identifier "strcmp") (argument_list "((char *)__s1,"...")" (( "(") (cast_expression "(char *)__s1" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "__s1")) (, ",") (string_literal ""..."" (" """) (string_content "...") (" """)) () ")")))) (; ";")) (if_statement "if (iVar2 == 0) {\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }\n                          else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                            pcVar7 = "Unexpected demangled varargs\n";\n                            if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }\n                          }" ({ "{") (expression_statement "pcVar7 = "Unexpected demangled varargs\n";" (assignment_expression "pcVar7 = "Unexpected demangled varargs\n"" (identifier "pcVar7") (= "=") (string_literal ""Unexpected demangled varargs\n"" (" """) (string_content "Unexpected demangled varargs") (escape_sequence "\n") (" """))) (; ";")) (if_statement "if (param_5 != (undefined4 *)0x0) {\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }" (if "if") (parenthesized_expression "(param_5 != (undefined4 *)0x0)" (( "(") (binary_expression "param_5 != (undefined4 *)0x0" (identifier "param_5") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                              *param_5 = 1;\n                              lVar5 = 0;\n                              goto LAB_00111512;\n                            }" ({ "{") (expression_statement "*param_5 = 1;" (assignment_expression "*param_5 = 1" (pointer_expression "*param_5" (* "*") (identifier "param_5")) (= "=") (number_literal "1")) (; ";")) (expression_statement "lVar5 = 0;" (assignment_expression "lVar5 = 0" (identifier "lVar5") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_00111512;" (goto "goto") (statement_identifier "LAB_00111512") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }" (else "else") (compound_statement "{\n                            pcVar7 = "Unrecognized demangled builtin type\n";\n                          }" ({ "{") (expression_statement "pcVar7 = "Unrecognized demangled builtin type\n";" (assignment_expression "pcVar7 = "Unrecognized demangled builtin type\n"" (identifier "pcVar7") (= "=") (string_literal ""Unrecognized demangled builtin type\n"" (" """) (string_content "Unrecognized demangled builtin type") (escape_sequence "\n") (" """))) (; ";")) (} "}")))) (expression_statement "lVar5 = 0;" (assignment_expression "lVar5 = 0" (identifier "lVar5") (= "=") (number_literal "0")) (; ";")) (expression_statement "pcVar7 = (char *)dcgettext(0,pcVar7,5);" (assignment_expression "pcVar7 = (char *)dcgettext(0,pcVar7,5)" (identifier "pcVar7") (= "=") (cast_expression "(char *)dcgettext(0,pcVar7,5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,pcVar7,5)" (identifier "dcgettext") (argument_list "(0,pcVar7,5)" (( "(") (number_literal "0") (, ",") (identifier "pcVar7") (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "fprintf(stderr,pcVar7);" (call_expression "fprintf(stderr,pcVar7)" (identifier "fprintf") (argument_list "(stderr,pcVar7)" (( "(") (identifier "stderr") (, ",") (identifier "pcVar7") () ")"))) (; ";")) (} "}")))) (} "}")))) (goto_statement "goto LAB_00111512;" (goto "goto") (statement_identifier "LAB_00111512") (; ";")) (} "}"))) (} "}"))) (} "}"))) (expression_statement "lVar5 = FUN_0010f4a0(param_1,4,1);" (assignment_expression "lVar5 = FUN_0010f4a0(param_1,4,1)" (identifier "lVar5") (= "=") (call_expression "FUN_0010f4a0(param_1,4,1)" (identifier "FUN_0010f4a0") (argument_list "(param_1,4,1)" (( "(") (identifier "param_1") (, ",") (number_literal "4") (, ",") (number_literal "1") () ")")))) (; ";")) (} "}")))) (goto_statement "goto LAB_00111512;" (goto "goto") (statement_identifier "LAB_00111512") (; ";")) (} "}"))) (} "}"))) (expression_statement "lVar5 = FUN_0010f4c0(param_1,8);" (assignment_expression "lVar5 = FUN_0010f4c0(param_1,8)" (identifier "lVar5") (= "=") (call_expression "FUN_0010f4c0(param_1,8)" (identifier "FUN_0010f4c0") (argument_list "(param_1,8)" (( "(") (identifier "param_1") (, ",") (number_literal "8") () ")")))) (; ";")) (goto_statement "goto LAB_00111512;" (goto "goto") (statement_identifier "LAB_00111512") (; ";")) (} "}"))) (} "}"))) (expression_statement "lVar5 = FUN_0010f4a0(param_1,1,0);" (assignment_expression "lVar5 = FUN_0010f4a0(param_1,1,0)" (identifier "lVar5") (= "=") (call_expression "FUN_0010f4a0(param_1,1,0)" (identifier "FUN_0010f4a0") (argument_list "(param_1,1,0)" (( "(") (identifier "param_1") (, ",") (number_literal "1") (, ",") (number_literal "0") () ")")))) (; ";")) (labeled_statement "LAB_00111512:\n      free(__s1);" (statement_identifier "LAB_00111512") (: ":") (expression_statement "free(__s1);" (call_expression "free(__s1)" (identifier "free") (argument_list "(__s1)" (( "(") (identifier "__s1") () ")"))) (; ";"))) (return_statement "return lVar5;" (return "return") (identifier "lVar5") (; ";")) (} "}"))) (labeled_statement "LAB_0011152c:\n    pcVar7 = (char *)dcgettext(0,pcVar7,5);" (statement_identifier "LAB_0011152c") (: ":") (expression_statement "pcVar7 = (char *)dcgettext(0,pcVar7,5);" (assignment_expression "pcVar7 = (char *)dcgettext(0,pcVar7,5)" (identifier "pcVar7") (= "=") (cast_expression "(char *)dcgettext(0,pcVar7,5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,pcVar7,5)" (identifier "dcgettext") (argument_list "(0,pcVar7,5)" (( "(") (number_literal "0") (, ",") (identifier "pcVar7") (, ",") (number_literal "5") () ")"))))) (; ";"))) (expression_statement "fprintf(stderr,pcVar7);" (call_expression "fprintf(stderr,pcVar7)" (identifier "fprintf") (argument_list "(stderr,pcVar7)" (( "(") (identifier "stderr") (, ",") (identifier "pcVar7") () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x29:\n    if (*(long *)(param_3 + 2) == 0) {\n      lVar5 = FUN_0010f490(param_1);\n    }\n    else {\n      lVar5 = FUN_00110fa0(param_1,param_2,*(long *)(param_3 + 2),0,0);\n    }\n    if ((lVar5 != 0) &&\n       (lVar6 = FUN_00111730(param_1,param_2,*(undefined8 *)(param_3 + 4),local_40), lVar6 != 0)) {\n      lVar5 = FUN_0010f630(param_1,lVar5,lVar6,local_40[0]);\n      return lVar5;\n    }" (case "case") (number_literal "0x29") (: ":") (if_statement "if (*(long *)(param_3 + 2) == 0) {\n      lVar5 = FUN_0010f490(param_1);\n    }\n    else {\n      lVar5 = FUN_00110fa0(param_1,param_2,*(long *)(param_3 + 2),0,0);\n    }" (if "if") (parenthesized_expression "(*(long *)(param_3 + 2) == 0)" (( "(") (binary_expression "*(long *)(param_3 + 2) == 0" (pointer_expression "*(long *)(param_3 + 2)" (* "*") (cast_expression "(long *)(param_3 + 2)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 2)" (( "(") (binary_expression "param_3 + 2" (identifier "param_3") (+ "+") (number_literal "2")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      lVar5 = FUN_0010f490(param_1);\n    }" ({ "{") (expression_statement "lVar5 = FUN_0010f490(param_1);" (assignment_expression "lVar5 = FUN_0010f490(param_1)" (identifier "lVar5") (= "=") (call_expression "FUN_0010f490(param_1)" (identifier "FUN_0010f490") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (} "}")) (else_clause "else {\n      lVar5 = FUN_00110fa0(param_1,param_2,*(long *)(param_3 + 2),0,0);\n    }" (else "else") (compound_statement "{\n      lVar5 = FUN_00110fa0(param_1,param_2,*(long *)(param_3 + 2),0,0);\n    }" ({ "{") (expression_statement "lVar5 = FUN_00110fa0(param_1,param_2,*(long *)(param_3 + 2),0,0);" (assignment_expression "lVar5 = FUN_00110fa0(param_1,param_2,*(long *)(param_3 + 2),0,0)" (identifier "lVar5") (= "=") (call_expression "FUN_00110fa0(param_1,param_2,*(long *)(param_3 + 2),0,0)" (identifier "FUN_00110fa0") (argument_list "(param_1,param_2,*(long *)(param_3 + 2),0,0)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") (, ",") (pointer_expression "*(long *)(param_3 + 2)" (* "*") (cast_expression "(long *)(param_3 + 2)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 2)" (( "(") (binary_expression "param_3 + 2" (identifier "param_3") (+ "+") (number_literal "2")) () ")")))) (, ",") (number_literal "0") (, ",") (number_literal "0") () ")")))) (; ";")) (} "}")))) (if_statement "if ((lVar5 != 0) &&\n       (lVar6 = FUN_00111730(param_1,param_2,*(undefined8 *)(param_3 + 4),local_40), lVar6 != 0)) {\n      lVar5 = FUN_0010f630(param_1,lVar5,lVar6,local_40[0]);\n      return lVar5;\n    }" (if "if") (parenthesized_expression "((lVar5 != 0) &&\n       (lVar6 = FUN_00111730(param_1,param_2,*(undefined8 *)(param_3 + 4),local_40), lVar6 != 0))" (( "(") (binary_expression "(lVar5 != 0) &&\n       (lVar6 = FUN_00111730(param_1,param_2,*(undefined8 *)(param_3 + 4),local_40), lVar6 != 0)" (parenthesized_expression "(lVar5 != 0)" (( "(") (binary_expression "lVar5 != 0" (identifier "lVar5") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(lVar6 = FUN_00111730(param_1,param_2,*(undefined8 *)(param_3 + 4),local_40), lVar6 != 0)" (( "(") (comma_expression "lVar6 = FUN_00111730(param_1,param_2,*(undefined8 *)(param_3 + 4),local_40), lVar6 != 0" (assignment_expression "lVar6 = FUN_00111730(param_1,param_2,*(undefined8 *)(param_3 + 4),local_40)" (identifier "lVar6") (= "=") (call_expression "FUN_00111730(param_1,param_2,*(undefined8 *)(param_3 + 4),local_40)" (identifier "FUN_00111730") (argument_list "(param_1,param_2,*(undefined8 *)(param_3 + 4),local_40)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") (, ",") (pointer_expression "*(undefined8 *)(param_3 + 4)" (* "*") (cast_expression "(undefined8 *)(param_3 + 4)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 4)" (( "(") (binary_expression "param_3 + 4" (identifier "param_3") (+ "+") (number_literal "4")) () ")")))) (, ",") (identifier "local_40") () ")")))) (, ",") (binary_expression "lVar6 != 0" (identifier "lVar6") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n      lVar5 = FUN_0010f630(param_1,lVar5,lVar6,local_40[0]);\n      return lVar5;\n    }" ({ "{") (expression_statement "lVar5 = FUN_0010f630(param_1,lVar5,lVar6,local_40[0]);" (assignment_expression "lVar5 = FUN_0010f630(param_1,lVar5,lVar6,local_40[0])" (identifier "lVar5") (= "=") (call_expression "FUN_0010f630(param_1,lVar5,lVar6,local_40[0])" (identifier "FUN_0010f630") (argument_list "(param_1,lVar5,lVar6,local_40[0])" (( "(") (identifier "param_1") (, ",") (identifier "lVar5") (, ",") (identifier "lVar6") (, ",") (subscript_expression "local_40[0]" (identifier "local_40") ([ "[") (number_literal "0") (] "]")) () ")")))) (; ";")) (return_statement "return lVar5;" (return "return") (identifier "lVar5") (; ";")) (} "}")))) (} "}"))) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}")))

type_1
function_1
          (void *dhandle,type_2 *info,type_3 *dc,type_1 var_2,
          type_4 *var_1)

{
  type_5 dVar1;
  type_3 *var_35;
  int var_10;
  size_t sVar3;
  type_6 *var_23;
  type_7 *var_4;
  type_1 var_13;
  type_8 *var_37;
  type_8 var_6;
  char *var_8;
  long var_24;
  type_6 *var_25;
  type_6 *var_26;
  bool var_27;
  bool var_28;
  bool var_30;
  type_6 bVar14;
  size_t alc;
  
  bVar14 = 0;
  if (var_1 != (type_4 *)0x0) {
    *var_1 = 0;
  }
  dVar1 = dc->type;
  switch(dVar1) {
  case DEMANGLE_COMPONENT_NAME:
    if ((var_2 != (type_1)0x0) &&
       (var_4 = var_3(dhandle,var_2), var_4 != (type_7 *)0x0)) {
      for (; *var_4 != (type_7)0x0; var_4 = var_4 + 1) {
        var_6 = var_5(dhandle,*var_4);
        if (var_6 == (type_8)0x0) {
          return (type_1)0x0;
        }
        var_8 = var_7(dhandle,var_6);
        if (var_8 != (char *)0x0) {
          sVar3 = var_9(var_8);
          var_10 = (dc->u).s_name.len;
          if ((var_10 == (int)sVar3) &&
             (var_10 = var_11(var_8,(dc->u).s_name.s,(long)var_10), var_10 == 0)) {
            return var_6;
          }
        }
      }
    }
  case DEMANGLE_COMPONENT_SUB_STD:
    var_13 = var_12
                       (dhandle,(type_2 *)&info->tags,(dc->u).s_name.s,(dc->u).s_name.len,
                        DEBUG_KIND_ILLEGAL);
    return var_13;
  case DEMANGLE_COMPONENT_QUAL_NAME:
    var_13 = function_1(dhandle,info,(dc->u).s_fixed.length,var_2,(type_4 *)0x0);
    if (var_13 != (type_1)0x0) {
      var_13 = function_1
                         (dhandle,info,(dc->u).s_extended_operator.name,var_13,(type_4 *)0x0);
      return var_13;
    }
    break;
  default:
    var_8 = (char *)var_14(0,"Unrecognized demangle component %d\n",5);
    var_15(stderr,var_8,(type_9)dVar1);
    return (type_1)0x0;
  case DEMANGLE_COMPONENT_TEMPLATE:
    var_8 = (char *)var_16(3,dc,0x14,&alc);
    if (var_8 != (char *)0x0) {
      sVar3 = var_9(var_8);
      var_13 = var_12
                         (dhandle,(type_2 *)&info->tags,var_8,(int)sVar3,DEBUG_KIND_CLASS);
      var_17(var_8);
      return var_13;
    }
    var_8 = "Failed to print demangled template\n";
    goto LAB_0011152c;
  case DEMANGLE_COMPONENT_RESTRICT:
  case DEMANGLE_COMPONENT_VOLATILE:
  case DEMANGLE_COMPONENT_CONST:
  case DEMANGLE_COMPONENT_POINTER:
  case DEMANGLE_COMPONENT_REFERENCE:
    var_13 = function_1
                       (dhandle,info,(dc->u).s_fixed.length,(type_1)0x0,(type_4 *)0x0);
    if (var_13 != (type_1)0x0) {
      switch(dc->type) {
      case DEMANGLE_COMPONENT_RESTRICT:
        return var_13;
      case DEMANGLE_COMPONENT_VOLATILE:
        var_6 = var_18(dhandle,var_13);
        return var_6;
      case DEMANGLE_COMPONENT_CONST:
        var_6 = var_19(dhandle,var_13);
        return var_6;
      default:
                    /* WARNING: Subroutine does not return */
        var_20();
      case DEMANGLE_COMPONENT_POINTER:
        var_6 = var_21(dhandle,var_13);
        return var_6;
      case DEMANGLE_COMPONENT_REFERENCE:
        var_6 = var_22(dhandle,var_13);
        return var_6;
      }
    }
    break;
  case DEMANGLE_COMPONENT_BUILTIN_TYPE:
    var_23 = (type_6 *)var_16(3,dc,0x14,&alc);
    var_8 = "Couldn\'t get demangled builtin type\n";
    var_27 = false;
    var_30 = var_23 == (type_6 *)0x0;
    if (!var_30) {
      var_24 = 0xc;
      var_25 = var_23;
      var_26 = (type_6 *)0x122f71;
      do {
        if (var_24 == 0) break;
        var_24 = var_24 + -1;
        var_27 = *var_25 < *var_26;
        var_30 = *var_25 == *var_26;
        var_25 = var_25 + (type_9)bVar14 * -2 + 1;
        var_26 = var_26 + (type_9)bVar14 * -2 + 1;
      } while (var_30);
      var_28 = false;
      var_27 = (!var_27 && !var_30) == var_27;
      if (!var_27) {
        var_24 = 5;
        var_25 = var_23;
        var_26 = &DAT_0012307b;
        do {
          if (var_24 == 0) break;
          var_24 = var_24 + -1;
          var_28 = *var_25 < *var_26;
          var_27 = *var_25 == *var_26;
          var_25 = var_25 + (type_9)bVar14 * -2 + 1;
          var_26 = var_26 + (type_9)bVar14 * -2 + 1;
        } while (var_27);
        var_30 = false;
        var_27 = (!var_28 && !var_27) == var_28;
        if (var_27) {
          var_6 = var_29(dhandle,1);
          goto LAB_00111512;
        }
        var_24 = 5;
        var_25 = var_23;
        var_26 = (type_6 *)0x122f78;
        do {
          if (var_24 == 0) break;
          var_24 = var_24 + -1;
          var_30 = *var_25 < *var_26;
          var_27 = *var_25 == *var_26;
          var_25 = var_25 + (type_9)bVar14 * -2 + 1;
          var_26 = var_26 + (type_9)bVar14 * -2 + 1;
        } while (var_27);
        var_28 = false;
        var_27 = (!var_30 && !var_27) == var_30;
        if (!var_27) {
          var_24 = 7;
          var_25 = var_23;
          var_26 = (type_6 *)0x122fb3;
          do {
            if (var_24 == 0) break;
            var_24 = var_24 + -1;
            var_28 = *var_25 < *var_26;
            var_27 = *var_25 == *var_26;
            var_25 = var_25 + (type_9)bVar14 * -2 + 1;
            var_26 = var_26 + (type_9)bVar14 * -2 + 1;
          } while (var_27);
          var_30 = false;
          var_27 = (!var_28 && !var_27) == var_28;
          if (!var_27) {
            var_24 = 0xc;
            var_25 = var_23;
            var_26 = (type_6 *)"long double";
            do {
              if (var_24 == 0) break;
              var_24 = var_24 + -1;
              var_30 = *var_25 < *var_26;
              var_27 = *var_25 == *var_26;
              var_25 = var_25 + (type_9)bVar14 * -2 + 1;
              var_26 = var_26 + (type_9)bVar14 * -2 + 1;
            } while (var_27);
            var_28 = false;
            var_27 = (!var_30 && !var_27) == var_30;
            if (!var_27) {
              var_24 = 6;
              var_25 = var_23;
              var_26 = (type_6 *)"float";
              do {
                if (var_24 == 0) break;
                var_24 = var_24 + -1;
                var_28 = *var_25 < *var_26;
                var_27 = *var_25 == *var_26;
                var_25 = var_25 + (type_9)bVar14 * -2 + 1;
                var_26 = var_26 + (type_9)bVar14 * -2 + 1;
              } while (var_27);
              var_30 = false;
              var_27 = (!var_28 && !var_27) == var_28;
              if (var_27) {
                var_6 = var_31(dhandle,4);
                goto LAB_00111512;
              }
              var_24 = 0xb;
              var_25 = var_23;
              var_26 = (type_6 *)"__float128";
              do {
                if (var_24 == 0) break;
                var_24 = var_24 + -1;
                var_30 = *var_25 < *var_26;
                var_27 = *var_25 == *var_26;
                var_25 = var_25 + (type_9)bVar14 * -2 + 1;
                var_26 = var_26 + (type_9)bVar14 * -2 + 1;
              } while (var_27);
              var_28 = false;
              var_27 = (!var_30 && !var_27) == var_30;
              if (var_27) {
                var_6 = var_31(dhandle,0x10);
                goto LAB_00111512;
              }
              var_24 = 0xe;
              var_25 = var_23;
              var_26 = (type_6 *)"unsigned char";
              do {
                if (var_24 == 0) break;
                var_24 = var_24 + -1;
                var_28 = *var_25 < *var_26;
                var_27 = *var_25 == *var_26;
                var_25 = var_25 + (type_9)bVar14 * -2 + 1;
                var_26 = var_26 + (type_9)bVar14 * -2 + 1;
              } while (var_27);
              var_30 = false;
              var_27 = (!var_28 && !var_27) == var_28;
              if (var_27) {
                var_6 = var_32(dhandle,1,1);
                goto LAB_00111512;
              }
              var_24 = 4;
              var_25 = var_23;
              var_26 = (type_6 *)0x1230d2;
              do {
                if (var_24 == 0) break;
                var_24 = var_24 + -1;
                var_30 = *var_25 < *var_26;
                var_27 = *var_25 == *var_26;
                var_25 = var_25 + (type_9)bVar14 * -2 + 1;
                var_26 = var_26 + (type_9)bVar14 * -2 + 1;
              } while (var_27);
              var_28 = false;
              var_27 = (!var_30 && !var_27) == var_30;
              if (var_27) {
LAB_00111631:
                var_6 = var_32(dhandle,4,0);
              }
              else {
                var_24 = 0xd;
                var_25 = var_23;
                var_26 = (type_6 *)0x1230c9;
                do {
                  if (var_24 == 0) break;
                  var_24 = var_24 + -1;
                  var_28 = *var_25 < *var_26;
                  var_27 = *var_25 == *var_26;
                  var_25 = var_25 + (type_9)bVar14 * -2 + 1;
                  var_26 = var_26 + (type_9)bVar14 * -2 + 1;
                } while (var_27);
                var_30 = false;
                var_27 = (!var_28 && !var_27) == var_28;
                if (!var_27) {
                  var_24 = 5;
                  var_25 = var_23;
                  var_26 = (type_6 *)0x122f9e;
                  do {
                    if (var_24 == 0) break;
                    var_24 = var_24 + -1;
                    var_30 = *var_25 < *var_26;
                    var_27 = *var_25 == *var_26;
                    var_25 = var_25 + (type_9)bVar14 * -2 + 1;
                    var_26 = var_26 + (type_9)bVar14 * -2 + 1;
                  } while (var_27);
                  var_28 = false;
                  var_27 = (!var_30 && !var_27) == var_30;
                  if (var_27) goto LAB_00111631;
                  var_24 = 0xe;
                  var_25 = var_23;
                  var_26 = (type_6 *)"unsigned long";
                  do {
                    if (var_24 == 0) break;
                    var_24 = var_24 + -1;
                    var_28 = *var_25 < *var_26;
                    var_27 = *var_25 == *var_26;
                    var_25 = var_25 + (type_9)bVar14 * -2 + 1;
                    var_26 = var_26 + (type_9)bVar14 * -2 + 1;
                  } while (var_27);
                  if ((!var_28 && !var_27) != var_28) {
                    var_10 = var_33((char *)var_23,"__int128");
                    if (var_10 == 0) {
                      var_6 = var_32(dhandle,0x10,0);
                      goto LAB_00111512;
                    }
                    var_10 = var_33((char *)var_23,"unsigned __int128");
                    if (var_10 == 0) {
                      var_6 = var_32(dhandle,0x10,1);
                      goto LAB_00111512;
                    }
                    var_10 = var_33((char *)var_23,"short");
                    if (var_10 == 0) {
                      var_6 = var_32(dhandle,2,0);
                      goto LAB_00111512;
                    }
                    var_10 = var_33((char *)var_23,"unsigned short");
                    if (var_10 == 0) {
                      var_6 = var_32(dhandle,2,1);
                      goto LAB_00111512;
                    }
                    var_10 = var_33((char *)var_23,"void");
                    if (var_10 == 0) {
                      var_6 = var_34(dhandle);
                      goto LAB_00111512;
                    }
                    var_10 = var_33((char *)var_23,"wchar_t");
                    if (var_10 != 0) {
                      var_10 = var_33((char *)var_23,"long long");
                      if (var_10 == 0) {
                        var_6 = var_32(dhandle,8,0);
                      }
                      else {
                        var_10 = var_33((char *)var_23,"unsigned long long");
                        if (var_10 == 0) {
                          var_6 = var_32(dhandle,8,1);
                        }
                        else {
                          var_10 = var_33((char *)var_23,"...");
                          if (var_10 == 0) {
                            var_8 = "Unexpected demangled varargs\n";
                            if (var_1 != (type_4 *)0x0) {
                              *var_1 = 1;
                              var_6 = (type_1)0x0;
                              goto LAB_00111512;
                            }
                          }
                          else {
                            var_8 = "Unrecognized demangled builtin type\n";
                          }
                          var_6 = (type_1)0x0;
                          var_8 = (char *)var_14(0,var_8,5);
                          var_15(stderr,var_8);
                        }
                      }
                      goto LAB_00111512;
                    }
                  }
                }
                var_6 = var_32(dhandle,4,1);
              }
              goto LAB_00111512;
            }
          }
          var_6 = var_31(dhandle,8);
          goto LAB_00111512;
        }
      }
      var_6 = var_32(dhandle,1,0);
LAB_00111512:
      var_17(var_23);
      return var_6;
    }
LAB_0011152c:
    var_8 = (char *)var_14(0,var_8,5);
    var_15(stderr,var_8);
    break;
  case DEMANGLE_COMPONENT_FUNCTION_TYPE:
    var_35 = (dc->u).s_fixed.length;
    if (var_35 == (type_3 *)0x0) {
      var_13 = var_34(dhandle);
    }
    else {
      var_13 = function_1(dhandle,info,var_35,(type_1)0x0,(type_4 *)0x0);
    }
    if ((var_13 != (type_8)0x0) &&
       (var_37 = var_36
                              (dhandle,info,(dc->u).s_extended_operator.name,(type_4 *)&alc),
       var_37 != (type_8 *)0x0)) {
      var_6 = var_38(dhandle,var_13,var_37,(type_4)alc);
      return var_6;
    }
  }
  return (type_1)0x0;
}


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

long MASKED(undefined8 param_1,long param_2,uint *param_3,long param_4,undefined4 *param_5)

{
  uint uVar1;
  int iVar2;
  size_t sVar3;
  byte *__s1;
  long *plVar4;
  long lVar5;
  long lVar6;
  char *pcVar7;
  byte *pbVar8;
  byte *pbVar9;
  bool bVar10;
  bool bVar11;
  bool bVar12;
  byte bVar13;
  undefined4 local_40 [4];
  
  bVar13 = 0;
  if (param_5 != (undefined4 *)0x0) {
    *param_5 = 0;
  }
  uVar1 = *param_3;
  switch(uVar1) {
  case 0:
    if ((param_4 != 0) && (plVar4 = (long *)FUN_001101a0(param_1,param_4), plVar4 != (long *)0x0)) {
      for (; *plVar4 != 0; plVar4 = plVar4 + 1) {
        lVar5 = FUN_001101f0(param_1);
        if (lVar5 == 0) {
          return 0;
        }
        pcVar7 = (char *)FUN_00110000(param_1,lVar5);
        if (pcVar7 != (char *)0x0) {
          sVar3 = strlen(pcVar7);
          if ((param_3[4] == (uint)sVar3) &&
             (iVar2 = strncmp(pcVar7,*(char **)(param_3 + 2),(long)(int)param_3[4]), iVar2 == 0)) {
            return lVar5;
          }
        }
      }
    }
  case 0x18:
    lVar5 = FUN_00110e80(param_1,param_2 + 0x1a0,*(undefined8 *)(param_3 + 2),param_3[4],0);
    return lVar5;
  case 1:
    lVar5 = MASKED(param_1,param_2,*(undefined8 *)(param_3 + 2),param_4,0);
    if (lVar5 != 0) {
      lVar5 = MASKED(param_1,param_2,*(undefined8 *)(param_3 + 4),lVar5,0);
      return lVar5;
    }
    break;
  default:
    pcVar7 = (char *)dcgettext(0,"Unrecognized demangle component %d\n",5);
    fprintf(stderr,pcVar7,(ulong)uVar1);
    return 0;
  case 4:
    pcVar7 = (char *)cplus_demangle_print(3,param_3,0x14,local_40);
    if (pcVar7 != (char *)0x0) {
      sVar3 = strlen(pcVar7);
      lVar5 = FUN_00110e80(param_1,param_2 + 0x1a0,pcVar7,sVar3 & 0xffffffff,9);
      free(pcVar7);
      return lVar5;
    }
    pcVar7 = "Failed to print demangled template\n";
    goto LAB_0011152c;
  case 0x19:
  case 0x1a:
  case 0x1b:
  case 0x22:
  case 0x23:
    lVar5 = MASKED(param_1,param_2,*(undefined8 *)(param_3 + 2),0,0);
    if (lVar5 != 0) {
      switch(*param_3) {
      case 0x19:
        return lVar5;
      case 0x1a:
        lVar5 = FUN_0010f920(param_1,lVar5);
        return lVar5;
      case 0x1b:
        lVar5 = FUN_0010f8f0(param_1,lVar5);
        return lVar5;
      default:
                    /* WARNING: Subroutine does not return */
        abort();
      case 0x22:
        lVar5 = FUN_0010f5f0(param_1,lVar5);
        return lVar5;
      case 0x23:
        lVar5 = FUN_0010f6a0(param_1,lVar5);
        return lVar5;
      }
    }
    break;
  case 0x27:
    __s1 = (byte *)cplus_demangle_print(3,param_3,0x14,local_40);
    pcVar7 = "Couldn\'t get demangled builtin type\n";
    bVar10 = false;
    bVar12 = __s1 == (byte *)0x0;
    if (!bVar12) {
      lVar5 = 0xc;
      pbVar8 = __s1;
      pbVar9 = (byte *)0x122f71;
      do {
        if (lVar5 == 0) break;
        lVar5 = lVar5 + -1;
        bVar10 = *pbVar8 < *pbVar9;
        bVar12 = *pbVar8 == *pbVar9;
        pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;
        pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;
      } while (bVar12);
      bVar11 = false;
      bVar10 = (!bVar10 && !bVar12) == bVar10;
      if (!bVar10) {
        lVar5 = 5;
        pbVar8 = __s1;
        pbVar9 = &DAT_0012307b;
        do {
          if (lVar5 == 0) break;
          lVar5 = lVar5 + -1;
          bVar11 = *pbVar8 < *pbVar9;
          bVar10 = *pbVar8 == *pbVar9;
          pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;
          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;
        } while (bVar10);
        bVar12 = false;
        bVar10 = (!bVar11 && !bVar10) == bVar11;
        if (bVar10) {
          lVar5 = FUN_0010f4d0(param_1,1);
          goto LAB_00111512;
        }
        lVar5 = 5;
        pbVar8 = __s1;
        pbVar9 = (byte *)0x122f78;
        do {
          if (lVar5 == 0) break;
          lVar5 = lVar5 + -1;
          bVar12 = *pbVar8 < *pbVar9;
          bVar10 = *pbVar8 == *pbVar9;
          pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;
          pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;
        } while (bVar10);
        bVar11 = false;
        bVar10 = (!bVar12 && !bVar10) == bVar12;
        if (!bVar10) {
          lVar5 = 7;
          pbVar8 = __s1;
          pbVar9 = (byte *)0x122fb3;
          do {
            if (lVar5 == 0) break;
            lVar5 = lVar5 + -1;
            bVar11 = *pbVar8 < *pbVar9;
            bVar10 = *pbVar8 == *pbVar9;
            pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;
            pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;
          } while (bVar10);
          bVar12 = false;
          bVar10 = (!bVar11 && !bVar10) == bVar11;
          if (!bVar10) {
            lVar5 = 0xc;
            pbVar8 = __s1;
            pbVar9 = (byte *)"long double";
            do {
              if (lVar5 == 0) break;
              lVar5 = lVar5 + -1;
              bVar12 = *pbVar8 < *pbVar9;
              bVar10 = *pbVar8 == *pbVar9;
              pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;
              pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;
            } while (bVar10);
            bVar11 = false;
            bVar10 = (!bVar12 && !bVar10) == bVar12;
            if (!bVar10) {
              lVar5 = 6;
              pbVar8 = __s1;
              pbVar9 = (byte *)"float";
              do {
                if (lVar5 == 0) break;
                lVar5 = lVar5 + -1;
                bVar11 = *pbVar8 < *pbVar9;
                bVar10 = *pbVar8 == *pbVar9;
                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;
                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;
              } while (bVar10);
              bVar12 = false;
              bVar10 = (!bVar11 && !bVar10) == bVar11;
              if (bVar10) {
                lVar5 = FUN_0010f4c0(param_1,4);
                goto LAB_00111512;
              }
              lVar5 = 0xb;
              pbVar8 = __s1;
              pbVar9 = (byte *)"__float128";
              do {
                if (lVar5 == 0) break;
                lVar5 = lVar5 + -1;
                bVar12 = *pbVar8 < *pbVar9;
                bVar10 = *pbVar8 == *pbVar9;
                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;
                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;
              } while (bVar10);
              bVar11 = false;
              bVar10 = (!bVar12 && !bVar10) == bVar12;
              if (bVar10) {
                lVar5 = FUN_0010f4c0(param_1,0x10);
                goto LAB_00111512;
              }
              lVar5 = 0xe;
              pbVar8 = __s1;
              pbVar9 = (byte *)"unsigned char";
              do {
                if (lVar5 == 0) break;
                lVar5 = lVar5 + -1;
                bVar11 = *pbVar8 < *pbVar9;
                bVar10 = *pbVar8 == *pbVar9;
                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;
                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;
              } while (bVar10);
              bVar12 = false;
              bVar10 = (!bVar11 && !bVar10) == bVar11;
              if (bVar10) {
                lVar5 = FUN_0010f4a0(param_1,1,1);
                goto LAB_00111512;
              }
              lVar5 = 4;
              pbVar8 = __s1;
              pbVar9 = (byte *)0x1230d2;
              do {
                if (lVar5 == 0) break;
                lVar5 = lVar5 + -1;
                bVar12 = *pbVar8 < *pbVar9;
                bVar10 = *pbVar8 == *pbVar9;
                pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;
                pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;
              } while (bVar10);
              bVar11 = false;
              bVar10 = (!bVar12 && !bVar10) == bVar12;
              if (bVar10) {
LAB_00111631:
                lVar5 = FUN_0010f4a0(param_1,4,0);
              }
              else {
                lVar5 = 0xd;
                pbVar8 = __s1;
                pbVar9 = (byte *)0x1230c9;
                do {
                  if (lVar5 == 0) break;
                  lVar5 = lVar5 + -1;
                  bVar11 = *pbVar8 < *pbVar9;
                  bVar10 = *pbVar8 == *pbVar9;
                  pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;
                  pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;
                } while (bVar10);
                bVar12 = false;
                bVar10 = (!bVar11 && !bVar10) == bVar11;
                if (!bVar10) {
                  lVar5 = 5;
                  pbVar8 = __s1;
                  pbVar9 = (byte *)0x122f9e;
                  do {
                    if (lVar5 == 0) break;
                    lVar5 = lVar5 + -1;
                    bVar12 = *pbVar8 < *pbVar9;
                    bVar10 = *pbVar8 == *pbVar9;
                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;
                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;
                  } while (bVar10);
                  bVar11 = false;
                  bVar10 = (!bVar12 && !bVar10) == bVar12;
                  if (bVar10) goto LAB_00111631;
                  lVar5 = 0xe;
                  pbVar8 = __s1;
                  pbVar9 = (byte *)"unsigned long";
                  do {
                    if (lVar5 == 0) break;
                    lVar5 = lVar5 + -1;
                    bVar11 = *pbVar8 < *pbVar9;
                    bVar10 = *pbVar8 == *pbVar9;
                    pbVar8 = pbVar8 + (ulong)bVar13 * -2 + 1;
                    pbVar9 = pbVar9 + (ulong)bVar13 * -2 + 1;
                  } while (bVar10);
                  if ((!bVar11 && !bVar10) != bVar11) {
                    iVar2 = strcmp((char *)__s1,"__int128");
                    if (iVar2 == 0) {
                      lVar5 = FUN_0010f4a0(param_1,0x10,0);
                      goto LAB_00111512;
                    }
                    iVar2 = strcmp((char *)__s1,"unsigned __int128");
                    if (iVar2 == 0) {
                      lVar5 = FUN_0010f4a0(param_1,0x10,1);
                      goto LAB_00111512;
                    }
                    iVar2 = strcmp((char *)__s1,"short");
                    if (iVar2 == 0) {
                      lVar5 = FUN_0010f4a0(param_1,2,0);
                      goto LAB_00111512;
                    }
                    iVar2 = strcmp((char *)__s1,"unsigned short");
                    if (iVar2 == 0) {
                      lVar5 = FUN_0010f4a0(param_1,2,1);
                      goto LAB_00111512;
                    }
                    iVar2 = strcmp((char *)__s1,"void");
                    if (iVar2 == 0) {
                      lVar5 = FUN_0010f490(param_1);
                      goto LAB_00111512;
                    }
                    iVar2 = strcmp((char *)__s1,"wchar_t");
                    if (iVar2 != 0) {
                      iVar2 = strcmp((char *)__s1,"long long");
                      if (iVar2 == 0) {
                        lVar5 = FUN_0010f4a0(param_1,8,0);
                      }
                      else {
                        iVar2 = strcmp((char *)__s1,"unsigned long long");
                        if (iVar2 == 0) {
                          lVar5 = FUN_0010f4a0(param_1,8,1);
                        }
                        else {
                          iVar2 = strcmp((char *)__s1,"...");
                          if (iVar2 == 0) {
                            pcVar7 = "Unexpected demangled varargs\n";
                            if (param_5 != (undefined4 *)0x0) {
                              *param_5 = 1;
                              lVar5 = 0;
                              goto LAB_00111512;
                            }
                          }
                          else {
                            pcVar7 = "Unrecognized demangled builtin type\n";
                          }
                          lVar5 = 0;
                          pcVar7 = (char *)dcgettext(0,pcVar7,5);
                          fprintf(stderr,pcVar7);
                        }
                      }
                      goto LAB_00111512;
                    }
                  }
                }
                lVar5 = FUN_0010f4a0(param_1,4,1);
              }
              goto LAB_00111512;
            }
          }
          lVar5 = FUN_0010f4c0(param_1,8);
          goto LAB_00111512;
        }
      }
      lVar5 = FUN_0010f4a0(param_1,1,0);
LAB_00111512:
      free(__s1);
      return lVar5;
    }
LAB_0011152c:
    pcVar7 = (char *)dcgettext(0,pcVar7,5);
    fprintf(stderr,pcVar7);
    break;
  case 0x29:
    if (*(long *)(param_3 + 2) == 0) {
      lVar5 = FUN_0010f490(param_1);
    }
    else {
      lVar5 = MASKED(param_1,param_2,*(long *)(param_3 + 2),0,0);
    }
    if ((lVar5 != 0) &&
       (lVar6 = FUN_00111730(param_1,param_2,*(undefined8 *)(param_3 + 4),local_40), lVar6 != 0)) {
      lVar5 = FUN_0010f630(param_1,lVar5,lVar6,local_40[0]);
      return lVar5;
    }
  }
  return 0;
}

